Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 30

LỜI MỞ ĐẦU

Hiện nay, khoa học kỹ thuật không ngừng tìm kiếm, phát triển và tạo ra các công
nghệ mới, đặc biệt trong lĩnh vực robotics đang được nghiên cứu, dần đưa vào thực
tiễn để thay thế một vài công việc của con người.

Robot dạng người hay robot hình người là robot có hình dạng cơ thể được tạo
hình để trông giống như cơ thể con người. Thiết kế robot có thể có dạng người ở mức
độ khác nhau, tùy theo các mục đích chức năng. Robot phục vụ thử nghiệm có thể có
dáng sơ sài, chẳng hạn để nghiên cứu về vận động bằng hai chân. Nói chung thì robot
hình người có thân, đầu, hai cánh tay và hai chân, tuy nhiên một số robot hình người
đơn giản có thể chỉ mô hình hóa một phần của cơ thể. Một số robot hình người cũng
có đầu được thiết kế với các đặc điểm khuôn mặt của con người như mắt và miệng.
Robot có tính thẩm mỹ giống với con người cũng có các mức khác nhau, từ loại có
khuôn mặt người đến loại toàn thân thể giống người. Robot có nhiều hình dạng và kích
thước khác nhau nhằm thực hiện các mục đích khác nhau. Các robot có kích thước lớn
được sử dụng trong các dây chuyền lắp ráp công nghệ, trong khi đó những robot có
kích thước nhỏ dùng trong việc do thám các khu vực nguy hiểm với con người.

Đây là một lĩnh vực nghiên cứu mới mẻ, hấp dẫn, tạo cho sinh viên những ý
tưởng hay và niềm yêu thích đối với học phần. Vì đây là lĩnh vực mới, đi kèm vốn
hiểu biết và kỹ năng thực hành cần thiết chưa hoàn chỉnh, nên trong quá trình thực
hiện bài tập lớn này, việc gặp phải những sai sót là điều không thể tránh khỏi. Vậy
nên, nhóm chúng em rất mong có thể nhận được những ý kiến phản hồi, đóng góp từ
thầy cô và các bạn trong lớp để hoàn thiện bài báo cáo này, cũng như kiến thức của
mình.

Chúng em xin chân thành cảm ơn!


CHƯƠNG 1: TÌM HIỂU VỀ ROBOT HÌNH NGƯỜI WALK-
MAN
1.1. Giới thiệu về robot walk-man
WALK-MAN robot (Whole-body Adaptive Locomotion and Manipulation) -
đây là robot cứu hộ mang hình dạng giống người được nghiên cứu và phát triển bởi
Viện Công nghệ Ý và Đại học Pisa. Bản nguyên mẫu Walkman có chiều cao 1,85 m
với sải tay dài 2 m và trọng lượng 118 kg. Xung quanh thân được gắn các lớp phủ
mềm cho phép robot chịu được những va đập vật lý trong lúc hoạt động. Ngoài ra,
Walkman còn được trang bị hệ thống cảm biến, hệ thống quan sát stereo, máy quét
laser 3D.

Robot hình người WALK-MAN được phát triển trong dự án WALK-MAN


