Tải bản đầy đủ (.pdf) (6 trang)

Xây dựng hệ Robot di động có gắn tay máy cộng tác Cobot 6 bậc tự do trên hệ điều hành ROS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (630.25 KB, 6 trang )

Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)

Xây Dựng Hệ Robot Di Động Có Gắn Tay
Máy Cộng Tác Cobot 6 Bậc Tự Do Trên Hệ
Điều Hành ROS
Nguyễn Minh Đông1, Đỗ Quang Hiệp1, Ngô Mạnh Tiến2,

Nguyễn Đức Thắng3, Nguyễn Minh Dương3 và Nguyễn Tiến Bắc3
Khoa Điện, Trường Đại Học Kinh Tế Kỹ Thuật Công Nghiệp
Viện Vật lý, Viện Hàn Lâm Khoa Học Và Công Nghệ Việt Nam
3
Trường Đại Học Bách Khoa Hà Nội
Email: , , ,
1

2

nhân hình. Tại [2] đã đưa ra đánh giá về Bộ điều khiển
robot tự hành trong công nghiệp (AIMM), xác định 12
lĩnh vực ứng dụng có thể có: tính bền vững, cấu hình,
thích ứng, tự chủ, định vị, thao tác và nắm bắt, tương
tác giữa người và máy, tương tác giữa máy với người,
chất lượng quy trình, độ tin cậy, và các tính chất vật
lý. Đa số công bố chỉ ra rằng những trở ngại lớn nhất
trong lĩnh vực này là: độ tin cậy (an tồn), tính chất vật
lý (tính kinh tế) và cấu hình (khả năng sử dụng) được
đưa ra trong [7]. Bostelman và cộng sự [6] trình bày
đánh giá về các AMMR chính và một bộ tiêu chí đánh
giá để đánh giá hoạt động của chúng, trong khi [13]
trình bày một cuộc điều tra quan trọng về các trường
hợp sử dụng chung mà AMMR có thể được áp dụng.


D'Souza và cộng sự [15] trình bày sự tích hợp phần
cứng và phần mềm của cobot và AGV mà khơng tính
đến khía cạnh an tồn.
Bài báo này chúng tơi với mục đích xây dựng một
AMMR, là đối tượng nghiên cứu có ưu điểm tự hành
đa hướng khi kết hợp giữa Mecanum Mobile Robot và
cánh tay Robot cộng tác Cobot UR5. Để có thể làm
chủ cơng nghệ thiết kế, chế tạo và tính tốn điều
khiển, bước đầu tiên đó là xây dựng phương trình
động học của cánh tay cộng tác UR5; động học thuận,
động học ngược của Mecanum Mobile Robot trên nền
tảng hệ quy chiếu cố định. Từ đó xây dựng hệ thống,
mơ phỏng mơ hình, chuyển động của AMMR trên
phần mềm Gazebo của hệ điều hành robot ROS
(Robot Operating System).
Bài báo của chúng tôi được trình bày như sau: phần
đầu trình bày thiết kế của hệ thống thiết bị AMMR bao
gồm 2 thành phần chính là Mecanum Robot và cánh
tay UR, mơ hình hóa, tính toán và giải quyết bài toán
động học phần tiếp theo trình bày về hệ điều hành ROS
và Moveit, các bước để thiết kế nên mơ hình AMMR
trong ROS, điều khiển robot tới vị trí mong muốn;
phần cuối trình bày 1 số kết luận được rút ra từ kết quả
của nghiên cứu, đồng thời vạch ra các định hướng
nghiên cứu tiếp theo.

Abstract— Robot Tự hành cộng tác - Autonomous Mobile
Manipulator Robot AMMR (hay Mobile Cobots) là một
hệ thống có lợi thế kép về tính di động tự hành của một
robot di động và sự khéo léo của cánh tay robot cộng tác

