Thiết kế hệ di chuyển bằng bánh đa hướng

Một phần của tài liệu Nghiên cứu phát triển hệ thống định vị và dẫn đường cho robot hoạt động ở môi trường trong nhà (Trang 31)

Hệ thống di chuyển sử dụng cơ cấu di động 3 bánh đa hướng (Omni) để robot có khả năng di chuyển linh hoạt và có độ cân bằng tốt trên mặt sàn. Cơ cấu di chuyển 3 bánh đa hướng phù hợp với địa hình hoạt động của robot hướng dẫn viên thuyết minh trong phòng truyền thống. Mỗi bánh đa hướng có đường kính 100 mm, tải trọng tối đa mỗi bánh 20 kg. Để robot chuyển động với khối lượng lớn, nhóm nghiên cứu sử dụng động cơ MAXSON. Dòng MAXSON có 2 loại là có chổi than và không có chổi than cũng như bộ mã hóa, bánh răng và điện tử điều khiển. Ưu điểm của MAXSON là khả năng chịu tải cao điều khiển chính xác. Động cơ sử dụng là Maxon với đường kính 42 mm, đường kính trục 10 mm, trọng lượng 360 g, điện áp hoạt động 24 V, tốc độ quay tối đa 8000 rpm. Động cơ Maxon sử dụng bộ điều khiển EPOS.

Bánh xe đa hướng có hai đặc điểm lớn: bánh có thể bám chặt vào sàn nhà và di chuyển ổn định. Không giống như bánh xe thường, bánh đa hướng có thể di chuyển theo phương ngang. Hướng di chuyển của robot được xác định bởi tổng hợp lực của 3 bánh đa hướng. Với cấu tạo như vậy, robot có thể di chuyển theo mọi hướng.

Ba động cơ được thiết lập với máy tính nhúng Raspberry Pi 3 thông qua giao thức truyền thông CAN. Sơ đồ kết nối điều khiển giữa Pi và động cơ được mô tả trên Hình 3.4 và các nút điều khiển trong giao thức truyền thông CAN.

Hình 3.4 Sơ đồ kết nối thiết bị phần cứng của khối di chuyển

Hướng di chuyển của robot được xác định bởi lực tổng hợp của các bánh xe. Với một lực quay thích hợp trên từng bánh xe trong hệ 3 bánh Omni thì robot có thể di chuyển theo bất kỳ hướng nào mà không cần phải xoay trước.

Hình 3.5 Mô phỏng hành vi di chuyển với hệ 3 bánh xe đa hướng 3.1.3. Thiết kế khối phần cứng tổng thể

Sơ đồ thiết kế khối tổng thể hệ thống robot thuyết minh và các thiết bị định vị, máy tính, hệ thống xử lý dữ liệu trung tâm và các kết nối. Trong thiết kế này, robot được

kết nối với hệ thống máy tính xử lý dữ liệu trung tâm thông qua bộ switch và chuẩn kết nối wifi. Trong đó đầu robot bao gồm một hệ 3D camera cho phép chụp ảnh và phân tích ảnh 3D trong đó nhấn mạnh thông tin về độ sâu của ảnh. Camera HD có nhiệm vụ thu thập các ảnh có độ phân giải cao để chuyển về server xử lý phục vụ công tác phát hiện và tương tác với người sử dụng. Hệ thống microphone cho phép thu các âm thanh xung quanh robot. Các âm thanh được thu theo các định hướng mô phỏng hoạt động của hệ thống thính giác thực của con người. Các biểu cảm của robot được thể hiện thông qua bộ phận thể hiện biểu cảm Đầu robot được kết nối với thân thông qua cấu trúc cổ 1 DoF cho phép robot có thể quay đầu sang trái và phải khi tương tác với người sử dụng. Khớp cổ được điều khiển hoạt động từ máy tính trung tâm thông qua hệ thống động cơ bước.