của Ủy ban Châu Âu (http://www.walkman.eu). Dự án bắt đầu vào năm 2013 nhằm
mục đích phát triển một robot hình người có thể nhận trách nhiệm trong các nhiệm vụ
giải cứu sau thảm họa hoặc trong các môi trường nguy hiểm mà con người khó có thể
tới thao tác.

Hình 1.1. Mục đích ra đời của WALK-MAN robot


Phiên bản đầu tiên của WALK-MAN được ra mắt vào năm 2015, nhưng các nhà
nghiên cứu muốn giới thiệu những vật liệu mới và tối ưu hóa thiết kế để giảm chi phí
chế tạo và cải thiện hiệu suất của nó. Phiên bản mới của robot WALK-MAN có phần
thân trên mới nhẹ hơn, quá trình hiện thực hóa mất 6 tháng, với sự tham gia của một

2
nhóm khoảng 10 người do Nikolaos Tsagarakis, nhà nghiên cứu tại IIT và điều phối
viên của dự án WALK-MAN, điều phối.

Hình 1.2. WALK-MAN robot


Năm 2016, WALK-MAN đã được thử nghiệm trong kịch bản động đất thực tế
tại Amatrice (Ý), để hỗ trợ nhóm cơ quan bảo vệ dân sự thực hiện kiểm tra ngôi nhà bị
hư hại và cung cấp thông tin về độ ổn định của tòa nhà cũng như thu hồi đồ đạc cá
nhân một cách an toàn.

1.2. Các thông số của robot

3
Hình 1.3. Kích thước WALK-MAN robot
Thông số kỹ thuật cơ bản:

Thời gian hoạt


Chiều cao Chiều rộng vai Tổng trọng lượng Số bậc tự do
động liên tục

1.915 m 0.815 m 132 kg 31 bậc 2 giờ

Thân máy WALK-MAN được điều khiển bởi 32 động cơ và bảng điều khiển, 4
cảm biến lực và mô-men xoắn ở tay và chân, cùng 2 gia tốc kế để kiểm soát thăng
bằng. Các khớp của nó cho thấy chuyển động đàn hồi cho phép robot tuân thủ và
tương tác an toàn với con người và môi trường. Kiến trúc phần mềm của nó dựa trên
khung XBotCore, nền tảng YARP, ROS e Gazebo. Đầu WALK-MAN có camera,
máy quét laser 3D và cảm biến micro. Trong tương lai nó cũng có thể được trang bị
cảm biến hóa học để phát hiện các chất độc hại.

1.3. Tính năng và hạn chế của robot


Tính năng:

WALK-MAN có khả năng hoạt động như một con người với các hoạt động như
là: đi bộ và tự giữ thăng bằng, mở cửa, leo cầu thăng, tự đứng dậy khi bị ngã, di
chuyển đồ vạt, lái xe, …

Ngoài những thao tác cơ bản trên WALK-MAN còn được thiết kế để sử dụng
4
trong công tác cứu hộ, robot WALK- MAN có thể thực hiện nhiều công việc như:
xoay và nâng khối bị sập, đi bộ hoặc bò qua đống mảnh vỡ, vận hành các dụng cụ cầm
tay thông thường như máy khoan hoặc máy cắt khí nén,…

Hình 1.4. Một số khả năng của WALK-MAN robot


Hạn chế:
+ Khả năng di chuyển hạn chế: Mặc dù WALK-MAN có khả năng di chuyển khá
tốt, nhưng nó có thể gặp khó khăn trong việc đi lại trong môi trường đa dạng và
khắc nghiệt, nhất là so với con người.
+ Phức tạp và đắt đỏ: Xây dựng và duy trì một loại robot như WALK-MAN đòi
hỏi sự đầu tư lớn về kỹ thuật và tài chính. Chúng thường có giá thành cao và đòi
hỏi kỹ thuật viên có kỹ năng cao để vận hành và bảo trì.
+ Hạn chế trong tương tác xã hội: Mặc dù WALK-MAN có khả năng tương tác
với môi trường xung quanh, nó vẫn thiếu khả năng tương tác xã hội và giao tiếp
như con người. Điều này có thể làm giới hạn khả năng hỗ trợ trong các tình huống
cứu hộ yêu cầu tương tác người-người.

5
CHƯƠNG 2: MÔ PHỎNG DỰA TRÊN MÔ HÌNH ROBOT

Hình 2.1. Mô hình robot dạng người


1.1. Thiết lập mô hình robot trong matlab
Robot hình người là một cơ chế bao gồm nhiều mắt xích kết nối với nhau bằng
các khớp nối. Do đó cần một công cụ để định nghĩa lại robot để có thể dễ dàng đưa
vào các chương trình tính toán. Một trong số đó sử dụng cấu trúc dạng cây. Điều này
có thể giúp đỡ chúng ra trong việc lập trình trong máy tính. Có thể sử dụng cùng một
thuật toán để xử lý tất cả các khớp. Ngoài ra việc định nghĩa cấu trúc dạng cây giúp
chúng ta có thể thêm các khớp mới một cách dễ dàng hơn.

 Mô hình sau khi đã loại bỏ khớp 3 (RLEG_J1)

6
Hình 2.2. Mô hình robot đã loại bỏ khớp 3
 Bảng tham số
ID Name Sister Child
1 Body 0 2
2 RLEG_J0 7 3
3 RLEG_J1 0 4
4 RLEG_J2 0 5
5 RLEG_J3 0 6
6 RLEG_J4 0 0
7 LLEG_J0 0 8
8 LLEG_J1 0 9
9 LLEG_J2 0 10
10 LLEG_J3 0 11
11 LLEG_J4 0 12
12 LLEG_J5 0 0
 Sơ đồ cây

7
 Tạo mô hình robot trên Matlab
Dựa vào sơ đồ cây đã có, ta thiết lập được vị trí các khâu các khớp và từ đó đưa
ra được mô hình sau khi đã bỏ khớp.

8
Hình 2.3. Mô hình trên matlab
2.2. Động học thuận
Mục đích của bài toán động học thuận là xác định các thông tin của biến kh ớp nh ư
vị trí, hướng, vận tốc, gia tốc của khâu đó so với hệ tọa độ gốc khi biết các giá trị biến
khớp được đặt vào.

Chương trình tạo 1 số tư thế mong muốn:

9
 Mô phỏng theo các tham số tiền định cho một số tư thế hợp lý

10
Hình 2.4. Bước bộ Hình 2.5. Đứng tấn

Hình 2.6. Chạy bộ Hình 2.7. Quỳ

11
Hình 2.8. Leo cầu thang Hình 2.9. Nhảy lên

2.3. Động học ngược


(Mô phỏng dựa trên mô hình đầy đủ, tham số tiền định)
Mục đích của việc giải quyết bài toán động học nghịch là: khi cho trước vị trí
khâu tác động cuối cùng của Robot thì kết quả của bài toán động học nghịch s ẽ tìm ra
được các biến khớp của robot để đạt được vị trí đó.

Ví dụ: Ta muốn điều khiển Robot với tư thế bước lên các bậc c ầu thang, v ới các
bậc cầu thang đã có các kích thước xác định, kết quả bài toán động h ọc ng ược s ẽ tính
ra các góc khớp của chân robot cần thay đổi để điều khiển robot đạt đến v ị trí mong
muốn.

Có nhiều phương pháp để giải quyết bài toán động học ngược Robot: là phương
pháp hình học giải tích (sử dụng các hàm lượng giác và phương pháp giải tích),
phương pháp tách vị trí và hướng (các nhóm 3) hoặc phương pháp số (dựa trên việc
tính toán ma trận Jacobian, thử và đánh giá sai số). Đối với phương pháp hình h ọc thì
đặc thù phụ thuộc vào từng loại robot, theo kết cấu của robot và không mang tính tổng
quát. Do đó để linh hoạt trong việc tính toán cũng như khả năng t ổng quát và đưa vào
lập trình trên MATLAB thì sử dụng phương pháp số là một phương pháp khá tối ưu cụ
thể là phương pháp Newton-Raphson.

12
Đầu tiên ta có mối liên hệ giữa vi phân vị trí khớp và vi phân vị trí khâu cuối
robot sử dụng ma trận Jacobi: δpδθ  Jδq

Từ đó ta dễ dàng rút ra được sai số mà ta cần: δ q  λ J 1δ pδθ . Lamda là một hệ


số thực nghiệm có giá trị λ ∈ (0 1] được đưa vào nhằm tăng sự ổn định của phép tính.
Hệ số lamda là một hệ số tương đối quan trọng vì tùy vào hệ số này, thì nó sẽ quyết
định số vòng lặp cần thiết để có thể tìm ra giá trị sai số thỏa mãn yêu cầu. Tính ma trận
Jacobian:
Như ta đã biết, ma trận Jacobi cho ta biết được mối liên hệ giữa vi phân v ị trí
khớp và vi phân vị trí khâu cuối robot. Vì vậy ở mục này ta s ẽ ti ến hành tính toán ma
trận Jacobi từ đó tìm được ∆q để thực hiện điều khiển động cơ.

Ta có một robot chuỗi gồm N khâu trong không gian xuất phát từ khâu 1 (khâu
gốc), ta tiến hành đánh số thứ tự từ khâu ban đầu tới khâu cuối cùng N. Ta giả sử ta đã
tính được động học thuận robot chuỗi và vị trí hiện tại của tất cả cá khâu đều biết (pj,
Rj). Ta tính được ma trận Jacobian:

J=w a1 ×(p N − p1 )w a2 ×( p N −p 2)w a 1 w a2 ... w a N ×( p N −p N −1)w a N wa N−1

Sau khi có các ma trận cần thiết ta tiến hành tính toán động học ng ược cho robot
code mô phỏng động học ngược ở vị trí bất kì:

13
Kết quả:

14
Rfoot.p = [0.1, -0.1, 0]'; Rfoot.p = [0.15, -0.1, 0.15]';
Rfoot.R = RPY2R([0, 0, 0]); Rfoot.R = RPY2R([0, -pi/12, 0]);

Lfoot.p = [0.3, 0.1, 0.3]'; Lfoot.p = [-0.15, 0.1, 0.05]';


Lfoot.R = RPY2R([0, pi/6, 0]); Lfoot.R = RPY2R([0, pi/6, 0]);
 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:

Rfoot.p = [0.1,0.1,0.1]';
Rfoot.R = rpy2rot(ToRad*0,ToRad*0,ToRad*0);
InverseKinematics (RLEG_J5, Rfoot);
Lfoot.p = [0,-0.1,0.1]';
Lfoot.R = rpy2rot(ToRad*0,ToRad*0,ToRad*0);
InverseKinematics (LLEG_J5, Lfoot);
DrawRobot;

 Tính vận tốc theo khớp bàn chân

Xây dựng hàm tính

>>SetupBipedRobot
>>idx = FindRoute(RLEG_J4)

15
>>SetJointAngles(idx,[0 0 -pi/6 pi/3 -pi/6 0])
>>J = CalcJacobian(idx)
>>dq = J \ [0 0 0.1 0 0 0]’

Giả sử bàn chân trái nâng lên với vận tốc theo phương z là 0,1m/s, từ đó ta tính
được vận tốc các khớp:

dq =

-0.3333

0.6667

-0.3333

 Tìm tư thế kì dị

Với các tham số tiền định được được thiết lập trong hàm SetJointAngles ta tính
được vận tốc quay tại các khớp. Giả sử muốn bàn chân trái nâng thẳng đứng với tốc độ
0.2m/s thì vận tốc khớp thu được:

dq = 0

-0.7436

1.2879

-0.5443

Xây dựng tư thế kì dị với chân phải duỗi thẳng và chân trái với trục cuộn hông
và trục cuộn mắt cá chân thẳng hàng. Tạo 1 file mới có tên là: tu_the_ki_di.m

16
Hình 2.10 Tư thế kỳ dị

17
CHƯƠNG 3: TÍNH TOÁN ZMP VÀ MÔ PHỎNG DI CHUYỂN
3.1. Tính toán ZMP

a) Cơ sở lý thuyết.

