MATLAB là viết tắt của Matrix Laboratory – phần mềm của hãng
MathWorks, Inc. Chỉ riêng tên gọi của nó đã mách bảo đối tượng của nó là các
ma trận. Vectơ và các đại lượng vô hướng được biểu diễn như là ma trận nx1 và
1x1 tương ứng. Các xâu kí tự cũng được sử dụng trong MATLAB. Matlab tích
hợp các phương pháp tính toán, hiển thị với ngôn ngữ lập trình mạnh để cung
cấp cho người dùng môi trường làm việc tiện lợi để giải các vấn đề tính toán khoa học.
Với khả năng tính toán mạnh về ma trận, ta có thể lập một chương trình tính
toán các kết quả của bài toán động học thuận cũng như động học ngược dựa
trên các thông số đầu vào.
Trong phạm vi bài tập lớn, em đã thiết kế hai chương trình GUI trên
matlab cho phép tính toán động học thuận và ngược cho robot KuKa.
                
              
                                            
                                
            
 
            
                 33 trang
33 trang | 
Chia sẻ: builinh123 | Lượt xem: 6307 | Lượt tải: 7 
              
            Bạn đang xem trước 20 trang tài liệu Bài tập lớn Robot Công nghiệp - KuKa Robot (6R), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 1 
LỜI NÓI ĐẦU 
 Ngày nay robot đã được áp dụng rộng rãi trong hầu hết các lĩnh vực như sản 
xuất, công nghiệp, công nghệ cao như vũ trụ, hàng không, giao thông vận tải 
Các nước phát triển đã xuất hiện xu hướng tạo ra những dây chuyền và thiết bị 
tự động có tính linh hoạt cao và xu hướng này đã đạt được khá nhiều kết quả 
khả quan. Chính vì thế việc nghiên, ứng dụng và phát triển các hệ thống sản 
xuất tự động linh hoạt ngày càng trở nên cấp thiết, nhất là các loại robot. Robot 
công nghiệp có cấu trúc động học nối tiếp tuy đã được nghiên cứu và phát triển 
mạnh song những tính toán và ứng dụng của nó luôn luôn là một lĩnh vực rất 
phong phú, đa dạng và đây cũng là loại robot thông dụng nhất hiện nay. Trong 
đó có KUKA KR - một loại tay máy 6 bậc tự do hoạt động rất linh hoạt, được 
ứng dụng nhiều lĩnh vực sản xuất và trong công nghiệp. Trong đồ án này sẽ 
nghiên cứu loại robot này về các phần động học, động lực học, miền làm việc 
cũng như phần mô phỏng lập trình sử dụng các phần mềm hỗ trợ. 
 Hà Nội, 5/2011 
 Vũ Ngọc Trọng 
 Cơ điện tử 2 – K52 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 2 
CHƯƠNG 1 
TÌM HIỂU TỔNG QUAN VỀ ROBOT CHUỖI HỞ 
1.1. Sự ra đời của robot 
 Thuật ngữ “robot” lần đầu tiên xuất hiện năm 1922 trong tác phẩm 
“Rossum’s Universal Robot” của Karel Capek. Theo tiếng Séc thì robot là 
người làm tạp dịch. Trong tác phẩm này, nhân vật Rossum và con trai của ông 
đã tạo ra những chiếc máy gần giống như con người để hầu hạ con người. 
 Hơn 20 năm sau, ngay sau chiến tranh thế giới lần thứ 2, ở Hoa Kì đã xuất 
hiện những tay máy chép hình điều khiển từ xa trong các phòng thí nghiệm về 
vật liệu phóng xạ. 
 Chiếc robot công nghiệp được đưa vào ứng dụng đầu tiên, năm 1961 ở một 
nhà máy ô tô của General Motors tại Trenton, New Jersey Hoa Kì. 
 Năm 1967 Nhật Bản mới nhập chiếc robot công nghiệp đầu tiên từ công ty 
AMF của Hoa Kì (American Machine and Foundry Company). Đến năm 1990 
đã có hơn 40 công ty Nhật Bản, trong đó có những công ty khổng lồ như 
Hitachi và Mitsubishi đã đưa ra thị trường nhiều loại robot nổi tiếng. Cho đến 
nay, công nghệ chế tạo robot đã phát triển mạnh và được ứng dụng nhiều trong 
đời sống và sản xuất. 
1.2. Phân loại robot 
1.2.1. Phân loại theo số bậc tự do (BTD) trong trường công tác 
 Robot có 2 loại chuyển động cơ bản làm chuẩn : 
 - Chuyển động thẳng theo các trục X, Y, Z trong không gian Đề-các với các 
khớp lăng trụ hay khớp trượt, kí hiệu là P hoặc T. 
 - Chuyển động quay quanh các trục X, Y, Z kí hiệu là R. 
 Tùy số BTD và và cách tổ hợp T-R, robot sẽ hoạt động trong trường công tác 
với các hình khối khác nhau. Ví dụ: Robot có trường làm việc là hình trụ như 
RRT, RTT 
1.2.2. Phân loại theo cấu trúc động học 
 Một phương pháp phân loại Robot chính là phân loại theo câu trúc hình học 
của chúng. 
 Một robot được gọi là robot chuỗi hở (robot tuần tự - serial robot) nếu cấu 
trục động học của chúng có dạng một chuỗi động hở; gọi là robot song song 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 3 
(parallel robot) nếu cấu trúc động học của chúng có dạng một chuỗi đóng; và 
gọi là robot hỗn hợp nếu nó bao gồm cả 2 loại này. 
1) Robot chuỗi hở (robot nối tiếp – Serial Manipulators) 
 Đây là dạng phổ biến nhất của robot công nghiệp. Thường có dạng cấu trúc 
giống cánh tay người, là một chuỗi các khâu rắn liên kết với nhau bằng các 
khớp (joints) có dạng như vai, khuỷu tay và cổ tay. Robot này có ưu điểm chính 
là vùng làm việc (workspace) rộng và linh động. Dưới đây ta đưa ra các bộ 
phận chính của một robot công nghiệp: 
- Cấu trúc cơ khí gồm các khâu 
(links) và khớp (joints), 
- Cơ cấu chấp hành (actuators) tác 
động tại các khớp làm tay máy 
chuyển động, 
- Cảm biến (sensors) dùng để đo 
lường các trạng thái của tay máy 
(cảm biến trong) và trạng thái môi 
trường (cảm biến ngoài) nếu cần, 
- Một hệ thống điều khiển (có cả 
máy tính) để điều khiển và giám 
sát chuyển động của tay máy. 
 Nhược điểm: 
 - Đặc điểm cố hữu là độ cứng vững thấp để tạo một cấu trúc động học. 
 - Sai số tích lũy được khuếch đại từ khâu trước sang khâu sau. 
 - Do phải mang và chuyển động cùng các bộ dẫn động (thường là các động cơ) 