Phần thân robot chứa đựng tất cả các bộ phận chính như hệ máy tính trung tâm phục vụ các chức năng tính toán và điều khiển trung tâm, trí tuệ nhân tạo. Máy tính trung tâm điều khiển và thể hiện trạng thái, thông tin qua màn hình hiển thị, hệ thống loa. Vị trí của robot được xử lý trong hệ thống này thông qua chức năng định vị sử dụng sóng radio.

Hai cánh tay được điều khiển thông qua các mạch điều khiển chuyên dụng cho cấu trúc nhiều bậc tự do với nhiều động cơ kết hợp với các cảm biến chạm và cảm biến tiệm cận. Một số thông số môi trường xung quanh được robot thu thập thông qua hệ thống cảm biến môi trường đặt trong thân robot.

Máy tính trung tâm điều khiển việc chuyển động của robot thông qua hệ thống chân và các cảm biến vật cản. Hệ thống chân của robot được thiết kế dựa trên 4 bánh xe đa hướng có gắn động cơ chủ động. Cấu trúc này cho phép robot hoạt động trong nhiều địa hình phức tạp và tăng tính linh hoạt uyển chuyển của robot.

Các cảm biến vật cản được thiết kế dựa trên camera phát tia hồng ngoại và có thể cảm nhận trong khu vực xung quanh robot với đường kính khoảng từ 0,5 đến 3,0 mét. Toàn bộ hoạt động của robot được cấp năng lượng bởi hệ thống pin với điện áp 24V và dung lượng cỡ 40Ah. Với mức năng lượng này, robot có thể hoạt động trong khoảng 4 giờ mà không cần nạp điện. Trong trường hợp thời gian hoạt động của robot yêu cầu dài hơn, robot có thể được trang bị hệ thống pin dự phòng cho phép hoạt động trong khoảng 12 giờ.

Hình 3.6 Mô tả hệ thống phần cứng của robot 3.2. Thiết kế phần mềm

3.2.1. Hệ điều hành robot (ROS)

ROS (Hệ điều hành Robot) là một khung phần mềm mã nguồn mở để phát triển người máy. Công chúng biết đến ROS khi ROS 0.4 được phát hành vào ngày 1/1/2009. Mục tiêu chính của ROS là tiêu chuẩn hóa và tái sử dụng phần mềm robot trên toàn cầu và tạo ra một cộng đồng cho các nhà phát triển robot. Hiện tại, ROS chỉ chạy trên Linux. Hệ điều hành và nó hỗ trợ các ngôn ngữ C ++, Python và Lisp. ROS cung cấp các dịch vụ hệ điều hành tiêu chuẩn như trừu tượng hóa phần cứng, điều khiển thiết bị cấp thấp, triển khai chức năng thường được sử dụng, truyền thông báo giữa các quy trình và quản lý gói. Nó dựa trên kiến trúc đồ thị trong đó quá trình xử lý diễn ra trong các nút có thể nhận, gửi và ghép kênh cảm biến, điều khiển, trạng thái, lập kế hoạch, bộ truyền động và các thông báo khác. Nói cách khác, nó kết nối phần cứng với phần mềm để tạo ra một môi trường lập trình nâng cao để điều khiển phần cứng cấp thấp.

Kiến trúc chính của ROS dựa trên các nút và mỗi nút là một quy trình độc lập. Việc sử dụng các nút mang lại một số lợi ích cho hệ thống tổng thể. Trước hết, vì mỗi nút độc lập với nhau, sự cố của một nút không có khả năng dẫn đến sự cố toàn bộ hệ thống. Thứ hai, kiến trúc của ROS cũng giúp cải thiện khả năng tái sử dụng của mã. Ví dụ, chúng tôi viết một chương trình A (nút A) cho phép robot đi đến bất cứ đâu nó muốn mà không gặp vấn đề gì. Tuy nhiên, chúng ta cần một chương trình B khác (nút B) để xử lý dữ liệu camera để robot có thể nhận biết được môi trường xung quanh. Trong ROS, giao tiếp được thực hiện bằng cách chuyển các thông điệp giữa các nút. Nói chung, các nút không biết chúng đang giao tiếp với ai. Tất cả các tin nhắn đã gửi được xuất bản cho một topic. Nếu một nút muốn nhận tin nhắn, nó phải đăng ký các topic cụ thể. Có thể có nhiều publishersvà nhiều subscribers vào một nút. Nói cách khác, chúng ta có thể nói rằng một chủ đề giống như một kênh quảng bá trong đó một nút có thể truy cập tất