Cobot sáu bậc tự do. Bài báo trình bày mơ hình tốn học
của một robot tự hành cơng tác AMMR trên nền tảng
robot di động đa hướng sử dụng bánh xe Mecanum kết
hợp với tay máy Cobot 6 bậc tự do, mô tả động học của
hệ thống. Đồng thời Xây dựng một hệ robot AMMR trên
nền tảng ROS (Robot Operating System), minh họa một
cách trực quan và hiệu quả phương pháp thực hiện mô
phỏng tác vụ di chuyển, thao tác của AMMR.
Keywords- Autonomous Mobile Manipulator Robot AMMR, Mecanum robot, Universal Robot-UR,6-DOF,
ROS, Moveit.

I.

GIỚI THIỆU

Việc robot có thể di chuyển tự động linh hoạt trong
một phạm vi nhất định và thực hiện những tác vụ định
trước thay thế vai trò của con người có thể đem lại
nhiều lợi ích về kinh tế, năng suất lao động và bảo vệ
sức khoẻ của con người, đồng thời giúp quản trị doanh
nghiệp có thể số hóa, quản lý nguồn lực và quản lý sản
xuất hồn toàn tự động. Trong một thập kỷ lại đây,
cùng với sự phát triển của công nghệ học máy, công
nghệ robot đã có những thay đổi cơ bản về cách tiệp
cận. Với sự phát triển công nghệ 4.0, các nghiên cứu
công bố về hướng robot tự hành cộng tác cũng đang
được nhiều nhà khoa học tập trung.
Autonomous
Mobile
Manipulators

Robot
(AMMR) bao gồm sự tích hợp của một cánh tay robot
và một robot di động. Mục tiêu chính của AMMR là tự
động di chuyển xung quanh nhà máy sản xuất trong
khi cho phép cánh tay robot thực hiện các nhiệm vụ cụ
thể. Một số công ty đã đề xuất thêm tính di động cho
cánh tay robot để mở rộng chức năng và tính hữu dụng
của chúng. Tại [1] đã phát triển một bộ điều khiển di
động như một trợ lý robot để hỗ trợ người cơng nhân.
Bostelman và cộng sự [5] đã trình bày khả năng áp
dụng AGV hoặc AMMR được trang bị bộ điều khiển

ISBN 978-604-80-7468-5

388


Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2022)

II. MƠ HÌNH ĐỘNG HỌC CỦA HỆ THỐNG
ROBOT BOT TỰ HÀNH CÓ GẮN TAY MÁY CÔNG
TÁC 6 BẬC TỰ DO

 x
 
 
 y =
 
 
 


A. Mơ hình động học của Mecanum Mobile Robot

cos

 sin 

 0


0  xm 


0  ym 


1  
 m

− sin 
cos
0

(7)

Phương trình động học Mecanum Robot:

Mơ hình Robot được sử dụng 4 bánh xe Mecanum
[14] được dẫn độc lập bởi 4 động cơ riêng biệt. Cách
sắp xếp vị trí mỗi bánh xe được thực hiện và được đặt

trong hệ quy chiếu cố định và trong mối quan hệ với
tọa độ chuyển động [3],[10] như hình như hình dưới
đây:

 xm   cos 
 y  =  − sin 
 m 
 m   0

sin 
cos 
0

0  x 
0   y 
1   

(8)

C. Cấu tạo và mơ hình động học của Cobot UR

Hình 2: Mobie Manipulator Robot

Hình 1. Mơ hình Robot đa hướng bốn bánh Mecanum

Xuất phát từ cấu tạo thực tế, chúng ta mơ tả chuyển
mơ hình chuyển động của robot UR có danh như hình
2, trong đó ta đặt các kích thước trên hình bằng các
tham số như sau:
O0- O1 = d1 , O1 A = d 2 , AO2 = a2 , O2 B = d3 ,


B. Phương trình động học của Mecanum Robot
Từ mơ hình Robot Mecanum trong hình 1 ta có thể
xây dựng phương trình động học [9].
Tổng vận tốc của bánh xe theo hướng X m và Ym của
khung tọa độ robot:
v1 = vm1x − vm1 y
(1)
v2 = vm 2 x + vm 2 y
(2)
v3 = vm3 x − vm3 y



 xm 