ZMP lần đầu tiên xuất hiện trong một bài báo khoa học vào năm 1972, theo đó
người ta định nghĩa rằng ZMP là điểm tiếp xúc giữa chân robot và mặt đất thỏa mãn
tại đó không có momen.

Hình 3.1 Vị trí ZMP và vị trí trọng tâm.


Mặt chân đế được định nghĩa là một mặt phẳng giới hạn bởi diện tich tiếp xúc
giữa chân robot và mặt đất. Ta có thể nói hình chiếu trọng tâm robot có thể nằm ngoài
hoặc trong mặt chân đế tùy theo robot có đang ổn định hay không nhưng riêng ZMP
thì luôn luôn nằm trong mặt chân đế.

ZMP trong 3D
Khi robot di chuyển trong môi trường 3D, thành phần nằm ngang và thành
phần thẳng đứng của phản lực từ mặt đất được vẽ như hình sau. Thực tế lúc chuyển
động robot sẽ bị tác động đồng thời cả hai lực này.

Hình 3.2 Lực tại mặt tiếp xúc.


18
Như ta đã biết, những thành phần lực ở 3 phương phía trên có thể được biểu diễn
dưới dạng một lực tổng hợp và một momen. Gọi p là vectơ nối từ gốc tọa độ đến vị trí
ZMP, ta có:

