You are on page 1of 23

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ, ĐHQGHN

BÁO CÁO MÔN HỌC


Robot
Thực hiện

STT Họ và tên MSSV Nhóm


1 Trần Việt Hoàng 18020569 7
2 Nguyễn Bá Hoàng 18020563 7
3 Vũ Đình Hiệu 18020521 7

Tên topic

Thiết kế và mô phỏng Robot SCARA 3 bậc tự do

Hà Nội, 11/2021

2021-2022
Thái độ học tập
 Chủ động: Học là nhiệm vụ và quyền lợi của bạn. Khi bạn gặp khó khăn? Hãy tìm
cách giải quyết.Khi bạn có thắc mắc? Hãy hỏi. Hãy hỏi từ bạn bè mình trước: “Học
thầy không tày học bạn”.

 Trách nhiệm: Học là việc của bạn, không ai làm hộ được. Nếu bạn không cố gắng,
không ai giúp được bạn. Nếu bạn không chủ động, không ai thúc được bạn. Nếu bạn
vừa yếu lại vừa lười, bạn sẽ trượt. Hãy chăm học ngay từ tuần đầu tiên.

 Trung thực: Các bài tập ở nhà và dự án phải được thực hiện từ chính bản thân các
bạn. Nếu bị phát hiện có sao chép thì xử lý các bạn có liên quan bằng hình thức đánh
giá 0 (không) điểm quá trình và cuối kỳ. Ở nhiều trường đại học, chép bài sẽ bị đuổi
học. Ở nhiều nước, ăn cắp bản quyền sẽ bị ra tòa.

 Nghi ngờ: Đừng cả tin, sách có thể sai, giáo viên có thể sai. Tất nhiên, bạn có thể sai.
Hãy thắc mắc!

 Dũng cảm: Hãy hỏi khi không biết, hãy thắc mắc khi thấy có vấn đề. Đừng sợ người
khác đánh giá! Có thể đặt câu hỏi nghĩa là khá hơn rất rất nhiều so với việc không thể
hỏi. Thực tế là những bạn hay hỏi thường là các bạn học tốt. "No question is stupid!"

2021-2022
I. Lịch sử robot
Ngay sau chiến tranh thế giới thứ hai, ở 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ạ. Vào những năm 50 của thế kỉ 20, bên cạnh những tay máy chộp
hỡnh cơ khí đú, đó xuất hiện các loại tay máy chộp hỡnh thuỷ lực và điện
từ.
Năm 1961, chiếc robot công nghiệp đầu tiên được đưa vào sử dụng ở
nhà mỏy utụ General Motor 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ì. Đến năm 1990, có hơn 40 công ty Nhật Bản đã đưa ra thị trường
quốc tế nhiều loại robot nổi tiếng.
Từ những năm 70, việc nghiên cứu nâng cao tính năng của robot đã chú
ý nhiều đến sự lắp đặt thờm cỏc cảm biến ngoại tín hiệu để nhận biết môi
trường làm việc. Một lĩnh vực được nhiều phòng thí nghiệm quan tâm là
robot tự hành. Các công trình nghiên cứu tạo ra robot tự hành bắt chước
chân người hoặc súc vật. Các loại robot này còn chưa có nhiều ứng dụng
trong công nghiệp, tuy nhiên các loại xe robot (robocar) lại nhanh chóng
được đưa vào ứng dụng trong các hệ thống sản xuất tự động linh hoạt.
Từ những năm 80, nhất là những năm 90, do áp dụng rộng rãi các ứng
dụng kĩ thuật về vi xử lí và công nghệ thông tin, số lượng robot công nghiệp
đã gia tăng, giá thành đã giảm đi rõ rệt, tính năng đã có nhiều bước tiến vượt
bậc. Nhờ vậy robot công nghiệp đã có vị trí quan trọng trong cỏc dãy truyền
tự động sản xuất hiện đại.
II. Định nghĩa, phân loại robot và ứng dụng
1. Định nghĩa
Các nhà khoa học đã đưa ra rất nhiều các định nghĩa khác nhau về Robot.
 Viện nghiên cứu Mỹ “ Robot là một tay máy nhiều chức năng, thay đổi
