Professional Documents
Culture Documents
NHÓM
06
S Thành viên tham MSSV
T gia
T
1 Vũ Đình Cần 2017366
9
2 Nguyễn Duy Tân 20174187
3 Nguyễn Văn Hảo 20173841
4 Đỗ Như Thể 20174230
5 Phạm Quốc Huy 20173961
6 Nguyễn Văn Thắng 20174205
7 Phan Mạnh Quyền 20174149
8 Đại Tuấn Hải 20161278
9 Nguyễn Tiến Điệp 20173739
1
0
Thiết kế cánh tay nhỏ gọn, mỏng của nó cho phép tiếp cận vào các không gian
kín và cánh tay rỗng cho phép các dây cáp và ống được chạy trong nội bộ toàn
bộ robot. MPK2F-5 có dung tích xử lý 5 kg và được điều khiển bằng bộ điều
1
khiển robot nhỏ FS100. MPK2F-5 được thiết kế (cổ tay và thân máy) cho các
ứng dụng mà sự sạch sẽ là quan trọng.
MPK2F-5 là những robot 5 trục hiệu suất cao được thiết kế cho các ứng dụng
chọn nhanh và đóng gói bao bì. FS100 là một bộ điều khiển mạnh mẽ với cấu
trúc phần mềm mở chưa từng có. Lý tưởng cho việc chọn nhanh, lắp đặt và đóng
gói hàng hóa thực phẩm và hàng tiêu dùng.
Một số mặt cắt của Robot:
C C
;A
A1 0
1
1 0
1
d 2
0
2
0
2
1
22
0 ; A 3 0
3 3
0 1
33
0
1
0 0 0 1 0 0 0 1 0 0 0 1
S4 0 C4 0 C5 0 0
S5
C 0 S 0 S 0 0
C
A4 4 4 ; A 5 5
0 1 0 0 5
0 0 1 0
0 0 0 1 0 0 0 1
Nhân các ma trận A1, A2, A3, A4, A5 ta được ma trận biểu diễn vị trí và
hướng của khâu tác động cuối của Robot như sau:
T5 0 A10.A21.A32.A43.A54
T5 0 A1 .A2 .A3 .A4.A5
𝑛 � � 𝑝
� � 𝑥
𝑇50 = [𝑥 ]
� �
� �
𝑛 �
Sử dụng công cụ matlab để nhập � các
và nhân 𝑝 ma trận. Dùng hàm simplify
để rút gọn ta được ma trận T 50 .
𝑆1. 𝑆5 − 𝑆234. 𝐶1. 𝐶5 𝐶5. 𝑆1 + 𝑆234. 𝐶1. 𝑆5 𝐶234. 𝐶1 𝑎3. 𝐶1. 𝐶23 + 𝑎2. 𝐶1. 𝐶2
𝑇0
5
= [ 1. 𝑆5 − 𝑆234. 𝐶5. 𝑆1𝑆234. 𝑆1.234
−𝐶 𝑆5 − 𝐶1. 𝐶5 𝐶234. 𝑆1 𝑎3. 𝑆1. 𝐶23 + 𝑎2. 𝑆1. 𝐶2
]
𝐶 2345
.𝐶 −𝐶 .5 𝑆 𝑆234 ⅆ + 𝑎13. 𝑆+
232 𝑎2 . 𝑆
0 0
0 1
2.2 Xây dựng chương trình trên Matlab để nhập dữ liệu và hiển thị kết quả
Hình 2.2 Code tính toán động học thuận
Hình 2.3 Xây dựng Guide, nhập thông số và hiển thị kết quả
CHƯƠNG 3. TÍNH TOÁN MA TRẬN JACOBY
J H41 n z1 S234C5
J H o S S
51 z1 234 5
J a C
H
61 z1 234
- Với khớp 𝜃2 là khớp quay, sử dụng ma trận T51 ta được cột 2 của ma trận
JH.
J H n p n . p C a S a S
12 y2 x2 x2 y2 5 2 34 3 4
J H o p o . p S a S a S
22 y2 x2 x2 y2 5 2 34 3 4
J H
a a . p a C a C
p
32 y2x2 x2 y2 2 34 3 4
JHn
S
42 z2 5
J o z 2 C5
H
52
JHa 0
62 z
J o z 3 C5
H
53
JHa 0
63 z
3
- Với khớp 𝜃4 là khớp quay, sử dụng ma trận
T53 ta được cột 4 của ma trận
JH
JH n p n .p 0
14 y4 x4 x4 y4
J H
o p o .p 0
24 y4 x4 x4 y4
J H
a p a .p 0
34 y4 x4 x4 y4
JHn S
44 z4 5
J o z 4 C5
H
54
JHa 0
64 z
4
- Với khớp 𝜃5 là khớp quay sử dụng ma trận T JH
5
4
ta được cột 5 của ma trận
JH n p n .p 0
15 y5 x5 x5 y5
JHo p o .p 0
25 y5 x5 x5 y5
JH a p a .p 0
35 y5 x5 x5 y5
J 45H nz5
0
JHo
0
55 z5
J 65H az 1
5
Như vậy ta đã xác định được ma trận JH 6x5 như trên. Tiếp theo để xác định
được ma trận Jacoby ta áp dụng công thức sau:
nx o a 0 0 0
n
nzy xy x y
J o a 0 0 0 .J H
o a 0 0 0
0 x x x
z z
0 0 0 n ay
o
y y a z
0 0 0 n o
n H J JH J JH JH
x H
ny J
11 12 13 14 15
J H
H
JH
H J JH
21 22 23 24 25
nz JH JH
H J JH J H
J . 31 32 33 34 35
0 0 0 n
H o a J
H H
J J J H
J H
x x x 41 42 43 44 45
J JH H
H 0 0 0 n oy JH H J J
y
51 52 53 54
55
ay H H H H
J
H
J J J J
z 61 62 63 64 65
+Với nx, ny, nz, ox, oy, oz, ax, ay, az được xác định từ ma trận hàm truyền khi tính
toán động lực học thuận vị trí
S1.S5 C5 .S1 C234 S234 . a3.C1.C23 a2.C1.C2
S234.C1.C5 .C1.S5 C1
C .C . C . C .C C .S .S .S a .S a .S .C
S S .C
S
T0 234 5 1 1 5 1 5 234 1 5 234 1 3 1 23 2 1 2
5
S .C S . C a . a .S
S S
d
234 5 234 5 234 1 3 23 2 2
0 0 0 1
Suy ra:
nx ax S1.S5 S234 .C1
C5 .S1 C234
ox S234.C1.C5 .C1.S5
n o C C .C C .S
a C
.C
.S S . .S .S
S
y y y 234 5 1 1 5 1 5 234 1 5 234 1
Sử dụng Matlab để nhập và nhân ma trận. Sau khi dùng hàm simplify ta sẽ được
ma trận Jacoby thông qua ma trận JH như sau:
−𝑆1(𝑎3𝐶23 + 𝑎2𝐶2) −𝐶1(𝑎3𝑆23 + 𝑎2𝑆2)−𝑎3𝑆23𝐶1 0 0
𝐶 (𝑎 𝐶+ 𝑎 𝐶 ) 0 0
13 232 2 −𝑆13(𝑎232𝑆+
2 𝑎 𝑆 ) −𝑎 𝑆 𝑆
3 23 1
0 𝑎3𝐶23 + 𝑎2𝐶2 𝑎 3 𝐶 23 0 0
𝐽=
0 𝑆1 𝑆1 𝑆1
𝑆234𝐶1
[ 0 −𝐶1 0 −𝐶1 0 −𝐶1 0 𝑆234𝑆1
1 −𝐶234 ]
3.2 Xây dựng chương trình tính toán trên Matlab
Hình 3.2 Xây dựng Guide, nhập thông số và hiển thị kết quả
CHƯƠNG 4. BÀI TOÁN TÍNH TOÁN ĐỘNG HỌC ĐẢO VỊ TRÍ ROBOT
Ta nhân 2 vế của phương trình (*) với ma trận nghịch đảo của 𝐴0 ta
1 được
phương trình sau
𝑇1 = (𝐴0)−1. 𝑇 0 = 𝐴1. 𝐴2. 𝐴3. 𝐴4 = 𝐵1 (1)
5 1 5 2 3 4 5
Từ đó ta tính được :
... ... c12 ...
... ... 3 ...
s
𝑇1 123
5 ... ... 0 ...
0 0 0 1
Tính φ3
𝑝𝑥𝑐1 + 𝑝𝑦𝑠1 = 𝑎3𝑐23 + 𝑎2𝑐2
Ta lại có :
𝑝𝑧 − ⅆ = 𝑎3 𝑠23 − 𝑎2 𝑠2
1
{
Bình phương 2 về của 2 phương trình rồi cộng vế theo vế
=> 𝑎22 + 𝑎32 + 2𝑎2𝑎3𝑐3 = (𝑝𝑥𝑐1 + 𝑝𝑦𝑠1)2 + (𝑝𝑧 − ⅆ1)2
Ta nhân 2 vế của phương trình (1) với ma trận nghịch đảo của 𝐴12 ta được
phương trình sau
𝑇 2 = (𝐴1)−1. 𝑇1 = 𝐴2. 𝐴3. 𝐴4 = 𝐵2 (4)
5 2 5 3 4 5
Ma trận 𝑇5 được tính theo phương trình (4):
2
a3c3
... ... ... a3s
𝑇52 ... ...
3
... 0
0 0 0 1
Ma trận 𝐵2 được tính theo công thức (4):
... ... ... pzs2 d1s2 a2 pxc1c2 pyc2s1
... ... ... pc dc pcs p ss
𝐵2 z 2 1 2 x 1 2 y 1 2
... ... ... pxs1 pyc1
0 0 0 1
(𝑝𝑧 − ⅆ1)𝑐2 − 𝑠2(𝑝𝑥𝑐1 + 𝑝𝑦𝑠1) = 𝑎3𝑠3
Ta có
{ 𝑧 − ⅆ1)𝑠2 + 𝑐2(𝑝𝑥𝑐1 + 𝑝𝑦𝑠1) = 𝑎3𝑐3 + 𝑎2
(𝑝
Từ đó ta có:
φ2 = 𝑎𝑡𝑎𝑛2[(𝑝𝑧 − ⅆ1)(𝑎3𝑐3 + 𝑎2) − (𝑝𝑥𝑐1 + 𝑝𝑦𝑠1)𝑎3𝑠3;(𝑝𝑧 − ⅆ1)(𝑎3𝑐3 +
𝑎2) + (𝑝𝑥𝑐1 + 𝑝𝑦𝑠1)𝑎3𝑠3]
4.2 Code tính toán cho bài toán động học ngược
clear all; clc
syms d1 d2 d3 d4 a2 a3 t1 t2 t3 t4 t5 nx ny nz ox oy oz ax
ay az px py pz
T = [nx,ox,ax,px;ny,oy,ay,py;nz,oz,az,pz;0,0,0,1]
A1 = [cos(t1),0,sin(t1),0 ; sin(t1),0,-cos(t1),0 ; 0,1,0,d1
; 0,0,0,1]
A2 = [cos(t2),-sin(t2),0,a2*cos(t2) ;
sin(t2),cos(t2),0,a2*sin(t2) ; 0,0,1,0 ; 0,0,0,1]
A3 = [cos(t3),-sin(t3),0,a3*cos(t3) ;
sin(t3),cos(t3),0,a3*sin(t3) ; 0,0,1,0 ; 0,0,0,1]
Ɵ1= a1 + b1t + c1 t2 + d1 t3
Ɵ2 = a2 + b2t + c2 t2+ d2t3
Ɵ3= a3 + b3t + c3 t2 + d3 t3
Ɵ 4= a4 + b4t + c4 t2 + d4t3
Ɵ 5= a5 + b5t + c5 t2+d5 t3
Từ đó thu được quỹ đạo chuyển động của mỗi khớp.
Giả sử thời gian bắt đầu chuyển động đến hết chuyển động của các khớp là
như nhau: t1 t 2 t3 1s. Từ đó ta xác định được các phương trình về quỹ đạo, vận
tốc, gia tốc cho 3 khớp đầu của robot như sau:
Khớp thứ nhất:
Để xây dựng thuật toán điều khiển PID cho robot, ta sẽ dung matlab/Simulink để
mô phỏng. Để có thể mô phỏng trên Matlab thì ta sẽ vẽ hình dạng của Robot trên
SolidWorks sau đó chuyển qua Matlab để mô phỏng.
6.1 Vẽ hình dạng robot trên SolidWorks
Phần đế
Trên đây là hình vẽ phần đế của robot, bao gòm cả hệ tọa độ xyz mà nhóm đã
chọn.
Link 1
Link 3
Link 4
Hình 6.8 Mô hình Robot khi có thêm PID cho từng khớp
Trên đây là mô hình sau khi đã thêm PID cho từng khớp
Sau đó ta sẽ lựa chọn các thông số PID để điều khiển cho từng khớp
Ví dụ, ta xét đến khớp thứ nhất:
Hình 6.9 Đồ thị khớp thứ nhất của Robot
Sau khi tiến hành chuyển đổi xong chúng ta có mô hình robot trên phần mềm
Matlab&simulnk ở hình dưới.
- Về cơ bản khối điều khiển của các khớp sẽ được cài đặt như sau.
- Trong đó bộ PID lấy sẵn từ thư viện Simulink, tín hiệu đưa vào điều khiển
cho khớp và tín hiệu phản hồi về bộ điều khiển PID, Scope giúp hiển thị
sự so sánh giữa tín hiệu đặt và tín hiệu đầu ra của các khớp.
- Sau khi cài đặt tín hiệu đặt tại khối slider thì chúng ta có đồi thị hiển thị
nơi Scope như sau.
Hình 7.4 Đồ thị giữa tín hiệu đầu ra và tín hiệu đặt của khớp 1
7.3 Mô phỏng
Nhận xét:
+ Các biến khớp đạt giá trị mong muốn trong khoảng thời gian ngắn.
+ Độ quá điều chỉnh nhỏ.
TÀI LIỆU THAM KHẢO