Từ đó, xét tại một điểm bất kỳ ở chân robot, ta có thể biểu diễn momen tại điểm
này thông qua ZMP (p), lực f và momen 𝜏𝑝 như sau:

Công thức tính ZMP.


Mặt khác từ động lực học robot ta có được mối quan hệ giữa phản lực từ mặt đất
với Momen tịnh tiến (P) và Momen quay (L) như sau:

Thay các thông số, ta được công thức tính toán ZMP như sau:

Sau đó, ta tiến hành tính các thông số động lực học momen tịnh tiến P, momen
quay L và vị trí khối tâm c thì từ đo, có thể suy ra vị trí điểm ZMP.

b) Kết quả tính toán và mô phỏng điểm ZMP


Ở đây ta mô phỏng chuyển động của robot khi tư thế ban đầu mất cân bằng với điều
kiện đầu cho trước là một chân robot giữ nguyên trên mặt đất, một chân nhấc lên, chiều
cao của trọng tâm robot không đổi.

Xác định ZMP và trọng tâm dựa trên nguyên lý con lắc ngược tuyến tính với chiều
cao trọng tâm không đổi. Sử dụng file calculate_zmp.m

Giả sử ở tư thế ban đầu, bàn chân phải giữ nguyên trên mặt đất, bàn chân trái nhấc
lên đưa lên trước, ta có code mô phỏng như sau:

19
Kết quả:

Hình 3.3 Kết quả mô phỏng ZMP

20
3.2. Mô phỏng bước đi.
a) Cơ sở lý thuyết.
Để thực hiện được quá trình bước đi của Robot ta cần xác định các thông số đầu
vào cho bài toán này:

- Khoảng các các bước chân cần thiết lập.

- Độ rộng giữa hai chân.