được
chương trình hoạt động, được dùng để di chuyển vật liệu, chi tiết máy,
dụng cụ
hoặc dùng cho những công việc đặc biệt thông qua những chuyển động
khác nhau
đã được lập trình nhằm mục đích hoàn thành những nhiệm vụ đa dạng”
 Theo tiêu chuẩn AFNOR (Pháp)
“ Robot công nghiệp là một cơ cấu chuyển động tự động có thể lập trình,
lặp
lại các chương trình, tổng hợp các chương trình đặt ra trên các hệ tọa

2021-2022
độ, có khả
năng định vị, định hướng, di chuyển các đối tượng vật chất theo những
hành trình
thay đổi đã được chương trình hóa nhằm thực hiện các nhiệm vụ công
nghệ khác
nhau”.
 Theo RIA ” Robot là một tay máy vạn năng có khả năng lặp lại các
chương
trình được thiết kế để di chuyển vật liệu, chi tiết, dụng cụ hoặc các thiết
bị chuyên
dùng thông qua các chương trình chuyển động có thể thay đổi để hoàn
thành các
nhiệm vụ khác nhau”
 Theo tiêu chuẩn GOST 1980 (Nga)
“Robot là máy tự động liên kết giữa một tay máy và một cụm điều khiển
chương trình hóa, thực hiện một chu trình công nghệ một cách chủ động
với sự điều
khiển có thể thay thế những chức năng tương tự của con người”

Tổng kết lại, với những định nghĩa trên Robot công nghiệp có hai đặc
trƣng cơ bản là:
 Là thiết bị vạn năng được tự động hóa theo chương trình và có thể
lặp lại để
đáp ứng một cách linh hoạt, khéo léo các nhiệm vụ khác nhau.
 Được ứng dụng trong trường hợp mang tính công nghệ đặc trưng như
vận
chuyển và xếp dỡ nguyên liệu, lắp ráp, đo lường…
Với đặc điểm có thể lập trình lặp lại Robot công nghiệp ngày càng trở
thành
bộ phận không thể thiếu được trong các hệ thống sản xuất linh hoạt.
2. Phân loại robot
Việc phân nhóm, phân loại robot có thể dựa trên những cơ sở kỹ thuật
khác nhau. Dưới đây là một số cách phân loại chủ yếu:
 Phân loại theo số bậc tự do:
Một số cách phân loại hiển nhiên của robot là phân loại theo bậc tự do
của chúng. Một cách lý tưởng, một robot có 6 bậc tự do khi cầm năm một
đối tượng tù do không gian 3 chiều. Từ quan điểm này, chúng ta gọi một
robot là robot tổng quát (General Purpose Robot) nếu nú cú sỏu bậc tự do,

2021-2022
gọi là robot dự (Redundant Robot) nếu nó có nhiều hơn sáu bậc tự do và gọi
là robot thiếu (Dốicient Robot) nếu nó cú Ýt hơn sáu bậc tự do.
Mét robot sẽ linh hoạt hơn khi di chuyển và hoạt động trong một không
gian kín bị hạn chế. Mặt khác, trong một số ứng dụng đặc biệt như trong
việc lắp ráp trong một mặt phẳng thì chỉ cần robot với bốn bậc tự do là đủ.
 Phân loại theo cấu trúc động học:
Một phương pháp phân loại khác là phân loại theo cấu trúc động học của
chúng. Mét robot được gọi là robot tuần tù hay robot chuỗi hở 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 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ả hai loại chuỗi hở và chuỗi đóng. Nhìn nhận một cách
tổng quát thì robot song song có nhiều ưu điểm vỡ chồng có độ cứng vững
cao hơn, khả năng tải cao hơn, nhưng không gian làm việc nhỏ hơn và cấu
trúc phức tạp hơn.
 Phân loại theo hệ thống động học hay công nghệ di chuyển:
- Hệ điện:
+ Sử dụng các công nghệ mới, các loại vật liệu mới ít chịu ảnh hưởng
của từ trường trái đất.
+ Tiếp tục nâng cao công suất và hiệu suất công tác.
+ Xử lí tốt các cụm nối ghép trong mạch nguồn, mạch điều khiển và |
hiệu chỉnh nâng cao hơn nữa độ tin cậy.
- Hệ thuỷ lực - khí nén:
+ Hệ thuỷ lực có thể đạt đến công suất cao, đáp ứng được những điều
kiện làm việc nặng. Tuy nhiên hệ thống thuỷ lực thường cồng kềnh, yêu
cầu dòng dầu, chất lượng dầu cao, hơn nữa vận tốc lại có độ phi tuyến
lớn, khó đảm bảo độ chính xác cao khi điều khiển.
+ Hệ khí nén làm việc với công suất trung bình và nhỏ, có kết cấu
đơn giản. Đòi hỏi phải gắn liền với trung tâm khí nén, kém chính xác.
Thích hợp cho các loại robot hoạt động theo chương trình định sẵn với
các thao tác đơn giản kiểu nhấc lên hạ xuống.
 Phân loại theo hệ thống truyền động:
- Hệ truyền động gián tiếp: Các cơ cấu chấp hành được nối với nguồn
động lực thông qua các bộ truyền động cơ khí thường gặp như hệ thống
bánh răng thường, hệ bánh răng hành tinh, hệ bánh răng sóng, dây đai, bộ
truyền xích hay cao hơn là bộ truyền vớt đai ốc bị... Nhược điểm của hệ
này là bị mòn tạo khe hở động học dẫn đến tính phi tuyến và hiệu ứng trễ
ngày càng cao hơn. Mặt khác hiệu suất sẽ giảm do tiêu hao công suất trên
bộ truyền.
- Hệ truyền động trực tiếp: Các cơ cấu chấp hành được nối trực tiếp với
nguồn động lực, do đó kết cấu sẽ gọn nhẹ và hạn chế, loại bỏ được những
2021-2022
nhược điểm của truyền động gián tiếp. Mặt khác, những khó khăn đặt ra
là cần thiết kế chế tạo các động cơ có số vòng quay thích hợp và cho phép
điều khiển vô cấp trên một dải rộng.
 Phân loại theo phương pháp điều khiển:
Dựa vào tính chất đặc trưng của quĩ đạo điều khiển củ cóc qui tắc điều khiển
cơ bản là:
– Điều khiển điểm.
– Điều khiển quĩ đạo liên tục.
– Điều khiển nhận dạng.
– Điều khiển thích nghi.
 Phân loại theo độ chính xác:
Trong hoạt động của robot cần phân biệt độ chính xác tuyệt đối và độ
chính xác lặp lại để đánh giá mức độ tin cậy trong mét chu kì làm việc đơn lẻ
và trong một quá trình làm việc lõu dài. Mặt khác, để đánh giá trên một miền
kích thước hay một phạm vi chức năng rộng hơn, người ta còn đưa ra độ
chính xác phân giải để đánh giá mức độ chính xác trờn cỏc miền phân giải
khác nhau.
3. Ứng dụng robot công nghiệp
 Mục tiêu ứng dụng của robot công nghiệp

– Mục tiêu ứng dụng robot công nghiệp nhằm góp phần nâng cao năng suất
dây chuyền công nghệ, giảm giá thành sản phẩm, nâng cao chất lượng và
khả năng cạnh tranh của sản phẩm, đồng thời cải thiện điều kiện lao động
– Robot công nghiệp có thể thực hiện được một qui trình thao tác hợp lí
bằng hoặc hơn người thợ lành nghề một cách ổn định trong suốt thời gian
làm việc. Vì thế robot công nghiệp có thể góp phần nâng cao chất lượng và
khả năng cạnh tranh của sản phẩm. Hơn thế robot còn có thể nhanh chóng
thay đổi công việc để thích nghi và thay đổi mẫu mã, kích cỡ sản phẩm theo
yêu cầu của thị trường cạnh tranh.
• Khả năng giảm giá thành sản phẩm do ứng dụng robot là giảm được đáng
kể chi phí cho người lao động.
Việc áp dụng robot có thể làm tăng năng suất dây chuyền công nghệ. Sở dĩ
như vậy vì nếu tăng nhịp độ khẩn trương của dây chuyền sản xuất, nếu
không thay thế con người bằng robot thì người thợ không thể theo kịp hoặc
rất chóng mệt mỏi.
• Robot có thể cải thiện điều kiện lao động. Đó là ưu điểm nổi bật nhất mà
chúng ta cần lưu tâm. Vì trong thực tế sản xuất có rất nhiều nơi người lao
2021-2022
động phải làm việc trong môi trường có hại cho sức khoẻ hoặc dễ xảy ra tai
nạn lao động.
 Các lĩnh vực ứng dụng robot công nghiệp