cả các thông điệp. Trong trường hợp có nhiều chủ đề, một nút sẽ bỏ qua tất cả các thông báo từ các chủ đề mà họ không đăng ký.

Hình 3.7 Kiến trúc của Ros 3.2.2. Giải thuật điều khiển hệ di chuyển bánh xe đa hướng.

Để điều khiển robot di chuyển linh hoạt, ta cần giải thuật điều khiển hệ đế di chuyển bánh xe đa hướng của robot để đưa ra vận tốc cần thiết của từng bánh xe phục vụ từng hành vi di chuyển cụ thể. Hình 3.8 mô tả các tham số lắp đặt hệ đế di chuyển 3 bánh đa hướng.

Hình 3.8 Các thông số hệ đế di chuyển

Dựa vào các tham số này, ta có thể đưa ra phương trình động học của hệ như sau:

𝑣 𝑣 𝜔

=

sin (𝑎 ) sin (𝑎 ) sin (𝑎 )

−cos (𝑎 ) −cos (𝑎 ) −cos (𝑎 )

−1/𝐿 −1/𝐿 −1/𝐿 𝜔 𝜔 𝜔 = 𝑴 𝜔 𝜔 𝜔 (3.1) Phương trình động học trên với đầu vào là vận tốc góc của từng bánh xe, từ đó ta

có thể tính toán ra đầu ra là vận tốc tịnh tiến theo 2 chiều x, y và vận tốc góc 𝜔 của cả robot. Từ đó, tùy vào hành vi di chuyển của robot tiến, lùi hay xoay ta có thể tính ngược lại vận tốc của từng bánh xe với công thức sau:

𝜔 𝜔 𝜔 = 𝑴 𝟏 𝑣 𝑣 𝜔 (3.2)

Khi có yêu cầu dẫn đường từ người dùng, khối thiết lập đường đi cho robot dựa trên thuật toán Dijkstra sẽ tạo ra mảng tọa độ các điểm nằm trên đường đi từ vị trí hiện tại của robot tới điểm đích. Hình 3.9 mô tả đường đi của robot gồm tập hợp các điểm có tọa độ sát nhau. Để robot có thể đi tới đích thành công, robot cần đi theo và bám sát tất cả các điểm tọa độ nằm trên mảng tọa độ đường đi dành cho robot. Dựa trên dữ liệu là mảng tọa độ các điểm và dữ liệu tọa độ hiện tại của robot, ta có thể thiết lập phương trình chuyển động khiến robot có thể bám theo các điểm tọa độ ngay gần với robot. Ví dụ 2 điểm được thể hiện trong hình, một điểm và vị trí hiện tại của robot và một điểm là vị trí trước mặt robot, nằm trên đường đi của robot. Đường thẳng nối 2 điểm tạo với hướng hiện tại của robot một góc 𝜃, dựa vào góc 𝜃 và khoảng cách giữa hai điểm, ta có thể tính toán được vận tốc tịnh tiến 𝑉 và vận tốc góc 𝜔 tương ứng, và từ đó suy ra vận tốc của 3 bánh xe dựa vào công thức (3.2).

Hình 3.9 Đường đi của robot trong một quy trình