Rot ( z, )  ym  =


 
 m

BC = a3 , CO3 = d 4 , O4 O5 = d5 , O5O6 = d6

(3)

v4 = vm 4 x + vm 4 y

(4)

Vận tốc của bánh xe cũng có thể biểu thị bằng vận tốc
tịnh tiến và vận tốc góc như sau:
vm1 y = ym +  m l1
vm1x = xm −  m l2
Thay lại vào (1),(2),(3),(4) kết hợp i = vi r ta thu
được:
 1 
1 −1 − (l1 + l2 ) 
x 
 
1 1
(l1 + l2 )   m 
 2= 1 
y
(5)
3  r 1 −1 (l1 + l2 )   m 



 

 m
4 
1 1 − (l1 + l2 ) 
Phương trình động học:


 

1

1
1
1   1 
 xm 


  r
1
−1
1   2  (6)
 ym  = 4  −1

  
 m 
1
1
−1   3 
 −1

 l1 + l2 l1 + l2 l1 + l2 l1 + l2   4 

Hình 3: Mơ hình chuyển động của robot UR

Dựa vào phương pháp ma trận DH đã đc đề cập đến
trong nhiều cơng trình nghiên cứu [12], chúng tôi đã
xây dựng được các hệ trục tọa độ khớp và đưa ra các
tham số động học DH ở bảng 1.
BẢNG 1: BẢNG THAM SỐ D-H CỦA ROBOT UR

Để tính tốn động học ngược trong hệ tọa độ toàn cục:


ISBN 978-604-80-7468-5

389

Hệ trục

i

di

1

q1

d1

ai
0

2

q2

d2

a2

3


q3

d 4 − d3

a3

i
90
0
0


Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)

4

q4

0

0

−90

5

q5

d5


0

90

6

q6

d6

0

0

q1

 = arctan 2(

(9)

oy

ay

oz

az

0


0

)

q1 =  − arcsin(
với điều kiện

d3 − d 2 − d 4
) +
r

d3 − d 2 − d 4
1
r

Khi đã xác định được q1 ta được:


1 

q5 =  a rc cos(ax s1 − a y c1 )

Ứng với mỗi giá trị của q1 ta có được 2 giá trị q5 , vậy
ta có được 4 nghiệm q5 tương ứng như sau:
q1(1)  q5(1) = a rc cos(ax s1(1) − a y c1(1) )

q5(2) = − a rc cos(ax s1(1) − a y c1(1) )

px 
p y 

pz 

1 

q1(2)  q5(3) = a rc cos(ax s1(2) − a y c1(2) )
q5(4) = − a rc cos(ax s1(2) − a y c1(2) )

q6 =  − arcsin(

Trong đó:

nx = −c6 (s1s5 − c1c234c5 ) − c1s234 s6
ny = c6 (c1s5 + s1c234 c5 ) − s1s234 s6 ; nz = c234 s6 + s234 c5c6

ox s1 − oy c1
s5

)

Ứng với mỗi cặp giá trị của q1 , q5 ta có 2 nghiệm q6 ,
vậy ta sẽ có 8 nghiệm q6 , cụ thể như sau:

ox = s6 (s1s5 − c1c234 c5 ) − c1s234 c6
oy = − s6 (c1 s5 + s1c234 c5 ) − s1s234 c6