Robot công nghiệp được ứng dụng nhiều trong các lĩnh vực: đúc, gia công
áp lực, hàn và nhiệt luyện, gia công và lắp ráp,….

Hình 1. Robot phục vụ máy phay CNC

Hình 2. Hệ thống Robot hàn vỏ ôtô

2021-2022
III. Robot scara
 Khái quát robot Scara

– Thuật ngữ Scara được đề xuất lần đầu tiên vào năm 1979 tại Nhật Bản,
trong các hoạt động nghiên cứu lắp ráp tại trường đại học Yamanashi. Nó
là tên viết tắt của Selective Compliance Assembly Robot Arm. Dịch ra
tiếng Việt có nghĩa là “Cánh tay robot lắp ráp có chọn lọc”.
 Cấu tạo
– Hình mẫu nguyên thủy của Scara là một kiểu tay máy có cấu tạo rất đặc
biệt. Nó bao gồm 2 khớp quay, 1 khớp trượt. 3 khớp đều có trục song song
với nhau. Các cấu trúc của Scara là cấu trúc nối tiếp. Nghĩa là động cơ đầu
tiên phải mang theo tất cả những động cơ khác sau đó. Nếu Scara được thiết
kế theo đôi cánh tay thì 2 động cơ đầu tiên sẽ được cố định ở đấy và có chức
năng kéo theo, điều khiển các động cơ còn lại.
– So với kết cấu theo phương thẳng đứng, thì kết cấu này vững hơn, cứng
hơn. Tuy nhiên so với phương ngang thì nó lại kém cứng vững hơn. Vùng
làm việc của Scara là một phần của hình trụ rỗng, theo mô thức cử động tay
như thao tác của con người. Cùng với tên gọi robot Scara, nó còn được gọi
với nhiều tên gọi khác như Scara song song (parallel scara robot), Scara
cánh tay (scara robot arm). Scara cũng có rất nhiều loại:
 Robot Scara 2 bậc tự do
 Robot Scara 3 bậc tự do
 Robot Scara 4 bậc tự do
 Robot Scara 5 bậc tự do
 Robot Scara 6 bậc tự do

IV. Bài toán động học Robot SCARA 3 bậc tự do


Robot SCARA thường là cơ cấu hở, gồm một chuỗi các khâu nối với
nhau
bằng các khớp động, khâu đầu tiên được nối với giá cố định (chân đế). Các
khớp động này có thể là khớp quay hoặc khớp tịnh tiến. Để Robot có thể
thao tác linh hoạt theo mục tiêu đặt ra thì cấu trúc chuỗi động của nó phải
đảm bảo sao cho điểm mút của khâu cuối đi theo một quỹ đạo cho trước nào
đó và bản thân các khâu các khớp có khả năng thay đổi hướng một cách dễ
dàng phù hợp với công việc. Khâu cuối cùng thường là bàn kẹp hoặc khâu
gắn liền với dụng cụ làm việc (mỏ hàn, camera, dao cắt, …). Do đó khi

2021-2022
nghiên cứu Robot ta cần quan tâm không những vị trí của nó mà còn phải
quan tâm hướng của khâu cuối cùng trong hệ tọa độ cơ sở.
Khi nghiên cứu các bài toán động học Robot công nghiệp, người ta có
thể dùng nhiều phương pháp khác nhau: phương pháp vẽ hình, phương pháp
giải tích vector, … Một trong những phương pháp phổ biến, đơn giản và
hiệu quả nhất hiện nay là dùng ma trận biến đổi thuần nhất Denavit
Hartenberg. Theo phương pháp này để xác định vị trí và hướng của cơ cấu
tác động cuối Robot so với hệ tọa độ cố định, ta gắn vào khâu tác động cuối
một hệ tọa độ động n và gắn mỗi khâu động một hệ tọa độ động khác (từ
khâu n đến khâu n-1) theo một quy tắc gọi là quy tắc Denavit Hartenberg. Ta
xác định các thông số của khâu, khớp (thông số Denavit Hartenberg) của
Robot và biểu diễn mối quan hệ giữa các hệ tọa độ động gắn trên khâu thông
qua các thông số này dưới dạng ma trận (4x4), nhờ đó mà người ta xác định
được vị trí và hướng của cơ cấu tác động cuối. Như vậy thông qua các phép
tính toán các ma trận dạng (4x4) ta dễ dàng xác định được vị trí và
hướng của cơ cấu tác động cuối hay một khâu bất kỳ nào đó trên robot.
1. Hệ tọa độ Denavit – Hartenberg
a) Quy tắc gắn các hệ tọa độ lên các khâu
Khi nghiên cứu động học Robot, người ta thường dùng quy tắc Denavit
Hartenberg. Theo quy tắc này thông qua việc gắn các hệ tọa độ lên các khâu
ta có thể xác định được các ma trận biểu biến đổi biểu thị mối quan hệ giữa
các hệ tọa độ với nhau nhờ các phép biến đổi thuần nhất. Nhờ đó mà mà ta
xác định được vị trí của điểm tác động cuối so với hệ tọa độ gốc.

