Có thể thấy Robot đã đi vào mọi lĩnh vực của đời sống con người. Vậy, Robot được ứng dụng như thế nào? Có thể nói, Robot được ứng dụng rất phong phú trong đời sống con người, cả trong trường học và trong nông nghiệp. Đạc biệt trong công nghiệp, Robot được sử dụng rộng rãi để làm một số công việc: vận chuyển nguyên vật liệu, sản phẩm, máy móc hay làm những công việc nặng nhọc, hoặc trong những môi trường làm việc có nhiệt độ cao, độc hại…
Trang 1Lêi nãi ®Çu
Từ lâu, con người đã không còn xa lạ với từ “Robot” nữa Bởi lẽ, Robot đãxuất hiện nhiều trong cuộc sống của chúng ta và nếu chưa tận mắt chứng kiến nhữngRobot này hoạt động thì cũng được xem qua các phương tiện thông tin đại chúng
Có thể thấy Robot đã đi vào mọi lĩnh vực của đời sống con người Vậy, Robotđược ứng dụng như thế nào? Có thể nói, Robot được ứng dụng rất phong phú trongđời sống con người, cả trong trường học và trong nông nghiệp Đạc biệt trong côngnghiệp, Robot được sử dụng rộng rãi để làm một số công việc: vận chuyển nguyênvật liệu, sản phẩm, máy móc hay làm những công việc nặng nhọc, hoặc trong nhữngmôi trường làm việc có nhiệt độ cao, độc hại…
Đầu tiên, Robot được dùng trong một số ngành công nghiệp kỹ thuật cao nhưcông nghiệp xe hơi, công nghiệp máy bay…để làm những công việc như hàn thân xe,phun sơn…Những Robot này là những cánh tay máy mô phỏng con người, mỗi taymáy bao gồm nhiều khâu liên kết với nhau bằng các khớp Các khâu này có thểchuyển động tương đối với nhau và làm thay đổi tầm với của Robot Thông thườngnhững Robot này được đặt cố định một chỗ và chỉ thao tác được trong khả năng tầmvới của chúng
Với những kiến thức đã học và sau một thời gian tìm hiểu cùng với sự giúp đỡtận tình của thầy giáo, sự đóng góp trao đổi xây dựng của bạn bè nhóm em đã hoànthành nhiệm vụ được giao
Song với những hiểu biết còn hạn chế nên nhóm em không tránh khỏi nhữngthiếu sót Chúng em rất mong được sự chỉ bảo của thầy giáo để bài tập của nhóm emhoàn thiện hơn
Nhóm em xin chân thành cảm ơn các thầy trong bộ môn đã tận tình giúp đỡnhóm em đặc biệt là thầy giáo hướng dẫn ThS Nguyễn Trọng Du
CHƯƠNG I:
Trang 2GIỚI THIỆU CÁC GÓC QUAY CƠ BẢN VÀ BỘ THÔNG SỐ ĐỘNG
HỌC DH1.1 Phép quay (Rotation) quanh các trục tọa độ
Giả sử ta cần quay một điểm hoặc một vật thể xung quanh trục tọa độ nào đó vớigóc quay θ 0, ta lần lượt có các ma trận chuyển đổi như sau:
Trên thực tế, việc định hướng thường là kết quả của phép quay xung quanh các trục
x, y, z Phép quay Euler mô tả khả năng định hướng bằng cách :
- Quay một góc φ xung quanh trục z
- Quay tiếp một góc θ xung quanh trục y mới, đó là y’
- Cuối cùng quay một góc ψ quanh trục z mới, đó là z’’
Trang 3Hình 1.1 : Phép quay Euler
Ta biểu diễn phép quay Euler bằng cách nhân ba ma trận với nhau :
Euler (φ ,θ ,ψ ) = Rot(z, φ)Rot(y, θ)Rot(z, ψ )
Kết quả của phép quay phụ thuộc chặt chẽ vào thứ tự quay, tuy nhiên ở phép quayEuler nếu thực hiện theo thứ tự ngược lại, nghĩa là quay góc ψ quanh z rồi tiếp đếnquay góc θ quanh y và cuối cùng quay góc φ quanh z cũng đưa đến kết quả tương
tự (Xét trong cùng hệ quy chiếu)
( , , ) ( , ) ( , ) ( , )
Rφ θ ψ =R z φ R yθ R zψVới :
Trang 4Hình 1.2 : Các thông số của khâu θ , d, a, α
Các thông số cơ bản giữa hai trục quay của khớp động i và i+1 :
ai là độ dài đường vuông góc chung giữa hai trục khớp động i và i+1, khi các trục z
không cắt nhau thì a bằng khoảng cách pháp tuyến của hai trục, khi các trục z cắtnhau thì a=0
Trang 5α là góc chéo giữa hai trục khớp động i và i+1, iα = góc quay quanh trục xi biến
zi thành 1 zi+
di là khoảng cách đo dọc trục khớp động i từ đường vuông góc chung giữa trục khớp
động i và trục khớp động i+1 tới đường vuông góc chung giữa khớp động i và trụckhớp động i-1
i
θ là góc giữa hai đường vuông góc chung nói trên.
Bộ thông số này được gọi là bộ thông số Denavit – Hartenberg hoặc viết tắt là bộthông số DH
Biến khớp:
Nếu khớp động i là khớp quay thì iθ là biến khớp, iθ = *θi
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 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
CHƯƠNG II:
HỆ PHƯƠNG TRÌNH ĐỘNG HỌC CỦA ROBOT ELBOW
2.1 Các hệ tọa độ
Gán các hệ tọa độ với các khâu như trên hình 2.1 :
(Các hệ tọa độ trên các khâu của robot tuân theo quy tắc bàn tay phải)
- a1=0 do trục Z0 và Z1 vuông góc với nhau.
Trang 6- α1=900 là góc quay quanh trục 1x để biến 0 z thành 1z
- α2=0 là góc quay quanh trục 2x để biến 1z thành 2 z
- α3=0 là góc quay quanh trục 3x để biến 2 z thành 3 z
- α4= −900 là góc quay quanh trục 4x để biến 3 z thành 4 z
- α5=900 là góc quay quanh trục 5x để biến 4 z thành 5 z
- α6=0 là góc quay quanh trục 6x để biến 5 z thành 6 z
- 1d là khoảng cách đo dọc trục giữa O0 và O1
- 6d là khoảng cách đo dọc trục giữa O5 và O6
Hình 2.1 : Vị trí ban đầu của robot Elbow và các hệ tọa độ
Trang 9Để tính 6T , ta phải nhân 1 A với 1 T6
sau đó cân bằng các phần tử của ma trận 6T tađược một hệ thống các phương trình sau:
Trang 10Hình 3.2 Bảng thông số DH của robot Elbow
Trong ví dụ mô phỏng robot này chúng ta chọn các giá trị như sau:
Trang 11Bật nút lệnh số 5 trên menu ngang, dưới.
Vào menu chính : FILE -> LOAD -> ROBOTFILE chọn DHTempl ->OPEN
Vào menu chính : ROBOTICS -> ROBOTMOTION + KINEMATICS ->
KINEMATICS DATAChọn Active Join -> Ok -> Activ Joint (1) RZ (khớp thứ nhất
là khớp quay) -> Ok -> Nhập các thông số DH của khâu thứ nhất
Vào lại bước 4 -> Number Active Joint(1) -> Ok -> ấn đúp chuột vào vệt xanh hoặcđưa con trỏ vào phần nhập dữ liệu (text box) ấn 2 (Bây giờ số khớp động là 2), nhậpcác thông số DH cho khâu số 2
Trang 12
Làm tương tự nhập các thông số DH cho 4 khâu còn lại Chú ý tất cả các khớpđều là khớp quay (Activ Joint (n) RZ)
Kết quả các độ gắn trên các khâu như hình sau
h
ệ tọa
Ta có thể kiểm tra các số liệu đã nhập bằng cách kích chuột vào menu :ROBOTICS -> ROBOTMOTION + KINEMATICS -> KINEMATICS DATA->KINEMATIC INFOMATION để xem lại số khâu, khớp và các thông số DH Nếuvào dữ liệu sai ta có thể hiệu chỉnh lại
Trang 14• Chọn vị trí đặt của khâu
• Điều chỉnh kích thước của khâu
• Chọn khớp mà khâu nối vào
Trang 15
• Đặt tên cho khâu
Sau khi ấn OK ta được khâu 1 như hình vẽ
Nếu chưa vừa ý chúng ta có thể sửa chửa kích thước khâu, thay đổi vị trí củakhâu, thay đổi màu hoặc có thể xóa đi
Làm tương tự với các số liệu như sau để thiết kế hình dáng các khâu còn lại
Trang 17- Cách 1: Load một dụng cụ làm việc có sẵn trong thư viện.
Trang 18Ta nhập các kích thước như sau:
R=0,025; Z=0,01;
Ta được modul thứ nhất :
Các thông số khác giữ nguyên
Ta làm tương tự để ra hình dáng như hình vẽ với các thông số như sau:
X top:0,054 Y top: 0,010,03 dy: 0,0010,005
Trang 193.4 Thiết kế đối tượng làm việc
• Vào menu 3D-CAD -> select group -> body group-> ok (Để thiết kế đốitượng làm việc làm việc)
• Ta bắt đầu tạo bàn làm việc lần lượt các bước theo hình vẽ sau:
Trang 21• Sau đó vào phần 3D-CAD => color => yellow để chọn màu cho vật Ta tạolần lượt để có sản phẩm cuối cùng như hình vẽ.
• Lưu ý: sau mỗi lần chỉnh sửa hay tạo mới chúng ta nên save lại như hình vẽ:
Kết quả sau khi thiết kế xong robot:
Trang 23Để lập trình điều khiển robot đã mô phỏng ta dùng phương pháp lập trình kiểu dạyhọc Sau khi đã thiết kế hình dáng robot, công cụ gắn trên khâu chấp hành cuối, cácđối tượng làm việc khác ta có thể lập trình để điều khiển robot đã mô phỏng.
Việc lập trình thực hiện theo trình tự sau:
Nhấn chuột vào (Show program window) để kích hoạt cửa sổ lập trình
Chọn New để đặt tên cho file chương trình
Chọn Append nếu muốn bổ xung một chương trình đã có
Xác định vị trí các điểm mà dụng cụ phải đi qua (dùng chuột để điều khiển cáckhớp) Sau mỗi lần xác định được một vị trí thì ấn nút PTP (điều khiển điểm) hoặcLIN (điều khiển đường) hoặc VIA (điểm trung gian dẫn hướng khi điều khiển đườngcong), CIRC (điều khiển theo đường cong) Làm liên tục cho tất cả các điểm để cómột chương trình hoàn thiện
Sau khi kết thúc việc dạy robot học, ấn nút Close trên Program Window để kết thúc
Để hiệu chỉnh và bổ xung các lệnh điều khiển khác vào chương trình, ấn chuột vàonút Edit, dùng các lệnh của EasyRob như dưới đây để hoàn thiện chương trình
Các lệnh dùng trong lập trình:
PROGRAMFILE: Bắt đầu chương trình
ENDPROGRAMFILE hoặc END: Kết thúc chương trình
PTP X Y Z A B C : Di chuyển robot đến điểm mới
WAIT x [sec]: Robot dừng hoạt động trong x giây
ERC LOAD TOOL filename: Gọi một tool file
ERC LOAD VIEW filename: Gọi một view file
ERC GRAB BODY bodyname: Dụng cụ cầm lấy một vật thể có tên bodyname
ERC RELEASE BODY bodyname: Dụng cụ thả một vật thể có tên bodyname
ERC ROBOT BASE X Y Z A B C: Di chuyển gốc tọa đọ cơ bản của robot đến vị trímới
Trang 24Chương trình:
PROGRAMFILE
! prgfln E:\phan mem hoc tap\robot\EASY_ROB\proj\phanmem.prg
erc load tool kepto
erc load view 1
PTP_AX -19.5000 57.5000 -69.0000 -83.4999 89.0000 0.0000
PTP_AX -14.0000 47.0000 -96.9999 -37.4999 89.0000 -105.0000
erc load tool kepnho
erc grab body t25
erc load tool kepto
erc release body t25
PTP_AX -132.4999 10.5000 -1.2222 -83.9999 89.0000 -43.5000
PTP_AX 5.5001 38.5000 -48.7222 -83.9999 89.0000 -43.5000
PTP_AX 4.0001 35.5000 -70.2221 -50.9999 89.5000 3.0000
erc load tool kepnho
erc grab body tn28
erc load tool kepto
erc release body tn28
wait 1
PTP_AX -164.3002 55.9888 -62.7222 -54.7999 94.5000 14.5000
PTP_AX 54.1998 55.9888 -62.7222 -54.7999 94.5000 14.5000
PTP_AX 57.1998 17.9888 -33.2222 -70.2999 87.5001 -32.0000
erc load tool kepnho
erc grab body td8
wait 1
PTP_AX 57.1998 32.9888 -33.2222 -70.2999 87.5001 -32.0000
PTP_AX 194.1997 39.4888 -80.7223 -44.7999 88.7000 -75.0001
erc load tool kepto
erc release body td8
Trang 25erc grab body tn27
wait 1
PTP_AX 30.6998 28.9888 -41.2223 -69.7999 88.5000 -75.0001
PTP_AX 194.1997 63.4888 -80.7223 -44.7999 88.5000 -75.0001
PTP_AX 198.6997 39.9888 -80.7223 -51.2999 92.0000 20.4999
erc load view 3
erc load tool kepto
erc release body tn27
wait 1
PTP_AX 198.6997 57.4888 -76.2223 -38.2999 94.0000 18.4999
PTP_AX 49.1997 1.9888 0.7777 -79.2998 88.5000 -31.5001
erc load tool kepnho
erc grab body tbx16
wait 1
PTP_AX 49.1997 23.9888 -29.7223 -54.7998 86.0000 -31.5001
PTP_AX 195.1111 32.2222 -64.7223 -53.2999 80.0000 63.0000
erc load tool kepto
erc release body tbx16
wait 1
PTP_AX 198.1997 58.4888 -64.7223 -53.2999 97.0000 70.9999
PTP_AX 51.6997 1.4888 3.7777 -87.7999 87.5000 52.4999
erc load tool kepnho
erc grab body tbx8
wait 1
PTP_AX 47.1996 38.4888 -33.7223 -87.7999 87.5000 52.4999
PTP_AX 192.6996 61.4888 -94.2222 -49.2999 88.0000 65.9999
PTP_AX 195.8596 45.6888 -92.9223 -38.0000 88.5000 74.0000
erc load tool kepto
erc release body tbx8
PTP_AX 200.2001 56.9888 -83.7223 -48.7999 89.0000 65.5000
PTP_AX 90.7000 43.4888 -59.2223 -48.7999 89.0000 100.5000
erc robot_base 0 -1 0 0 0 0
PTP_AX 51.7000 3.4888 -0.7223 -92.7999 87.5000 140.4999
erc load tool kepnho
erc grab body t24
wait 1
PTP_AX 51.7000 27.4888 -0.7223 -92.7999 87.5000 140.4999
PTP_AX 219.6999 49.4888 -70.2223 -56.7999 87.5000 121.9999
PTP_AX 222.6999 32.9888 -65.2223 -52.7999 92.5000 130.9997
erc load view 4
erc load tool kepto
erc release body t24
wait 1
PTP_AX 222.6999 50.9888 -65.2223 -52.7999 92.5000 130.9997
PTP_AX 364.6995 40.4888 -81.2223 -48.5999 90.0000 185.9997
erc load tool kepnho
erc grab body tn26
Trang 26wait 1
PTP_AX 354.1996 49.4888 -81.2223 -48.5999 90.0000 185.9997
PTP_AX 219.8997 32.2888 -63.9224 -53.0998 85.5000 218.9995
erc load tool kepto
erc release body tn26
erc load tool kepnho
erc grab body t23
wait 1
PTP_AX 43.8997 37.7888 -51.9224 -62.5998 87.5000 135.9996
PTP_AX 225.8997 14.9888 -25.9224 -80.0997 87.5000 137.4996
erc load tool kepto
erc release body t23
wait 1
PTP_AX 225.8997 20.2888 -25.9224 -80.0997 84.5000 137.4996
PTP_AX 57.8997 20.2888 -25.9224 -80.0997 84.5000 137.4996
PTP_AX 45.8997 15.2888 -25.9224 -80.5997 88.0000 134.4996
erc load tool kepnho
erc grab body t22
wait 1
PTP_AX 45.8997 23.7888 -25.9224 -80.5997 88.0000 134.4996
PTP_AX 221.4000 19.6888 -35.4224 -79.0997 86.5000 141.4993
erc load tool kepto
erc release body t22
erc load tool kepnho
erc grab body t21
wait 1
PTP_AX 48.3998 34.2888 -43.9224 -61.0998 87.5000 139.9993
PTP_AX 217.3996 37.7888 -76.9224 -42.0998 91.0000 117.4992
erc load tool kepto
erc release body t21
wait 1
PTP_AX 217.3996 63.2888 -76.9224 -42.0998 90.5000 115.4994
PTP_AX -10.1004 44.2888 -90.4223 -40.5998 90.5000 169.9994
erc load tool kepnho
erc grab body tn25
wait 1
PTP_AX -8.6004 56.7888 -89.9223 -40.5998 90.5000 169.9994
Trang 27PTP_AX 218.8996 31.3000 -61.9224 -54.0998 90.5000 216.4992
erc load tool kepto
erc release body tn25
wait 1
PTP_AX 218.3996 51.0000 -61.9224 -54.0998 92.5000 216.4992
PTP_AX 91.3996 51.0000 -61.9224 -54.0998 92.5000 216.4992
PTP_AX 49.3996 4.0000 -1.9224 -89.5998 91.0001 139.9992
erc load tool kepnho
erc grab body t20
PTP_AX 49.8996 16.5000 -13.4224 -89.5998 91.0001 139.9992
PTP_AX 212.8994 37.0000 -73.6225 -52.5998 89.0001 123.4993
erc load tool kepto
erc release body t20
erc load tool kepnho
erc grab body t19
wait 1
PTP_AX 39.3995 36.2000 -62.4225 -62.0999 90.5001 131.9991
PTP_AX 223.8994 21.2000 -38.4225 -73.5998 89.0001 119.9990
erc load tool kepto
erc release body t19
wait 1
PTP_AX 223.8994 37.2000 -36.4225 -74.0998 90.5001 124.4990
PTP_AX 40.8994 28.7000 -54.9225 -64.0999 90.5001 130.4988
erc load tool kepnho
erc grab body t18
wait 1
PTP_AX 41.3994 37.7000 -54.9225 -64.0999 91.5001 130.4988
PTP_AX 220.8993 28.7000 -54.4225 -62.0999 89.5001 129.9988
erc load tool kepto
erc release body t18
erc load tool kepnho
erc grab body t17
Trang 28erc load tool kepto
erc release body t17
wait 1
PTP_AX 203.3994 51.2000 -71.9225 -59.0997 87.0002 128.4988
PTP_AX 52.8994 51.2000 -71.9225 -59.0997 87.0002 128.4988
PTP_AX 47.8994 3.7000 -0.9225 -91.5996 90.5002 136.4987
erc load tool kepnho
erc grab body t14
wait 1
PTP_AX 47.8994 7.7000 -0.9225 -91.5996 90.5002 136.4987
PTP_AX 198.8994 30.7000 -48.9225 -91.5996 90.5002 136.4987
PTP_AX 203.8994 41.5000 -83.4224 -46.5997 91.0002 112.4986
erc load tool kepto
erc release body t14
erc load tool kepnho
erc grab body t15
wait 1
PTP_AX 47.3994 24.7000 -24.9225 -79.5997 91.5001 135.4987
PTP_AX 195.3994 18.7000 -24.9225 -79.5997 91.5001 135.4987
PTP_AX 204.8992 36.2000 -72.9225 -53.0998 91.5001 127.9988
erc load tool kepto
erc release body t15
wait 1
PTP_AX 204.3994 45.2000 -68.4225 -54.5998 90.5001 121.9987
PTP_AX 52.8994 45.2000 -68.4225 -54.5998 90.5001 121.9987
PTP_AX 45.3994 28.2000 -55.4225 -57.0998 90.5001 136.9987
erc load tool kepnho
erc grab body t16
erc load tool kepto
erc release body t16
wait 1
PTP_AX 200.8993 49.0000 -84.4224 -45.5997 91.0002 110.4986
PTP_AX 91.3994 49.0000 -84.4224 -45.5997 91.0002 110.4986
PTP_AX 50.3993 4.0000 -2.9224 -87.0997 91.0002 140.9985
erc load tool kepnho
erc grab body t13
wait 1