có khối lượng lớn nên tốc độ nên tốc độ làm việc không cao. 
 - Khả năng mang tải không cao. 
 Robot loại này yêu cầu phải có ít nhất 6 BTD trong không gian (ứng với 6 
BTD của đối tượng làm việc) để có thể tiếp cận được đối tượng ở vị trí bất kì 
với khả năng định hướng trong miền làm việc của nó. Chính vì vậy chủ yếu là 
robot có 6 khớp, như các loại robot Stanford (RRTRRR), KUKA (6R), Elbow 
(6R), Puma (6R) với ứng dụng chính trong công nghiệp hiện nay là lắp ráp, 
vận chuyển phôi và sản phẩm trong quá trình sản xuất. 
Hình 1.1. IRB660-palletiser của hãng 
ABB Robotics. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 4 
2) Robot song song (Parallel Manipulator) 
 Loại robot song song điển hình thường có bàn chân di chuyển được nối với 
giá cố định bằng một số nhánh hay chân. Do vậy, các khâu chỉ chịu lực kéo 
hoặc lực nén, không phải chịu uốn. Thường số chân chính bằng số BTD, các 
chân được điều khiển bằng một nguồn phát động đặt trên giá cố định hoặc ngay 
trên thân của chân. 
 Ưu điểm: 
 - Khả năng chịu tải lớn vì tải trọng được 
chia cho các chân, 
 - Tốc độ cao hơn và chính xác hơn, cấu 
trúc gọn nhẹ hơn, 
 - Do tốc độ cao và chính xác cao nên có 
thể hoạt động như một máy phay, ngày 
nay đã được áp dụng vào việc phay các 
bề mặt gia công cần độ chính xác cao, 
năng suất. 
 - Nhiều ứng dụng: Mô phỏng tạo song, 
ghế lái máy bay (Steward, 1965), bàn khung lắp ráp (Reinholtz và Gokhale, 
1987), bàn điều khiển dao, gá của máy phay (Arai, 1991), các thiết bị định điểm 
(Gosselin và Hamel, 1994), các máy chuyển động có chân bước (Waldron, 
1984). 
 Tuy nhiên nó cũng có một số nhược điểm vì gặp phải một số trở ngại như 
không gian làm việc nhỏ, các chân có thể va chạm lẫn nhau cũng như việc thiết 
kế rất khó khăn. 
3) Robot di chuyển (Mobile Robot) 
 Đơn giản như loại ôtô, xe đạp với các bánh lái có 2 BTD. Hiện nay dùng 
trong chuyên chở vật liệu trong nhà may rộng, bệnh viện, văn phòng  
4) Robot giống người (Humanoid Robot) 
 Nói một cách đơn giản, robot này có dạng hình dáng con người, 2 chân, 2 
tay, đầu, và dung các cơ cấu đó với chuyển động như các bộ phận của con 
người. 
Hình 1.2. ABB’s IRB340 palletising robot
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 5 
 Các kiểu phân loại khác như phân loại theo Hệ thống truyền động, theo 
Phương pháp điều khiển, theo Đặc điểm hoạt động tùy các tiêu chí đặt ra mà 
robot được phân loại nhằm nêu bật tiêu chí đó. 
1.3. Tay máy (Manipulator) 
 Thuật ngữ “tay máy” và robot trong quan niệm của nhiều nhà chuyên môn 
trong lĩnh vực này không có sự khác biệt. Để thuận tiện trong trình bày, ở đây 
ta hiểu: 
 Tay máy là một dạng robot có cấu tạo mô phỏng theo những đặc điểm cấu 
tạo cơ bản của cánh tay người. Cũng có thể hiểu tay máy là tập hợp các bộ phận 
và cơ cấu cơ khí được thiết kế để hình thành các khối có chuyển động tương đối 
nhau, được gọi là các khâu động. Trong đó phần liên kết giữa các khâu động 
được gọi là các khớp động hay còn gọi là các phần tử thực sự thực hiện các 
chuyển động để vận hành tay máy như động cơ điện, xylanh dầu ép, xylanh khí 
nén , Phần quan trọng khác trên các tay máy là bộ phận hay khâu tác động 
cuối để thao tác trên đối tượng làm việc – thường là các tay gắp hoặc các đầu 
công cụ chuyên dùng. 
 Tay máy hay có thể gọi là cánh tay cơ khí của robot công nghiệp thông 
thường là một chuỗi động hở được tạo thành từ nhiều khâu được kết nối với 
nhau nhờ các khớp động. Khâu cuối của tay máy thường có dạng một tay gắp 
hoặc được gắn dụng cụ công tác. Mỗi khâu động trên tay máy có nguồn dẫn 
động riêng, năng lượng và chuyển động truyền đến cho chung được điều khiển 
trên cơ sở tín hiệu nhận được từ bộ phận phản hồi là các cảm biến nhằm thông 
báo trạng thái hoạt động của các khâu chấp hành, trong đó vấn đề được đặc biệt 
quan tâm là vị trí vận tốc dịch chuyển của khâu cuối – khâu thể hiện kết quả 
tổng hợp các chuyển đông của các khâu thành phần. 
1.4. Một số robot chuỗi hở thường gặp 
1.4.1. Tay máy tọa độ vuông góc (Cartesian robot/ Gantry robot) 
 Robot hoạt động trong hệ tọa độ này được minh họa như hình vẽ gồm ba 
chuyển động định vị X,Y,Z theo các trục tọa độ vuông góc: 
 Loại robot này thích hợp với công việc gắp vật thể và đặt chúng vào vị trí 
khác. Các ứng dụng có thể là đóng gói, lắp ráp máy móc, cầm nắm các máy 
công cụ hoặc hàn theo hình cung. Đối với loại robot này, cánh tay được tạo 
thành từ 3 khớp trượt mà trục của chúng trùng với hệ trục tọa độ Đê-các. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 6 
 Ưu điểm: 
- Không gian làm việc lớn, có thể 
dài đến 20m, 
- Đối với loại gắn trên trần sẽ dành 
được diện tích sàn lớn cho các 
công việc khác, 
- Hệ thống điều khiển đơn giản. 
 Hạn chế: Việc thêm vào các loại cần 