Xét hai khâu kế tiếp nhau của Robot là khâu thứ i-1 và khâu thứ i được
liên
kết với nhau thông qua khớp i. Nguyên tắc gắn các hệ tọa độ lên các khâu là:

2021-2022
- Gốc tọa độ Oi của hệ tọa độOi x i y i z i gắn liền với khâu thứ i đặt tại giao
điểm
của trục khớp động thứ i+1 và đường vuông góc chung của trục khớp thứ
i và trục
khớp thứ i+1. Nếu hai trục khớp này cắt nhau thì gốc tọa độ Oi đặt tại
giao điểm của
hai trục khớp đó. Nếu hai trục khớp song song với nhau ta có thể đặt gốc
tọa độ Oi
tại điểm bất kỳ nằm trên trục khớp thứ i+1
- Trục zi của hệ tọa độ Oi x i y i z i đặt dọc theo trục của khớp thứ i+1
- Trục xi của hệ tọa độ Oi x i y i z i đặt dọc theo phương của đường vuông góc
chung giữa trục khớp thứ i và trục khớp thứ i+1. Chiều của truc xi hướng
từ khớp động thứ i sang khớp động thứ i+1. Trong một số trường hợp khi
hai trục khớp động thứ i và trục khớp động thứ i+1 giao nhau thì trục xi
được xác định bằng tích giữa hai vector z i x z i+1
- Sau khi đã xác định đƣợc gốc tọa độ Oi , các trục zi và trục xi ta có thể
xác
định trục yi bằng quy tắc bàn tay phải
Tương tự như các xây dựng trên ta xác định được hệ tọa độ
Oi−1 x i−1 y i−1 zi −1 được
gắn liền với khâu i-1
b) Các thông số động học Denavit Hartenberg
Bằng việc gắn các hệ tọa độ Oi x i y i z ivà Oi−1 x i−1 y i−1 zi −1ta xác định các
thông số
Denavit Hartenberg. Thông qua các tham số động học Denavit Hartenberg
này ta
có thể biểu thị mối quan hệ giữa hệ tọa độ Oi x i y i z ivà Oi−1 x i−1 y i−1 zi −1bằng các
phép
biến đổi thuần nhất. Các thông số động học Denavit Hartenberg đó là:

2021-2022
- a i :Đường vuông góc chung giữa trục khớp thứ i và trục khớp thứ i+1. Đây
cũng là khoảng dịch chuyển để đưa điểm Oi ' tới điểm Oi dọc theo chiều
của trục x i. Ngoài ra người ta thường gọi a i là chiều dài khâu i
- α i :Góc giữa hai trục khớp i và trục khớp i+1 trong mặt phẳng vuông góc
với pháp tuyến chung ai. Đây là góc quay quanh trục xi để trục z i−1chuyển
đến trục z i.
- d i :Là khoảng cách đo trên trục z i−1giữa đường vuông góc chung tạo bởi
trục khớp i và trục khớp i+1 và đường vuông góc chung tạo bởi trục khớp
i-1 và trục khớp i. Đây cũng là khoảng tịnh tiến dọc theo trục z i−1để gốc
tọa độ Oi−1chuyển đến Oi ' .
- θi Góc giữa hai đường vuông góc chung tạo bởi trục khớp i và trục khớp
i+1 và đường vuông góc chung tạo bởi trục khớp i-1 và trục khớp i trong
mặt phẳng vuông góc với trục khớp i. Đây cũng là góc quay quanh trục
z i−1để phương của trục tọa độ x i−1và trục x i trùng nhau.

Hai thông số ai và α i là 2 thông số của khâu. Hai thông số này luôn là


