Khảo sát các thông số liên quan

Một phần của tài liệu nghiên cứu, thiết kế và chế tạo robot di động dẫn đường sử dụng giải thuật cây ngẫu nhiên (Trang 72)

2. 3 Phương pháp điều khiển tránh vật cản

2.6.6 Khảo sát các thông số liên quan

2.6.6.1 Góc quét <α - deg>

Quan sát sự ảnh hưởng của góc quét đến việc khám phá tự trị của robot

α Map T (s)

150 221

120 239

90 267

60 309

Từ bảng trên có thể thấy rằng:

Đối với các trường hợp góc quét từ 150-180deg, quá trình lập bản đồ là ổn định. Do yếu tố không xác định của bản đồ nên trên bản đồ có các cạnh nhỏ và hẹp, dẫn đến khi rô bốt sử dụng góc quét tia laze nhỏ sẽ xảy ra hiện tượng các lớp lưới bản đồ bị vỡ. Khi góc quét nhỏ hơn 150 độ (90 độ-120 độ), bản đồ có các lớp lưới bị hỏng. Đặc biệt là ở các góc quét nhỏ (60), bản đồ gần như bị vỡ.

2.6.6.2 Tốc độ tăng trưởng <eta>

Nghiên cứu này cũng tiến hành khảo sát thời gian quét bản đồ dựa trên sự thay đổi của tốc độ sinh trưởng của cây (eta)

Tham số (Eta) xác định tốc độ tăng trưởng của RRT được sử dụng để tìm kiếm các điểm trong vùng biên giới. Khi tăng lên, cây sẽ phát triển nhanh hơn, dẫn đến việc tìm kiếm các điểm ranh giới nhanh hơn. Tuy nhiên, do tốc độ phát triển nhanh nên sẽ có các đỉnh và các cạnh của vật thể bị bỏ sót, dẫn đến việc robot phải quay lại các vị trí đó từ đó làm tăng thời gian quét. Do đó, thông số này cần được điều chỉnh theo địa hình và kích thước của bản đồ.

Với giá trị mặc định ban đầu eta của local và global đều là 10. Tiến hành thay đổi lần lượt 2 loại và xem sự ảnh hưởng của tốc độ tăng trưởng đến thời gian quét

Dưới đây là sự ảnh hưởng của tốc độ tăng trưởng cây của rrt_local

Hình 2.48 Biểu đồ thay đổi eta cục bộ

Với sự thay đổi của rrt_local thì việc tìm ra những điểm biên khi khu vực không xác định và gần robot nhanh hơn tuy nhiên còn phụ thuộc vào địa hình, việc tìm điểm biên quá nhanh có thể dẫn đến tình trạng đi quay trở lại của robot. Vậy nên với một khu vực ít vật cản dạng góc cạnh thì nên để cây cục bộ tăng trưởng nhanh

Hình 2.49 Biểu đồ thay đổi eta toàn cục

Tương tự với cây cục bộ tuy nhiên sự thay đổi của rrt_global lại phù hợp với những góc cạnh còn thiếu sót khi những điểm biên được quét bởi rrt_local. Vì vậy mà rrt_global phù hợp với môi trường nhiều góc cạnh hay vật cản vì cây có xu hướng tăng trưởng rộng nhưng chậm hơn.

CHƯƠNG 3: TÍNH TOÁN, THIẾT KẾ ROBOT 3.1 Tính toán, thiết kế hệ thống cơ khí

Robot di động hiện nay được dùng nhiều trong các viện nghiên cứu, các trường học để phục vụ mục đích điều khiển mô phỏng, nhằm nâng cao cải thiện quá trình làm việc của robot trong công việc… Ở đây, nhóm đồ án sử dụng một mô hình robot di động sử dụng hai bánh chủ động và hai bánh tự lựa nhằm phục vụ trong môi trường công nghiệp, nhà xưởng,... Và để có thể mô phỏng, bám sát với quá trình thực tiễn thì hệ thống cơ khí của xe đóng vai trò rất quan trọng.

3.1.1 Tính toán lựa chọn cơ cấu truyền động

Bánh xe dẫn động:

Bánh chủ động được thiết kế với lớp cao su bọc bên ngoài, có tạo gân bề mặt bánh đảm bảo ma sát giữa bánh xe và mặt sàn, đường kính bánh xe 100mm.

Hình 3.1 Bánh xe dẫn động

Bánh xe tự lựa

Hai bánh bị động sử dụng loại bánh tự lựa bọc lớp cao su đảm bảo ma sát với mặt sàn làm việc. Bánh xe có đường kính 50mm.

Tính toán lựa chọn công suất động cơ

Một số thông số quan trọng để lựa chọn động cơ là mô-men xoắn và RPM(số vòng quay mỗi phút). Giả thiết bỏ qua sự biến dạng của bánh xe và lực cản của không khí trong quá trình di chuyển.