trục hay các loại thiết bị vận chuyển vật 
liệu khác trong không gian làm việc 
của robot không được thích hợp 
lắm.Việc duy trì vị trí của các cơ cấu dẫn động và các thiết bị dẫn động điện đối 
với loại trên đều gặp nhiều trở ngại. 
1.4.2. Tay máy tọa độ trụ (Cylindrical robot) 
 Trong ba chuyển động chính , robot được trang bị hai chuyển động tịnh tiến 
và một chuyển động quay. 
 Sử dụng trong công nghệ lắp ráp, 
cầm nắm các máy công cụ, hàn 
điểm. Loại robot này, trục có dạng 
hệ tọa độ trụ. 
 Ưu điểm : 
 - Có khả năng chuyển động ngang 
và sâu vào trong các máy sản xuất, 
 - Cấu trúc theo chiều dọc của máy 
để lại nhiều khoảng trống cho sàn, 
 - Kết cấu vững chắc, có khả năng 
mang tải lớn, 
 - Khả năng lặp lại tốt. 
 Nhược điểm duy nhất là giới hạn tiến về phía trái và phía phải do kết cấu cơ 
khí và giới hạn các kích cỡ của cơ cấu tác động theo chiều ngang. 
Hình 1.3. Tay máy tọa độ vuông góc 
(Cartesian Robot) 
Hình 1.4. Tay máy tọa độ trụ (Cylinderical 
Robot) 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 7 
1.4.3. Tay máy tọa độ cầu (Spherical/Polar robot) 
 Robot loại này được bố trí có ít nhất hai 
chuyển động quay trong ba chuyển động 
định vị. Dạng robot này là dạng sử dụng 
điều khiển servo sớm nhất. 
 Được sử dụng để cầm nắm các dụng cụ, 
hàn điểm, đánh bóng, hàn hơi hoặc hàn 
theo cung. Trục của robot tạo thành hệ tọa 
độ cầu. 
1.4.4. Tay máy toàn khớp bản lề 
 Loại cấu hình dễ thực hiện nhất được 
ứng dụng cho robot là dạng khớp nối bản 
lề và kế đó là dạng ba trục thẳng, gọi tắt là dạng SCARA (Selective Compliance 
Assembly Robot Arm). Dạng này và dạng tọa độ trụ là phổ cập nhất trong ứng 
dụng công nghiệp bởi vì chúng cho phép các nhà sản xuất robot sử dụng một 
cách trực tiếp và dễ dàng các cơ cấu tác động quay như các động cơ điện, động 
cơ dầu ép, khí nén. 
 Được sử dụng để gắp nhả vật, đóng gói, lắp ráp hay cầm nắm máy công cụ. 
Robot có 2 khớp xoay song song với nhau cho phép thao tác trên mặt phẳng. 
 Ưu điểm : 
- Mặc dù chiếm diện tích làm 
việc ít song tầm vươn khá lớn, 
tỉ lệ kích thước - tầm vươn 
được đánh giá cao. 
- Về mặt hình học, cấu hình dạng 
khớp nối bản lề với ba trục 
quay bố trí theo phương thẳng 
đứng là dạng đơn giản và có 
hiệu quả nhất trong trường hợp yêu cầu gắp đặt và đặt chi tiết theo 
phương thẳng. Trong trường hợp này bài toán tọa độ hoặc quỹ đạo 
chuyển động đối với robot chỉ cần giải quyết ở hai phương x và y còn lại 
bằng cách phối hợp ba chuyển động quay quanh ba trục song song với 
trục z. 
Hình 1.5. Tay máy tọa độ cầu (Polar 
Robot) 
Hình 1.6. Robot SCARA 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 8 
1.4.5. Về KUKA Robotics 
Hình 1.7. Robot KUKA KR 6/2 và 15/2 của KUKA Robotics 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 9 
 KUKA được thành lập vào năm 1898 tại 
Augsburg, Đức, tên là Keller und Knappich 
Augsburg . Có công ty mẹ là KUKA Roboter 
GmbH, đặt tại Augsburg - Đức, KUKA 
Robotics là một trong những nhà sản xuất hàng 
đầu thế giới về robot công nghiệp với khối 
lượng hàng năm đạt gần 10.000 con. Dải robot 5 
và 6 trục có tải trọng từ 3kg đến 570 kg và tầm 
với từ 635mm đến 3700mm, đều được điều 
khiển từ một nền tảng bộ điều khiển dựa trên 
PC; riêng KUKA KR 1000 – robot khỏe nhất 
thế giới của KUKA, là loại robot có 6 trục được 
làm bằng titan. Khả năng nâng của nó lên đến 
1000 kg và tầm với là 3200 mm. Và nó được thiết kế nhắm tới các ứng dụng 
đặc biệt nặng. Do vậy, nó rất lý tưởng cho các ngành công nghiệp như sản xuất 
vật liệu xây dựng, ôtô và giặt là. 
 Robot của KUKA được sử dụng rộng rãi trong nhiều ngành công nghiệp, 
gồm sản xuất thiết bị gia dụng, sản xuất ô tô, không gian, sản xuất hàng tiêu 
dùng, chế biến thực phẩm, dược, y, đúc khuôn, nhựa, và trong nhiều ứng dụng 
phức hợp khác như vận chuyển vật, lắp ráp, đóng gói, xếp-dỡ pallet, hàn, uốn, 
đánh bóng bề mặt. Thông tin chi tiết về tập đoàn có tại trang web 
www.kukarobotics.com. 
Hình 1.8. KUKA KR 1000 – robot 
khỏe nhất thế giới của KUKA 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 10 
 Vài hình ảnh khác về robot của hãng KUKA : 
Hình 1.9. Zepnick Solutions đã chọn 
KUKA Robotics cung cấp Robot bằng 
thép không gỉ KUKA KR 15 SL cho hệ 
thống xử lý và đóng gói thực phẩm 
mới của công ty. 
Hình 1.10. Một khoang làm việc của robot 
hãng KUKA đang thao tác với các thùng đồ 
uống. 
Hình 1.11. Một khoang làm 
việc của robot đang bỏ bánh 
mì nhặt từ băng chuyền vào 
hộp. 
Hình 1.12. Hệ thống robot tự động 
phục vụ cho các quầy bar của hãng 
Motoman đang dùng một trong 2 bộ 
kẹp để lấy cốc. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 11 
1.5. Ứng dụng của robot 
 Ứng dụng chủ yếu của robot công nghiệp là hàn và lắp ráp. Gần 25% robot 