q1(1) , q5(1)  q6 (1) = arcsin(

oz = c234 c6 − s234 c5 s6 ax = s1c5 + c1s5c234 ;
a y = −c1c5 + s1 s5 c234 ; az = s234 s5


q6 (2) =  − arcsin(

px = d6 (c1c234 s5 + s1c5 ) + (d2 − d3 + d4 )s1 + a2c1c2 − d5c1s234 + a3c1c23

ox s1(1) − o y c1(1)

pz = d1 + a2 s2 + a3 s23 + d5c234 + d6 s5 s234

q6 (4) =  − arcsin(

Với các kí hiệu si = sin i , ci = cos i , sij = sin(i +  j ) ,
cij = cos(i +  j ) ,…

s5(1)

ox s1(1) − o y c1(1)

ox s1(1) − o y c1(1)

Đối với bài toán động học nghịch [4], xuất phát từ hệ
phương trình động học với các thành phần về hướng
và vị trí trong ma trận T đã cho trước cùng với các
kích thước động học robot đã biết ta cần đi tìm chuyển
động của các khớp, tức là tìm véctơ:

q6 (6) =  − arcsin(

390

s5(2)


ox s1(1) − o y c1(1)
s5(2)

q1(2) , q5(3)  q6(5) = arcsin(

)

)

ox s1(2) − o y c1(2)

ox s1(2) − o y c1(2)
s5(3)

)

)

s5(1)

q1(1) , q5(2)  q6(3) = arcsin(

p y = d6 (s1c234 s5 − c1c5 ) − (d 2 − d3 + d 4 )c1 + a2 s1c2 − d5 s1s234 + a3 s1c23

ISBN 978-604-80-7468-5

d 6 a y − p y d 6 ax − p x
,
)

r
r

(

Từ các tham số động học ở bảng 1 áp dụng cho công
thức (9) để tính được các ma trận D-H địa phương từ
A1 đến A6. Từ các ma trận D-H địa phương ở trên,
chúng tôi xác định được các ma trận D-H tồn cục cho
các khâu của robot được cho bởi cơng thức:
(11)
T6 = A1 A2 A3 A4 A5 A6
ax

)

Ta có: ( d6 ax − px ) s1 − d6 ay − py c1 = d3 − d2 − d4

và Trans(a,0,0) là các ma trận đặc trưng cho phép
biến đổi tịnh tiến.
cos  − sin  cos  sin  cos  a cos  
 sin  cos  cos  − cos  sin  a sin  

(10)
Ai = 
 0
sin 
cos 
d 


ox

T

r = ( d 6 ax − px ) 2 + ( d 6 a y − p y ) 2 ,

Trong đó: Rot ( z, ) và Rot ( x,  ) là các ma trận đặc
trưng cho phép quay quanh trục tọa độ. Trans(0, 0, d )

 nx
n
y
T6 = 
n
 z
 0

q6 

q5

Suy ra được:

Ai = Rot ( z, )Trans(0,0, d )Trans(a,0,0) Rot( x,  )

0

q4

(


Ta có thể thiết lập mối quan hệ giữa các hệ tọa độ nối
tiếp nhau (n-1) và (n) bởi các phép quay và tịnh tiến
gọi là ma trận D-H địa phương [11] như sau:

0

q3

Đặt: ( d 6 ax − px ) = r cos  ; d6 ay − py = r sin 

D. Động học của cánh tay robot UR


 0

q2

s5(3)

)

)


Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)

q1(2) , q5(4)  q6(7) = arcsin(
q6


(8)

=  − arcsin(

(2)
x 1

os

ox s1(2) − o y c1(2)
s5

−o c

s5(4)

(2)
y 1

(4)

nghiệm đối với các biến khớp q1 , q 2 , q3 , q 4 , q5 , q6
được cho trong bảng dưới đây:

)

BẢNG 2: CÁC BỘ NGHIỆM CỦA BÀI TOÁN ĐỘNG
HỌC NGHỊCH

)


Nghiệm

Mặt khác: q6
 q234 = arc tan 2(az , ax c1 + a y s1 )

q1

q5

q3

q2

q4

q6

1

q

2

q1(1) q5(1) q3(2) q2(2) q4(2) q6(2)

3

q1(1) q5(2) q3(3) q2(3) q4(3) q6(3)


q1(1)  q234(1) = arctan 2(az , ax c1(1) + a y s1(1) )

4

q1(1) q5(2) q3(4) q2(4) q4(4) q6(4)

q1(2)  q234(2) = arctan 2(az , ax c1(2) + a y s1(2) )

5

q1(2) q5(3) q3(5) q2(5) q4(5) q6(5)

Đặt: D1 = px c1 + p y s1 + d5 s234 − d6 s5 c234 ,