hằng số độ lớn của chúng phụ thuộc vào hình dáng, kích thước và vị trí
tương đối giữa khâu thứ i và khâu thứ i-1. Còn lại, d i và θi được gọi là thông
số của khớp, chúng phụ thuộc vào loại của khớp. Trong mỗi trường hợp thì
một trong hai thông số này là hằng số thông số còn lại là ẩn số. Nếu khớp là
khớp quay thì thông số θi là ẩn số và ngược lại nếu khớp là khớp
trượt thì thông số d i là ẩn số.
2. Ma trận biến đổi giữa các hệ tọa độ
Để có thể chuyển hệ tọa độ Oi−1 x i−1 y i−1 zi −1 về hệ tọa độ Oi x i y i z i ta lần
lượt thực
hiện bốn chuyển động sau:

- Đầu tiên ta quay hệ tọa độ Oi−1 x i−1 y i−1 zi −1 quanh trục z i−1 một góc i.
- Dịch chuyển tịnh tiến dọc trục z i−1một đoạn d i.
- Dịch chuyển tịnh tiến dọc dọc x i một đoạn a i.
- Cuối cùng ta quay quanh trục x i một góc α i.

2021-2022
Ma trận biến đổi hệ tọa độ Oi−1 x i−1 y i−1 zi −1về hệ tọa độ Oi x i y i z i được xác
định
bằng tích các ma trận biến đổi của bốn chuyển động cơ bản trên là:
i−1
T i =Rot ( z , θi ) . Trans ( 0,0 , d i ) .Trans ( ai , 0,0 ) . Rot ( x , α i)

Nếu quay hệ tọa độ xung quanh trục z i−1một góc θi thì ma trận biến đổi
các hệ tọa độ là:

[ ]
c θi −s θ i 0 0
sθ c θi 0 0
Rot ( z ,θ i) = i
0 0 1 0
0 0 0 1
Còn khi dịch chuyển tịnh tiến theo trục z i−1một góc d i thì ma trận biến
đổi các hệ
tọa độ là:

[ ]
1 0 0 0
0 1 0 0
Trans ( 0,0 , di ) =
0 0 1 di
0 0 0 1
Và ở bước quay xung quanh trục x i một góc α i, ma trận chuyển đổi sẽ là:

[ ]
1 0 0 0
0 c α i −s α i 0
Rot ( x ,α i )=
0 s αi c αi 0
0 0 0 1
Ma trận chuyển đổi từ hệ tọa độ Oi−1 x i−1 y i−1 zi −1về hệ tọa độ Oi x i y i z ilà:

[ ]
cos θ i −sin θi . c α i s θ i . s α i ai c θi
s θi c θi . c α i −s α i . c θ i ai s θi
T i−1
i =
0 sαi c αi di
0 0 0 1

Ma trận T i−1
i được gọi là ma trận biến đổi thuần nhất nó có dạng:

T i−1
i =
[ Ri
0
pi
1 ]
Với Ri : Ma trân quay
pi : Vector tịnh tiến

Theo phép chuyển đổi thuần nhất giữa các hệ tọa độ, ta xác định được vị
trí và hướng của cơ cấu tác động cuối so với hệ tọa độ gốc được mô tả bằng
ma trận tổng
hợp :

2021-2022
[ ]
nx ox ax px
n
n oy ay py
T n= ∏ T i = y
0 i−1

i=1 nz oz az pz
0 0 0 0
Với
+) n: số biến khớp của Robot
+) T i−1
i : ma trận chuyển đổi giữa hệ tọa độ thứ i đến hệ tọa độ thứ i-1
0
+) T n=f (q 1 , q 2 , … , qn ) ; q là các biến khớp; n, s, a là các vector chỉ
T
phương p= [ p x p y p z ] là vector chỉ vị trí.

Như vậy khi biết được đặc tính hình học của các khâu và các quy luật
chuyển động của các khớp ta hoàn toàn xác định được vị trí và hướng của
khâu thao tác.

V. Bài toán động học thuận

Để xây dựng phương trình động học cho robot dùng phương pháp Denavit –
Hartenberg
- Xác định tọa độ:
Xác định mỗi hệ tọa độ địa phương gắn vào từng khâu của robot theo quy tắc
DH: Tại mỗi khớp của robot, phần đế robot và khâu tác động cuối ta gán vào đó một
hệ tọa độ.
Với L1= 350mm; L2=310mm; L3=290mm