công nghiệp là robot hàn. Các robot lắp ráp chiếm 33% dân số robot trên thế 
giới, có mặt nhiều nhất trong các nhà máy sản xuất xe hơi và đồ điện tử. 
. 
Hình 1.14. Các cánh tay robot hàn. 
Hình 1.13. Robot hàn Motoman EA1400
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 12 
CHƯƠNG 2 
TÍNH TOÁN ĐỘNG HỌC VÀ ĐỘNG LỰC HỌC ROBOT 
KUKA 6 BẬC TỰ DO 
2.1. Tính toán động học robot KUKA 6 bậc tự do 
 Đây là bước cơ sở cho việc 
thiết kế sơ bộ robot, từ đó có 
thể giải bài toán điều khiển 
robot theo các quỹ đạo. Từ đây 
ta mới có đủ các thông số để 
điều khiển robot theo một quỹ 
đạo cho trước hoặc với lực cho 
trước ta thu được một quỹ đạo 
chuyển động nhất định. 
 Dưới đây là phần tính toán 
động học cho Robot 6 bậc tự do 
mà cụ thể ứng dụng giải bài 
toán động học cho Robot 
KUKA KR6/2. 
 Thực chất của việc giải bài toán động học là đi giải 2 bài toán động học sau: 
+ Bài toán động học thuận: Biết các góc quay của các khớp, tìm vị trí và hướng 
của khâu chấp hành cuối cùng. 
+ Bài toán động học ngược: Cho biết vị trí của khâu chấp hành cuối, tìm các 
góc quay của các khớp tương ứng, tức là tìm các thông số điều khiển cho từng 
khâu để đảm bảo vị trí của khâu chấp hành. 
 Do tính chất của công việc của từng robot mà quỹ đạo hoạt động của nó tạo 
ra một số bài toán về điều khiển như sau: 
- Nếu không quan tâm đến quỹ đạo chuyển động mà chỉ quan tâm đến việc 
trong khoảng thời gian cho trước, robot đi tới đúng vị trí điểm làm việc. 
Do vậy mà bài toán trở nên đơn giản hơn. Nó chỉ cần thỏa mãn các điều 
Hình 2.1. Các khớp của Robot KUKA 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 13 
kiện trong phần thiết kế quỹ đạo là được; tức là vận tốc điểm đầu và 
điểm cuối bằng 0. 
- Do điều kiện làm việc mà khi di chuyển từ điểm đầu đến điểm cuối, 
chúng bắt buộc phải đi qua một số điểm trung gian nhất định. Dạng này 
chúng ta có thể dung phép nội suy để tạo ra một quỹ đạo trơn đi qua các 
điểm đó. Điều kiện liên tục về quỹ đạo và vận tốc được thảo mãn. 
- Khâu chấp hành phải đi theo một quỹ đạo cho trước và có thể biết trước 
luật chuyển động dọc theo quỹ đạo nào đó. Đây là bài toán điều khiển 
robot đi theo một quỹ đạo với vận tốc biết trước. 
Ở đây chúng ta trình bày phần tính toán cho trường hợp này: Điều khiển 
robot đi theo một quỹ đạo cho trước. 
2.1.1. Phương trình động học thuận 
Trục Giới hạn chuyển động Tốc độ (0/sec) 
1  1850 152 
2 +1150 tới -550 152 
3 +700 tới -2100 152 
4  3500 250 
5  1300 357 
6  3500 660 
Bảng 2.1. Giới hạn chuyển động của các khớp của robot KUKA 
1) Bộ thông số DH 
 Ta xây dựng mối quan hệ động học thông qua bộ thông số DH : 
 Theo Denavit & Hartenberg, hai ông đã đề xuất dùng ma trận thuần nhất 4x4 
để mô tả quan hệ giữa 2 khâu liên tiếp trong cơ cấu không gian. 
 Trước hết, xác định bộ thông số cơ bản giữa 2 trục quay của 2 khớp động i+1 
và i: 
- ai là độ dài đường vuông góc chung giữa 2 trục khớp động i+1 và i, 
- i là góc chéo giữa 2 trục khớp động i+1 và i, 
- di là khoảng cách đo dọc trục khớp động i kể từ đường vuông góc chung 
giữa trục khớp động i+1 và trục khớp động i tới đường vuông góc chung 
giữa trục khớp động i và trục khớp động i-1. 
- θi là góc giữa 2 đường vuông góc nói trên. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 14 
 Biến khớp : 
- Nếu khớp động i là khớp quay thì θi là biến khớp 
- Nếu khớp động i là tịnh tiến thì di là biến khớp 
 Để kí hiệu biến khớp, ta dùng thêm dấu * và trong trường hợp khớp tịnh tiến 
thì ai được xem là bằng 0. 
 Hình 2.2 biểu diễn các khớp 
quay đặt trên robot KUKA KR 6/2. 
 Trong đó có thể gọi các khớp 
A1, A2, A3 lần lượt là khớp hông 
(waist), khớp bả vai (shoulder), 
khớp khuỷu tay (elbow); tập hợp cả 
3 khớp này gọi là cánh tay (arm), 
các khớp A1, A2, A3 này quyết 
định vị trí của khâu chấp hành cuối 
(Điểm P trên hình 2.3 dưới đây). 
 Các khớp A4, A5, A6 còn lại 
được gọi chung là khớp cổ tay 
(wrist), chúng quyết định hướng 
của khâu chấp hành cuối và có tâm 
quay tại điểm P. 
2) Thiết lập các hệ tọa độ 
 Khi gắn các hệ tọa độ với các khâu, có một số lưu ý sau: 
 Gốc của hệ tọa độ gắn liền với khâu thứ i (gọi là hệ tọa độ thứ i) đặt tại giao 
điểm giữa 2 đường vuông góc chung (ai) và trục khớp động i+1. Trường hợp 2 
trục giao nhau thì gốc hệ tọa độ lấy trùng với giao điểm đó. Nếu 2 trục song 
song với nhau thì chọn gốc hệ tọa độ là điểm bất kì trên trục khớp động i+1. 
 Trục zi của hệ tọa độ thứ i nằm dọc theo trục khớp động i+1. 
 Trục xi của hệ tọa độ thứ i nằm dọc theo đường vuông góc chung và hướng 
từ khớp động i đến khớp động i+1. Trường hợp 2 trục giao nhau thì hướng của 
trục xi trùng với hướng của vectơ tích zi zi-1, tức là vuông góc với mặt phẳng 
chứa zi, zi-1 và phương của vectơ tích có hướng. 
Hình 2.2. Các khớp của Robot KUKA KR 6/2.
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 15 
 Hình vẽ sau đây thể hiện các hệ tọa độ đặt trên robot KUKA KR 6/2 và các 
