Động học thuận:- Loại bỏ bậc tự do theo nhóm- Vẽ hình, lập bảng tham số, vẽ sơ đồ cây- Mô phỏng theo các tham số tiền định cho một số tư thế hợp lý II.2.. Động học ngược:Mô hình đầy đủ,
Trang 1TRƯỜNG CƠ KHÍ NCM CƠ ĐIỆN TỬ THÔNG MINH
BÀI KIỂM TRA GIỮA KỲ
Mã lớp: 139138
Nhóm: 12
Trang 2ĐỀ BÀI
I Tìm hiểu và trình bày về một robot dạng người (Xuất xứ, Thông số vật lý,
Tính năng/hạn chế, Minh họa)
II Mô phỏng dựa trên mô hình robot dạng người Hình 2.19
II.1 Động học thuận:
- Loại bỏ bậc tự do theo nhóm
- Vẽ hình, lập bảng tham số, vẽ sơ đồ cây
- Mô phỏng theo các tham số tiền định cho một số tư thế hợp lý
II.2 Động học ngược:
(Mô hình đầy đủ, tham số tiền định)
- Tạo tư thế mong muốn theo yêu cầu (đưa ra công thức cho tư thế đặc thù nếu có)
- Tính vận tốc khớp theo vận tốc bàn chân
- Tìm 1 tư thế kì dị
Trang 3CHƯƠNG 1 TÌM HIỂU VỀ ROBOT ATLAS 1
1.1 Xuất xứ 1
1.2 Thông số kĩ thuật 2
1.3 Tính năng và hạn chế 3
1.4 Minh họa 4
CHƯƠNG 2 MÔ PHỎNG DỰA TRÊN MÔ HÌNH ROBOT 5
2.1 Động học thuận 5
2.2 Động học ngược 9
2.2.1 Tạo tư thế mong muốn theo yêu cầu 9
2.2.2 Tư thế đặc thù 11
2.3 Tính vận tốc khớp theo vận tốc bàn chân 13
2.4 Tư thế kì dị 15
Trang 4CHƯƠNG 1 TÌM HIỂU VỀ ROBOT ATLAS
1.1 Xuất xứ
Tổng quan
Robot Atlas được phát triển bởi công ty robot học Boston Dynamics, một công ty nghiên cứu và phát triển robot có trụ sở tại Waltham, Massachusetts, Hoa Kỳ Boston Dynamics là một trong những công ty hàng đầu thế giới trong lĩnh vực robot học, và
đã sản xuất nhiều loại robot nổi tiếng như Spot, BigDog, và Atlas
Công ty được thành lập vào năm 1992, bởi nhóm các nhà khoa học tại Viện Công nghệ Massachusetts (MIT) với mục đích nghiên cứu và phát triển các loại robot có khả năng di chuyển và tương tác với môi trường xung quanh
Hình 1.1. Robot atlas Lịch sử phát triển
- Năm 2013: Phiên bản đầu tiên của Robot Atlas được giới thiệu bởi Boston Dynamics Đây là một robot di động có khả năng đi bộ trên hai chân, có khả năng vượt qua các chướng ngại vật, và thực hiện các động tác cơ bản
- Năm 2015: Robot Atlas được nâng cấp với khả năng tự cân bằng tốt hơn, cho phép thực hiện các động tác di chuyển phức tạp hơn và vượt qua các điều kiện địa hình khó khăn
- Năm 2016: Phiên bản cải tiến của Robot Atlas được trang bị thêm khả năng thực hiện những bước đi chính xác và linh hoạt hơn trên địa hình không đồng đều
- Năm 2017: Boston Dynamics giới thiệu phiên bản Robot Atlas có khả năng thực hiện các động tác nhảy, xoay người, và làm nhiều động tác linh hoạt khác, đánh dấu một bước tiến lớn trong khả năng vận động của robot
Trang 5- Năm 2018: Robot Atlas được cải tiến với khả năng tự điều chỉnh để đứng dậy sau khi ngã, giúp cải thiện tính ổn định và độ tin cậy của robot
- Năm 2020: Boston Dynamics giới thiệu phiên bản Robot Atlas có khả năng hoàn thành các nhiệm vụ cụ thể, như đẩy cửa, vận chuyển vật thể, và thực hiện các động tác chính xác trong môi trường công nghiệp
- Năm 2021: Robot Atlas được cải tiến với khả năng tương tác với môi trường xung quanh, giúp tăng tính linh hoạt và ứng dụng của robot trong các công việc thực tế
Hình 1.2. Robot atlas 2013
1.2 Thông số kĩ thuật
Chiều cao: 188 cm
Chiều dài thân: 56 cm
Chiều rộng thân: 76 cm
Cân nặng: 150 kg
Cơ cấu truyền động: 28 bộ truyền động thủy lực
Phương pháp điều khiển: Điều khiển lực & momen vòng kín
Điện áp: 480V 3 phase
Phần mềm: ROS, C++ Programming Language
Bậc tự do: 29
Vật liệu: titan & nhôm
Giá thị trường: 2 triệu USD
Hình 1.3. Robot di chuyển trên địa hình không đều
Trang 6Trạng thái: đang tiếp tục nghiên cứu & phát triển
Hình 1.4. Thông số vật lý của robot atlas
1.3 Tính năng và hạn chế
- Tính năng:
Điều khiển tay nắm động lực: Robot Atlas có thể sử dụng các cảm biến để theo dõi và điều khiển các tay nắm động lực, cho phép nó nắm và di chuyển các đối tượng theo cách tương tự như con người
Di chuyển linh hoạt: Robot Atlas có thể di chuyển trên địa hình khó khăn và vượt qua các chướng ngại vật bằng cách sử dụng các chân và bộ cảm biến Khả năng tương tác: Robot Atlas có khả năng tương tác với các đối tượng xung quanh bằng cách sử dụng các bộ cảm biến lực và áp suất trên cánh tay và chân
Trang 7Độ chính xác cao: Atlas có 28 khớp nối cho phép nó thực hiện các tác vụ linh hoạt và chính xác, bao gồm đi bộ, chạy, nhảy và leo lên các bề mặt cao
Sử dụng trong môi trường nguy hiểm: Robot Atlas có thể được sử dụng để thực hiện các nhiệm vụ nguy hiểm như tìm kiếm và cứu hộ hoặc khai thác mỏ
- Tuy nhiên, Robot Atlas cũng có một số hạn chế như:
Điều khiển khó khăn: Để điều khiển Robot Atlas thực hiện các tác vụ phức tạp, người điều khiển cần phải có kỹ năng và kinh nghiệm cao
Chi phí cao: Robot Atlas được sản xuất với công nghệ tiên tiến, vì vậy chi phí sản xuất và bảo trì của nó cũng rất đắt đỏ
Thời gian hoạt động ngắn: Robot Atlas cần được sạc lại sau khoảng 60-75 phút hoạt động, điều này có thể làm gián đoạn các nhiệm vụ đòi hỏi thời gian dài hoặc liên tục
Khả năng tương tác hạn chế: Mặc dù Robot Atlas có khả năng tương tác với các đối tượng xung quanh, tuy nhiên, nó vẫn còn hạn chế trong việc tương tác với con người và đối tượng có hình dáng khác nhau
1.4 Minh họa
https://youtu.be/-e1_QhJ1EhQ
Trang 8CHƯƠNG 2 MÔ PHỎNG DỰA TRÊN MÔ HÌNH ROBOT 2.1 Động học thuận
Loại bỏ bậc tự do số (13)
Hình 2.1. Cấu trúc robot hai chân 12 DOF
Bảng 2.1. Tham số của robot
ID Name Sister Child
Sơ đồ cây
Trang 9Hình 2.2. Sơ đồ cây thể hiện cấu trúc của robot
Mô phỏng theo các tham số tiền định cho một tư thế hợp lý
- Hàm tính toán động học thuận trong Matlab
Hình 2.3. Hàm tính toán động học thuận
- Setup các giá trị khâu, khớp theo mô hình bỏ bậc tự do thứ 13
Trang 10Hình 2.4. Cấu trúc lập trình cho các khâu khớp
- Mô phỏng robot với các thông số:
qR1 = [0*ToRad 0*ToRad -30*ToRad 60*ToRad -30*ToRad 30*ToRad]; qL1 = [0*ToRad 0*ToRad -30*ToRad 60*ToRad -30*ToRad];
Code matlab:
Trang 11Hình 2.5. Code matlab mô phỏng tham số đã chọn
Hình 2.6. Tư thế tương ứng với tham số trên
Trang 12- Một số tư thế khác:
Tư thế 2:
qR1 = [0*ToRad 0*ToRad 0*ToRad 0*ToRad 0*ToRad 0*ToRad]; qL1 = [0*ToRad 0*ToRad 0*ToRad 0*ToRad 0*ToRad];
Hình 2.7. Kết quả đối với tư thế 2
2.2 Động học ngược
2.2.1 Tạo tư thế mong muốn theo yêu cầu
Thông số về vị trí và góc quay của bàn chân:
Chân phải:
Rfoot.p = [0.2, -0.1, 0.3] ';
Rfoot.R =rpy2rot ([0*ToRad, 0*ToRad, 0*ToRad]);
Chân trái:
Lfoot.p = [0, 0.1, 0]';
Lfoot.R = rpy2rot ([0*ToRad, 0*ToRad, 0*ToRad]);
Với bộ thông số trên, nhập vào code matlab như sau:
Trang 13Hình 2.8. Code matlab xác định tư thế dựa vào vị trí của bàn chân Kết quả thu được như sau:
Trang 14Hình 2.9. Kết quả sau khi chạy code 2.2.2 Tư thế đặc thù
Công thức cho tư thế đặc thù:
Hình 2.10. Thiết lập thông số cho bàn chân
Trang 15Kết quả thu được:
Hình 2.11. Kết quả sau khi chạy code matlab
2.3 Tính vận tốc khớp theo vận tốc bàn chân
Xét chân phải đứng yên, chân trái được nâng lên 1 đoạn 0.1 Nhập các thông số của bàn chân vào code matlab tương tự như phần động học ngược:
Hình 2.12. Thông số bàn chân được chọn Sau khi chạy code ta có được tư thế và thông số của các góc khớp:
Trang 16Hình 2.13. Kết quả sau khi chạy code Thông số của các góc khớp được lấy trong phân Workspace:
Chân trái:
qL= [0;0;-0.585685543457151;1.171371086914302;-0.585685543457151;0] Chân phải:
qR= [0;0;6.123233995736766e-17;0;-6.123233995736766e-17;0]
Cài đặt trong Matlab:
Trang 17Hình 2.14. Ma trận Jacobi
Giả sử muốn bàn chân nâng thẳng đứng với tốc độ 0.1m/s thì vận tốc khớp thu được bởi với () là:
Hình 2.15. Kết quả vận tốc sau tính toán Tốc độ khớp của pitch hông, pitch đầu gối và pitch mắt cá chân là
( -0.3015, 0.6030, -0.3015) rad/s
2.4 Tư thế kì dị
- Xét bộ tham số như sau:
qR1 = [0 0 -2.29353057460831 1.44546849562683 0.848062078981481 0]; qL1 = [0 0 -2.29353057460831 1.44546849562683 0.848062078981481 0];
- Ta được tư thế như hình dưới đây:
Trang 18Hình 2.16. Tư thế tương ứng với tham số được chọn
Ta có giá trị của các ma trận jacobi nghịch đảo và định thức của nó:
Hình 2.17. Kết quả định thức của ma trận Jr
Trang 19Hình 2.18. Kết quả định thức của ma trận JL
2 kết quả trên thì định thức của 2 ma trận đều bằng 0 vì vậy đây là 1 tư thế kì dị của robot