6

D2 = pz − d1 − d5c234 − d6 s5 s234

q1(2) q5(3) q3(6) q2(6) q4(6) q6(6)

7

q1(2) q5(4) q3(7) q2(7) q4(7) q6(7)

8

q1(2) q5(4) q3(8) q2(8) q4(8) q6(8)

Ứng với mỗi giá trị của q1 ta có 1 giá trị của q 234 ,
vậy ta có được 2 nghiệm của q 234 như sau:


 a2 c2 + a3c23 = D1
(12)

a2 s2 + a3 s23 = D2
Ứng với mỗi bộ giá trị của q1 , q 234 và q5 ta có 1 cặp

có 2 nghiệm của q3 , vậy ta sẽ có 8 nghiệm q3 :
q3 =  arccos(

(13)

Hệ (13) là hệ đại số tuyến tính với các ẩn c 2 và s 2 ,
nghiệm của hệ này sẽ có dạng:

c2 =

c2

, s2 = s 2 với   0



Trong đó:
(a + a3c3 )
−a3 s3
= 2
= (a2 + a3c3 ) 2 + (a3 s3 ) 2
a3 s3
(a2 + a3 c3 )

D1
D2

s2 =

(a2 + a3c3 ) D1
= D2 (a2 + a3 c3 ) − D1 (a3 s3 )
a3 s3
D2

q2

(1)

q4

(1)

q6(1)

III. XÂY DỰNG MÔ HÌNH VÀ MƠ PHỎNG
CHUYỂN ĐỘNG CỦA AMMR TRONG ROS
A. Giới thiệu về ROS
ROS là mộ hệ điều hành mã nguồn mở cung cấp các
dịch vụ mong muốn từ mộ hệ điều hành, bao gồm kết
nối tới phần cứng, điều khiển thiết bị cấp thấp và thực
hiện những chức năng mà robot thường sử dụng.
Mục tiêu của ROS rất rõ ràng: ROS sinh ra nhằm xây
dựng môi trường phát triển cho phép phát triển robot
trên tồn cầu. ROS có đặc điểm:


Ta dễ thấy các đại lượng , c 2 ,  s 2 phụ thuộc vào

D1 , D2 và q3 , do đó cũng sẽ có 8 bộ số , c 2 ,  s 2
Khi đó ta có:
 
q2 = a tan(s2 , c2 )  q2 = a tan( s 2 , c 2 )
 
Khi đã xác định được q 2 và q3 thì ta sẽ dễ dàng suy ra

+ Chia nhỏ các tác vụ: ROS được lập trình dưới dạng
chia các cơng việc hành các q trình xử lý nhỏ gọi
là nút (node). Mỗi quy trình sẽ chạy độc lập và trao
đổi dữ liệu một cách có hệ thống.

được q 4 : q4 = q234 − q2 − q3
Vậy đối với bài toán động học nghịch, khi tìm nghiệm
bằng phương pháp giải tích ta sẽ tìm được 8 bộ

ISBN 978-604-80-7468-5

q3

(1)

Nghiệm hợp lý nhất là nghiệm làm cho hàm mục tiêu
(14) có giá trị nhỏ nhất.

−a3 s3
= D1 (a2 + a3c3 ) + D2 (a3 s3 )

(a2 + a3 c3 )

c 2 =

q5

(1)

Như vậy có 8 bộ nghiệm cho bài tốn động học ngược,
vì vậy, u cầu chọn và kết hợp các bộ nghiệm trong
miền không gian làm việc của một robot một cách hợp
lý để robot làm việc mềm dẻo, linh hoạt, không gây ra
các hiện tượng nhảy vọt về vận tốc góc khớp. Để chọn
ra bộ nghiệm hợp lý nhất ta cần biết 2 giá trị nghiệm
được chọn ở 2 thời điểm liền trước nó. Giả sử nghiệm
cần tìm tại thời điểm t là q, nghiệm ở thời điểm (t-∆t)
và (t-2∆t) là q1 và q2. Ta lập hàm mục tiêu:
2
2
W = k1 (q − q1 ) + k2 [q-(q1 +t(q1 -q 2 ))]
(14)
Trong đó k1 là hệ số trọng lượng sai lệch của nghiệm
cần tìm so với nghiệm tại thời điểm liền trước nó, k2 là
hệ số trọng lượng sai lệch của nghiệm cần tìm so với
nghiệm ngoại suy từ 2 giá trị nghiệm chọn dược liền
trước, với:
(15)
k1 + k2 = 1

giá trị của D1 , D2 . Ứng với mỗi cặp giá trị D1 , D2 ta sẽ

D 12 + D2 2 − a2 2 − a32
)
2a2 a3
Từ hệ phương trình (12) suy ra:
 (a2 + a3 c3 )c2 − (a3 s3 ) s2 = D1