thông số động học theo bảng DH: 
Hình 2.3. Sơ đồ bố trí các hệ tọa độ và các thông số động học cho Robot KUKA. 
 Sau khi gắn các hệ trục tọa độ trên các khâu và khớp của robot theo nguyên 
tắc đã trình bày ở trên, ta có các thông số cho bảng DH như sau: 
Khâu θi di ai i Khớp 
1 θ1* 0 a1 = 300 900 R 
2 θ2* 0 a2 = 650 00 R 
3 θ3* 0 a3 = 155 900 R 
4 θ4* d4 = 600 0 -900 R 
5 θ5* 0 0 900 R 
6 θ6* d6 = 125 0 00 R 
Bảng 2.2. Bảng thông số DH. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 16 
3) Mô hình biến đổi 
 Trên cơ sở đã xây dựng các hệ tọa độ với 2 khâu động liên tiếp như trên đã 
trình bày, ta có thể thiết lập mối quan hệ giữa 2 hệ tọa độ liên tiếp theo 4 bước 
sau đây: 
1 - Quay quanh trục zi-1 một góc θi 
2 - Tịnh tiến dọc trục zi-1 một đoạn di 
3 - Tịnh tiến dọc trục xi-1 (đã trùng với xi) một đoạn ai 
4 - Quay quanh trục xi một góc αi. 
 Bốn bước này được biểu diễn bằng tích các ma trận thuần nhất sau: 
 Ai = R(z,θi).Tp(0,0,di).Tp(ai,0,0).R(x,αi) (2.1) 
 Sau khi thực hiện các phép nhân các ma trận đơn giản (quay, tịnh tiến), ta có: 
i i i i i i i
i i i i i i i
i
i i i
C S C S S a C
S C C C S a S
A
0 S C d
0 0 0 1
     
     
 
       
 (2.2) 
 Thay các giá trị trong bảng DH vào công thức Ai ta tính được các ma trận Ai 
như sau: 
1 1 1 1
1 1 1 10
1
C 0 S a C
S 0 C a S
A
0 1 0 0
0 0 0 1
       
2 2 2 2
2 2 2 21
2
C S 0 a C
S C 0 a S
A
0 0 1 0
0 0 0 1
       
3 3 3 3
3 3 3 32
3
C 0 S a C
S 0 C a S
A
0 1 0 0
0 0 0 1
       
4 4
4 43
4
i 4
C 0 S 0
S 0 C 0
A
0 1 C d
0 0 0 1
       
5 5
5 54
5
C 0 S 0
S 0 C 0
A
0 1 0 0
0 0 0 1
       
6 6
6 65
6
6
C S 0 0
S C 0 0
A
0 0 1 d
0 0 0 1
       
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 17 
4) Phương trình động học 
 Ma trận Ti là tích các ma trận Ai và là ma trận mô tả vị trí và hướng của hệ 
tọa độ gắn liền với khâu thứ i, so với hệ tọa độ cố định: Ti = A1A2Ai, i = 1..n 
 Trong trường hợp i = n, với n là số hiệu chỉ hệ tọa độ gắn liền với điểm tác 
động cuối (End-Effector) thì ta có: 
 Tn = A1A2An cũng chính là ma trận trạng thái cuối TE: TE = Tn 
hay: 
x x x x
y y y y
n
z z z z
n s a p
n s a p
T
n s a p
0 0 0 1
       
 Ở đây ta gọi tọa độ điểm cuối là D(dx, dy, dz) còn điểm P quyết định vị trí của 
D. 
 Vì vậy vị trí và hướng của khâu chấp hành cuối được cho bởi ma trận : 
x x x x
y y y y0 0 1 2 3 4 5
6 1 2 3 4 5 6
z z z z
n s a d
n s a d
A A . A . A . A . A . A
n s a d
0 0 0 1
        
 (2.3) 
- Nhân 3 ma trận đầu với nhau ta được: 0 0 1 23 1 2 3A A . A . A  
 
 
1 23 1 1 23 1 1 2 2 3 23
1 23 1 1 23 1 1 2 2 3 23
23 23 2 2 3 23
C C S C S C a a C a C
S C C S S S a a C a C
S 0 C a S a S
0 0 0 1
           
 (2.4) 
- Nhân 3 ma trận còn lại: 3 3 4 56 4 5 6A A . A . A  
4 5 6 4 6 4 5 6 4 6 4 5 6 4 5
4 5 6 4 6 4 5 6 4 6 4 5 6 4 5
5 6 5 6 5 4 6 5
C C C S S C C S S C C S d C S
S C C C S S C S C C S S d S S
S C S S C d d C
0 0 0 1
            
 (2.5) 
 Ta có phương trình cân bằng sau: 
 0 0 36 3 6A A . A (2.6) 
 Trong các phương trình trên: Ci cosθi Si sinθi 
 Cij cos(θi+ θj) Sij sin(θi+ θj) 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 18 
 Thay các phương trình (2.3), (2.4), (2.5) vào PT (2.6) và cân bằng các phần tử 
ta có hệ 12 phương trình: 
nx = C1[C23(C4C5C6 – S4S6) – S23S5C6] + S1(S4C5C6 + C4S6) 
ny = S1[C23(C4C5C6 – S4S6) – S23S5C6] – C1(S4C5C6 + C4S6) 
nz = S23(C4C5C6 – S4S6) + C23S5C6 
sx = C1[-C23(C4C5C6 + S4S6) + S23S5C6] + S1(-S4C5S6 + C4C6) 
sy = S1[-C23(C4C5C6 + S4S6) + S23S5C6] – C1(-S4C5S6 + C4C6) 
sz = - S23(C4C5C6 + S4S6) – C23S5S6 
ax = C1(C23C4S5 + S23C5) + S1S4S5 
ay = S1(C23C4S5 + S23C5) – C1S4S5 
az = S23C4S5 + C23C5 
dx = C1[a1 + a2C2 + a3C23 + d4S23 + d6(C23C4S5 + S23C5)] + d6S1S4S5 
dy = S1[a1 + a2C2 + a3C23 + d4S23 + d6(C23C4S5 + S23C5)] – d6S1S4S5 
dz = a2S2 + a3S23 + d4C23 + d6(S23C4S5 – C23C5). 
 Như vậy khi biết được các giá trị của θi ta hoàn toàn có thể xác định được 
hướng và vị trí của khâu chấp hành cuối bằng cách thay các giá trị này vào 12 
phương trình trên. 
 Bài toàn động học thuận có thể dùng MATLAB để lập một hàm hoặc chương 
