ĐỒ án ROBOT TRÁNH CHƯỚNG NGẠI vật + CODE

91 868 9
ĐỒ án ROBOT TRÁNH CHƯỚNG NGẠI vật + CODE

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG -o0o - LUẬN VĂN TỐT NGHIỆP ROBOT TRÁNH CHƯỚNG NGẠI VẬT GVHD: TS Nguyễn Đức Thành SVTH: Dương Quốc Việt MSSV: 40503506 Tp HCM, Tháng 1/2010 Lời cảm ơn Đầu tiên em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Đức Thành thầy hướng dẫn đề tài luận văn em, thầy nhiệt tình hỗ trợ em mặt thời gian em thực đề tài Thầy cung cấp cho em kiến thức quý báu, động viên em cố gắng hoàn thành đề tài Em thật biết ơn thầy! Em xin cảm ơn thầy cô môn điều khiển tự động dạy bảo em, cung cấp cho em học bổ ích kinh nghiệm quý báu không giúp em thực luận văn mà làm hành trang cho nghiệp em Để thực đề tài này, em nhận nhiều giúp đỡ từ cán phòng thí nghiệm trọng điểm quốc gia DCSELab, module điều khiển tự động có anh Nguyễn Tấn Lũy anh Nguyễn Hữu Tân hỗ trợ mặt vật chất tạo điều kiện tốt để em thực đề tài Em xin cảm ơn bạn cộng tác viên phòng thí nghiệm giúp đỡ em dụng cụ mặt để điều khiển robot tự hành Con xin cảm ơn ba mẹ nuôi nấng, dạy dỗ, chăm lo cho từ việc nhỏ Mình xin cảm ơn bạn bè mình, bạn đứng bên nhựng lúc khó khăn đời Chân thành cảm ơn tất người ! Tháng năm 2010 Dương Quốc Việt TÓM TẮT LUẬN VĂN Ngày với phát triển khoa học công nghệ, hàng loạt hệ thống tự động đời với mục đích thay sức lao động người tăng suất lao động Có thể kể đến robot ứng dụng nhiều công nghiệp, có khả hoạt động theo chương trình lập trình sẵn với tốc độ độ xác cao Ngoài khoa học phát triển hệ robot gọi robot thông minh có khả tiếp nhận tri thức tư giống người, có khả phán đoán định mà không cần đến can thiệp người Robot tự hành mảng quan trọng lĩnh vực robotic với nhiều công trình nghiên cứu giới Bài toán đặt cho robot tự hành đa dạng, phải kể đến toán điều khiển robot bám mục tiêu tránh vật cản Với toán này, yêu cầu đặt thời gian đáp ứng robot, độ tối ưu thuật toán độ phức tạp môi trường Nhiệm vụ luận văn giải vấn đề Đề tài luận văn thực việc áp dụng giải thuật dẫn hướng thích nghi "adaptive navigation" để tránh vật cản với thông tin môi trường lấy từ ba cảm biến siêu âm Đề tài tài trợ phòng thí nghiện trọng điểm quốc gia DCSELab mô hình robot omni Mục tiêu để điều khiển robot bám theo khuôn mặt người camera gắn robot Phương pháp dùng để phát khuôn mặt xây dựng phân loại dùng đặc trưng Haar-like cộng với thuật toán Việc điều khiển thực máy tính, truyền tín hiệu điểu khiển qua cổng nối tiếp đến mạch điều khiển động Các cảm biến đọc mạch đọc truyền mạch điều khiển qua ngõ RS485 Do hạn chế kiến thức nên kết hoạt động robot chưa tốt lắm, chưa thể đáp ứng với môi trường phức tạp Trong tương lai em hi vọng cải thiện giải thuật phần cứng để hoàn thiện robot MỤC LỤC Đề mục Trang Trang bìa i Nhiệm vụ luận văn Lời cảm ơn ii Tóm tắt iii Mục lục iv Danh sách hình vẽ vi Chương 1: GIỚI THIỆU 1.1 Giới thiệu robot tự hành 1.2 Nội dung luận văn Chương 2: THUẬT TOÁN TRÁNH CHƯỚNG NGẠI VẬT CHO ROBOT 2.1 Giới thiệu 2.2 Các phương pháp tránh vật cản 2.2.1 Phương pháp theo đường biên vật cản 2.2.2 Phương pháp phát cạnh 2.2.3 Phương pháp biểu diễn vật cản sơ đồ lưới .7 2.3.4 Phương pháp trường 2.2.5 Phương pháp dùng optical flow 11 2.3 Thuật toán dẫn hướng thích nghi 13 2.3.1 Mô hình robot kĩ thuật dẫn hướng thích nghi 13 2.3.2 Cách tránh vật cản 15 2.3.3 Xây dựng thuật toán dẫn hướng thích nghi 17 2.4 Tổng kết phương pháp tránh vật cản 18 Chương : ROBOT OMNI 20 3.1 Tổng quan robot tự hành 20 3.1.1 Robot dùng bánh xe 20 3.1.2 Robot dùng chân 21 3.1.3 Robot lái đồng chuyển động đa hướng 21 3.2 Mô hình robot omni 22 3.2.1 Bánh xe omni 22 3.2.2 Cơ sở vật lý điều khiển bánh xe omni 24 3.2.3 Điều khiển xác robot omni 27 3.3 Điều khiển robot omni thực tế 28 3.3.1 Tại dùng bánh xe omni 28 3.3.2 Điều khiển robot omni thực tế 28 Chương 4: CẢM BIẾN DÙNG TRONG ROBOT TỰ HÀNH 30 4.1 Phân loại cảm biến 30 4.2 Các cảm biến thông dụng robot tự hành 31 4.2.1 Rotary Encoder 31 4.2.2 Gia tốc kế (accelerometer) 33 4.2.3 Con quay ( gyroscopes) 35 4.2.4 Cảm biến hồng ngoại 36 4.3 Cảm biến siêu âm 36 4.3.1 Cơ sở vật lý sóng siêu âm 36 4.3.2 Ứng dụng cảm biến siêu âm đo khoảng cách 39 4.3.3 Các sai số sử dụng cảm biến siêu âm 43 Chương : XỬ LÝ ẢNH SỐ VÀ OPENCV 50 5.1 Cơ xử lý ảnh số 50 5.1.1 Giới thiệu hệ thống xử lý ảnh 50 5.1.2 Các khái niệm 51 5.2 Nhận dạng khuôn mặt với thuật toán AdaBoost 55 5.2.1 Ảnh tích phân 56 5.2.2 Các hàm học phân loại 57 5.2.3 Chuỗi phân loại tập trung 59 5.2.4 Huấn luyện chuỗi phân loại 60 5.3 Thư viện xử lý ảnh OpenCv Intel 61 5.3.1 Giới thiệu 61 5.3.2 Các thành phần chức OpenCv 61 5.3.3 Cấu trúc ảnh IplImage 61 5.3.4 Các hàm dùng luận văn 63 Chương : THỰC HIỆN ĐỀ TÀI 66 6.1 Cơ sở phần cứng 66 6.1.1 Robot omni 66 6.1.2 Mạch điều khiển 69 6.1.3 Cảm biến siêu âm 70 6.1.4 Mạch đọc cảm biến 72 6.1.5 Webcam 73 6.1.6 Laptop 73 6.2 Giải thuật phần mềm 74 6.2.1 Giải thuật đọc cảm biến 74 6.2.2 Giải thuật điều khiển tránh vật cản 78 6.2.3 Giải thuật bắt khuôn mặt bám theo 80 6.2.4 Giải thuật bám khuôn mặt tránh vật cản 82 6.2.5 Chương trình Visual C++ 84 Chương : KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 85 7.1 Kết đạt 85 7.1.1 Ưu điểm 85 7.1.2 Khuyết điểm 85 7.3 Hướng phát triển đề tài 85 PHỤ LỤC 86 TÀI LIỆU THAM KHẢO 91 DANH SÁCH HÌNH VẼ TRONG LUẬN VĂN Chương 1: GIỚI THIỆU Hình 1.1 Robot khám phá hỏa Rover Chương 2: THUẬT TOÁN TRÁNH CHƯỚNG NGẠI VẬT CHO ROBOT Hình 2.1 Robot tình bám biên Hình 2.2 Robot di chuyển qua lại hai tường Hình 2.3 Robot vào góc nhỏ Hình 2.4 Robot gặp vật cản bám biên Hình 2.5 Sơ đồ lưới Hình 2.6 Histogram Grid Hình 2.7 Trường hợp robot không qua khe vật cản 11 Hình 2.8 Optical Flow bàn tay 12 Hình 2.9 Mô hình toán dẫn hướng thích nghi 14 Hình 2.10 Các trường hợp phát vật cản robot 16 Chương : ROBOT OMNI Hình 3.1 Các dạng robot dùng bánh xe 20 Hình 3.2 Robot dùng bánh xích robot dùng chân 21 Hình 3.3 Robot lái đồng chuyển động đa hướng 22 Hình 3.4 Bánh xe omni ứng dụng xe bốn bánh 23 Hình 3.5 Bánh omni với góc chuyển động phụ 45o 23 Hình 3.6 Bánh omni với góc chuyển động phụ 90o 24 Hình 3.7 Phân bố lực n bánh xe omni 25 Hình 3.8 Phân tích thành phần vận tốc bánh xe omni 26 Hình 3.9 Sự phân bố lực robot omni bánh đối xứng 27 Hình 3.10 Các trường hợp chuyển động robot omni bánh 28 Hình 3.11 Các hướng điều khiển robot omni 29 Chương 4: CẢM BIẾN DÙNG TRONG ROBOT TỰ HÀNH Hình 4.1 Nguyên lý incremental encoder 32 Hình 4.2 Mã hóa tín hiệu từ incremental encoder 32 Hình 4.3 Mã hóa vị trí theo mã gray absolute encoder 33 Hình 4.4 Cấu tạo gia tốc kế dùng lò xo 34 Hình 4.5 Gia tốc kế trục ADXL202 34 Hình 4.6 Cấu tạo nguyên lý quay hồi chuyển 35 Hình 4.7 Nguyên lý hoạt động Optical Gyroscopes 36 Hình 4.8 Phép đo cảm biến hồng ngoại 37 Hình 4.9 Vị trí sóng siêu âm dải tần số 37 Hình 4.10 Hiện tượng phản xạ sóng âm 39 Hình 4.11 Tầm quét cảm biến siêu âm 40 Hình 4.12 Việc đo cảm biến cảm biến siêu âm lập đồ 41 Hình 4.13 Hiện tượng đọc sai 42 Hình 4.14 Bề mặt trơn làm sóng biến dạng 42 Hình 4.15 Sự ổn định sóng siêu âm 43 Hình 4.16 Sự phản xạ sóng siêu âm bề mặt vật liệu 44 Hình 4.17 Hiện tượng forcasting 44 Hình 4.18 Hiện tượng đọc chéo 45 Hình 4.19 Ảnh hưởng chuyển động đến TOF-trường hợp vật thể mặt phẳng 46 Hình 4.20 Ảnh hưởng chuyển động đến TOF-trường hợp vật thể dạng góc 47 Hình 4.21 Ảnh hưởng chuyển động đến TOF-trường hợp vật thể dạng cạnh 48 Chương : XỬ LÝ ẢNH SỐ VÀ OPENCV 50 Hình 5.1 Các bước xử lý ảnh 50 Hình 5.2 Biểu diễn ảnh pixel ảnh đơn sác 52 Hình 5.3 Thang màu xám 52 Hình 5.4 Chia ảnh màu RGB thành kênh màu 53 Hình 5.5 Một số mẫu dương dùng cho việc phát khuôn mặt 53 Hình 5.6 Một số mẫu âm dùng cho việc phát khuôn mặt 54 Hình 5.7 Ảnh trước sau cân histogram 55 Hình 5.8 Thuộc tính Haar-like dùng trình phát khuôn mặt 56 Hình 5.9 Thuật toán tính ảnh tích phân 57 Hình 5.10 Hai thuộc tính đầu áp dụng thuật toán AdaBoost 59 Hình 5.11 Sơ đồ chuỗi phát 59 Hình 5.12 Một phần tập mẫu khuôn mặt nhìn thẳng dùng huấn luyện 60 Chương : THỰC HIỆN ĐỀ TÀI 66 Hình 6.1 Phần đầu robot có giá đỡ đặt camera 66 Hình 6.2 Phần thân robot có ba tầng 67 Hình 6.3 Mô hình toán điều khiển robot omni thực tế 68 Hình 6.4 Mạch tổ hợp tín hiệu logic 69 Hình 6.5 Mạch cầu H điều khiển động 70 Hình 6.6 Cảm biến siêu âm SRF05 71 Hình 6.7 Đọc SRF05 Mode .71 Hình 6.8 Đọc SRF05 Mode 72 Hình 6.9 Mạch đọc cảm biến 73 Hình 6.10 Webcam Genius Slim 1322AF 73 Hình 6.11 Sơ đồ kết nối thiết bị 74 Hình 6.12 Vi xử lý Atmega 16 75 Hình 6.13 Sơ đồ khối Input Capture Atmega16 76 Hình 6.14 Sơ đồ chân MAX485 77 Hình 6.15 Robot bắt khuôn mặt camera 81 Hình 6.16 Giao diện điều khiển viết Visual C++ 84 Chương GIỚI THIỆU 1.1 GIỚI THIỆU VỀ ROBOT TỰ HÀNH Robot tự hành ( mobile robot ) hướng phát triển lĩnh vực robotic mà trọng tâm nghiên cứu chuyển động robot không gian định Robot tự hành thực lĩnh vực riêng biệt kể từ cuối năm 1960 dự án Shakey SRI Báo cáo N.J.Nilsson "A Mobile Automation: An Application of Artificial Intelligence Techniques" IJCAI 1969 đưa yếu tố "nhận thức", "lập đồ", "lập kế hoạch đường đi" khái niệm kiến trúc điều khiển Thập niên 1980 bùng nổ với dự án mobile robot cho thấy việc cần thiết để xét đến thuộc tính môi trường thực tế, vấn đề bắt gặp dự án thiếu thực tế, thường cho robot sản phẩm trí tuệ nhân tạo Ngày với phát triển máy tính vi xử lý loại cảm biến giúp cho robot tự hành phát triển không ngừng Robot điều khiển vi xử lý máy tính nhúng; hệ thống robot kiểm soát máy tính trung tâm qua mạng không dây Việc tương tác với môi trường bên thực nhờ vào cảm biến siêu âm, hồng ngoại camera Việc định hướng robot không gian thực GPS la bàn số Các tính robot tự hành đa dạng : robot di chuyển môi trường độc hại, địa hình phức tạp, vẽ lại đồ môi trường truyền điều khiển trung tâm Dưới hình ảnh robot khám phá hỏa NASA có khả định vị dẫn hướng nhờ vào cặp camera, phân tích thành phần vật chất cách phân tích quang phổ, truyền liệu trái đất sóng radio, 10 6.1.3 Cảm biến siêu âm Cảm biến siêu âm SRF05 hãng Devantech sử dụng mode: Mode 1: dùng chân Trigger Echo (mode dùng đề tài) Hình 6.6 Cảm biến siêu âm SRF05 Để sử dụng mode này, ta để hở chân Mode , SRF05 có điện trở nội kéo lên chân Khi bắt phép đo, vi xử lý xuất xung có độ rộng tối thiểu 10µs đến chân Trigger, SRF05 sau phát chu kì sóng siêu âm đưa chân Echo lên 1, nhận song phản xả thời gian chờ chân Echo xuống Bề rộng xung chân Echo tương ứng với khoảng cách đến vật cần đo 77 Hình 6.7 Đọc SRF05 Mode Mode 2: dùng chung chân vi xử lý cho Trigger Echo Mode sử dụng chân cho tín hiệu Trigger Echo, mục đích tiết kiệm chân cho vi xử lý Để dùng mode này, nối chân Mode xuống 0v Ground Hình 6.8 Đọc SRF05 Mode Tính toán khoảng cách : SRF05 cung cấp hệ số tỉ lệ độ rộng xung chân Echo khoảng cách Nếu độ rộng 78 xung đo µs, chia cho 58 ta khoảng cách theo cm, chia 148 khoảng cách theo inch 6.1.4 Mạch đọc cảm biến : 5V R 1 C u H T XX/S IP VO U T D C C 10u C 470u C O N V IN G N D U 21 J5 LE D R 1k 10u 5V M A X485 A VC C I E E O G N D D D R R B R 120 11 31 C 2 22p 485out C Y C R Y STA L_4M H z 22p R XD 10 30 u F J4 U 20 TXD C 1 u F 5V C 0 5V U 19 12 13 R X D1 T X D1 E C H O1 _6 E C H O1 _7 18 19 E C H O2 _0 21 R ESET R P P P P P P P B O (T /X C K ) B (T ) B (A IN /IN T ) B (A IN /O C ) B (S S ) B (M O S I) B (M IS O ) B (S C K ) VC C AVC C G N D AG N D XTA L2 A T M E G A 16 10k 5V XTA L1 P P P P P P P P D D D D D D D D (R X ) (T X ) (IN T ) (IN T ) (O C B ) (O C A ) (IC P ) (O C ) P P P P P P P P A A A A A A A A (A (A (A (A (A (A (A (A D D D D D D D D C C C C C C C C ) ) ) ) ) ) ) ) 3 3 3 J1 EC H O _1 TR G _1 s o n a r_ 5V AR EF P C (T S C ) P C (T S C ) P C (T D I) P C (T D ) P C (T M S ) P C (T C K ) P C (S D A ) P C (S C L ) 32 2 2 2 2 J2 EC H O _2 TR G _2 s o n a r_ 5V J3 EC H O _3 TR G _3 ATM EG A 16_1 s o n a r_ Hình 6.9 Mạch đọc cảm biến Mạch có nhiệm vụ đo độ rộng xung từ SRF05 gởi về, sau tính toán khoảng cách theo cm gửi đến mạch điều khiển qua MAX485 Hoạt động mạch dựa vi xử lý Atmega16 Giải thuật vi xử lý trình bày phần sau 6.1.5 Webcam Việc bắt khuôn mặt người thực nhờ webcam Genius Slim 1322AF có đặc tính sau :  Độ phân giải 1.3 Megapixels  Autofocus  Loại ống kính AF lens  Max frames/s : 15 Hình 6.10 Webcam Genius Slim 1322AF 6.1.6 Laptop Việc điều khiển thực laptop Acer với chương trình visual C++ Laptop có cấu sau: 79  Vi xử lý Intel(R) Core(TM) Duo CPU  Hệ điều hành WindowXP, Version 2002, Service Pack  2GB of RAM  Phiên Viual C++ : 6.0 6.2 GIẢI THUẬT PHẦN MỀM RS232 Camera Mạch đk Master RS485 Salve Mạch đọc cảm biến Hình 6.11 Sơ đồ kết nối thiết bị 6.2.1 Giải thuật đọc cảm biến Do việc tránh vật cản không đòi hỏi chu kì điều khiển cao nên việc đọc cảm biến siêu âm thực tuần tự, bỏ qua tượng crosstalk Việc đo xung qua ngắt Atmega16 : ngắt 0, ngắt 1, ngắt input capture  Atmega16 Atmega16 vi xử lý 8-bit CMOS công suất thấp dựa kiến trúc RISC (Reduced Instructions Set Computer ) Bằng việc thực thi lệnh chu kì máy, Atmega16 đạt đến MIPS MHz giúp cho người thiết kế tối ưu công suất tiêu thụ tốc độ xử lý Lõi vi xử lý AVR chứa đựng lệnh lớn với 32 ghi tổng quát Tất 32 ghi nối với đơn vị tính toán logic ALU, cho phép hai ghi độc lập truy cập lệnh đơn thực thi chu kỳ máy Atmega16 cung cấp tính sau :  16K bytes of In-System of Programable Flash Program memory  512 bytes EEPROM  1K byes SRAM  32 general purpose I/O lines 80  32 general purpose working registers  Three flexible Timer/Counters with Compare Mode  A serial programmable USART  Internal and external interrupts  An 8-channel 10-bit ADC  …………………………… Hình 6.12 Vi xử lý Atmega16  Ngắt : Atmega16 có ba ngắt INT0, INT1 INT2 kích hoạt chân tương ứng chip Chú ý cho phép ngắt kích họat chân định output Các ngắt ngòai kích hoạt cạnh lên, cạnh xuống mức thấp (INT2 ngắt theo cạnh) Khi ngắt thiết lập theo mức ngắt liên tục kích hoạt mức thấp Ở để đo độ rộng xung cảm biến trả về, ta cho ngắt theo cạnh lên sau kích chân Trigger SRF05, xảy ngắt cạnh lên ta tiếp tục cho ngắt cạnh xuống bắt đầu cho timer chạy, ngắt cạnh xuống ta đọc giá trị timer đổi khoảng cách theo cm  Ngắt input capture : Phần Timer/Counter Atmega16 kết hợp chức Input Capture nắm bắt kiện bên xác định thời gian xảy kiện Tín hiêu thể hay nhiều kiện kết nối vào chân ICP1 kết nối qua phần Analog Comparator Thời gian đính kèm kiện sử dụng để tính toán tần số, tần suất làm việc (duty circle) đặc tính khác tín hiệu Trong lậun văn Input Capture dùng để xác định thời điểm lên (rising) xuống (falling) tín hiệu chân Echo SRF05, từ xác định độ rộng xung = falling – rising Sơ đồ khối Input Capture: 81 Hình 6.13 Sơ đồ khối input capture Atmega16 Khi có chuyển mức logic (sự kiện) xảy chân Input Capture pin (ICP1), chuyển mức xác nhận khối Edge Detector (là cạnh lên hay cạnh xuống), kiện nắm bắt Khi kiện nắm bắt, giá trị 16 bits ghi counter(TCNT1) ghi vào Input Capture Register (ICR1) Input Capture Flag set Nếu cho phép ngắt Input Capture Input Capture Flag làm cho chương trình nhảy đến chương trình ngắt tương ứng Một thách thức sử dụng Input Capture không vượt khả xử lý để nắm bắt hết kiện thời gian kiện phải đủ lâu Nếu CPU chưa đọc giá trị ghi Input Capture trước kiện xảy giá tri ghi bị ghi đè giá trị Trong trường hợp giá trị việc nắm bắt không xác Khi sử dụng ngắt Input Capture, giá trị ghi ICR1 phải đọc sớm tốt ngắt Input Capture có độ ưu tiên cao Ngoài dùng Input Capture để đo độ rộng xung việc chọn cạnh lên hay xuống phải thay đổi sau lần nắm bắt Việc thay đổi phải thực sớm tốt sau giá trị ghi ICR1 đọc  Truyền thông nối tiếp chuẩn RS485 Chuẩn 485 chuẩn truyền liệu kiểu vi sai, có nghĩa dùng hai dây A B để thể mức logic (1 0) Chuẩn 485 cho phép kết nối tối đa 32 thiết bị cho phép thiết bị gửi liệu lên mạng thời điểm Việc truyền liệu kiểu vi sai cho phép loại bỏ nhiễu có đường dây, truyền khỏang cách xa lên đến 1200m 82 Ngòai truyền kiểu vi sai nên không yêu cầu phải có đường Ground chung thiết bị truyền nhận Trong đề tài để truyền liệu từ mạch đo khỏang cách đến mạch em dùng IC lái MAX485 cùa MAXIM: Hình 6.14 Sơ đồ chân MAX485 Các chân MAX485:  RO : ngõ nhận, A>B 200mV RO mức cao, A rẽ phải 60 độ b) Trường hợp cảm biến hai cảm biến hai bên phát vật cản với • • Nếu cảm biến bên trái phát vật cản : rẽ trái 60 độ Nếu cảm biến bên phải phát vật cản : rẽ phải 60 độ c) Trường hợp cảm biến hai cảm biến hai bên phát vật cản với 84 • • Nếu cảm biến bên trái phát vật cản : rẽ phải 60 độ Nếu cảm biến bên phải phát vật cản : rẽ trái 60 độ d) Trường hợp có cảm biến phát vật cản: robot tiến thẳng ( điều kiện khoảng cách vật cản đủ lớn ) e) Trường hợp có cảm biến trái phải phát vật cản: rẽ 30 độ theo hướng tránh vật cản f) Trường hợp có cảm biến phát vật cản : 85 • • Nếu khuôn mặt nằm bên phải thỉ rẽ phải 60 độ Nếu khuôn mặt nằm bên trái rẽ trái 60 độ 6.2.3 Giải thuật bắt khuôn mặt bám theo : Việc bắt khuôn mặt thực bắt đầu chạy robot, robot quay chỗ ghi nhận khuôn mặt webcam bắt Trong trình chuyển động việc bắt khuôn mặt kích hoạt robot nhận thấy vật cản phía trước Error.x Hình 6.15 Robot bắt khuôn mặt camera, tính toán khoảng sai lệch khuôn mặt tâm khung hình theo phương nằm ngang error.x Việc bắt khuôn mặt bị ảnh hưởng nhiều yếu tố: 86 • Ánh sáng môi trường làm việc : chuỗi phân loại hoạt động nguyên tắc so sánh độ sáng tối vùng hình chữ nhật với thuộc tính Haar-like, ảnh trước đưa vào xử lý chuyển ảnh xám để đơn giản việc tính toán nên ảnh hưởng độ sáng lớn Độ sáng lớn việc phát nhanh • Phần ( background) : Việc phát khuôn mặt dựa việc tính toán chủ yếu nên nhiều phần lại cho kết vô tình trùng với tiêu chuẩn để nhận biết khuôn mặt • Sự sai lệch khuôn mặt so với tập liệu đưa vào chuỗi phân loại : sử dụng tập liệu Intel xây dựng nên, dựa nhóm người có nét tương đồng với nên thực tế, số người dễ bắt khuôn mặt, số khác khó bắt khuôn mặt dù hoàn cảnh • Ảnh hưởng chuyển động : Camera đặt vị trí cao robot ( cao gần người ) nên chịu lắc lư lớn Ảnh sau lấy từ camera giảm kích thước ( resize) đưa qua tiền xử lý ( cân histogram ) Việc giảm kích thước giúp làm giảm thời gian tính toán thuật toán ( giảm số pixel ) Kích thước hình sau 340x260 87 Start Grab frame Resize image & process histogram equalization Detect image Calc error between face and frame origin Rotate omni Yes left/right to |error|>error_threshold reduce No face_width>face_width_threshold error Yes Stop No Forward 6.2.4 Giải thuật kết hợp bám khuôn mặt tránh vật cản : Ý tưởng giải thuật hoán chuyển hai nhiệm vụ : tránh vật cản bám theo mặt người Khi vật cản, robot di chuyển hướng đến mặt người; gặp vật cản, robot rẽ tránh vật cản, lúc tránh vật cản bỏ qua hình ảnh từ camera 88 Start avoidance_enable=0 rotate to get face in middle of frame Face in middle of frame? No Yes avoidance_enable=1 reading sonars Turn to avoid No obstacle? obstacle Yes 89 Dữ liệu từ ba cảm biến siêu âm đọc liên tục truyền máy tính Máy tính sau nhận hết liệu ba cảm biến đưa hướng chuyển động thích hợp cho robot Việc bắt khuôn mặt thực liên tục, giá trị sai lệch khung hình khuôn mặt xem xét robot nhận thấy vật cản 6.2.5 Chương trình Visual C++ Chương trình điều khiển thực máy tính ngôn ngữ Visual C++ phiên 6.0 Hình 6.16 Giao diện điều khiển viết Visual C++ Chú thích phần giao diện :       Manual Omni Test : kiểm tra hoạt động robot omni với chuyển động TEST CAM : kiểm tra hoạt động camera Measure Distances : khoảng cách đo từ ba cảm biến siêu âm Face State : trạng thái lệch khuôn mặt so với robot x_error, y_error : độ lệch khuôn mặt so với gốc tọa độ data_Send : kiểm tra liệu gửi data_Receive : kiểm tra liệu nhận  CAPTURE : bắt đầu cho robot chạy STOP CAPTURE : cho robot ngừng Chương KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 7.1 KẾT QUẢ ĐẠT ĐƯỢC Trong điều kiện ánh sáng bình thường phông không phức tạp, hệ thống phát khuôn mặt điều khiển robot bám theo Với giải thuật tránh vật cản, robot phát vật cản đơn giản đủ lớn với điều kiện vật cản không đặt gần 7.2 ĐÁNH GIÁ KẾT QUẢ 7.2.1 Ưu điểm 90  Phát khoảng 80% khuôn mặt khoảng cách khác điều kiện robot chuyển động  Giải thuật tránh vật cản tương đối đơn giản  Truyền thông thiết bị ổn định 7.2.2 Khuyết điểm - Khi chương trình bắt ảnh thời gian dài có tượng báo lỗi tràn nhớ đệm, chưa khắc phục - Robot chuyển động chưa tốt điều khiển vòng hở - Đôi robot bị dao động cảm biến đọc có sai số - Với phông phức tạp, độ sáng bất thường khả nhận dạng khuôn mặt kém, nhận dạng sai, không nhận khuôn mặt 7.3 HƯỚNG PHÁT TRIỂN ĐỀ TÀI Trước mắt cần khắc phục khả phát khuôn mặt cảu robot, sử dụng thêm nguồn ánh sáng thêm vào giải thuật để lọc bỏ kết khuôn mặt Sau đặt thêm cảm biến, lả cảm biến siêu âm để khắc phục hạn chế thuật toán dẫn hướng thích nghi Các cảm biến có tác dụng phát trương hợp đặc biệt mà luật dẫn hướng bỏ qua, làm cho robot di chuyển môi trường phức tạp Ngoài sử dụng thêm camera để xác định khoảng cách đến khuôn mặt xác Đề tài mở rộng không bám theo khuôn mặt mà bám theo vật thể bất kì, cần xây dựng tập liệu đầy đủ cho thuật toán Adaboost 91 [...]... Chương 2 THUẬT TOÁN TRÁNH CHƯỚNG NGẠI VẬT CHO ROBOT TỰ HÀNH 2.1 GIỚI THIỆU 11 Bài toán lập quỹ đạo di chuyển cho robot tự hành có thể chia làm hai dạng : bài toán toàn cục (global) và bài toán cục bộ (local) Ở bài toán toàn cục, môi trường làm việc của robot được biết trước và từ đó đường đi tránh vật cản được tính toán từ lúc bắt đầu di chuyển Trong bài toán cục bộ, môi trường làm việc của robot hoàn toàn... trên đường đi của robot nên mục tiêu đặt ra là dẫn hướng robot đến đích đồng thời tránh được vật cản Các giả định sau được đưa ra để giải bài toán : (A1) : robot chỉ di chuyển về phiá trước (A2) : robot rẽ trái hay phải với bán kính nhỏ nhất (A3) : vận tốc của robot là hằng số, trừ khi tiến đến gần đích 22 Hình 2.9 Mô hình bài toán dẫn hướng thích nghi Phương trình chuyển động của robot :  x&(t ) =... ( nhấp nhô, trơn trợt) 3.1.1 Robot dùng bánh xe Dạng đơn giản nhất của robot tự hành là dùng bánh xe, được mô tả bằng các sơ đồ ở hình dưới : Hình 3.1 Các dạng robot dùng bánh xe 29 Robot tự hành dạng này bao gồm một hay nhiều bánh xe được lái ( được tô đậm trong sơ đồ ) , bánh tự do (không được tô) và bánh bẻ lái ( được khoanh tròn) Thiết kế ở bìa trái hình trên có một bánh được lái và cũng để bẻ lái... góc được cho bởi : của trọng tâm robot mà ta giả sử rằng nằm tại tâm hình học 1 ( F1 + F2 + + Fn ) M a= w= (3.1) R ( f1 + f 2 + + f n ) I (3.2) với M là khối lượng và R là bán kính của robot, f i là biên độ của lực Fi và I là moment quán tính của robot Việc tính toán có thể thực hiện được bằng việc sử dụng các phương trình này, vì lực kéo được đặt tiếp tuyến với khung robot, do đó ta chỉ làm việc với... độ của điểm I (u + ∆u , v + ∆v, t + ∆t ) = I (u , y , t ) (2.10) trong đó u,v lần lượt là hai trục nằm ngang và thẳng đứng trong hệ tọa độ của miền ảnh Khai triển Taylor ở vế trái biểu thức: I (u + ∆u , v + ∆v, t + ∆t ) = I (u, v, t ) + ∂I ∂I ∂I ∆u + ∆v + ∆t + ∂u ∂v ∂t (2.11) Do độ dịch chuyển là rất nhỏ nên các thành phần bậc cao trong khai triển được bỏ qua Do đó : ∂I ∂I ∂I ∆u + ∆v + ∆t = 0 ∂u ∂v... hành là robot chuyển động đa hướng sẽ được phân tích ở phần sau Điểm bấr lợi chung cho các robot dùng bánh xe là nó đòi hỏi mặt đường hay mặt phẳng để di chuyển Dùng bánh xích có thể khắc phục chuyện này nhưng nó rất khó để điều khiển chính xác như là bánh xe Bánh xích cũng cần 2 động cơ, một cho mỗi bên 3.1.2 Robot dùng chân : Hình 3.2 Robot dùng bánh xích và robot dùng chân Giống như robot dùng bánh... này, bánh xe được chế tạo bằng cách thêm các bánh xe nhỏ dọc theo chu vi của bánh chính 3.2.2 Cơ sở vật lý điều khiển bánh xe omni Mỗi bánh xe đều có thể di chuyển robot, nhưng do bánh xe được đặt trên chu vi của robot nên nó sẽ làm quay khung robot Để tìm ra mối quan hệ giữa moment động cơ và sự dịch chuyển của robot, ta phải phân tích khía cạnh hình học của vấn đề: Hình 3.7 Phân bố lực của n bánh xe... toán dẫn hướng thích nghi Một yêu cầu cơ bản là, khi vật cản được phát hiện thì việc tránh vật cản phải được đặt lên trên việc đến đích Tuy nhiên, nếu việc đến đích bao quát luôn cả việc tránh vật cản thì robot vẫn thực hiện việc đến đích theo công thức (2.20) Bây giờ ta xem xét khả năng robot vẫn đến đích ngay cả khi phát hiện vật cản Trên hình 2.10 a, b, c, và f, việc chuyển hướng là cần thiết để tránh. .. minh họa trường hợp này, lực đẩy từ hai vật cản 1 và 2 lần lượt là Fr'2 và , tổng hay lực cản này sẽ hướng robot ra xa mục tiêu theo chiều ngược lại, Ft nếu cộng với lực kéo từ mục tiêu tránh vật cản thì được lực kết quả R không hướng robot Hình 2.7 Trường hợp robot không qua được khe 2 vật cản  Dao động khi gặp vật cản : hạn chế này xảy ra ở việc tính toán thuật toán, không phân tích kĩ ở đây  Dao động... đã cho thấy robot có thể tránh được tất cả chướng ngại vật trong nhiều trường hợp thử nghiệm Với một khoảng cách với tường cho trước là 0.6 m và vận tốc robot đạt được 0.45m/s dưới hai điều kiện : trước tiên robot không bị “mù” theo bất cứ hướng nào, tức là bất kì vật cản nào cũng sẽ bị phát hiện bởi ít nhất một cảm biến và thứ hai, tường và các vật cản phải tĩnh Vật cản được robot hiểu là một phần của

Ngày đăng: 13/05/2016, 12:19

Mục lục

  • 7.3 HƯỚNG PHÁT TRIỂN ĐỀ TÀI

Tài liệu cùng người dùng

Tài liệu liên quan