Các thông số của robot là:

 Khối lượng robot ước tính: 10 kg

 Khối lượng hàng tối đa: 10 kg

 Đường kính bánh xe: 100 mm

Tốc độ tối đa của xe: 0.7 m/s. Sử dụng phương trình sau, chúng ta có thể tính toán RPM của động cơ:

RPM = (60 * Tốc độ) / (3,14 * Đường kính bánh xe) => RPM = (60 * 0,7) / (3,14 * 0,1) = 134 RPM (v/p)

RPM được tính toán với bánh xe đường kính 10 cm và tốc độ 0,7 m/s là 134 RPM. Động cơ DC là một cơ cấu chấp hành, biến năng lượng điện thành các chuyển động cơ học vì thế nhóm chọn:

Động cơ DC Servo 14000 (rpm) 13 Pulse Gearbox Ratio 71.2

Hình 3.3 Động cơ dẫn động cho robot

 Động cơ SERVO DC 24V, 90W  Tốc độ 14.000 rpm

 Encoder Hall 13 xung 2 pha A B.

 Bộ giảm tốc Planet bánh răng thép, hệ số giảm tốc 71.2, chiều dài L = 56 mm  Tốc độ sau bộ giảm tốc 195 vòng/phút

 Mô men xoắn 360 kgf.cm  Trọng lượng 900 g.

Vi điều khiển

Arduino là một bo mạch vi điều khiển được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau. Nó có thể thực hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác. Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim900A,.. để tăng khả ứng dụng của mạch. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,…

Nhóm quyết định sử dụng Arduino Mega2560 R3 để lập trình cho robot vì đây là một bo mạch được tích hợp nhiều tính năng nổi bật. Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB. Ngoài ra, Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượng chân và nhiều tính năng mạnh mẽ hơn.

Hình 3.4 Vi điều khiển Arduino Mega 2560 R3

 IC nạp và giao tiếp UART: ATmega16U2.

 Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn DC (nếu sử dụng nguồn ngoài từ giắc tròn DC Hshop.vn khuyên bạn nên cấp nguồn từ 6~9VDC để đảm bảo mạch hoạt động tốt, nếu bạn cắm 12VDC thì IC ổn áp rất nóng, dễ cháy và gây hư hỏng mạch).

 Số chân Digital I/O: 54 (trong đó 15 chân có khả năng xuất xung PWM)  Số chân Analog Input: 16

Driver điều khiển động cơ

Nhóm đồ án chọn mạch Driver Smart PID công suất 500W có thông số như sau: - Điện áp hoạt động: 22-26 (VDC);

- Dòng điện liên tục: 3,75 (A);

- Điện áp tín hiệu điều khiển: 3,3 (VDC); - Tần số PWM tối đa: 100 (KHz);

- Có bảo vệ quá nhiệt.

Trên mạch công suất có tích hợp sẵn vi xử lý với thuật toán PID thông minh. Bằng cách nhập thông số động cơ vào phần mềm đi kèm theo, driver sẽ tự động tính toán các hệ số PID để điều khiển tốc độ động cơ theo tín hiệu từ khối điều khiển trung tâm gửi xuống. Việc sử dụng bộ driver này sẽ giúp khối điều khiển trung tâm tăng tốc độ xử lý các tác vụ khác.

Driver được trang bị bộ vi xử lý ARM hiện địa nhất nên cung chấp nhiều chức năng cao cấp như sau: Chạy PID vị trí theo chuẩn 1 xung và 1 hướng hỗ trợ tần số lên tới 10MHz, ứng dụng làm máy CNC, với các thông số Kp, Kd, Ki điều chỉnh được bằng giao diện máy tính; chạy PID vị trí theo chuẩn xung encoder A B hỗ trợ tần số lên tới 1039 MHz, ứng dụng làm cánh tay máy, với các thông số Kp, Kd, Ki điều chỉnh được bằng giao diện máy tính; Có chức năng thông minh là chỉ cần nhập thông số tốc độ lớn nhất của động cơ tính theo vòng/phút và xung encoder quay được 1 vòng thì bộ điều khiển sẽ sự tính toán ra hết các hệ số Kp, Kd, Ki; Hỗ trợ chạy động cơ lên tới 20000 vòng/phút và encoder 20000 xung/vòng.

Hình 3.5 Bộ điều khiển động cơ DC thông minh DRIVER PID SMART MOTOR DC