2021-2022
Lập bảng D-H:

a α d θ
1 0 π L1 θ1
2
2 L2 0 0 θ2
3 L3 0 0 θ3

Gọi sin = s và cos = c


Ma trận biến đổi vị trí từ 0 đến 3 là:
0 0 1 2
3 T =1T ∗2T ∗3T

[ ]
c θ1 0 s θ1 0
0 s θ1 0 −c θ1 0
1T =
0 1 0 L1
0 0 0 1

[ ]
c θ2 −s θ2 0 L1∗c θ2
1 s θ2 c θ2 0 L1∗s θ2
2T =
0 0 1 0
0 0 0 1

[ ]
c θ3 −s θ 3 0 L3∗c θ 3
2 s θ 3 c θ3 0 L3∗s θ3
3T =
0 0 1 0
0 0 0 1

[ ]
r 11 r 12 r 13 P x
0 r r r P
 3T = 21 22 23 y
r 31 r 32 r 33 Pz
0 0 0 1

Bài toán động học thuận ta có tìm được vị trí điểm cuối:
 Px = L2∗c θ1∗c θ2 + L3∗c θ1∗c θ 2∗c θ3−L3∗c θ 1∗s θ2∗s θ3
 Py = L2∗s θ1∗c θ 2+ L3∗c θ 2∗c θ3∗s θ1−L3∗s θ1∗s θ2∗s θ3
 Pz = L1 + L2∗s θ2 + L3∗c θ2∗s θ3 + L3∗s θ 2∗c θ3

2021-2022
VI. Bài toán động học ngược
 Mục đích: Xác định vị trí góc quay của các khơp khi biết vị trí và hướng của
các điểm cuối. Điều này được áp dụng nhiều vào trong thực tế
 Nghiệm của bài toán ngược là thông tin quan trọng để điều khiển robot hoạt
động

Ta có vị trí cuối cùng của tay máy: P(Px,Py,Pz)

{
Px=L2∗c 1∗c 2 + L3∗c 1∗c 2∗c 3−L3∗c 1∗s 2∗s3 (1)
Py=L2∗s1∗c 2+ L3∗c 2∗c 3∗s 1−L3∗s1∗s 2∗s3 (2)
Pz=L1+ L2∗s 2+ L3∗c 2∗s3 + L3∗s 2∗c 3 (3)

Ta bình phương 2 vế của phương trình (1) và (2):


2 2
P x + P y =L2∗( c1 +c 2 ) + L3∗( c 23 + s23 ) +2∗L2∗L3∗¿
2 2 2 2 2 2 2

 P2x + P2y =L22+ L23 +2∗L2∗L3∗c2


2 2 2 2
P + P −(L2 + L3)
 c 2= x y
2∗L2∗L3
 s2= √ 1−c 22
s2
 tan ( θ 2 )=
c2
 θ2=actan(s 2 , c 2)
Ta có:
Px∗( L3∗c 2∗s 3 ) + L3∗s2∗c 3∗Py
c 1=
¿¿
Py∗( L3∗c2∗s 3 )−L3∗s 2∗c 3∗Px
s1=
¿¿

1 s Py∗( L3∗c 2∗s3 ) −L3∗s2∗c3∗Px


 tan ( θ 1 )= c =
Px∗( L3∗c 2∗s3 ) + L3∗s 2∗c 3∗Py
1

 θ1=actan 2 ( s 1 , c 1 )
 θ3 =acos ⁡(c 3)
Ta tìm được các góc lệch ban đầu thta1, theta2, theta3.

VII. Quy hoạc quỹ đạo Robot


1. Vẽ 3D qua Solidworks

2021-2022
2021-2022
2. Mô phỏng qua Matlab
Chuyển mô hình bên Solidworks sang Matlab Simulink, ta được m-file và 1 file
đuôi .slx (mô hình simulink)

Ta điều khiển cánh tay robot 3 dof thông qua bộ điều khiển PID (tỉ lệ, tích phân,
vi phân).
Ta lập trình bảng điều khiển GUI để điều khiển cánh tay Robot sử dụng bài toán
động học thuận, nghịch. Thiết lập quỹ đạo vẽ trước cho robot như: hình tròn,
hình xoắn ốc, đường thẳng, hình vuông, trái tim.

Bảng điều khiển GUI:

2021-2022
- Bài toán thuận nhập giá trị các góc lệch giữa các khớp: theta1, theta2,
theta3.
- Bài toán thuận nhập toạ độ điểm cuối: P(x,y,z)
Hình bên la biểu diễn quỹ đạo cánh tay robot được lập trình theo quỹ đạo đã lập
trình sẵn.

VIII. Xây dựng phần cứng robot Scara 3 bậc


Phần cứng gồm có :
1. Board arduino UNO

2. 2 servo SG5010

3. 1 servo SG90

2021-2022
4. 1 board nối mạch

5. 5 bóng đèn LED

6. 3 núm chiết áp

2021-2022
7. 2 nút ấn

8. Nhựa Alu Mica ( dùng để tạo lên vỏ ngoài các chi tiết của Robot)

9. Dây kết nối đực cái của Arduino

2021-2022
IX. Code điều khiển Robot
#include <Servo.h>

Servo servo1; //Servos


Servo servo2;
Servo servo3;

const int LED1 = 2;


const int LED2 = 3;
const int LED3 = 4;
const int LED4 = 7;
const int LED5 = 8;

const int button1 = 12;


const int button2 = 13;

int button1Presses = 0;
boolean button2Pressed = false;

const int pot1 = A0;


const int pot2 = A1;
const int pot3 = A2;

int pot1Val;
int pot2Val;
int pot3Val;
int pot1Angle;
int pot2Angle;
int pot3Angle;

int servo1PosSaves[] = {1,1,1,1,1};

2021-2022
int servo2PosSaves[] = {1,1,1,1,1};
int servo3PosSaves[] = {1,1,1,1,1};

void setup() {
servo1.attach(5);
servo2.attach(6);
servo3.attach(9);

pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);

Serial.begin(9600);
}