Hình 3.10 mô tả thuật toán điều khiển hệ đế di chuyển khi có yêu cầu dẫn đường từ người dùng. Vận tốc tịnh tiến và vận tốc góc lớn nhất của robot là một hằng số được đặt trước bởi người dùng. Dữ liệu đầu vào của khối là tọa độ hiện tại của robot (𝑥 , 𝑦 ) và mảng tọa độ đường đi (𝑥 , ,.. , 𝑦 , ,.. ), điều đó có nghĩa là tọa độ của robot hiện tại chính là tọa độ (𝑥 , 𝑦 ). Robot liên tục di chuyển tới điểm đích cho đến khi quãng được được tính từ tọa độ hiện tại luôn được cập nhật của robot tọa độ điểm đích nhỏ hơn 0.1 mét. Vận tốc tịnh tiến của robot được đặt cố định không đổi theo thời gian, vận tốc góc xoay của robot được tính thông qua góc 𝜃 được trình bày trước đó, robot có xu hướng quay về vị trí góc 𝜃 = 0. Công thức tính quãng đường và góc 𝜃 được trình bày qua hai công

thức 3.3 và 3.4.

(3.3) (3.4)

Hình 3.10 Thuật toán điều khiển robot bám đường đi

𝑠 = (𝑥 − 𝑥 ) + (𝑦 − 𝑦 ) 𝜃 = 𝑎𝑡𝑎𝑛2(𝑦 − 𝑦 , 𝑥 − 𝑥 ) 𝑉 = 𝑣 𝜔 = −𝜔 . 𝜃 𝑠 > 0.1 𝜔 𝜔 𝜔 = 𝑴 𝟏 𝑉 0 𝜔 𝑣 = 0.8; 𝜔 = 0.1; (𝑥 , 𝑦 ), (𝑥 , ,.. , 𝑦 , ,.. ) 𝑀 = 10; 𝑖 = 10; 𝑠 = (𝑥 − 𝑥 ) + (𝑦 − 𝑦 ) 𝑖 ! = 𝑁 𝑖+= 𝑀 𝐷𝑜𝑛𝑒 𝐹 𝑇 𝑇 𝐹

CHƯƠNG 4.KẾT QUẢ, ĐÁNH GIÁ KHẢO SÁT VÀ ỨNG DỤNG ROBOT 4.1. Tạo lập bản đồ phòng

Robot được thử nghiệm và đánh giá tại phòng trưng bày của ĐHQGHN. Phòng trưng bày có diện tích tương đối nhỏ cỡ ~50 m2 rất phù hợp với hệ thống định vị bằng sóng siêu âm với độ chính xác cao. Sàn phòng trưng bày là thảm với độ ma sát cao, phù hợp với hệ thống di chuyển của robot làm giảm thiểu tương đối độ trơn trượt cũng như rung lắc trong quá trình di chuyển. Các vật cản trong phòng trưng bày đủ cao để có trong tầm nhìn của robot tránh các điểm mù có thể dẫn đến va chạm trong quá trình hoạt động. Phòng trưng bày là địa điểm mục tiêu của robot cũng là địa điểm lý tưởng để thử nghiệm hệ thống định vị và dẫn đường.

Hình 4.1 Bản đồ được xây dựng

Kết quả thu được ở hình 4.1 là bản đồ của phòng truyền thống sử dụng phương pháp định vị trong nhà với các vị trí beacons được gắn trên bản đồ. Bản đồ sau khi được xây dựng sẽ tích hợp thêm Costmap 2D. Costmap 2D là một dạng bản đồ 2D hoặc 3D của phần không gian bị ngăn trở bởi vật cản hoặc tường ngoài môi trường và lan rộng nó ra trong bản đồ dựa trên bản đồ dạng lưới và độ rộng của vùng lan. Những phần lan ra là những phần không thể di chuyển vào để đảm bảo robot không xảy ra sự cố khi đến quá gần vật cản hay tường. Vùng được tô màu đen đậm tượng trưng cho vật cản hay tường của bản đồ costmap, phần xám đậm bao quanh vùng đen tượng trưng cho sự lan ra của vật cản hay tường, độ rộng của nó phụ thuộc vào bán kính của robot, còn đường đa giác màu xanh lá thể hiện cho đường bao quanh robot hay dấu chân của robot. Để robot tránh va chạm, dấu chân của robot không được để tiếp xúc với vùng màu đen, và tâm của robot không được tiếp xúc với vùng màu xám.