(a3 s3 )c2 + (a2 + a3c3 ) s2 = D2

(1)
1

391


Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)

+ Quản lý gói: Nhiều quy trình xử lý có cùng mục
đích được quản lý như một gói sao cho dễ sử dụng
và phát triển, cũng như thuận lợi chia sẻ, sửa đổi và
phân phối lại.
+ Kho lưu trữ cơng cộng: Mỗi gói được công khai
lên các nhà phát triển cộng đồng như Github và
đánh dấu bản quyền bằng giấy phép.
+ Giao diện lập trình ứng dụng API (Application
Programming Interface): Khi phát triển chương
trình sử dụng ROS, ROS được thiết kế để chỉ cần
gọi API và chèn nó dễ dàng vào những mã đang
được sử dụng. Lập trình với ROS sẽ khơng khác
nhiều so với C++ và Phython.
+ ROS cung cấp nhiều thư viện để hỗ trợ các ngơn

ngữ lập trình khác nhau. Thư viện có thể được
thêm vào trong q trình của các ngôn ngữ phổ
biến trong lĩnh vực robot như Python, C++…

Hình 5. Tổng quan về thiết kế nhánh và giao tiếp với
ROS

Tương tự như vậy đối với việc mơ hình hóa thiết bị di
động Mecanum 4 bánh. Sự kết hợp của 2 thiết bị được
thực hiện chúng ta dễ dàng nhận biết các bộ phận và
cấu tạo của AMMR một cách trực quan bằng công cụ
hiển thị Rviz trong ROS như ở hình 7.

Những đặc điểm này của ROS đã cho phép người
dùng thiết lập mơi trường có thể hợp tác phát triển
phần mềm cho robot ở mức toàn cầu. Sử dụng các API
đã nghiên cứu và phát triển cho robot sẽ giúp rút ngắn
quá trình nghiên cứu, ứng dụng và cũng là mục tiêu
cuối cùng của ROS.
B. Xây dựng mơ hình AMMR trong ROS

Hình 6: Mơ hình AMMR hiển thị trong ROS

ROS có một gói tổng hợp được gọi là robot_model,
chứa các gói quan trọng giúp xây dựng các mơ hình
robot 3D. Định dạng mơ tả robot hợp nhất (URDF)
được sử dụng trong gói này.
Mơ hình URDF sử dụng hai yếu tố ngơn ngữ khác
nhau, đó là liên kết và khớp nối. Liên kết (Links)
tương ứng với một phần cơ thể cứng của robot; có thể

chỉ định kích thước, hình dạng và màu sắc của nó.
Khớp nối (Joints) là sự kết nối của hai mắt xích khác
nhau. Có thể bao gồm các loại khớp khác nhau cũng
như xác định tốc độ và giới hạn của từng khớp. Trong
hình 7 là hình ảnh từ RViz hiển thị mơ hình robot. Để
điều khiển mơ hình 3D, vị trí của mỗi khớp, yêu cầu
cần có các mối quan hệ của các liên kết. Vì vậy, ROS
cung cấp hai gói nằm trong robot_model:
- joint_state_publisher: Gói này chứa một nút được
gọi là joint_state_publisher, nút này mơ tả mơ hình
robot, tìm tất cả các khớp và xuất bản các giá trị chung
cho tất cả các khớp khơng cố định bằng cách sử dụng
thanh trượt GUI.