trình chung để giải ra 12 nghiệm cả dưới dạng chữ hoặc tính toán với số, được 
trình bày ở phần phụ lục. 
2.1.2. Phương trình động học ngược 
 Theo phương pháp chung khi giải bài toán động học ngược, với n = 6, khó 
khăn là ở chỗ làm sao xác định được phương trình nào trong các hệ phương 
trình để tính ra được các góc θi ở dạng công thức với các kí hiệu tổng quát. 
 Có thể nói chưa có một thuật toán chung nào mà nhờ đó có thể tìm ra được 
tập nghiệm của bài toán động học ngược cho mọi robot. Phương pháp giới thiệu 
sau đây có thể xác định được θi dễ dàng và trực giác hơn: Phương pháp “các 
nhóm 3”: 
 Như đã biết, vị trí của một điểm hoàn toàn được xác định trong hệ tọa độ 
không gian 3 chiều, nên có thể phân robot ra những nhóm 3, nói chung được 
viết thành n = 3+3+3+ Tuy nhiên, gốc tọa độ của những nhóm 3 kể từ nhóm 
thứ 2 trở đều là đối tượng cần được xác định. Còn đối với những robot dùng 
trong công nghiệp thường có không quá 6 BTD nên việc phân nhóm 3+3 lại 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 19 
phù hợp với các thao tác trong thực tế. Thao tác đầu tiên là robot đưa bàn kẹp 
đến gần vị trí làm việc. Có thể gọi tên là thao tác “thô”. Sau đó bàn kẹp được xê 
dịch nhỏ và xoay hướng sao cho phù hợp với công việc, gọi là thao tác “tinh”. 
Vậy các nhóm 3+3 tương ứng với các thao tác “thô + tinh”. 
 Việc giải bài toán động học ngược trở nên đơn giản hơn nhưng phải lưu ý 
đến các vấn đề sau: 
- Đối với nhóm 3 thực hiện thao tác “thô” thì thường chỉ quan tâm đến vị 
trí, mà không quan tâm đến định hướng nên các thành phần của các vectơ 
n, s, a đều bằng 0. 
- Đối với các nhóm 3 thực hiện thao tác “tinh” thì ngược lại, cho các thành 
phần của vectơ p bằng 0. 
 Nhược điểm của phương pháp này, như đã nói ở trên, gốc tọa độ của các 
nhóm 3, kể từ nhóm thứ 2 trở đi đều là những vị trí cần xác định hoặc cho 
trước. Thông thường người ta cho trước chúng như những điểm tựa công nghệ. 
 Mặc dù có thể dùng hệ 12 PT trong phần tính toán động học thuận trên để 
giải bài toán động học ngược nhưng do chúng đều là các phương trình phi 
tuyến nên rất khó giải. Tuy vậy, ở đây KUKA là loại robot có đặc điểm 6 khớp 
đều là khớp quay, trong đó tâm trục quay của 3 khớp cuối giao nhau tại 1 điểm, 
thông thường với cấu trúc này thì mỗi điểm trong không gian robot sẽ có 8 khả 
năng để đạt được đến điểm này, hay nói cách khác, với mỗi điểm xác định thì 
bài toán động học ngược sẽ có 8 nghiệm. 
 Vì vậy, để giải bài toán động học ngược ta chia làm 2 bước, bước 1 dựa vào 
phương pháp hình học giải tích để tìm các góc liên quan đến vị trí của khâu 
chấp hành cuối (θ1, θ2, θ3) – “Phương trình động học ngược – Vị trí” sau đó 
bước 2 có nhiệm vụ tính nốt các góc còn lại từ các góc đã tìm được – “Phương 
trình động học ngược – Hướng”. 
 Từ các thành phần của phương trình (2.6) và 12 phương trình thành phần ta 
có thể biết được vị trí của điểm tâm quay cổ tay (điểm P trên hình 1.15): 
x x 6 x
y y 6 y
z z 6 z
p d d a
p d d a
p d d a
                
 (2.7) 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 20 
1) Phương trình động học ngược - Vị trí (Position) 
 Trên hình vẽ 2.4 là hình chiếu bằng của cánh tay robot trong 2 trường hợp 
của góc θ1. 
Hình 2.4. Hình chiếu bằng của cánh tay 
- Góc θ1 được tính từ Py và Px: 
 θ1 = atan2(Py, Px); (2.8) 
 Theo hình vẽ, θ1 có 2 nghiệm là θ1 và (θ1 + 1800), cũng đều thỏa mãn nghiệm 
của phương trình (2.8). Trường hợp Px = Py = 0, phương trình (2.8) sẽ có vô số 
nghiệm, do vậy hàm atan2 sẽ chọn nghiệm của θ1 = 0. 
- Góc θ3 được tính dựa vào hình 2.5: 
Hình 2.5. Hình chiếu vuông góc với mặt phẳng cánh tay 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 21 
 Sử dụng định lí hàm số cos, ta có: 
2 2 2 2 2 2 2
2 3 4 2 3 4 3q + r = a a d 2a a d .cos(180 )      (2.9) 
 23 3 3 4 3atan2( 1 D ,D ) atan2(d ,a );     (2.10) 
với 
2 2 2 2 2
2 3 4
3 2 2
2 3 4
q r a a dD
2a a d
     ; (2.11) 
- Góc θ2 tính dựa vào góc ψ và γ như trên hình vẽ 2.5. 
Ta có: 2 2 2 2 2 2 23 4 2 2a d = a q + r 2a q + r .cos    (2.12) 
 22 2atan2( 1 D ,D );    (2.13) 
với 
2 2 2 2 2
3 4 2
2 2 2
2
a d a q rD
2a q r
      ; (2.14) 
Từ đó: 
 θ2 = γ  ψ = atan2(r,q) – 22 2atan2( 1 D ,D );  (2.15) 
 Như vậy, các góc (θ1, θ2, θ3) đã tính được và tổ hợp của chúng sẽ cho ra 8 
nghiệm của bộ (θ1, θ2, θ3). 
2) Phương trình động học ngược - Hướng (Orientation) 
 Hướng của khâu chấp hành cuối (gắn dụng cụ) được giải sau khi đã biết 
được các góc vị trí (θ1, θ2, θ3). 
 Trong công thức (2.6), nếu chỉ xét đến thành phần định hướng (ma trận R3x3), 
ta có: 
 0 0 36 3 6R R . R 
 3 0 T 06 3 6R ( R ) . R  (2.16) 
 0R6 đã được giải từ phần động học thuận, còn 0R3 đã có khi giải ra các góc 