Driver được trang bị bộ vi xử lý ARM hiện đại nhất nên cung cấp nhiều chức năng cao cấp như sau:

 Chạy động cơ công suất lớn tới 700W, điện áp điều khiển 24vDC  Giao tiếp máy tính qua cổng com uart.

 Đèn led báo trạng thái hoạt động.

 Chạy PID vị trí theo chuẩn xung encoder AB hỗ trợ tần số lên tới 10mhz, ứng dụng làm cánh tay máy , với các thông sô Kp Kd Ki điều chỉnh được bằng giao diện máy tính.

Cảm biến RPLIDAR A1 360° Laser Range Scanner

Cảm biến khoảng cách Lidar RPLIDAR A1 360° Laser Range Scanner được sản xuất bởi hãng SLAMTEC được sử dụng cho các ứng dụng phát hiện vật cản, lập bản đồ bằng tia Laser trong xe, robot tự hành, hệ thống chống trộm, ..., cảm biến có độ ổn định và độ chính xác cao.

Cảm biến khoảng cách Lidar RPLIDAR A1 360° Laser Range Scanner sử dụng giao tiếp UART nên có thể dễ dàng giao tiếp với Vi điều khiển, Máy tính nhúng hoặc kết nối máy tính qua mạch chuyển USB-UART và phần mềm đi kèm, cảm biến có khả năng quét xa với khoảng cách lên đến 12m, tần số tối đa 10Hz với 8000 samples per time, phù hợp cho vô số các ứng dụng khác nhau.

Hình 3.6 Cảm biến RPLIDAR A1 360° Laser Range Scanner

Thông số kỹ thuật:  Điện áp sử dụng: 5 VDC  Chuẩn giao tiếp: UART

 Phương pháp phát hiện vật cản: Laser  Khoảng cách phát hiện vật cản tối đa: 12m  Góc quay: 360°

 Tốc độ lấy mẫu tối đa: 8000 Samples per time.  Tần số quét tối đa: 10Hz

 Kích thước: 71 x 97mm

La bàn số

 Xác định góc xoay quanh trục X, Y, Z, chuẩn hóa dữ liệu dưới dạng độ  Đáp ứng góc ổn định

 Độ chính xác lên tới 0,1 độ  Chống trôi góc

 Xử lý drift khi quay

 Lấy mẫu môi trường xung quanh

Thông số kĩ thuật:  Nguồn nuôi: 5V – 7V  CPU: STM32F103C8T6  Module tích hợp: MPU6050

 Chuẩn giao tiếp: UART – Baudrate 115200

3.1.2 Tính toán thiết kế thân robot

Yêu cầu thiết kế

Thiết kế nhằm phục vụ môi trường trong nhà như công nghiệp, nhà xưởng,… vì vậy thiết kế phải đáp ứng được nhu cầu an toàn và đảm bảo được năng suất hoạt động, những yêu cầu thiết kế cần thiết cho robot

Thiết kế yêu cầu đơn giản, dễ dàng tháo lắp khi có sự cố xảy ra và bảo trì. Cơ cấu hoạt động của xe cần duy trì ổn định, di chuyển an toàn tránh xảy ra hàng hóa bị rơi, đổ trong quá trình chuyển động. Có khả năng chịu tải trọng có thể mang khối lượng hàng yêu cầu. Thiết kế yêu cầu phù hợp với môi trường hoạt động của robot.

Dựa trên các yêu cầu cơ khí, thiết kế bám sát với các yêu cầu công việc, nhóm đồ án đưa ra thông số như sau:

Hình 3.9 Thiết kế bánh xe dẫn động và tự lựa

3.2 Tính toán, thiết kế hệ thống điều khiển 3.2.1 Mô tả hệ thống điều khiển 3.2.1 Mô tả hệ thống điều khiển

Robot di động thường bao gồm các khối cơ bản sau: khối nguồn, khối cảm biến, khối điều khiển trung tâm, khối điều khiển động cơ và cơ cấu chấp hành. Các khối này được minh họa bằng sơ đồ khối như hình sau:

Hình 3.11 Sơ đồ khối kết nối của Robot di động

Tín hiệu từ cảm biến được đưa vào khối điều khiển trung tâm qua các cổng và phương thức giao tiếp. Dựa vào tín hiệu từ khối cảm biến, khối điều khiển trung tâm sẽ tính toán để xác định trạng thái của robot đang di chuyển. Từ đó khối điều khiển trung tâm sẽ điều khiển các động cơ thông qua mạch công suất điều khiển động cơ. Việc này sẽ giúp robot di động có thể tự di chuyển