Hình 4: Kiến trúc mô tả robot chung và mối quan hệ
giữa các module

Dựa trên các khái niệm của ROS đã được đề cập [8],
kiến trúc mơ phỏng robot chung có thể phân loại sơ bộ
thành 4 module chức năng chính gồm: mơ hình hố,
lập kế hoạch chuyển động, điều khiển và hiển thị. Mối
quan hệ của chúng được minh họa như hình 4.
Hệ thống robot có thể được mơ hình hóa trong cấu trúc
cây. Trong ROS, một cánh tay 6 bậc tự do với một
khâu chấp hành cuối đã được thiết kế bằng
SolidWorks. Các tệp đầu ra được sử dụng để in cánh
tay và chúng được xuất sang ROS để tạo tệp Định
dạng Mô tả Robot Hợp nhất (Unified Robot
Description Format - URDF) để trực quan hóa. Cả kế
hoạch chuyển động và cánh tay đều được hiển thị

trong RViz trong khi cánh tay vật lý đang thực hiện kế
hoạch

ISBN 978-604-80-7468-5

- robot_state_publisher: Gói này đọc các trạng thái
chung của robot hiện tại và xuất bản các tư thế 3D của
mỗi liên kết rô bốt. Tư thế 3D của robot được công bố
mối quan hệ giữa các khung tọa độ của robot là ROS tf
(transform).

392


Hội nghị Quốc gia lần thứ 25 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2022)

Để lập kế hoạch chuyển động hiện tại chúng tôi sử
dụng Open Motion Planning Libary (OMPL) là một
gói phần mềm để tính tốn các kế hoạch chuyển động
bằng cách sử dụng các thuật toán dựa trên lấy mẫu.
MoveIt là một phần mềm dựa trên ROS để thao tác với
robot, cung cấp nền tảng dễ sử dụng để phát triển các
ứng dụng robot. Trong nghiên cứu của chúng tôi về
thao tác trên thiết bị di động, chúng tôi sử dụng ROS
với khung MoveIt để phát triển cơng cụ lập kế hoạch
tùy chỉnh và tích hợp các thuật toán lập kế hoạch
chuyển động. Lập kế hoạch chuyển động trong MoveIt
dựa trên Thư viện lập kế hoạch chuyển động mở
(OMPL) và giao diện với người lập kế hoạch chuyển
động là thông qua hành động (Action) hoặc dịch vụ

(Service) ROS.

mơi trường phóng xạ” thuộc chương trình phát triển
Vật lý giai đoạn 2021-2025.
TÀI LIỆU THAM KHẢO
[1]

[2]

[3]

[4]