(θ1,θ2,θ3) theo PT động học ngược – vị trí ở trên. 
 Còn 3R6 bao gồm các thành phần ma trận quay của (θ4,θ5,θ6) theo (2.5) và là 
các giá trị cần được xác định: 
4 5 6 4 6 4 5 6 4 6 4 5
3
6 4 5 6 4 6 4 5 6 4 6 4 5
5 6 5 6 5
C C C S S C C S S C C S
R S C C C S S C S C C S S
S C S S C
          
 (2.17) 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 22 
 Giả sử các thành phần của tích của 2 ma trận vế phải (2.16) sau khi tính được 
là ma trận [bij]3x3 : 
(0R3)T.0R6 =
1 23 1 23 23 x x x
1 1 y y y
1 23 1 23 23 z z z
C C S C S n s a
S C 0 . n s a
C S S S C n s a
               
=
11 12 13
21 22 23
31 32 33
b b b
b b b
b b b
     
 (2.18) 
 Từ đó, sau khi nhân được vế phải theo (2.18) ra các giá trị bij rồi đồng nhất 
với các phần tử của (2.17) ta có được các nghiệm (θ4,θ5,θ6): 
 Có 2 bộ nghiệm của (θ4, θ5, θ6): 
 θ4 = atan2(b23, b13); θ4 = atan2(b23, b13) + 1800; 
 θ5 = atan2 233 331 b ,b ; θ5 = atan2 233 331 b ,b  ; 
 θ6 = atan2(b32, -b31); θ6 = atan2(b32, -b31) + 1800; 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 23 
CHƯƠNG 3 
CHƯƠNG TRÌNH MÔ PHỎNG KẾT QUẢ TÍNH TOÁN 
3.1. Mô phỏng sử dụng thư viện OpenGL với MFC 
– Công cụ để mô phỏng : 
+ Ngôn ngữ lập trình C++ : Xây dựng giao diện bằng MFC. 
+ Tìm hiểu lập trình đồ họa OpenGL để mô phỏng qua các khối đồ họa. 
– Phần mềm sử dụng: 
+ Visual Studio 2008 
+ SolidWorks 2010 
+ Matlab R2010b với Robotics Toolbox for Matlab (release 8) 
Copyright Peter Corke 1992-2008  
3.1.1. Giới thiệu về OpenGL 
 OpenGL (Open Graphics Library) là một thư viện đồ họa tốc độ cao và độc 
lập với hệ thống giao diện các hệ điều hành. Tiền thân của OpenGL là IRIS GL 
do hãng Silicon Graphic Library Inc phát triển cho các WorkStation đồ họa tốc 
độ cao từ năm 1982.Sau đó từ năm 1992 thì OpenGL đã trở thành một chuẩn 
công nghiệp và đắc tính kỹ thuật của OpenGL do ủy ban kỹ thuật ARB 
(Architectural Review Board ) phê chuẩn. 
Hình 3.1. Khối lập phương rỗng và đặc vẽ bằng OpenGL. 
 OpenGL là một tiêu chuẩn kỹ thuật đồ họa có mục đích định ra một giao diện 
lập trình ứng dụng (tiếng Anh: API) đồ họa 3 chiều. OpenGL cũng có thể được 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 24 
dùng trong các ứng dụng đồ họa 2 chiều. Giao diện lập trình này chứa khoảng 
250 hàm để vẽ các cảnh phức tạp từ những hàm đơn giản. Nó được dùng rộng 
rãi trong các trò chơi điện tử. Ngoài ra nó còn dùng trong các ứng dụng CAD, 
thực tế ảo, mô phỏng khoa học, mô phỏng thông tin, phát triển trò chơi. 
OpenGL còn có một đối thủ cạnh tranh là DirectX của Microsoft. 
3.1.2. Giới thiệu ngôn ngữ lập trình Visual C++ 
 Visual C++ là một trong các ngôn ngữ lập trình thuộc dòng Visual Studio 
của hãng Microsoft, phát triển dựa trên nền tảng là ngôn ngữ lập trình hướng 
đối tượng C++. Visual C++ ra đời khoảng những năm 1990 và càng ngày càng 
được sử dụng rộng rãi nhất là các ứng dụng trong kỹ thuật như là lập trình 
nhúng, lập trình điều khiển và lập trình mô phỏng. Việc tạo ra các giao diện 
phức tạp và trình bày đẹp đối với Visual C++ khá là đơn giản, và đây chính là 
thế mạnh của Visual C++ trong việc trợ giúp đắc lực cho người lập trình khi 
xây dựng những dự án lớn hoặc trong kỹ thuật lập trình hệ thống. 
Hình 3.2. Giao diện VC++ và tạo Project MFC.
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 25 
 MFC là lớp nền tảng của Microsoft (Microsoft Foundation Classes), là một 
công cụ mạnh trong lập trình ứng dụng cho hầu hết các lĩnh vực vì nó có giao 
diện đáp ứng mọi nhu cầu của người sử dụng trong việc thiết kế các giao diện 
của chương trình mô phỏng. 
3.1.3. Giới thiệu phần mềm đồ họa SolidWorks 
 Phần mềm SolidWorks là một phần mềm hỗ trợ thiết kế cơ khí (CAD) cho 
phép ta vẽ và thể hiện các đối tượng trong không gian 3 chiều (3D) một cách 
trực quan với giao diện thân thiện dễ sử dụng cũng như với hệ thống Help rất 
chi tiết và dễ hiểu ; nó còn cho phép lưu và mở file dưới nhiều dạng khác nhau 
giúp liên kết đến nhiều phần mềm khác nhau. Ở đây ta lựa chọn định dạng file 
STL(Standard Template Library) để chuẩn bị cho việc mô phỏng. 
Hình 3.3. Tạo file STL từ Solidwork (2010) 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 26 
3.1.4. Kết quả lập trình mô phỏng 
 Bài toán động học được mô phỏng sử dụng giao diện MFC và lập trình với 
phần mềm VS9.0 kết hợp với thư viện đồ họa OpenGL. Các khớp của robot 
được vẽ trên SolidWorks 2010 và xuất sang file STL để tạo models cho việc 
mô phỏng bài toán động học ngược được trực quan. 
1) Các khâu chính của robot KUKA KR6/2 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 27 
2) Các phần chính trong chương trình lập trình trên MFC 
 Chương trình mô phỏng sử dụng thư viện OpenGL gồm các lớp về vectơ, lớp 