- Khoảng thời gian của mỗi bước chân.

- Chu kì thời gian của con lắc ngược Tc.

Hình 3.4 Mô tả phương pháp bước đi dựa trên nguyên lý con lắc ngược

21
Từ đó chúng ta thiết lập được phương trình theo x và y của khối tấm Robot, kết
hợp với bài toán động học ngược để tính được tất cả các biến khớp trên 2 chân trong
quá trình thực hiện bước đi.

Hình 3.5 Mô tả trong không gian 3D

Hình 3.6 Phương trình khối tâm trong 1 bước


b) Kết quả mô phỏng.
Mô phỏng quá trính bước đi theo động học. Ý tưởng thực hiện:

- Thiết lập quỹ đạo chuyển động cho bàn chân trong không gian.

22
- Chọn các thông số: thời gian mỗi bước, khoảng cách giữa các bước.

- Mối quan hệ ràng buộc khối tâm với tọa độ của 2 bàn chân.

- Kết hợp với động học ngược để giải ra giá trị các biến khớp tương ứng với mỗi
bước đi theo thời gian.

Hình 3.7 Kết quả mô phỏng đi bộ

23
CHƯƠNG 4: MÔ PHỎNG ROBOT NAO
4.1. Phần mềm
Ta sẽ mô phỏng robot Nao trong Webots và lập trình trên Choregraphe.

Hình 4.1 Robot Nao

Webots là một phần mềm mã nguồn mở dùng để mô phỏng robot, có thể lập trình
bằng C, C++, python…Mô phỏng của webots có thể được xuất ra như phim, cảnh
HTML tương tác, hoạt ảnh hoặc truyền trực tiếp tới bất kì trình duyệt web nào. Có hỗ
trợ modul Naoqi để có thể kết nối với Choregraphe thông qua sóng wifi.

Choregraphe là một công cụ lập trình đồ họa, giúp tạo hoạt ảnh và hành vi của
robot. Có tích hợp Naoqi để có thể kết nối với webots hoặc kết nối trực tiếp với Nao.

24
Hình 4.2 Giao diện Webots và Choregraphe
4.2. Chương trình mô phỏng

25
Một số khối lệnh cơ bản trên phần mềm Choregraphe:

Robot đứng thẳng

Robot ngồi xuống

Robot di chuyển

Tạo 1 chuỗi các hoạt động được thực


hiện liên tục

Một chuỗi hoạt động và tư thế được xây


dựng sẵn

26
Chương trình hoàn chỉnh:

Hình 4.3 Chương trình điều khiển robot Nao trên phần mềm Choregraphe

Tiến hành mô phỏng cho Robot Nao thực hiện 1 số động tác:

- Quay trái, quay phải (90° )

- Đi thẳng

- Vẫy tay

- Múa

27
Hình 4.4 Kết quả mô phỏng Nao

28
CHƯƠNG 5: KẾT LUẬN
5.1. Kết quả đạt được

Qua quá trình thực hiện đề tài đưa ra, nhóm đã tìm hiểu, nghiên cứu và thực hiện
mô phỏng lại được một số vị trí của robot theo các hạng mục động học thuận, động
học nghịch, tiến hành tính toán ZMP và mô phỏng chuyển động bước đi của Robot.

Nhóm đã có thêm cho mình những hiểu biết nhất định về các dạng robot dạng
người, những xu hướng phát triền của kiểu robot này và các bước tính toán một số
chuyển động nhất định của robot.

5.2. Hướng phát triển

Mô phỏng thêm các loại chuyển động khác nhau của robot chi tiết hơn.

- Tính toán thêm về phần động lực học.

- Thực hiện mô phỏng một số chương trình khác có độ phức tạp cao hơn cho robot

29
TÀI LIỆU THAM KHẢO
1. WALK-MAN (2015), “WALK-MAN: Whole-body Adaptive Locomotion and
Manipulation”, from: https://walk-man.eu/
2. ERICO GUIZZO, EVAN ACKERMAN, “WALK-MAN Team Built Brand New,
Highly Custom Robot for DRC Finals”, 03 JUN 2015,
from: https://spectrum.ieee.org/walkman-humanoid-robot-iit

3. Bùi Hải Lê, “Slide môn học Robot dạng người – Humanoid robot”, NCM Cơ điện
tử thông minh, Khoa Cơ điện tử, Trường Cơ khí, ĐH Bách Khoa Hà Nội.

4. Hirohisa Hirukawa, Kazuhito Yokoi, Shuji Kajita, Kensuke Harada (2014),


“Introduction to Humanoid Robotics” , Ohmsha Ltd, Springer Berlin, Heidelberg.

30

You might also like