Hình 4.2 Bản đồ qua gói phân tích Costmap2D 4.2. Khảo sát độ chính xác hệ thống định vị

Hệ thống định vị cho robot sử dụng 6 beacon cố định màu xanh lá được treo trên trần nhà của phòng truyền trưng bày giúp sự truyền nhận sóng siêu âm giữa các thiết bị không bị cản trở. Thiết bị di động màu xanh dương được đặt trên thân robot và cung cấp thông tin về vị trí của robot trong phòng trưng bày. Bản đồ thu được giống với sơ đồ thực tế của phòng truyền thống. Biều đồ 1 và 2 biểu diễn dữ liệu của hệ thống định vị theo 2 trục X,Y theo thời gian khi cho robot đứng yên tại một vị trí.

Hình 4.4 Dữ liệu tọa độ theo trục Y

Kết quả cho thấy tại một số thời điểm, tín hiệu tọa độ trả về bị dao động trong khi thiết bị không di chuyển một khoảng trên dưới 20 cm. Tuy sự dao động này theo thời gian và so với tổng số lượng mẫu dữ liệu là không nhiều, tuy nhiên trong trường hợp di chuyển, những sự dao động bất thường này có thể dẫn tới hiện tượng robot di chuyển không ổn định, đôi khi có quá nhiều vật cản xung quanh có thể dẫn tới va chạm nguy hiểm. Đó là sự cần thiết của bộ lọc Kalman.

Tọa độ gốc từ thiết bị IPS sau đó được đưa qua bộ lọc Kalman mở rộng, kết hợp với các cảm biến cho ta được kết qua tốt hơn. Hình 4.5 và hình 4.6 biểu diễn kết quả của giá trị tọa độ sau khi sử dụng bộ lọc EKF.

Hình 4.6 Kết quả phóng to tọa độ của robot qua bộ lọc Kalman Filter

Dữ liệu định vị, sau khi qua bộ lọc Kalman mở rộng đã cho những kết quả tốt. Đường màu đỏ trong biểu đồ trên là dữ liệu tọa độ gốc trả về từ IPS, còn đường màu xanh là dữ liệu sau khi đã được lọc Kalman. Trong quá trình di chuyển, hệ định vị xuất hiện những gai nhọn, đó là nhiễu có thể dẫn tới hiện tượng di chuyển không ổn định. Bộ lọc Kalman đã làm phẳng đi những gai này, khiến robot chuyển động mượt mà hơn mà không ảnh hưởng tới độ chính xác của hệ định vị.

4.3. Khảo sát hệ lập kế hoạch đường đi cho robot

Sau khi có đầy đủ dữ liệu về bản đồ và định vị, khối lập kế hoạch đường đi cho robot có thể sẵn sàng tạo đường đi khi có bất cứ yêu cầu di chuyển tới đích từ phía người dùng. Hình 4.7 thể hiện đường đi màu đỏ chính là đường được tạo ra cho robot, bằng việc cung cấp tọa độ hiện tại của robot, tọa độ điểm đích và dữ liệu cảm biến, thuật toán sẽ tạo ra đường đi bằng tổ hợp n điểm tọa độ sát nhau tạo thành một đường gần như nối liền. Người dùng có thể dễ dàng truy cập đến từng phần tử trong mảng tọa độ của đường đi, từ đó điều khiển robot bám theo đường đã tạo và đi đến đích. Tốc độ tạo ra đường

Một phần của tài liệu Nghiên cứu phát triển hệ thống định vị và dẫn đường cho robot hoạt động ở môi trường trong nhà (Trang 31)

Tải bản đầy đủ (PDF)

(50 trang)