void loop() {
pot1Val = analogRead(pot1);
pot1Angle = map(pot1Val, 0, 1023, 0, 179);
pot2Val = analogRead(pot2);
pot2Angle = map(pot2Val, 0, 1023, 0, 179);
pot3Val = analogRead(pot3);
pot3Angle = map(pot3Val, 0, 1023, 0, 179);

servo1.write(pot1Angle);
servo2.write(pot2Angle);
servo3.write(pot3Angle);

if(digitalRead(button1) == HIGH
button1Presses++;
switch(button1Presses){
case 1:
servo1PosSaves[0] = pot1Angle;
servo2PosSaves[0] = pot2Angle;
servo3PosSaves[0] = pot3Angle;
digitalWrite(LED1, HIGH);
Serial.println("Pos 1 Saved");
break;
case 2:
servo1PosSaves[1] = pot1Angle;
servo2PosSaves[1] = pot2Angle;
servo3PosSaves[1] = pot3Angle;
digitalWrite(LED2, HIGH);
Serial.println("Pos 2 Saved");
break;
2021-2022
case 3:
servo1PosSaves[2] = pot1Angle;
servo2PosSaves[2] = pot2Angle;
servo3PosSaves[2] = pot3Angle;
digitalWrite(LED3, HIGH);
Serial.println("Pos 3 Saved");
break;
case 4:
servo1PosSaves[3] = pot1Angle;
servo2PosSaves[3] = pot2Angle;
servo3PosSaves[3] = pot3Angle;
digitalWrite(LED4, HIGH);
Serial.println("Pos 4 Saved");
break;
case 5:
servo1PosSaves[4] = pot1Angle;
servo2PosSaves[4] = pot2Angle;
servo3PosSaves[4] = pot3Angle;
digitalWrite(LED5, HIGH);
Serial.println("Pos 5 Saved");
break;
}
}

if(digitalRead(button2) == HIGH){ // Pretty self-explnatory here


button2Pressed = true;
}

if(button2Pressed){ // if the boolean button2Press is true, then the servos will run
though all their saved positions
for(int i = 0; i < 5; i++){
servo1.write(servo1PosSaves[i]);
servo2.write(servo2PosSaves[i]);
servo3.write(servo3PosSaves[i]);
Serial.println(" potentimeter Angles: ");
Serial.println(servo1PosSaves[i]);
Serial.println(servo2PosSaves[i]);
Serial.println(servo3PosSaves[i]);
delay(1050);
}
}
delay(300);
}

2021-2022

You might also like