Kết quả mô phỏng mà nhóm chúng tơi đạt được được
mơ tả ở hình 8. Trong đó: Trạng thái ban đầu (Start
State) ứng với trạng thái màu xanh lá, trạng thái đích
(Goal State ứng với trạng thái màu cam. Người dùng
có thể tự do điều chỉnh và nhận được kết quả mô
phỏng quỹ đạo điều khiển của cánh tay robot UR 6 bậc
tự do.

[5]

[6]

[7]

[8]

[9]


Hình 7: Kết quả mơ phỏng quỹ đạo cánh tay robot bằng
Moveit
[10]

IV. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong bài báo đã mơ hình hóa hệ thống AMMR gồm
phương trình động học của cánh tay cộng tác UR5,
động học thuận, động học ngược của Mecanum
Mobile Robot trên nền tảng hệ quy chiếu cố định và
trong mối quan hệ với hệ tọa độ chuyển động. Từ đó
xây dựng hệ thống, mơ phỏng mơ hình, chuyển động
của AMMR trên phần mềm Gazebo của hệ điều hành
robot ROS. Đây là những kết quả bước đầu nền tảng
để tiến tới các bước thực hiện điều khiển xây dựng quỹ
đạo cho điểm làm việc, điều khiển tự hành robot thực
hiện các thao tác cụ thể và lập trình thực thi hệ thống.
Lời cảm ơn
Bài báo này được sự tài trợ bởi Đề tài KHCN cấp
Quốc gia: “Nghiên cứu phát triển robot tự hành thông
minh sử dụng các công nghệ sensor khác nhau và nền
tảng IoT, AI, định hướng ứng dụng trong quan trắc

ISBN 978-604-80-7468-5

[11]

[12]

[13]


[14]

[15]

393

Helms, E.; Schraft, R.; Hagele, M. rob@work: “Robot
assistant in industrial environments”. In Proceedings of the
11th IEEE International Workshop on Robot and Human
Interactive Communication, Berlin, Germany, 25-27
September 2002; pp. 399-404.
Hvilsh0j, M.; B0gh, S.; Skov Nielsen, O.; Madsen, O.
“Autonomous industrial mobile manipulation (AIMM): Past,
present and future”. Ind. Robot. Int. J. 2012, 39, 120-135
Hamid Taheri, Bing Qiao, Nurallah Ghaeminezhad “Kinematic
Model of a Four Mecanum Wheeled Mobile Robot”,
International Journal of Computer Applications (0975 – 8887)
Vol. 113, No. 3(2015).
Kebria, P. M., Al-wais Saba, Abdi, H., & Nahavandi, S.
(2016), “Kinematic and dynamic modelling of UR5
manipulator”. 2016 IEEE International Conference on
Systems, Man, and Cybernetics (SMC).
Bostelman, R.; Hong, T.; Legowik, S. “Mobile robot and
mobile manipulator research towards ASTM standards
development.” In Multisensor, Multisource Information
Fusion: Architectures, Algorithms, and Applications 2016;
Braun, J.J., Ed.; International Society for Optics and
Photonics, SPIE: Bellingham, WA, USA, 2016, Volume 9872,
pp. 111-120.

Bostelman, R.; Hong, T.; Marvel, J. “Survey of research for
performance measurement of mobile manipulators.” J. Res.
Natl. Inst. Stand. Technol. 2016, 121, 342-366.
ISO\TS 15066:2016. “Robots and Robotic Devices:
Collaborative Robots”; International Organization for
Standardization: Geneva, Switzerland, 2016.
Deng, H., Xiong, J., & Xia, Z. (2017). “Mobile manipulation
task simulation using ROS with MoveIt”. 2017 IEEE
International Conference on Real-Time Computing and
Robotics (RCAR).
Z. Hendzel and L. Rykała “Modelling of dynamics of a
wheeled mobile robot with mecanum wheels with the use of
lagrange equations of the second kind” Int. J. of Applied
Mechanics and Engineering, Vol.22, No. 1 (2017), pp.81-99.
Li, Y.; Dai, S.; Zheng, Y.; Tian, F.; Yan, X. “Modeling and
kinematics simulation of a Mecanum wheel platform in
RecurDyn” Journal of Robotics Vol 2018.
Liang, B., Cheng, Y., Zhu, X., Liu, H., & Wang, X. (2018),
“Calibration of UR5 manipulator based on kinematic models”.
2018 Chinese Control And Decision Conference (CCDC).
Liu, Q., Yang, D., Hao, W., & Wei, Y. (2018). “Research on
Kinematic Modeling and Analysis Methods of UR Robot”.
2018 IEEE 4th Information Technology and Mechatronics
Engineering Conference (ITOEC).
Unger, H.; Markert, T.; Muller, E. “Evaluation of use cases of
autonomous mobile robots in factory environments”. Procedia
Manuf. 2018,17, 254-261.
Hendzel, Z. “A Description of the Motion of a Mobile Robot
with Mecanum Wheels–Kinematics”. in proceedings of the
Conference on Automation, Warsaw, Poland, 27–29 March

2019; pp. 346–355
D'Souza, F.; Costa, J.; Pires, J.N. “Development of a solution
for adding a collaborative robot to an industrial AGV ”. Ind.
Robot. Int. J. Robot. Res. Appl. 2020, 47, 723-73



×