Luận văn này tập trung phân tích các phương pháp tránh vật cản cho robot tự hành mà trong tâm là các phương pháp dựa trên cảm biến siêu âm.. 2.2 CÁC PHƯƠNG PHÁP TRÁNH VẬT CẢN 2.2.1 Phươn
Trang 1ĐẠ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
Trang 2Lờ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 là thầy hướng dẫn đề tài luận văn của em, thầy đã nhiệt tình hỗ trợ em về mọi mặt trong thời gian em thực hiện đề tài này Thầy đã cung cấp cho em những kiến thức quý báu, luôn động viên em cố gắng hoàn thành đề tài Em thật sự biết ơn thầy!
Em cũng xin cảm ơn các thầy cô trong bộ môn điều khiển tự động đã dạy bảo em, cung cấp cho em những bài học bổ ích cũng như những kinh nghiệm quý báu không chỉ giúp em thực hiện luận văn mà còn làm hành trang cho sự nghiệp của em.
Để thực hiện đề tài này, em đã nhận được rất nhiều sự giúp đỡ từ các cán bộ của phòng thí nghiệm trọng điểm quốc gia DCSELab, module điều khiển tự động trong đó có anh Nguyễn Tấn Lũy và anh Nguyễn Hữu Tân đã hỗ trợ về mặt vật chất cũng như tạo điều kiện tốt nhất để em thực hiện đề tài Em cũng xin cảm ơn các bạn cộng tác viên phòng thí nghiệm đã giúp đỡ em về dụng cụ và mặt bằng để có thể đ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 con từ những việc nhỏ nhất Mình xin cảm ơn bạn bè của mình, các bạn đã đứng bên mình trong nhựng lúc khó khăn nhất của cuộc đời.
Chân thành cảm ơn tất cả mọi người !
Tháng 1 năm 2010 Dương Quốc Việt
Trang 3TÓM TẮT LUẬN VĂN
Ngày nay với sự phát triển của khoa học công nghệ, hàng loạt hệ thống tự động ra đời với mục đích thay thế sức lao động của con người và tăng năng suất lao động Có thể kể đến ở đây là các robot đã được ứng dụng khá nhiều trong công nghiệp, có khả năng hoạt động theo các chương trình được lập trình sẵn với tốc độ và độ chính xác cao Ngoài ra khoa học đang phát triển thế hệ robot mới gọi là robot thông minh có khả năng tiếp nhận tri thức và tư duy giống như con người, có khả năng phán đoán và ra quyết định mà không cần đến sự can thiệp của con người.
Robot tự hành là một mảng quan trọng trong lĩnh vực robotic với rất nhiều các công trình nghiên cứu trên thế giới Bài toán đặt ra cho một robot tự hành rất đa dạng, trong đó phải kể đến bài toán điều khiển robot bám mục tiêu và tránh vật cản Với bài toán này, các yêu cầu được đặt ra là thời gian đáp ứng của robot, độ tối ưu của thuật toán và độ phức tạp của môi trường Nhiệm vụ của luận văn là giải quyết các vấn đề này.
Đề tài luận văn được thực hiện bằng 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 về môi trường được lấy từ ba cảm biến siêu âm Đề tài này được sự tài trợ của phòng thí nghiện trọng điểm quốc gia DCSELab về
mô hình robot omni Mục tiêu để điều khiển robot là bám theo khuôn mặt người bằng một camera gắn trên robot Phương pháp dùng để phát hiện khuôn mặt là xây dựng một bộ phân loại dùng các đặc trưng Haar-like cộng với thuật toán Việc điều khiển được thực hiện bằng 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 các động
cơ Các cảm biến được đọc bằng mạch đọc và truyền về mạch điều khiển qua ngõ RS485
Do còn hạn chế về kiến thức nên kết quả hoạt động của robot chưa được tốt lắm, chưa thể đáp ứng với các môi trường phức tạp Trong tương lai em hi vọng có thể cải thiện về giải thuật cũng như là phần cứng để hoàn thiện robot này.
Trang 4MỤC LỤC
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.1 Giới thiệu robot tự hành 1
1.2 Nội dung luận văn 2
Chương 2: THUẬT TOÁN TRÁNH CHƯỚNG NGẠI VẬT CHO ROBOT 3
2.1 Giới thiệu 3
2.2 Các phương pháp tránh vật cản 3
2.2.1 Phương pháp đi theo đường biên vật cản 3
2.2.2 Phương pháp phát hiện cạnh 7
2.2.3 Phương pháp biểu diễn vật cản bằng sơ đồ lưới 7
2.3.4 Phương pháp trường thế 9
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 và 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 các phương pháp tránh vật cản 18
Chương 3 : ROBOT OMNI 20
3.1 Tổng quan về 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 bộ chuyển động đa hướng 21
3.2 Mô hình robot omni 22
Trang 53.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 chính xác robot omni 27
3.3 Điều khiển robot omni trong thực tế 28
3.3.1 Tại sao dùng bánh xe omni 28
3.3.2 Điều khiển robot omni trong 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 trong 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ý của 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ố khi sử dụng cảm biến siêu âm 43
Chương 5 : XỬ LÝ ẢNH SỐ VÀ OPENCV 50
5.1 Cơ bản về xử lý ảnh số 50
5.1.1 Giới thiệu về hệ thống xử lý ảnh 50
5.1.2 Các khái niệm cơ bản 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 một chuỗi phân loại 60
5.3 Thư viện xử lý ảnh OpenCv của Intel 61
5.3.1 Giới thiệu 61
5.3.2 Các thành phần chức năng của OpenCv 61
5.3.3 Cấu trúc ảnh IplImage 61
5.3.4 Các hàm dùng trong luận văn 63
Trang 66.1 Cơ sở phần cứng 66
6.1.1 Robot omni 66
6.1.2 Mạch điều khiển chính 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 và bám theo 80
6.2.4 Giải thuật bám khuôn mặt và tránh vật cản 82
6.2.5 Chương trình Visual C++ 84
Chương 7 : KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 85
7.1 Kết quả đạt được 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á sao hỏa Rover 1
Chương 2: THUẬT TOÁN TRÁNH CHƯỚNG NGẠI VẬT CHO ROBOT Hình 2.1 Robot trong 3 tình huống bám biên 5
Hình 2.2 Robot di chuyển qua lại giữa hai bức tường 6
Hình 2.3 Robot đi vào góc nhỏ 6
Hình 2.4 Robot gặp vật cản khi bám biên 7
Hình 2.5 Sơ đồ lưới 8
Hình 2.6 Histogram Grid 9
Trang 7Hình 2.7 Trường hợp robot không qua được khe 2 vật cản 11
Hình 2.8 Optical Flow của bàn tay 12
Hình 2.9 Mô hình bài toán dẫn hướng thích nghi 14
Hình 2.10 Các trường hợp phát hiện vật cản của robot 16
Chương 3 : 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 và robot dùng chân 21
Hình 3.3 Robot lái đồng bộ chuyển động đa hướng 22
Hình 3.4 Bánh xe omni và ứng dụng trên 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 của n bánh xe omni 25
Hình 3.8 Phân tích các thành phần vận tốc trên bánh xe omni 26
Hình 3.9 Sự phân bố lực trên robot omni 4 bánh đối xứng 27
Hình 3.10 Các trường hợp chuyển động của robot omni 3 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 từng vị trí theo mã gray của absolute encoder 33
Hình 4.4 Cấu tạo một gia tốc kế dùng lò xo 34
Hình 4.5 Gia tốc kế 2 trục ADXL202 34
Hình 4.6 Cấu tạo và nguyên lý của con quay hồi chuyển 35
Hình 4.7 Nguyên lý hoạt động của Optical Gyroscopes 36
Hình 4.8 Phép đo bằng cảm biến hồng ngoại 37
Hình 4.9 Vị trí sóng siêu âm trong 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ủa cảm biến siêu âm 40
Hình 4.12 Việc đo cảm biến bằng cảm biến siêu âm và lập bản đồ 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
Trang 8Hình 4.16 Sự phản xạ sóng siêu âm trên 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 5 : XỬ LÝ ẢNH SỐ VÀ OPENCV 50
Hình 5.1 Các bước cơ bản trong xử lý ảnh 50
Hình 5.2 Biểu diễn ảnh bằng pixel trong ả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 những kênh màu 53
Hình 5.5 Một số mẫu dương dùng cho việc phát hiện khuôn mặt 53
Hình 5.6 Một số mẫu âm dùng cho việc phát hiện khuôn mặt 54
Hình 5.7 Ảnh trước và sau khi cân bằng histogram 55
Hình 5.8 Thuộc tính Haar-like dùng trong quá trình phát hiện 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 được áp dụng trong thuật toán AdaBoost 59
Hình 5.11 Sơ đồ của chuỗi phát hiện 59
Hình 5.12 Một phần tập mẫu các khuôn mặt nhìn thẳng dùng trong huấn luyện 60
Chương 6 : 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 bài toán điều khiển robot omni trong thực tế 68
Hình 6.4 Mạch tổ hợp các tín hiệu logic 69
Hình 6.5 Mạch cầu H điều khiển động cơ 70
Hình 6.6 Cảm biến siêu âm SRF05 71
Hình 6.7 Đọc SRF05 ở Mode 1 71
Hình 6.8 Đọc SRF05 ở Mode 2 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 các thiết bị 74
Hình 6.12 Vi xử lý Atmega 16 75
Trang 9Hình 6.13 Sơ đồ khối Input Capture của Atmega16 76
Hình 6.14 Sơ đồ chân MAX485 77
Hình 6.15 Robot bắt khuôn mặt bằng camera 81
Hình 6.16 Giao diện điều khiển viết bằng Visual C++ 84
Trang 10Chương 1 GIỚI THIỆU
1.1 GIỚI THIỆU VỀ ROBOT TỰ HÀNH
Robot tự hành ( mobile robot ) là một hướng phát triển của lĩnh vực robotic mà trọng tâm là nghiên cứu chuyển động của robot trong một không gian nhất định Robot tự hành
thực sự là một lĩnh vực riêng biệt kể từ cuối những năm 1960 bằng dự án Shakey tại SRI.
Báo cáo của N.J.Nilsson "A Mobile Automation: An Application of Artificial Intelligence Techniques" tại IJCAI 1969 đã đưa ra các yếu tố "nhận thức", "lập bản đồ", "lập kế hoạch đường đi" và các khái niệm về kiến trúc điều khiển Thập niên 1980 bùng nổ với các dự án
về mobile robot và ngay lập tức đã cho thấy việc cần thiết để xét đến các thuộc tính của môi trường thực tế, vấn đề được bắt gặp trong các dự án thiếu thực tế, thường cho rằng robot chỉ là sản phẩm của trí tuệ nhân tạo.
Ngày nay với sự phát triển của máy tính và vi xử lý cũng như là các loại cảm biến đã giúp cho robot tự hành phát triển không ngừng Robot có thể được điều khiển bằng vi xử lý hoặc máy tính nhúng; một hệ thống robot có thể được kiểm soát bởi mộ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 ngoài có thể được thực hiện nhờ vào các cảm biến siêu âm, hồng ngoại hoặc camera Việc định hướng robot trong không gian được thực hiện bằng GPS hoặc la bàn số Các tính năng của robot tự hành rất
đa dạng : robot có thể di chuyển trong môi trường độc hại, địa hình phức tạp, có thể vẽ lại bản đồ của môi trường và truyền về bộ điều khiển trung tâm Dưới đây là hình ảnh của robot khám phá sao hỏa của NASA có khả năng định vị và dẫn hướng nhờ vào các cặp camera, phân tích thành phần vật chất bằng cách phân tích quang phổ, truyền dữ liệu về trái đất bằng sóng radio,
Trang 11Hình 1.1 Robot khám phá sao hỏa Rover với các thiết bị bên ngoài ( hình
trên ) và bên trong ( hình dưới ).
Luận văn này tập trung phân tích các phương pháp tránh vật cản cho robot tự hành mà trong tâm là các phương pháp dựa trên cảm biến siêu âm Việc phân tích sau đó được áp dụng để điều khiền robot omni tránh vật cản bằng cảm biến siêu âm.
1.2 NỘI DUNG CỦA LUẬN VĂN
Phần chương 2 sẽ phân tích một số phương pháp tránh vật cản đã được đưa ra trên thế
giới dựa trên cảm biến siêu âm và camera Các phương pháp được đưa ra là : phương pháp
đi theo đường biên vật cản, phương phát phát hiện cạnh, phương pháp biểu diễn vật cản bằng sơ đồ lưới xác định, phương pháp trường thế, và phương pháp dùng optical flow Phương pháp được lựa chọn để thực hiện đề tài là phương pháp dẫn hướng thích nghi Trong chương 3, mô hình robot omni được giới thiệu và so sánh với các mô hình robot
Chương 6 mô tả quá trình thực hiện đề tài bao gồm phần cứng và giải thuật phần mềm Chương 7 tổng kết kết quả, ưu nhược điểm và phương hướng phát triển đề tài.
Chương 2 THUẬT TOÁN TRÁNH CHƯỚNG NGẠI VẬT CHO
ROBOT TỰ HÀNH
Trang 12Bà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àncụ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 Trongbài toán cục bộ, môi trường làm việc của robot hoàn toàn chưa bíết hoặc chỉ biết một phần Đốivới bài toán này, các cảm biến gắn trên robot sẽ phát hiện vật cản để điều khiển hệ thống dẫnhướng robot từ điểm đầu đến điểm đích mà không chạm vật cản
Bài toán toàn cục tỏ rõ lợi thế là ta đã biết trước có đường đi (tối ưu ) tới đích hay khôngtrước khi robot khởi hành Tuy vậy nó có hạn chế là đòi hỏi nhiều lệnh tính toán và bộ nhớ vàtrong thực tế, yêu cầu biết trước tòan bộ môi trường khó khả thi Trong khi đó, robot tìm đườngcục bộ chỉ biết được môi trường xung quanh qua sensor cảm nhận môi trường Vì thế robot tìmđường cục bộ có thể không hoàn thành việc đến đích (mặc dù thực tế có đường đến đích )trongtrường hợp đặc biệt Tuy nhiên, yêu cầu tính toán, dung lượng nhớ thấp cùng tính linh họat caonhư tránh được vật cản ngay khi vật cản di chuyển động Hiện nay cách kết hợp toàn cục vàcục bộ đang ngày càng phổ biến giúp robot có tính linh hoạt cao
Nội dung của luận văn tập trung giải bài toán cục bộ, với robot omni di chuyển trong mặtphẳng với các vật cản tĩnh, đích của robot là khuôn mặt người được bắt bằng một webcam.Robot sẽ di chuyển tới vị trí người đang đứng và tránh các vật cản gặp phải trên đượng đi Việc
phát hiện vật cản được thực hiện bởi 3 cảm biến siêu âm Phần 2.2 dưới đây sẽ trình bày các
phương pháp xác định vật cản bằng cảm biến siêu âm hoặc camera, và sẽ trình bày chi tiết thuật
tóan sinh viên lựa chọn để thực hiện đề tài trong phần 2.3.
2.2 CÁC PHƯƠNG PHÁP TRÁNH VẬT CẢN
2.2.1 Phương pháp bám tường ( wall-following method)
Ở phương pháp này, robot di chuyển dọc theo vật cản với một khoảng cách định trước.Phương pháp này thích hợp khi chúng ta không có một bản đồ cụ thể môi trường haymột sự định vị rõ ràng Phương pháp này còn được áp dụng khi chỉ có những thông tinkhông đầy đủ, đại loại như “hành lang này sẽ dẫn đến cánh cửa kia ”, robot có thể sửdụng tường để định hướng quỹ đạo hoàn tất nhiệm vụ
Thuật toán sử dụng trong phương pháp bám tường dựa trên sự biểu diễn “nhận thức”(tri giác) Khái niệm này sử dụng thông tin từ các cảm biến siêu âm để thu nhận nhậnthức tổng quát về môi trường lân cận Các thông tin này không có nghĩa là vị trí chínhxác của vật cản và hướng của tường Ngược lại, các nhận thức tổng quát này giúp robotnhận biết chính nó trên một hướng hợp lý hơn là một vị trí chính xác Các hướng này
có thể được mô tả bằng các giá trị ngôn ngữ như là phía trước bên trái, ở đằng xa hoặc rất chậm Việc mô tả này được thực hiện bằng logic mờ và do đó, logic mờ sẽ là
chìa khóa của vấn đề
Một đề tài về robot bám tường đã được tiến hành ở trung tâm nghiên cứu roboticIKERLAN ở Tây Ban Nha đã cho thấy robot có thể tránh được tất cả chướng ngại vậttrong 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ộtcả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ộtphần của tường và nếu khoảng cách giữa vật cản và tường quá lớn thì nó sẽ bỏ qua
a Khái niệm nhận thức tổng quát :
Trang 13Nhược điểm của cảm biến siêu âm là độ phân giải về hướng rất kém Mặc dùnhững cảm biến này rất chính xác phản ánh khoảng cách đến vật cản gần nhất bằngtính phản xạ, nhưng vật cản lại có thể nằm bất cứ đâu trong một góc quét của cảm biến.Hơn nữa khoảng cách này lại phụ thuộc vào bề mặt của vật cản, khoảng cách và độnghiêng của bề mặt so với trục cảm biến Vì vậy rất khó để ngay lập tức mô tả môitrường xung quanh từ dữ liệu cảm biến đưa về, chẳng hạn như độ cong của bức tường.Khái niệm về nhận thức tổng quát tránh những khó khăn này bởi vì nó không bảo đảmđiều gì về việc phác thảo môi trường xung quanh Thay vào đó, nó hướng tới việc tạo
ra một nhận thức chung chung về môi trường xung quanh từ dữ liệu từ cảm biến vàbiểu diễn lại bằng vector, gọi là vector nhận thức tổng quát
Để đáp ứng yêu cầu thì mỗi cảm biến siêu âm i được gán cho một vector nhận thức
Trang 14Hình 2.1 Robot tự hành trong 3 tình huống bám biên
Hình trên minh họa khái niệm nhận thức tổng quát trong 3 tình huống bám biêncủa robot Nhận thức tổng quát khi đối với góc tường (trường hợp a ) thể hiện bởi 3vector Một cạnh tường gần hơn được nhận thức bằng một cảm biến, cạnh còn lại đượcnhận thức bằng hai cảm biến Nhận thức sau thì không mạnh bằng nhận thức đầu dokhoảng cách xa hơn Mô tả về tình huống này dạng ngôn ngữ như sau: nhận thức tổngquát thì mạnh và liên quan đến phương pháp tuyến về bên phải và nơi nào đó phíatrước Một tình huống hay gặp là robot ở vào vị trí “dead-end” (hình b) khi robot dang
di chuyển dọc theo tường bên phải Khi robot đến cuối đường, vector nhận thức biếnthiên nhanh hơn về phía trước Sự biến thiên nhanh hay chậm tùy thuộc vào vận tốccủa robot Trong trường hợp góc tường mở (hình c), sự biến thiên mạnh hơn ở phía saubên phải
Khái niệm về nhận thức tổng quát thì hoàn toàn phù hợp với việc mô tả bằng ngônngữ với vô số tình huống của robot Sự mô tả này thì đơn giản, được thực hiện cùngvới chuyển động của robot và được dùng như là ngõ vào của bộ luật trong giải thuậtdùng logic mờ Lúc này thì hướng của chính xác của cảm biến không còn quan trongnữa Với giải thuật này robot có thể dễ dàng bám theo tường ngay cả khi chỉ có mộtcảm biến phát hiện tường
Một điều cần lưu ý rằng khái niệm nhận thức tổng quát là sự tổng hợp nhận thứccác cảm biến, do đó nó có tên là “tổng quát” Ngay cả những cảm biến theo hướngchuyển động là hướng về phía sau và nhận thức của chúng có vẻ không có giá trịnhưng sự đóng góp của chúng vào nhận thức tổng quát là như nhau Sử dụng ví dụ ởhình dưới, nếu bỏ qua các cảm biến mà ta cho rằng không đóng góp vào chuyển độngcủa robot thì sẽ dẫn robot theo một hướng sai lầm Nếu dữ liệu của cảm biến 1 và 8không được quan tâm thì góc α′
giữa vector
và vận tốc v sẽ nhỏ hơn
090
Theo giá
Trang 15trị ngôn ngữ có thể hiểu rằng: vector nhận thức tổng quát nằm đâu đó ở giữa phía trước
và bên trái Kết quả là robot sẽ di chuyển sang bên phải xa dần bức tường Nhưng khi
nó tiến gần bức tường đối diện thì vector
Hình 2.2 Robot sẽ di chuyển qua lại hai bức tường nếu ta không xét đến các cảm biến
Trang 162.2.2Phương phát phát hiện cạnh ( edge-detection)
Một phương pháp cũng khá phổ biến là dựa trên việc phát hiện cạnh detection) Thuật toán đưa ra trong phương pháp này tìm cách phát hiện vị trí các cạnhđứng và lái robot vòng qua các cạnh “thấy được” đó Đường nối hai cạnh “thấy được”xem như là biên của vật cản Phương pháp này cũng có thể dùng cảm biến siêu âm đểphát hiện vật cản Điểm bất lợi của phương pháp này là robot phải dừng lại trước vậtcản để thu thập thông tin Tuy nhiên đây không phải điều khó khắc phục với nhữngmáy tính xử lý nhanh trong tương lai
(edge-Trong phương pháp dùng cảm biến siêu âm, robot đứng yên khi đang khi thực hiệnviệc quét toàn cảnh môi trường làm việc Sau khi áp dụng một số giải thuật line-fitting , một kế họach chuyển động toàn cục được thiết lập cho quỹ đạo kế tiếp củarobot
Hạn chế thường gặp của phương pháp này là độ chính xác của cảm biến siêu âm, thường rơi vào các nguyên nhân sau :
Khả năng định hướng kém : hạn chế việc xác định vị trí cạnh trong không gian,phụ thuộc vào khỏang cách tới vật cản, và góc giữa bề mặt và trục phát sóng
Hiện tượng đọc chéo : gây ra bởi nhiễu sóng siêu âm từ các nguồn ngoài haycác cảm biến gây nhiễu lẫn nhau Các nhiễu này thường khó để lọc bỏ và gâykhó khăn cho việc tiến hành giải thuật
Sự phản xạ đều : khi góc của mặt phản xạ và trục cảm biến quá lớn, sóng phản
xạ sẽ không trở về nơi phát và coi như vật cản không được phát hiện, hoặcnhận biết vật cản nhỏ hơn thực tế
Bất cứ các nguyên nhân nào trên đây cũng đều ảnh hưởng đến thuật toán phát hiệncạnh của vật cản ở một vị trí sai, hậu quả là quỹ đạo đưa ra không phù hợp
2.2.3 Phương pháp biểu diễn vật cản bằng sơ đồ lưới xác định
Một phương pháp biểu diễn xác suất của vật cản trong một mô hình môi trường dạnglưới ( grid-type world model) được phát triển tại đại học Carnegie-Mellon ởPennsylvania, Mỹ Mô hình luới xác định này thì đặc biệt phù hợp với điều kiện các dữliệu thu từ cảm biến thì không chắc chắn, trong trường hợp này là cảm biến siêu âm
Trong lưới xác định ( certainty grid), vùng hoạt động của robot được biểu diễn bằngmột mảng hai chiều các phần tử hình vuông, gọi là các cell Mỗi cell chứa một giá trịxác định ( certainty value) gọi là CV thể hiện mức độ đáng tin cậy rằng có vật cản xuấthiện trong cell đó Với phương pháp này, CV sẽ được cập nhật bằng một hàm xác suất
có xét đến đặc điểm của cảm biến Với cảm biến siêu âm có một tầm quan sát hình nón
sẽ trả về một giá trị đo hướng tâm khoảng cách đến vật cản gần nhất nằm trong vùng
Hình 2.4 Robot gặp vật cản khi bám tường, khi đó robot thay đổi quỹ đạo vòng qua vật cản (B-C) rồi trở lại nhiệm vụ bám tường ( C-D)
Trang 17hình nón, do đó không xác định cụ thể vị trí góc của vật thể ( hình dưới thể hiện vùng
A trong đó một vật thể phải được định vị để cho ra kết quả đo là d) Nếu một vật thểđược phát hiện bởi cảm biến, nhiều khả năng vật thể này gần trục cảm biến hơn là phần
biên của hình nón Trong phương pháp này hàm xác suất
x
C
sẽ tăng CV của các cellgần trục hơn là CV của các cell ở biên
Hình 2.5 Sơ đồ lưới: một giá trị d đo được chứng tỏ sự tồn tại của
vật cản đâu đó trong vùng màu đen
Trong thí nghiệm, robot tự hành đứng yên khi thực hiện việc quét toàn cảnh môi
trường với 24 cảm biến Kế tiếp, hàm xác suất
x
C
được áp dụng với mọi giá trị khoảngcách đo được để cập nhật lưới xác định Cuối cùng, robot di chuyển đến vị trí mới rồidừng lại và lặp lại quá trình trên Khi robot di chuyển hết căn phòng theo cách này thìlưới xác định có thể xem như bản đồ tương đối chính xác của căn phòng Một quỹ đạotổng quát có thể được tính toán off-line cho những lần hoạt động về sau
2.2.4 Phương pháp trường thế ( Potential Field Method)
Trong phương pháp này, vật cản gây ra một lực đẩy, khi mà mục tiêu lại áp dụng mộtlực kéo với robot Vector lực tổng hợp R bao gồm tổng của lực kéo từ mục tiêu và lựcđẩy từ vật cản được dùng để tính toán cho một vị trí của robot Với R là lực gây nên giatốc trên robot, vị trí mới cho robot được tính toán bằng các thuật toán
Phương pháp Virtual Force Field do Borenstein đưa ra sử dụng luới hai chiều theo hệtọa độ De-cac, gọi là luới biểu đồ ( histogram grid) C để biễu diễn vật cản Mỗi ô (i,j)
,
i j
c
Trang 18ở phần trên, ở histogram grid, các CV được tăng lên khi cảm biến siêu âm xác định sựhiện diện của vật cản tại ô đó.
i j
c
và tỉ lệ nghịch với
n
d
với d là khoảng cách giữa ô và tâm của robot, n là một số dương :
, ,
Trang 19Hướng của R kí hiệu là δ
, đơn vị deg, dùng làm giá trị tham chiếu cho lệnh chuyển hướng của robot:
Trang 20Các hạn chế của phương pháp trường thế :
Sập bẫy khi di chuyển đến ngõ cụt tạo bởi nhiều vật cản phức tạp
Không qua được khe giữa hai vật cản
Hình dưới 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à
' 1
r
F
và
' 2
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 khi đi trong ngõ hẹp : nguyên nhân do robot nhận được lực đẩy từ cả hai bức tường
2.2.5 Phương pháp dùng optical flow :
Khác với các phương pháp trên, phương pháp này chủ yếu sử dụng camera và đã được sinhviên Phan Tuấn Hải ( 40400725) thực hiện trong luận văn tốt nghiệp, ở đây chỉ trình bày tómtắt cơ sở lý thuyết và giải thuật
Khi camera di chuyển, nó sinh ra một chuỗi theo thứ tự các frame, mỗi frame là một ánh xạ
từ không gian 3D lên một mảng pixel 2D Giả sử trong ảnh là một cái bàn, các điểm trên cạnhbàn là những điểm cần quan tâm Khi camera di chuyển thẳng ta sẽ nhận thấy sự di chuyển nhỏcủa những điểm này theo chuỗi frame sinh ra Nếu cái bàn ở xa, sự dịch chuyển quan sát được
sẽ nhỏ; khi bàn ở gần, độ dịch chuyển này sẽ lớn hơn Ta tiến hành tính tóan vector dịchchuyển cho một số điểm nhất định sẽ có thể định hình được vùng di chuyển của vật Nhữngvùng này gọi là vùng optical flow Có hai cách tính toán các optical flow :
Thuật toán Dense Optical Flow ( Optical Flow đặc) : tính toán các vector này cho mọi điểm trong ảnh
Thuật toán Sparse Optical Flow ( Optical Flow thưa) : chỉ sử dụng cho các điểm đặc biệt ( ví dụ như cạnh)
Trang 21Hình 2.8 Optical Flow của bàn tay
Ngõ vào của một hệ optical flow là một chuỗi các ảnh thu được từ bên ngoải, chuỗi này sẽchứa các thông tin để ước lượng các vector di chuyển Do đó, camera cũng phải di chuyển hếttrong suốt quá trình lấy ảnh Giả sử ảnh đầu tiên được lấy ở thời điểm t, xét điểm (u,v) trên ảnh
có cường độ I(u,v,t) Nếu khoảng thời gian giữa hai lần lấy ảnh là đủ nhỏ thì xem như cường độđiểm ảnh đang xét không đổi Xét cường độ điểm ảnh tại thời điểm t là I(u,v,t) Từ sự dichuyển của camera, cùng một điểm đó, nó sẽ xuất hiện ở frame tiếp theo nhưng ở vị trí khác.Giả sử độ dịch chuyển đó được biểu diễn bằng vector
0
t
u v t
∆
(2.13)
Trang 22t
v v t
Việc tránh chướng ngại vật dựa trên kỹ thuật cân bằng mà ý tưởng chủ đạo là thị sai của sựdịch chuyển Khi robot di chuyển thẳng, những vật ở gần sẽ có phần tử di chuyển nhanh hơnnhững phần tử của vật ở xa Đồng thời trong phạm vi quan sát thi những vật ở gần hơn sẽ dễtheo dấu hơn nên phần tử được chọn cũng nhiều hơn Từ ý tưởng đó, robot sẽ di chuyển đểtránh xa hường có optical flow lớn nhất ( hai hướng được xét là hướng trái và hướng phải)
2.3 THUẬT TOÁN DẪN HƯỚNG THÍCH NGHI ( ADAPTIVE NAVIGATION)
Thuật toán này được trình bày trong tài liệu tham khảo [2] Đây là một kĩ thuật dẫn hướngcục bộ với vị trí ban đầu và đích đã biết trước, các vật cản được phát hiện bởi ba cảm biến đokhoảng cách từ robot đến vật cản gần nhất nhưng theo ba hướng khác nhau Hướng di chuyểncủa robot được quyết định bởi hướng đến đích và hướng tránh vật cản tính toán được Điềukiện để thực hiện phương pháp là các vật cản phải đứng yên Điểm mạnh của phương pháp làchỉ yêu cầu một ít thông tin về môi trường xung quanh so với các phương pháp khác và luậtdẫn hướng cũng đơn giản và linh họat hơn sử dụng phương pháp trường thế ( potential fieldmethod) Đây chính là phương pháp em chọn để thực hiện đề tài
2.3.1 Mô hình robot và kĩ thuật dẫn hướng thích nghi
Xét một bài toán dẫn hướng hai chiều (2D) trong hình (2.9) khi mà vị trí và vận tốc củarobot được biểu diễn trong hệ tọa Decac ( x(t), y(t) và v(t) với t là thời gian ) Điểm bắt đầu
(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
Trang 23Hì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 :
min
( )( )t v t
r
θ& ≤
(2.17)Xét biểu thức dạng toàn phương :
là góc điều khiển robot đến đích hoặc tránh vật cản
Nếu như không có vật cản và giả định A2 không được xét đến thi robot sẽ ngay lập tứcquay về phía đích lúc bắt đầu và cứ thế chạy đến đích Đây có thể coi là đường đi tối ưunhưng không không khả thi với điều kiện của robot Do đó, luật dẫn hướng sau đây đượcđưa ra :
*
(2.19)với
η
là hằng số dương Phương pháp suy giảm Gradient được áp dụng để tìm ra góc
dẫn hướng nhằm tối thiểu hóa E(t),
*( ) t
θ
là góc định hướng điều kiện Để hiểu rõ vấn đề,
Trang 24ta xét trường hợp dẫn hướng không có vật cản Xem
Trang 25Giả định (A4) thể hiện tình huống thực tế Mục đích của giả định (A5) là đảm bảo việcphát hiện vật cản bởi cả ba cảm biến Giả định (A6) cần thiết cho việc tránh vật cản sẽđược giải thích sau.
a Trường hợp 3 cảm biến đều phát hiện vật cản :
Hình (2.10) mô tả các trường hợp phát hiện vật cản có thể xảy ra Khi vật cản được
≥
<
(2.24)
Trang 26Hình 2.10 Các trường hợp phát hiện vật cản của robot
b Trường hợp 2 cảm biến phát hiện vật cản :
Trong hình b và c, một vật cản được phát hiện phía trước robot (
Trang 27Khi
c
d
< 0 ( hình d) việc chuyển hướng là không cần thiết vì không có vật cản trên
đường di chuyển của robot Do đó
θ =θ
c Trường hợp một cảm biến phát hiện vật cản :
Có hai trường hợp được xét đến trong hình e và hình f Trong trường hợp đầu việc
chuyển hướng là không cần thiết do
đủ sơ đổ các vật cản trong không gian Tuy nhiên, do
2.3.3 Xây dựng thuật 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 đặtlê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 vật cản Nếu các bất đẳng thức này được duy trì:
Trang 28Tổng hợp lại, một thuật tóan để tính tóan góc điều khiển
Trang 29cạnh, đòi hỏi cảm biến siêu âm phải quét hết môi trường làm việc sau đó tính toán để thiết lậpquỹ đạo cho robot, do đáp đáp ứng của robot khá chậm Phương pháp biểu diễn vật cản bằng sơ
đồ lưới đòi hỏi số lượng cảm biến lớn để có thể bao quát toàn bộ khu vực hoạt động, tuy nhiênlại khắc phục nhược điểm góc mở lớn của cảm biến siêu âm với việc biểủ diễn dữ liệu bằnghàm xác suất Phương pháp trường thế đòi hỏi tọa độ của đích đến phải được biết trước, khôngthích hợp với các mục tiêu di chuyển như là trong đề tài
Phương pháp dùng Optical Flow có ưu điểm là chỉ sử dụng một camera để phát hiện vậtcản Tuy nhiên phương pháp này lại đòi hỏi việc lập trình tính toán khá phức tạp do phải tínhcác gradient cho các điểm trên hình, do đó thời gian xử lý sẽ lâu
Đối với phương pháp dẫn hướng thích nghi, ta chỉ cần có ba cảm biến siêu âm và giải thuậttương đối đơn giản Phương pháp này thích hợp cho các môi trường không phức tạp với các vậtcản tĩnh và có kích thước đủ lớn Dù trong thuật toán gốc thì tọa độ của đích đến được xác địnhtrước nhưng ta cũng có thể cải tiến cho các mục tiêu di động, trong đề tài thì mục tiêu di độngchính là khuôn mặt người
CHƯƠNG 3 ROBOT OMNI
3.1 TỔNG QUAN VỀ ROBOT TỰ HÀNH:
Có rất nhiều chọn lựa cho việc thiết kế một robot tự hành có khả năng di chuyển trên một mặtcứng (solid surface), trong số đó có 3 dạng chủ yếu là dùng bánh xe (wheels), dùng bánh xích(track) và dùng chân (legs) Việc dùng bánh xe được ứng dụng nhiều do kết cấu cơ khí đơn giản vàviệc thi công dễ dàng Dùng chân và bánh xích đòi hỏi kết cấu cơ khí phức tạp và phần cứng nặnghơn so với cùng một mức tải yêu cầu, nhưng có lợi thế là di chuyển được trên những địa hình xấu( 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
Trang 30Robot 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 Thiết kế này đòi hỏi 2 động cơ, một để điều khiển vận tốc (lái) vàmột để bẻ lái Thuận lợi của thiết kế này là việc điều khiển và bẻ lái được tách riêng biệt trên haiđộng cơ, do đó việc điều khiển bằng phần mềm trên các quỹ đạo cong sẽ đơn giản Tuy nhiên, điểmbất lợi là robot không thể bẻ lái tại chỗ do bánh để bẻ lái không đặt ở giữa
Thiết kế ở giữa có tính chất lái vi sai (differential drive) được sử dụng khá phổ biến trong thiết
kế robot tự hành Sự kết hợp hai bánh xe lái độc lập cho phép robot có thể chạy thẳng, chạy vònghoặc xoay tại chỗ Việc điều khiển robot trên một quỹ đạo nào đó, ví dụ như một đường cong đãbiết bán kính phải được làm bằng phần mềm Một lợi thế nữa của thiết kế là các bánh xe được giữ
cố định nên làm cho kết cấu cơ khí đơn giản
Cuối cùng thiết kế bìa phải, còn gọi là “Ackermann Steering”, có dạng giống như các xe vận tảitrên đường phố Ta chỉ cần một động cơ lái cả hai bánh sau và một động cơ bẻ lái bằng cả hai bánhtrước
Một điều cần lưu ý là cả ba thiết kế trên đều sử dụng hai động cơ cho việc điều khiển vận tốc
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 xích, robot dùng chân có thể di chuyển trên bề mặt phức tạp, hơnnữa còn có thể lên xuống cầu thang hoặc bước qua các chướng ngại vật nhỏ Có rất nhiều kiểu thiết
kế lọai này dựa vào số chân với một quy tắc tổng quát: càng nhiều chân càng dễ thăng bằng Ví dụrobot 6 chân hình trên có thể di chuyển giống như robot 3 chân với 3 chân còn lại trên không Mộtrobot 3 chân thì có thể luôn giữ được trạng thái ổn định, với trọng gần đúng bằng tâm hình tam giáctao bởi điểm tiếp xúc của 3 chân với mặt đất Mỗi chân robot đòi hỏi từ hai động cơ trở lên tùythuộc vào số bậc tự do mỗi chân Các thiết kế cho robot 2 chân (biped robot) thường có hơn 5 động
Trang 31cơ cho mỗi chân và do đó số bậc tự do cũng tăng lên, đòi hỏi yêu cầu về khối lượng và chi phí chorobot.
3.1.3 Robot lái đồng bộ chuyển động đa hướng (Synchronous-drive robot )
Hình 3.3 Robot lái đồng bộ chuyển động đa hướng với ba bánh được lái bằng một động cơ
( steering motor), các bánh được liên kết qua các ròng rọc
Một robot lái đồng bộ ( synchronous-drive robot ) có thể được chế tạo bằng cách thêm vào cácbánh định hướng ở trọng tâm hoặc lệch trọng tâm Điều đặc biệt của thiết kế này là hướng và vậntốc các bánh xe luôn băng nhau Chuyển động lái của mỗi bánh được liên kết với nhau bằng xíchhoặc đai, do đó ta luôn xác định được sự định hướng của bánh xe Một chuyển động đa hướng ( cóthể ngay lập tức chuyển động theo bất cứ hướng nào ) có thể đạt được bằng cách lái các bánh xetheo hướng của vận tốc mong muốn Tuy nhiên hướng của phần khung robot thì không thể thayđổi Đôi khi một đầu vô tâm ( turret) được dùng để thay đổi hướng của robot Lợi ích của việc dùngrobot lái đồng bộ là chỉ cần hai động cơ để đổi hướng và thay đổi vận tốc Do kết cấu cơ khí đãđảm bảo cho việc lái đồng bộ nên việc điều khiển không đòi hỏi cao Nhược điểm của phương phápnày là :
lệch vận tốc giữa các bánh
theo hướng mong muốn trước khi bắt đầu chuyển động
3.2 MÔ HÌNH ROBOT OMNI
3.2.1 Bánh xe omni
Bánh xe omni đã trở nên rất thông dụng trong robot tự hành vì nó cho phép robot di chuyểnngay đến một vị trí trên mặt phẳng mà không phải quay trước Hơn nữa, chuyển động tịnh tiến dọc
Trang 32Hình 3.4 Bánh xe omni và ứng dụng trên xe bốn bánh.
Bánh xe Omni còn có tên gọi là bánh xe Mecanum, kiểu bánh xe này được phát triển và đăng
kí bản quyền bởi công ty Mecanum của Thụy Sỹ với Bengt Ilon vào năm 1973 Có hai lọai bánhOmni chính, phụ thuộc vào hướng chuyển động khả thi của bánh :
Bánh Omni với hướng chuyển động phụ 450 so với hướng chính ( hình 3.5)
Bánh Omni với hướng chuyển động phụ 900 so với hướng chính ( hình 3.6)
Hình 3.5 Bánh Omni với hướng chuyển động phụ 45 0 so với hướng chính
Trang 33Hình 3.6 Bánh Omni với hướng chuyển động phụ 90 0 so với hướng chính
Hầu hết các bánh xe omni đều dựa trên cùng một nguyên lý :trong khi bánh xe cung cấp mộtlực kéo theo hướng bình thường trên trục của động cơ, nó có thể trượt không ma sát theo hướngtrục của động cơ Để đạt được điều này, bánh xe được chế tạo bằng cách thêm các bánh xe nhỏ dọctheo 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ủarobot, ta phải phân tích khía cạnh hình học của vấn đề:
Trang 34Chúng ta sẽ phân tích robot với n>=3 bánh xe omni như trên hình vẽ
Các góc của động cơ được tính so với trục x trong hệ tọa độ gắn trên động cơ gọi các góc của trục động cơ là θ1 , θ2 , …θn ; hướng của bánh xe thứ i tương ứng là : θi + π/2
Khi các động cơ được kích hoạt, ta sẽ nhận được n lực kéo F1, F2,…,Fn từ các động cơ, sau đótổng hợp thành lực tịnh tiến và moment quay của robot Mỗi lực kéo Fi được tính bằng moment trênđầu trục động cơ nhân với bán kính của bánh xe
Ma trận tổng hợp lực :
Chúng ta quan tâm đến chuyển động của robot dọc theo trục x và y Để đơn giản hóa, chúng ta
sẽ xem xét gia tốc và vận tốc của robot trên hệ toa độ đặt trên khung robot Ví dụ: một robot dichuyển tới sẽ có một vận tốc dương nhất định theo phương y và bằng 0 theo phương x Chúng tagọi vận tốc tịnh tiến và vận tốc quay là những “biên độ Euclide” (Euclidean Magnitudes), khác vớivận tốc và gia tốc của mỗi động cơ
Gia tốc tịnh tiến a và gia tốc góc
Trang 35Ta gọi ma trận 3 x n trên là ma trận phối hợp lực Cα
Các tính toán ở đây được giả định là các bánh xe không bị trượt, tức là moment đầu trục động
cơ được truyền toàn bộ đến robot thông mặt phẳng chuyển động
Biên độ Euclide :
Chúng ta có thể tính toán vận tốc của bánh xe ,vận tốc của robot cũng như vận tốc quay bằngcách lấy tích phân các phương trình chuyển động Tuy nhiên chúng ta phải xét đến robot trongkhông gian Euclide, tính toán quỹ đạo trong đó, từ đó suy ra vận tốc của từng bánh
Chúng ta nhóm vận tốc của các động cơ vào vector (v1,v2,…,vn)T, vận tốc tịnh tiến và vận tốcquay của robot vào vector (vx, vy, Rω)T Nếu chuyển động của robot được mô tả bằng vector (1, 0,0)T, tức là robot di chuyển thẳng mà không quay Khi robot di chuyển với vận tốc bằng 1 theo trục
x, bánh xe thứ i sẽ quay với vận tốc –sinθi Điều này được diễn tả trong hình 3.8 Bánh xe chính sẽ
cung cấp thành phần –sinθi và các bánh xe nằm trên chu vi sẽ cung cấp thành phần cosθi
Hình 3.8 Phân tích các thành phần vận tốc trên bánh xe omni
Áp dụng quy ước chiều quay dương là chiều dương lượng giác (ngược chiều kim đồng hồ nếunhìn tư trên xuống), ta thành lập ma trận quan hệ giữa vận tốc động cơ và vận tốc robot trongkhông gian Euclide :
v
v R v
Trang 36Ma trận trên có dạng như ma trận chuyển vị của ma trận Cα Ma trận này là ma trận phối hợpvận tốc kí hiệu là D Với hạng của ma trận >=3, với bất cứ giá trị nào vận tốc Euclide nào (vx, vy,Rω)T luôn tìm được một vector vận tốc các động cơ thỏa yêu cầu.
Bây giờ ta kí kiệu vector gia tốc (ax,ay,
Trong trường hợp tổng quát thì điều này là không khả thi vì ma trận
D không phải ma trận vuông, do đó không khả đảo Tuy nhiên, ta có thể tìm một ma trận D+ saocho :
Ma trận D+ chuyển vận tốc động cơ sang vận tốc Euclide của robot Để ý rằng ma trận này luôn
có hạng bằng 3 nên chỉ cần 3 bánh xe omni là có thể lái robot theo mọi hướng
3.2.3 Điều khiển chính xác robot omni
Việc điều khiển chính xác robot omni chỉ có thể thực hiện được nếu không xét đến ma satgiữa bánh xe và mặt đường Tuy nhiên trong thực tế, ma sat và do đó gia tốc của động cơ bị hạnchế Trước tiên ta sẽ chỉ ra bánh nào bị trượt bằng cách khảo sát các vận tốc của bánh xe Với thôngtin này, các lực của động cơ có thể bị giảm xuống để tránh sự trượt
Hình 3.9 Sự phân bố lực trên robot omni 4 bánh đối xứng
3.3 ĐIỀU KHIỂN ROBOT OMNI TRONG THỰC TẾ
Trang 371.3.1 Tại sao dùng bánh xe omni ?
Như ta đã thấy, robot với ba bánh xe omni có thể chuyển động theo bất cứ hướng nào ngay lậptức, điều này làm robot có tính linh hoạt rất cao, thích hợp để tránh vật cản Đồng thời robot có thểquay tại chỗ làm cho việc bám theo đối tượng thuận lợi Khi đối tượng quay, robot có thể quay theo
mà không làm thay đổi khoảng cách đến mục tiêu Khi mất dấu đối tượng thì robot có thể quay tạichỗ để dò tìm đối tượng Do đó robot omni rất thích hợp cho đề tài này
1.3.2 Điều khiển robot omni trong thực tế
Việc phân tích robot omni ở trên cho thấy để điều khiển robot moni chính xác và tối ưu rấtphức tạp do chuyển động của robot omni luôn có trượt Một lý do khác là do thân robot khá cao( đáp ứng yêu cầu đặt camera bắt mặt người) nên khi di chuyển sẽ có quán tính lớn, lắc lư nhiều,đồng thời với giải thuật tránh vật cản thi việc robot chuyển hướng xảy ra liên tục nên khó điềukhiển theo các phương pháp truyền thống như là PID Việc điều khiển robot được em điều khiểnvòng hở và điện áp cấp cho các động cơ là dựa vào kinh nghiệm, không quá thấp để robot dichuyển chậm nhưng không quá cao để robot có thể gặp sự cố khi chuyển hướng đột ngột
Với một robot omni ba bánh thì có thể có các trường hợp chuyển động sau :
Hình 3.10 Các trường hợp chuyển động của robot omni ba bánh: vector màu trắng: vận tốc của robot; vector màu xanh lá cây : vận tốc lái của động cơ; vector màu xanh dương : vận tốc sau cùng; vector màu cam : vận tốc bù; điểm màu vàng : tâm quay.
Trường hợp (a) : khi một bánh không cấp vận tốc, hai bánh còn lại quay ngược chiềunhau ( chiều lượng giác quy ước là ngược chiều kim đồng hồ), thi robot sẽ tịnh tiếntheo hướng vuông góc với bánh không cấp vận tốc, chiều theo chiều vector tổng
Trường hợp (b) : khi 3 bánh cùng cấp vận tốc cùng chiều lượng giác thì robot sẽ quay tại chỗ theo chiều đó
Trường hợp (c) : khi một trong ba bánh chuyển động ngược hướng với hai bánh còn lại
và hai bánh còn lại được cấp vận tốc giống nhau nhưng nhỏ hơn bánh thứ nhất, robot
sẽ tịnh tiến theo hướng song song với bánh thứ nhất
Trường hợp (d) : đây là trường hợp tổng quát nhất với ba bánh được cấp vận tốc bất kì,robot sẽ quay theo một tâm nào đó Các trường hợp trước coi như là trường hợp đặcbiệt của trương hợp (d) vì: trường hợp (b) tâm quay nằm ngay tâm hình học của robot,trương hợp (a) và (c) tâm quay xem như ở vô cùng
Tóm lại với một robot omni ba bánh ta có điều khiển theo các hướng như sau :
Trang 39Hình 3.11 Các hướng điều khiển robot omni
Ta có thể điều khiển robot omni tịnh tiến theo 12 hướng và quay tại chỗ theo hai chiều Việcđiều khiển này yêu cầu đơn giản về phần mềm nhưng không làm mất tính linh hoạt của robot.Robot có thể di chuyển đến bất cứ vị trí nào trong mặt phẳng bằng cách kết hợp các hướng chuyểnđộng xoay và tịnh tiến trong một thời gian ngắn, phát huy được thế mạnh của robot omni
CHƯƠNG 3 CẢM BIẾN DÙNG TRONG ROBOT TỰ HÀNH
Có một lượng lớn các cảm biến khác nhau được dùng trong lĩnh vực robotic, áp dụng nhiều kĩ thuật đo khác nhau và sử dụng các giao tiếp khác nhau với bộ điều khiển Điều quan trọng là tìm ra cảm biến thích hợp cho một ứng dụng cụ thể Dữ liệu truyền đến bộ điều khiển có 2 dạng : CPU-initiated (hỏi vòng) và sensor-initiated (sử dụng ngắt) Trong trường hợp CPU-initiated, CPU liên tục kiểm tra xem dữ liệu có sẵn sàng để đọc không bằng một đường tín hiệu trạng thái Việc này thì tốn thời gian hơn là giải pháp sensor- initiated, chi đòi hỏi đủ ngõ vào ngắt thôi Cảm biến phát tín hiêu ngắt đến CPU và CPU đáp ứng ngay lập tức.
Sau đây là bảng tóm tắt các dạng ngõ ra của cảm biến :
Bảng 4.1 Phân loại cảm biến theo ngõ ra
4.1 PHÂN LOẠI CẢM BIẾN
Dưới cái nhìn của người kỹ sư, thật hợp lý khi phân loại cảm biến theo ngõ ra vì điều
này rất cần thiết khi giao tiếp chúng với hệ thống nhúng Tuy nhiên, Bảng 4.2 trích từ
[9]cho ta các cách phân loại khác cũng quan trọng khi nhìn vào khía cạnh ứng dụng của chúng:
Từ cách nhìn của một robot, ta cần phân loại như sau:
việc của nó, gửi dữ liệu về robot)
Trang 40• Internal hoặc proprioceptive sensors ( cảm biến khảo sát trạng thái bên trong của robot )
Một cách phân biệt khác là :
trường đó, ví dụ như camera, con quay gyroscope)
như cảm biến dùng sóng siêu âm, lazer, hồng ngoại)
Internal Passive
Cảm biến định lượng (pin,accu)
Cảm biến nhiệt độ cho chip
Active
Hệ thống định vị dùng cảm biến siêu âm
Bảng 4.2 Các cách phân loại cảm biến trong robot tự hành
4.2 CÁC CẢM BIẾN THÔNG DỤNG TRONG ROBOT TỰ HÀNH:
4.2.1 Rotary Encoder:
Rotary encoder hay còn gọi là shaft encoder, là một thiết bị điện cơ dùng để đo vận tốc hoặc vị trí Encoder sử dụng các cảm biến quang để đưa ra một chuỗi xung có thể chuyển đổi thành các giá trị của chuyển động như vận tốc, vị trí hay hướng.Hình dưới
mô tả cấu tạo một dạng encoder: một đĩa rất mỏng và một diode phát quang (LED) gắn
ở một phía, phía bên kia có một transistor nhạy sáng (light activate) phát hiện ánh sáng
từ LED Đĩa được gắn vào trục quay và khi trục quay thì đĩa quay Khi đĩa quay đến vị trí mà ánh sáng từ LED có thể truyền qua khe trên đĩa đến transistor làm nó bão hòa, transistor sẽ phát ra một xung vuông Có hai dạng rotary encoder : incremental encoder
và absolute encoder.