TỒNG QUAN
Đặt vấn đề
Cuộc thi Sáng tạo robot Châu Á Thái Bình Dương (The ABU Asia-Pacific
Cuộc thi Robot Contest là một thách thức khoa học, nơi áp dụng nghiên cứu tiên tiến để phát triển robot với các nhiệm vụ trong lĩnh vực tự động hóa, điện tử, xử lý hình ảnh và hệ thống cơ điện tử Trong cuộc thi này, tốc độ và độ chính xác của robot tự động rất quan trọng Bánh xe Mecanum hoặc Omni được coi là giải pháp tốt nhất cho việc di chuyển đa hướng của robot, mang lại sự đơn giản và linh hoạt Cấu trúc của bánh xe Omni và Mecanum được minh họa trong Hình 1.
Hình 1 Bánh xe đa hướng Mecanum Hình 2 Bánh xe đa hướng Omni
Bánh xe Omni được sử dụng để tạo ra hệ thống chuyển động độc lập, với mỗi bánh được điều khiển bởi một động cơ DC, cho phép điều khiển đồng thời chuyển động quay và tịnh tiến Ưu điểm của hệ thống bánh xe đa hướng bao gồm khả năng di chuyển và xoay cùng lúc, thiết kế đơn giản chỉ cần 3 bánh xe và 3 động cơ, cùng với việc tiêu thụ ít năng lượng hơn trên cùng một quãng đường Những yếu tố này thúc đẩy nghiên cứu về thuật toán điều khiển cho 3 bánh xe Omni trở nên cần thiết.
Các nghiên cứu về bánh xe đa hướng omni khác
Trong những năm gần đây, một số tác giả đã nghiên cứu tập trung vào Mecanum và bánh xe omni như trong bảng 1
Bảng 1 So sánh với những thuật toán khác trong điều khiển Omni và Mecanum
Thuật toán Loại bánh xe Phần cứng Mục tiêu điều khiển Số bánh Tài liệu tham khảo
Fuzzy-PI Omni On-board computer Directional 3 Hsuan-Ming Feng
Fuzzy-PI Omni MRL Robo Cup
Side-slip angle estimation method
Omni None Directional 4 Boyuan Li [3]
Mega2560 two-wheel- drive omni- directional
Terakawa[5] closed-loop control and dead- reckoning for navigation
Kinematic equation Mecanum none Directional 4 Shuai Guo [7]
Bánh xe Mecanum và Omni được điều khiển dựa trên phương trình chuyển động, với nhiều tác giả đã chứng minh tính chính xác của các phương trình này để điều khiển hướng của bánh xe Omni Bảng 2 trình bày các phương trình chuyển động cho bánh xe Omni 3 và 4.
Bảng 2 Phương trình chuyển động 3 và 4 bánh Omni
Type Motion equation Descriptions References
( ) u t is the continuous control input applied with the zero order
B v , B vn are viscous friction relative to v and v n
B , B vn viscous friction relative to and v n , , v vn
C C C Coulomb friction relative to v , v n and
I n is robot’s inertial momentum; is angle; M is robot’s mass; b is robot’s radius r is wheels radius; l is reduction; R a is armature resistances; k t torque constants
In robotics, the notation (q, q) represents the position of the vehicle's center, while q3 denotes the angle formed between the line connecting the robot's center to the first wheel's center and the horizontal axis Additionally, d signifies the distance from the robot's center to each wheel's center.
Trong nghiên cứu này ứng dụng thuật toán ……
Các nội dung nghiên cứu
Đề tài "Thiết kế và thi công thuật toán điều khiển 3 bánh xe đa hướng trên robot tự hành" nhằm xây dựng thuật toán điều khiển chính xác cho robot sử dụng 3 bánh xe omni, cho phép di chuyển theo góc, hướng và khoảng cách xác định Thuật toán PID được áp dụng để kiểm soát tốc độ từng bánh xe thông qua vi điều khiển ARM STM32F103, trong khi vi điều khiển ARM STM32F407 quản lý góc, hướng và khoảng cách di chuyển.
Chương 1: Tổng quan, các công trình nghiên cứu và bài báo khoa học có liên quan
Chương 2: Mô tả hệ thống
Chương 3: Xây dựng mô hình thuật toán điều khiển 3 bánh xe đa hướng
Chương 4: Sơ đồ thuật toán và phần cứng
Chương 5: Kết quả và thảo luận.
Mục tiêu của đề tài
Xây dựng robot tự hành sử dụng bộ truyền động với ba bánh xe omni, kết hợp cảm biến góc và cảm biến đo khoảng cách, tạo nền tảng cho việc phát triển thuật toán điều khiển hiệu quả.
- Điều khiển chính xác góc, hướng và khoảng cách di chuyển của Robot
- Xây dựng thuật toán… dựa trên vi điều khiển ARM STM32F407VET6
- Mục tiêu cuối cùng là xây dựng hoàn chỉnh tất cả thuật toán điều khiển thành
1 hàm điều khiển duy nhất nhằm hỗ trợ tốt nhất cho người lập trình điều khiển robot tự hành sử dụng 3 bánh xe Omni.
THIẾT KẾ PHẦN CỨNG MÔ HÌNH ROBOT BA BÁNH OMNI
Thiết kế hệ thống điện điều khiển
2.2.1 Mạch điều khiển chính – STM32F407 MCU
Hệ thống điện điều khiển hoạt động dựa trên bộ xử lý trung tâm MCU ARM STM32F407VET6, thuộc dòng ARM Cortex STM32F4, được thiết kế với kiến trúc chuẩn cho nhu cầu công nghệ đa dạng Dòng Cortex STM32F4 gồm ba phân nhánh chính: dòng A cho ứng dụng cao cấp, dòng R cho ứng dụng thời gian thực và dòng M cho ứng dụng vi điều khiển chi phí thấp STM32F4 dựa trên kiến trúc Cortex-M4, nổi bật với tiêu thụ năng lượng thấp Kiến trúc của STM32 - ARM Cortex-M4 bao gồm hệ thống ngắt, SysTick timer, hệ thống kiểm lỗi và memory map, với không gian địa chỉ 4Gbyte được chia thành các vùng cho mã chương trình, SRAM và ngoại vi Dòng Cortex cho phép truy cập dữ liệu không xếp hàng, giúp tối ưu hóa việc sử dụng SRAM nội Ngoài ra, tính năng bit banding cho phép truy cập hiệu quả đến các thanh ghi ngoại vi mà không cần bộ xử lý luận lý Thông tin chi tiết về chức năng của MCU có thể tham khảo trong bảng dữ liệu từ nhà sản xuất.
(Em nên viêt tiếng việt một số thông số chính)
Bang3xxx Thông số kỹ thuật của ARMF407 [??]
Hình x.x Thông tin cơ bản STM32F4-100-LQFP
Hình x.x Sơ đồ khối STM32F40xxx
Dựa trên nền tảng STM32F4, tác giả đã thiết kế một mạch chủ phù hợp với nhu cầu của đề tài và ứng dụng cho các robot hoặc hệ thống điều khiển tương tự Mạch được thiết kế bằng phần mềm Altium Designer, kèm theo hình ảnh 3D và ảnh thực tế của mạch chủ.
Hình x.x Sơ đồ mạch nguyên lý mạch chủ STM32F4 (Em nên tách từng khối ví dụ khối nguồn, khối cảm biến… )
Hình x.x Hình 3D mạch chủ STM32F4
Hình x.x Hình thực tế mạch chủ STM32F4
Mạch điều khiển PID đóng vai trò quan trọng trong việc điều khiển chính xác, hoạt động dựa trên thuật toán PID được lập trình trên MCU STM32F103C8T6 Mạch sử dụng 2 IC lái IR2184 để điều khiển 4 MOSFET công suất kênh N IRFS3207 với ID0A, nhằm phục vụ cho việc điều khiển chính xác các động cơ DC servo.
Điện áp ngõ vào: 15-30VDC
Dòng điện ngõ ra max: 110A
Ngõ vào Encoder: 5V, 100-1000 xung (ppr)
Tốc độ động cơ max: 3000 vòng/phút (rpm)
Thuật toán điều khiển: PID, cầu H và vị trí
Sử dụng vi điều khiển ARM STM32FF103C8T6
Tín hiệu điều khiển: PWM và UART
Có phần mềm thiết lập thông số cho driver thông qua giao tiếp với máy tình bằng chuẩn UART
Hình x.x Mạch 3D driver PID (a), Mạch driver PID thực tế (b)
Mạch driver được sử dụng để quản lý tốc độ động cơ, trong đó mạch chủ truyền vận tốc xuống từng mạch driver tương ứng Các driver này chỉ điều khiển tốc độ động cơ theo yêu cầu mà không có phản hồi về mạch điều khiển trung tâm.
2.2.4 Encoder Đề tài sử dụng encoder 500 xung trên 1 vòng và được gắn vào 1 bánh xe omni có đường kính 45mm Bánh omni gắn trên encoder được gắn lên 1 cơ cấu trượt có trục thẳng đứng vuông góc với mặt phẳng chạy để đảng báo lúc robot di chuyển bánh xe omni encoder sẽ luôn được tiếp xúc với mặt sàn đảm bảo việc đo khoản cách di chuyển là chính xác nhất Do robot 3 bánh di chuyển đa hướng nên tác giả phải chọn bánh xe encoder đo đường đi là bánh xe đa hướng và trên 1 robot sẽ có 2 encoder đo đường theo 2 phương x và y trên mặt phẳng di chuyển
Thông số kỹ thuật Giá trị
Trong nghiên cứu này, tác giả áp dụng IMU để đo giá trị góc quay của robot, từ đó phát triển thuật toán điều khiển cho ba bánh xe nhằm tính toán tốc độ từng bánh khi robot di chuyển IMU được xây dựng dựa trên cảm biến MPU6050, với một MCU thu thập thông số từ từng trục, sau đó sử dụng thuật toán lọc tín hiệu trước khi truyền về mạch chủ qua giao thức UART Mạch chủ chỉ cần nhận dữ liệu từ IMU để xác định xem robot có di chuyển đúng góc hay không Lưu ý rằng nghiên cứu này chỉ sử dụng thông số từ trục Z, không sử dụng thông số từ trục X và Y.
XÂY DỰNG MÔ HÌNH THUẬT TOÁN ĐIỀU KHIỂN BA BÁNH XE ĐA HƯỚNG
Xây dựng phương trình chuyển động
Các trình điều khiển đa hướng đã được xây dựng một cách sáng tạo nhưng dựa theo định luật chuyển động Newton [10] và phương trình chuyển động [11] như sau:
Trong đó z là vector trạng thái còn v là vận tốc điều khiển được viết lại như sau: x z y
Trong bài viết này, x, y và θ đại diện cho các chuyển vị tuyến tính và góc của robot, trong khi m là khối lượng của nó Tín hiệu vận tốc đầu vào cho động cơ dẫn động bánh xe thứ i được ký hiệu là vi Các hằng số đặc trưng của động cơ được ký hiệu là α và γ, và L là khoảng cách giữa các thành phần.
3.2 Xây dựng phương trình vận tốc đầu vào cho mỗi bánh xe Một trong những thông số quan trọng để phát triển thuật toán điều khiển 3 bánh xe đa hướng là tín hiệu điện áp đầu vào cho động cơ DC đang điều khiển bánh xe tương ứng, nó có thể được cung cấp bởi: 𝑉 1 = 𝜔 𝑑 sin (𝜃 𝑑 + 𝜋
Trong hệ thống điều khiển động cơ bánh đa hướng, V1, V2, V3 là các tín hiệu vận tốc đầu vào cho ba bánh xe, trong khi 𝜔 𝑑 đại diện cho vận tốc góc của bánh xe và 𝜔 𝜃 là góc quay của robot Góc của robot được ký hiệu là 𝜃 𝑑 Trong trường hợp này, giá trị của 𝜔 𝑑 được xác định trong khoảng từ -1 đến 1.
3.3 Phương trình góc quay của robot tự hành
Robot tự hành ban đầu có góc (α), hướng góc (δ) và góc phản hồi từ cảm biến la bàn (α cs) Khi robot di chuyển, góc lệch của nó được xác định là (β), với công thức tính là β = α cs - α.
Trong trường hợp 1, khi giá trị của = 0, robot tự hành sẽ tiếp tục di chuyển mà không cần thay đổi hướng Ngược lại, trong trường hợp 2, khi giá trị của khác 0, hệ thống cần điều chỉnh góc xoay theo phương trình a = - .
Bộ điều khiển vi tích phân tỷ lệ (PID) là một hệ thống phản hồi vòng điều khiển, liên tục tính toán giá trị lỗi e(t) từ sự khác biệt giữa điểm đặt mong muốn và biến quy trình đo Nó áp dụng hiệu chỉnh dựa trên ba thuật ngữ: tỷ lệ, tích phân và đạo hàm, với chức năng được biểu diễn bởi công thức: u(t) = k_p * e(t) + k_i * ∫e(t)dt + k_d * de(t)/dt, trong đó k_p, k_i, và k_d là các hệ số tương ứng cho từng thuật ngữ.
Thuật toán điều khiển cho robot tự hành với 3 bánh xe đa hướng được phát triển theo hình thức như Hình 2.x Ban đầu, góc và tốc độ của robot được thiết lập, sau đó hệ thống tính toán tốc độ đầu vào cho từng bánh xe dựa trên các phương trình (5), (6), (7) Nếu tốc độ hiện tại không khớp, hệ thống sẽ điều chỉnh tốc độ từng bánh xe cho đến khi đạt được tốc độ mong muốn Điều khiển đa hướng rất quan trọng vì nó ảnh hưởng đến góc di chuyển của robot Nếu góc hiện tại không khớp với góc thiết lập, hệ thống sẽ tính toán góc xoay dựa trên các phương trình (10), (11).
Set-up angular, speed Reset compass sensor
Current angular = angular set up
Calculate the rotation angular False
Hình 2 Sơ đồ thuật toán của ba bánh xe đa hướng []
Sơ đồ thuật toán
Robot di tự hành được thiết kế với góc điều chỉnh 30 độ và nhận 2000 xung phản hồi từ bộ encoder để di chuyển về phía trước và lùi lại Quá trình điều chỉnh góc mất 2 giây, trong khi việc chuyển từ 0 đến 2000rpm và lùi lại diễn ra đồng thời trong 6 giây Hình 4 minh họa thông số điều chỉnh tốc độ lái của từng bánh xe, trong đó bánh xe 0h điều chỉnh hướng với tốc độ thấp hơn so với bánh xe 4h và 8h Thời gian giảm tốc độ từ tối đa xuống 0 của mỗi bánh xe là 0,5 giây.
Desired position for forward directional
Desired position for backward directional
Hình 3 Điều chỉnh góc lái và vị trí của robot tự hành