để đặt màu cho các khâu (material), lớp điều khiển bàn phím và chuột, lớp vẽ 
quỹ đạo, lớp có các hàm tịnh tiến và quay các khâu (models), 
 Khi tạo một Project mới theo MFC, chúng ta có các lớp được tạo sẵn bởi 
Wizard : Lớp CFormdata, CKUKAView, CMainFrame, 
 Ta có thể đặt phần tính toán ở lớp nào cũng được, sao cho thuận tiện khi truy 
nhập dữ liệu giữa các lớp. 
 Ở đây, ta lấy luôn lớp CKUKAView để đặt các lệnh vẽ và hiển thị cùng hàm 
Calculate() để tính toán mô phỏng bài toán động học ngược ; lớp CFormdata 
nhận các sự kiện xảy ra trên lớp nhập dữ liệu, ở chương trình đã làm thì đó là 
các nút radio, các button để điều khiển robot đi theo quỹ đạo đã định. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 28 
3) Kết quả mô phỏng robot KUKA 6 bậc tự do 
Hình 3.11. Mô phỏng Bài toán động học ngược theo quỹ đạo tròn. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 29 
Hình 3.12. Mô phỏng BT động học ngược theo quỹ đạo thẳng. 
3.2. MATLAB 
 MATLAB là viết tắt của Matrix Laboratory – phần mềm của hãng 
MathWorks, Inc. Chỉ riêng tên gọi của nó đã mách bảo đối tượng của nó là các 
ma trận. Vectơ và các đại lượng vô hướng được biểu diễn như là ma trận nx1 và 
1x1 tương ứng. Các xâu kí tự cũng được sử dụng trong MATLAB. Matlab tích 
hợp các phương pháp tính toán, hiển thị với ngôn ngữ lập trình mạnh để cung 
cấp cho người dùng môi trường làm việc tiện lợi để giải các vấn đề tính toán 
khoa học. 
 Với khả năng tính toán mạnh về ma trận, ta có thể lập một chương trình tính 
toán các kết quả của bài toán động học thuận cũng như động học ngược dựa 
trên các thông số đầu vào. 
 Trong phạm vi bài tập lớn, em đã thiết kế hai chương trình GUI trên 
matlab cho phép tính toán động học thuận và ngược cho robot KuKa. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 30 
Thực hiện kiểm tra lại kết quả tính toán như trên hình vẽ, ta thấy có sai số giữa 
chương trình tính toán động học thuận và động học ngược. Nguyên nhân dẫn 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 31 
tới sai số là do việc nạp giá trị đầu vào của các góc quay theta ở bài toán động 
học thuận chưa đúng với góc theta được tính toán ở bài toán động học ngược. 
Tuy nhiên, sai số này nhỏ hơn 10% ( tính toán với tọa độ điểm cuối ) và có thể 
chấp nhận được. 
Mã nguồn của các chương trình mô phỏng và tính toán được gửi kèm theo bài 
báo cáo. 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 32 
TÀI LIỆU THAM KHẢO 
[1] Nguyễn Thiện Phúc. Robot Công nghiệp. NXB KHKT. Hà Nội, 2006. 
[2] Ngô Mạnh Hiến. Luận văn Thạc sĩ: Nghiên cứu động học và động lực học 
điều khiển robot, ứng dụng trên robot KUKA KR 6/2. ĐHBK Hà Nội, 2004. 
[3] Nguyễn Đức Nghĩa. Nhập môn MATLAB – BM Khoa học máy tính. Hà Nội, 
2002. 
[4] Websites: 
1 - KUKA Robotics: www.kukarobotics.com/ 
2 - The MathWorks, Inc. www.mathworks.com/ 
3 - A Practical Guide to STL: 
4 - OpenGL page:  
5 - Wikipedia.org:  
6 – Wikipedia - OpenGL:  
7 – C++ tutorial  
8 – Micosoft Visual Studio 2008 Documentation 
us/library/ms177549(VS.90).aspx 
Bài tập lớn Robot Công nghiệp KuKa Robot (6R) 
Vũ Ngọc Trọng – CDT2_K52 33 
MỤC LỤC 
LỜI NÓI ĐẦU .............................................................................................. 1 
CHƯƠNG 1 .................................................................................................. 2 
TÌM HIỂU TỔNG QUAN VỀ ROBOT CHUỖI HỞ .................................. 2 
1.1. Sự ra đời của robot ................................................................................. 2 
1.2. Phân loại robot ....................................................................................... 2 
1.2.1. Phân loại theo số bậc tự do (BTD) trong trường công tác ........... 2 
1.2.2. Phân loại theo cấu trúc động học ................................................. 2 
1.3. Tay máy (Manipulator) .......................................................................... 5 
1.4. Một số robot chuỗi hở thường gặp ......................................................... 5 
1.4.1. Tay máy tọa độ vuông góc (Cartesian robot/ Gantry robot) ........ 5 
1.4.2. Tay máy tọa độ trụ (Cylindrical robot) ........................................ 6 
1.4.3. Tay máy tọa độ cầu (Spherical/Polar robot) ................................ 7 
1.4.4. Tay máy toàn khớp bản lề ............................................................ 7 
1.4.5. Về KUKA Robotics ..................................................................... 8 
1.5. Ứng dụng của robot .............................................................................. 11 
CHƯƠNG 2 ................................................................................................ 12 
TÍNH TOÁN ĐỘNG HỌC VÀ ĐỘNG LỰC HỌC ROBOT KUKA 6 BẬC TỰ 
DO ............................................................................................................... 12 
2.1. Tính toán động học robot KUKA 6 bậc tự do ...................................... 12 
2.1.1. Phương trình động học thuận ..................................................... 13 
2.1.2. Phương trình động học ngược .................................................... 18 
CHƯƠNG 3 ................................................................................................ 23 
CHƯƠNG TRÌNH MÔ PHỎNG KẾT QUẢ TÍNH TOÁN ...................... 23 
3.1. Mô phỏng sử dụng thư viện OpenGL với MFC ................................... 23 
3.1.1. Giới thiệu về OpenGL ............................................................... 23 
3.1.2. Giới thiệu ngôn ngữ lập trình Visual C++ ................................. 24 
3.1.3. Giới thiệu phần mềm đồ họa SolidWorks ................................. 25 
3.1.4. Kết quả lập trình mô phỏng ....................................................... 26 
3.2. MATLAB ............................................................................................. 29 
TÀI LIỆU THAM KHẢO .......................................................................... 32 
            Các file đính kèm theo tài liệu này:
 bai_tap_lon_rbcn_5192.pdf bai_tap_lon_rbcn_5192.pdf