Mô hình robot thí nghiệm của nhóm đồ án được thiết kế dưới dạng hai bánh vi sai gồm hai bánh chủ động và hai bánh tự lựa, có trang bị những cảm biến laser, la bàn số để tích hợp và thử nghiệm. Bộ điều khiển trung tâm sử dụng máy tính laptop có chức năng xử lí các thông tin và được lập trình trên hệ điều hành ROS để đánh giá và thu thập dữ liệu thí nghiệm. Vi điều khiển Arduino Mega có chức năng kết nối với các thiết bị ngoại vi: La bàn số (IMU), Driver Smart PID,…La bàn số được đặt tại tâm của robot nhằm đo góc quay và vận tốc góc xoay khi robot di chuyển. Vi điều khiển giao tiếp với máy tính laptop qua giao thức UART để tiếp nhận dữ liệu từ các cảm biến. Cảm biến RPLIDAR A1 360° Laser Range Scanner được đặt trước robot đảm bảo được vùng quét không bị che khuất và thu thập dữ liệu từ môi trường ổn định. Dựa vào các tín

hiệu từ các cảm biến khối điều khiển trung tâm sẽ điều khiển các động cơ thông qua mạch công suất điều khiển động cơ (Driver Smart PID). Từ đó khối điều khiển trung tâm sẽ tính toán để xác định trạng thái và điều khiển robot di chuyển theo các bài toán. Những cảm biến trên giúp cho hệ thống định vị ổn định.

3.2.2 Thiết kế, lựa chọn hệ thống mạch điện

Hình 3.12 Sơ đồ hệ thống mạch điện

3.3 Chế tạo và thử nghiệm robot 3.3.1 Kết nối wifi hoặc dây 3.3.1 Kết nối wifi hoặc dây

Kết nối Wifi

Để kết nối wifi thì sẽ cần thêm Raspberry. Để kết nối, có thể tham khảo tại đường dẫn sau : Connecting to wifi

Ưu điểm: Tiện lợi, dễ lắp đặt, thiết kế

Nhược điểm: Cần cài đặt thanh công kết nối Raspberry và máy, chi phí đắt

Kết nối dây

Đơn giản hơn với kết nối wifi thì chỉ kết nối có dây chỉ cần cắm trực tiếp vào máy tính thay vì sử dụng Raspberry.

Ưu điểm: Nhanh, dễ làm

Nhược điểm: Do kết nối có dây nên yêu cầu phải thiết kế robot phù hợp để có

thể đặt máy tính kết nối

3.3.2 Kết nối cảm biến RPLidar A1 3.3.2.1 RPLidar_ROS 3.3.2.1 RPLidar_ROS

Bài này sử dụng RP LiDAR A1 để thiết kế, bước đầu tiên là cài đặt các trình điều khiển cần thiết. Trình điều khiển là một gói ROS

Để tiện lợi trong việc cài đặt RPLiDAR package, bạn có thể lấy tệp RPLidar_Hector_SLAM. Trong tệp nguồn. Bên trong có chứa package rplindar_ros cần thiết để thực hiện bước này. [8]

Cho thư mục RPLidar_Hector_SLAM vào catkin_ws/src và biên dịch bằng catkin_make. Sau đó tiến hành làm như sau

Kiểm tra cổng kết nối với rplidar: $ ls -l /dev |grep ttyUSB

Thêm quyền truy cập. thường là dev/ttyUSB0 $ sudo chmod 666 /dev/ttyUSB0

Chạy nút rplidar và tiến hành quan sát trên Rviz <+chạy roscore> $ roslaunch rplidar_ros view_rplidar.launch

Hình 3.14 Dữ liệu nhận được từ laser trên Rviz

3.3.2.2 Hector_Slam

Vì tệp RPLidar_Hector_SLAM chứa cả package này và đã biên dịch từ lần bên trên.

Đối với việc tải package từ trên github cần phải làm như sau:

Sao chép kho lưu trữ GitHub vào không gian làm việc catkin/src và chạy: $ git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git

$ cd ..

$ catkin_make

$ source devel/setup.bash

Cần thực hiện một số sửa đổi đối với các tệp hướng dẫn Hector SLAM để chúng hoạt động. Đầu tiên chúng ta lưu ý đến các phép biến đổi có sẵn cho chúng ta về \tf chủ đề này và các hệ quy chiếu mà chúng sử dụng.

Quay lại với node rplidar đã cài ở trên, bật lên và mở một terminal mới chạy $ rostopic echo /tf

Ở đây chỉ có 2 khung là /base_footprint và /laser_frame. Tiến đến tệp

Catkin_ws/src/RPLidar_Hector_SLAM/hector_slam/hector_mapping/launch Mở mapping_default.launch và sửa như sau:

<arg name="base_frame" default="base_footprint"/> <arg name="odom_frame" default="nav"/>

Sửa thành

<arg name="base_frame" default="base_link"/> <arg name="odom_frame" default="base_link"/> Từ

<!--<node pkg="tf" type="static_transform_publisher"

Một phần của tài liệu nghiên cứu, thiết kế và chế tạo robot di động dẫn đường sử dụng giải thuật cây ngẫu nhiên (Trang 72)

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

(100 trang)