Hệ thống này kết hợp giữa cơ cấu cơ học tinh tế, động cơ servo thông minh và phần mềm điều khiển mạnh mẽ, tạo nên một nền tảng lý tưởng cho việc nghiên cứu, phát triển và ứng dụng trong
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CƠ KHÍ
BÁO CÁO THỰC HÀNH
DỰNG CHU TRÌNH ĐIỀU KHIỂN CHO MÔ HÌNH ROBOT OPENMANIPULATOR-X TRÊN NỀN TẢNG
ROS.
Họ và tên SV: Trần Tuấn Anh 2022604372 Nguyễn Văn Bảo 2021605691 Lớp: ME6132.1
GVHD: Bùi Huy Anh
Trang 2HÀ NỘI,2024
Trang 3PHIẾU HỌC TẬP
I THÔNG TIN CHUNG
Tên lớp: ME6132.1 Khóa: K17
Tên nhóm: Nhóm 12
Họ và tên thành viên:
1 Vương Đình Hiệu-2022605811
2 Vũ Bùi Nhật Linh-2022606655
3 Nguyễn Văn Long-2022603140
II NỘI DUNG HỌC TẬP
1 Tên chủ đề: Nghiên cứu, thiết kế mô hình và xây dựng chu trình điều
khiển cho mô hình robot OpenMANIPULATOR-X trên nền tảng ROS.
Minh họa mô hình Robot OpenMANIPULATOR-X
Trang 42 Hoạt động của sinh viên
- Nội dung 1: Mục tiêu/chuẩn đầu ra: L1
Xây dựng cơ sở lý thuyết và mô hình hóa hệ thống robot.
Nghiên cứu cơ sở lý thuyết thuộc tính chuyển động, quỹ đạo chuyển động cho mô hình robot
- Nội dung 2: Mục tiêu/chuẩn đầu ra: L2
Nghiên cứu, thiết kế môi trường mô phỏng cho mô hình robot.
Thiết lập mô hình robot trên môi trường mô phỏng.
Nghiên cứu, xây dựng bộ điều khiển PID cho mô hình robot.
Thiết lập quỹ đạo chuyển động gắp vật thể cho mô hình robot.
3 Sản phẩm nghiên cứu: Bài thu hoạch và các chương trình mô phỏng
Trang 5MỤC LỤC
LỜI NÓI ĐẦU 5
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VÀ MÔ HÌNH HÓA HỆ THỐNG ROBOT 6
1 1 Giới thiệu về OpenMANIPULATOR-X 6
1.2 Cấu trúc cơ học 7
1.3 Cơ chế cánh tay robot 7
CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT VỀ MÔ HÌNH ROBOT 8
2.1 Mô hình hóa hệ thống robot và lập phương trình động lực học cho robot OpenManipulator-X 8
2.2 Các thuộc tính chuyển động 12
2.3 Quỹ đạo chuyển động 12
CHƯƠNG 3 - TÍNH TOÁN, THIẾT KẾ MÔ HÌNH ROBOT TRÊN ROS VÀ MÔI TRƯỜNG MÔ PHỎNG 13
3.1 Nghiên cứu, thiết kế môi trường mô phỏng cho mô hình robot 13
3.2 Thiết lập mô hình robot trên môi trường mô phỏng 13
3.3 NGHIÊN CỨU, XÂY DỰNG BỘ ĐIỀU KHIỂN PID CHO MÔ HÌNH ROBOT 16
3.4 Thiết lập quỹ đạo chuyển động gắp vật thể cho mô hình robot 17
CHƯƠNG 4 - MÔ PHỎNG THỬ NGHIỆM VÀ KẾT QUẢ 17
Trang 6LỜI NÓI ĐẦU
Robot học là một trong những lĩnh vực công nghệ phát triển nhanh chóng và có ảnh hưởng sâu rộng đến nhiều khía cạnh của cuộc sốngcon người Từ các ứng dụng công nghiệp tự động hóa đến các dịch
vụ chăm sóc sức khỏe và nghiên cứu khoa học, robot đang ngày càng trở thành một phần không thể thiếu của xã hội hiện đại Trongbối cảnh đó, việc nghiên cứu và phát triển các hệ thống robot mở,
dễ tiếp cận và linh hoạt là điều vô cùng quan trọng
OpenMANIPULATOR-X, một sản phẩm của công ty ROBOTIS, là một ví dụ điển hình của một hệ thống robot tay máy hiện đại Với thiết kế mở và các tính năng đa dạng, OpenMANIPULATOR-X
không chỉ đáp ứng nhu cầu của các nhà nghiên cứu và kỹ sư mà còn
là một công cụ giáo dục tuyệt vời cho những người mới bắt đầu học tập và tìm hiểu về robot học Hệ thống này kết hợp giữa cơ cấu cơ học tinh tế, động cơ servo thông minh và phần mềm điều khiển mạnh mẽ, tạo nên một nền tảng lý tưởng cho việc nghiên cứu, phát triển và ứng dụng trong nhiều lĩnh vực
Bài báo cáo này nhằm trình bày một cách chi tiết về cơ sở lý thuyết của OpenMANIPULATOR-X, bao gồm các khía cạnh cơ học, hệ
thống điều khiển và phần mềm lập trình Thông qua đó, chúng tôi
hy vọng sẽ cung cấp cho độc giả một cái nhìn tổng quan và sâu sắc
về hệ thống robot này, cũng như tiềm năng ứng dụng của nó trong thực tiễn
Hy vọng rằng, bài báo cáo này sẽ là một tài liệu tham khảo hữu ích cho những ai quan tâm đến lĩnh vực robot học và các ứng dụng của OpenMANIPULATOR-X
Trang 7CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VÀ MÔ HÌNH HÓA HỆ THỐNG ROBOT
1 1 Giới thiệu về OpenMANIPULATOR-X
OpenMANIPULATOR-X là một hệ thống robot tay máy (robot
manipulator) do công ty ROBOTIS phát triển Hệ thống này được thiết kế với tính mở, linh hoạt và dễ sử dụng, phù hợp cho nghiên cứu, giáo dục và phát triển ứng dụng trong các lĩnh vực robot học OpenMANIPULATOR-X bao gồm các thành phần chính như khung robot, các động cơ servo thông minh (DYNAMIXEL), và phần mềm điều khiển
Hình 1 Robot OpenManipulator-X
Trang 81.2 Cấu trúc cơ học
1.2.1 Cấu trúc và thông số kỹ thuật
OpenMANIPULATOR-X có cấu trúc cơ học dạng cánh tay robot với
5 bậc tự do (DOF - Degree of Freedom) Các bậc tự do này cho phépcánh tay thực hiện các chuyển động trong không gian ba chiều Mỗikhớp của robot được điều khiển bởi một động cơ servo
DYNAMIXEL, cho phép kiểm soát chính xác vị trí và tốc độ
Trang 91.3 Cơ chế cánh tay robot
Một cánh tay robot có thể có cấu hình nối tiếp với cấu trúc mạch hởhoặc cấu hình song song với cấu trúc mạch kín Loại khớp cho cánh tay robot công nghiệp có thể là khớp quay hoặc khớp tịnh tiến, và loại liên kết có thể là cứng hoặc linh hoạt Hơn nữa, một cấu trúc laibao gồm cả chuỗi cơ học mạch hở và mạch kín cũng có thể
Cánh tay robot nối tiếp được đặc trưng bởi khớp đầu tiên luôn bắt đầu từ đế cố định và cuối chuỗi thì tự do di chuyển trong không gian Nhiều cấu hình khác nhau của cánh tay robot có thể được hình thành do các khớp quay và khớp tịnh tiến, và trục của hai khớpliền kề có thể song song hoặc vuông góc Các khớp vuông góc giao nhau tạo với nhau một góc 90° so với đường pháp tuyến chung của chúng, và có thể song song khi một trục quay 90°
Ngoài ra, số bậc tự do (DoF) có thể được định nghĩa là chuyển độngđặc biệt của các liên kết liên quan đến bất kỳ cơ chế hoặc máy móc nào Khi thực hiện một nhiệm vụ cụ thể, số bậc tự do thường đóng vai trò quan trọng Tổng số bậc tự do luôn bằng với số dịch chuyển độc lập của các liên kết
CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT VỀ MÔ HÌNH ROBOT
2.1 Mô hình hóa hệ thống robot và lập phương trình động lực học cho robot OpenManipulator-X
2.1.1 Phân tích động học thuận và nghịch
Hình 3 thể hiện sơ đồ phân tích động học thuận và nghịch Mô hình động học thuận được thực hiện bằng phương pháp quy ước Denavit-Hartenberg (DH) Đối với mô hình động học nghịch đảo, phương pháp giải dạng đóng được sử dụng để thu được tất cả các tập hợp giải pháp có thể Tiếp theo, phân tích tương quan giữa động học thuận và động học nghịch đảo được thực hiện để xác định xem liệu
có bất kỳ mối quan hệ nào giữa cả hai mô hình động học hay không.Cuối cùng, việc đánh giá hiệu suất được thực hiện bằng thuật toán lập kế hoạch quỹ đạo và theo dõi điểm tham chiếu trong ROS
Trang 10ĐÁNH GIÁ HIỆU SUẤT
LẬP KẾ HOẠCH QUỸ ĐẠO CHUYỂN ĐỘNG VÀ THEO DÕI ĐIỂM THAM CHIẾU TRONG HỆ ĐIỀU HÀNH ROBOT TRÊN ROS
Trang 11Hình 3 Sơ đồ mô hình hóa động học robot
KẾT THÚC
Trang 122.1.2 Quy ước Denavit-Hartenberg (D-H)
Đối với robot nối tiếp (chuỗi hở), các khâu được liên kết với nhau thông qua các khớp động (quay/tịnh tiến) Nếu mỗi khâu gắn với một hệ trục tọa độ, 2 khâu liên tiếp được thể hiện qua ma trận thuần nhất T Để xây dựng được phương trình động học cho robot ,
Trục Z i hướng dọc theo khớp động thứ i+1
Trục x i là đường vuông góc chung giữa trục Z i−1 và Z i chiều
Trang 13Hình 5 cho thấy các tham số liên kết là α i, a i và độ lệch khớp ( d i)
được cố định để cung cấp cấu hình thao tác Cấu hình này đạt được một tư thế cụ thể nhờ vào tham số θ i, tư thế của mọi cấu hình hoặc
hiệu ứng tác động cuối có thể được thay đổi nếu giá trị của θ i thay
đổi
Hình 5 Các thông số định nghĩa của cánh tay robot
Khi khung liên kết đã được thiết lập, vị trí và hướng của khâu i liên quan đến khâu i-1 được xác định hoàn toàn bằng bốn tham số, được gọi là tham số DH Các thông số được lấy như sau:
1) d i: là khoảng tịnh tiến dọc theo trục Z i−1 để x i−1 trùng với x i
2) θ i: là góc quay quanh Z i−1 để x i−1 cùng phương với x i
Trang 14Ký hiệu: c, s lần lượt là cos và sin
Vị trí: Là tọa độ của đầu cuối hoặc các khớp trong không gian
ba chiều Vị trí có thể được xác định bằng các phương trình động học thuận
Vận tốc: Là tốc độ thay đổi vị trí theo thời gian Vận tốc của các khớp và đầu cuối có thể được tính toán từ các đạo hàm của phương trình động học
Gia tốc: Là tốc độ thay đổi vận tốc theo thời gian Gia tốc giúp phân tích lực và mô-men tác động lên các khớp trong quá trình chuyển động
Động lực học: Bao gồm lực, mô-men và các ảnh hưởng khác tác động lên robot Phân tích động lực học giúp xác định các yêu cầu lực và mô-men cần thiết để thực hiện các chuyển động mong muốn
Vị trí của điểm tác động cuối và ma trận quay của robot
OpenManipulator-X được xác định như sau:
Trang 152.3 Quỹ đạo chuyển động
Quỹ đạo chuyển động là đường đi mà đầu cuối của robot thực hiện trong không gian ba chiều Việc lập kế hoạch quỹ đạo là quá trình xác định các vị trí, vận tốc và gia tốc mong muốn của đầu cuối theo thời gian để đạt được mục tiêu chuyển động một cách hiệu quả và chính xác
Lập kế hoạch quỹ đạo: Là quá trình xác định đường đi và các thông
số chuyển động của robot để hoàn thành nhiệm vụ cụ thể Quá trình này bao gồm các bước xác định vị trí đầu cuối, tính toán quỹ đạo và điều khiển các khớp để thực hiện quỹ đạo đó
Tối ưu hóa quỹ đạo: Là quá trình cải thiện quỹ đạo để đạt được các mục tiêu như giảm thời gian di chuyển, tiết kiệm năng lượng hoặc tránh va chạm Các thuật toán tối ưu hóa như lập trình tuyến tính, lập trình phi tuyến và các phương pháp heuristic có thể được áp dụng để tối ưu hóa quỹ đạo chuyển động
CHƯƠNG 3 - TÍNH TOÁN, THIẾT KẾ MÔ HÌNH ROBOT TRÊN ROS VÀ MÔI TRƯỜNG MÔ PHỎNG
3.1 Nghiên cứu, thiết kế môi trường mô phỏng cho mô hình robot.
Môi trường mô phỏng được xây dựng trên nền tảng Gazebo và ROS.Môi trường mô phỏng bao gồm các thành phần chính sau:
Mặt sàn: Mô hình mặt phẳng đại diện cho bề mặt làm việc
của robot
Robot: Sử dụng mô hình OpenMANIPULATOR-X với đầy đủ
bậc tự do và bộ gắp
Vật thể: Lựa chọn vật thể hình học đơn giản với kích thước,
trọng lượng cố định và màu sắc dễ phân biệt
Vị trí ban đầu: Robot và vật thể được đặt ở vị trí cố định
Trang 163.2 Thiết lập mô hình robot trên môi trường mô phỏng.
Bước 1: Cài đặt pacakges phụ thuộc:
Trang 17Bước 2: Tải xuống và xây dựng các gói OpenMANIPULATOR-X
$ cd ~/catkin_ws && catkin_make
Trang 18Các thư mục được tải xuống ở bước 2
Bước 3: Hiển thị ở GAZEBO
Đóng tất cả terminal đang chạy và nhập dòng command sau:
Trang 19điều khiển tự động PID được sử dụng rộng rãi trong điều khiển robot,bao gồm cả OpenMANIPULATOR-X, nhờ vào tính đơn giản và hiệuquả của nó trong việc duy trì độ chính xác và ổn định của hệ thống.
3.3.1 Nguyên lý của điều khiển PID
Điều khiển PID dựa trên ba thành phần chính: tỷ lệ (P), tích phân (I)
và vi phân (D) Mỗi thành phần đóng vai trò riêng trong việc điềuchỉnh đầu ra của hệ thống dựa trên sai số (error) giữa giá trị mongmuốn (setpoint) và giá trị thực tế
Thành phần tỷ lệ (P - Proportional):
Thành phần này tạo ra đầu ra tỷ lệ với sai số hiện tại Nếu sai sốlớn, đầu ra sẽ lớn và ngược lại Điều này giúp giảm sai số nhanhchóng nhưng có thể gây ra hiện tượng dao động nếu không đượcđiều chỉnh đúng cách
Pout = Kp e(t)Trong đó, Kp là hệ số tỷ lệ và e(t) là sai số tại thời điểm t
Thành phần này tạo ra đầu ra tỷ lệ với tốc độ thay đổi của sai số
Nó giúp giảm tốc độ thay đổi của đầu ra, làm hệ thống mượt mà hơn và giảm hiện tượng dao động
Trang 20U(t)= Pout+ Iout+ Dout= Kp e(t) +Ki ∫
0
t
e ( τ )dτ +Kd.de (t )
dt
3.3.2 Áp dụng PID trong OpenMANIPULATOR-X
Bước 1: Chuẩn bị GUI điều khiển và môi trường mô phỏng:
Chạy các câu lệnh sau:
Trang 21bộ điều khiển GUI điều khiển
Kiểm tra trạng thái của OpenMANIPULATOR-X.
Trang 22Điều chỉnh các khớp
Tạo quỹ đạo vẽ bằng OpenMANIPULATOR-X
Trang 23Bước 2: Để điều chỉnh khách quan thông số PID cho bộ điều khiển, chạy câu lệnh:
$ rqt và thêm plot để hiển thị biểu đồ và configuration để điều chỉnh các thông số PID cho bộ điều khiển
Bước 3: Hiệu chỉnh các thông số PID phù hợp:
Hiệu chỉnh cho joint1:
Hiệu chỉnh cho joint2:
Hiệu chỉnh cho joint3:
Trang 24Hiệu chỉnh cho joint4:
Hiệu chỉnh cho gripper:
Trang 253.4 Thiết lập quỹ đạo chuyển động gắp vật thể cho mô hình robot.
Để thiết lập quỹ đạo di chuyển cho robot, ta sử dụng các service có sẵn của openMANIPULATOR như:
/open_manipulator/goal_joint_space_path
/open_manipulator/goal_joint_space_path_to_kinematics_pose /open_manipulator/
goal_joint_space_path_to_kinematics_position
/open_manipulator/goal_joint_space_path_from_present:
Người dùng có thể sử dụng dịch vụ này để tạo quỹ đạo từ góc khớp hiện tại trong không gian khớp
Trang 26Người dùng nhập góc của khớp mục tiêu cần thay đổi và tổng thời gian của quỹ đạo.
CHƯƠNG 4 - MÔ PHỎNG THỬ NGHIỆM VÀ KẾT QUẢ