GIẢI BÀI TOÁN ĐỘNG HỌC NGƯỢC CHO TAY MÁY TRÁNH VẬT CẢN BẰNG MẠNG NƠRON Lương Hồng Sâm Trường Đại học Trần Đại Nghĩa TÓM TẮT : Việc điều khiển bàn kẹp tay máy đến được một vị trí nào
Trang 1GIẢI BÀI TOÁN ĐỘNG HỌC NGƯỢC CHO TAY MÁY
TRÁNH VẬT CẢN BẰNG MẠNG NƠRON
Lương Hồng Sâm
Trường Đại học Trần Đại Nghĩa
TÓM TẮT :
Việc điều khiển bàn kẹp tay máy đến được
một vị trí nào đó và tay máy tránh được vật cản
trong không gian hoạt động của nó là bài toán
phức tạp vì phải giải đồng thời bài toán động học
ngược và bài toán tránh vật cản cho tay máy
Việc giải bài toán tránh vật cản ngoài việc giúp
cho tay máy không bị va chạm trong quá trình
hoạt động mà còn phải đảm bảo tay máy chuyển
động êm dịu trong quá trình hoạt động Bài báo
giới thiệu một phương pháp giải bài toán động học ngược cho tay máy tránh vật cản bằng mạng nơron với một vật cản và vị trí của vật cản đã được xác định Việc tránh vật cản sẽ được thực hiện bằng việc xác định và loại trừ các biến khớp tương ứng với không gian của vật cản trong bộ dữ liệu huấn luyện mạng nơron để giải bài toán động học ngược
Từ khóa : Động học ngược, Mạng nơron, Tránh vật cản
1 GIỚI THIỆU
Nhiệm vụ của bài toán động học ngược là xác
định các giá trị của biến khớp qi, (i=1,…n) khi biết
trước vị trí và hướng của bàn kẹp tay máy Có ba
phương pháp truyền thống thường được sử dụng
để giải bài toán động học ngược: Phương pháp
giải tích, phương pháp hình học và phương pháp
lặp Phương pháp giải tích là xác định các biến
khớp q1, q2,…,qn theo các biến vị trí Phương
pháp hình học là chiếu hệ tọa độ của khâu lên
trục tọa độ Xi-1 và Yi-1 Phương pháp lặp là lặp lại
giá trị các biến khớp nhằm xác định các biến
khớp phù hợp Ứng dụng mạng nơron để giải bài
toán động học ngược đã có một số công trình
nghiên cứu [1] Phương pháp này có thể giải bài
toán động học ngược tay máy có n bậc tự do, độ
chính xác cao và bảo đảm được thời gian thực
Bài báo này giới thiệu một phương pháp giải
bài toán động học ngược cho tay máy tránh vật
cản bằng mạng nơron với giả thiết là tay máy có
ba khớp quay, vật cản là duy nhất và có vị trí xác
định với hình dáng hình học đã biết Từ đó đi xây
dựng thuật toán tránh vật cản cho tay máy này
sao cho các khâu của tay máy không chạm vào
vật cản mà vẫn đảm bảo bàn kẹp đến được vị trí
mong muốn trong không gian với một quỹ đạo xác định Từ các điều kiện đó, bài báo xác định và loại trừ các biến khớp tương ứng với không gian của vật cản trong bộ dữ liệu huấn luyện của mạng nơron để giải bài toán động học ngược
2 GIẢI THUẬT TRÁNH VẬT CẢN
Tay máy gồm 3 khớp quay với các tham số động học được cho trong bảng 1 Giả sử bàn kẹp tay máy cần chuyển động đến các điểm Pi (i = 1 n) (Hình 1) Thiết lập hệ tọa độ của hệ thống bao gồm tay máy và vật cản sao cho gốc O của
hệ tọa độ trùng với gốc hệ tọa độ cơ sở của tay máy Trục z của hệ tọa độ này trùng với trục z của hệ tọa độ cơ sở tay máy (Hình 1)
Vật cản được đặt trong không gian hoạt động tay máy với giả thiết vật cản được bao kín bởi một mặt cầu Như vậy hình dáng và kích thước của vật cản được đặc trưng bởi hình dáng và kích thước của hình cầu Vị trí và kích thước của vật cản được thể hiện khi chiếu hệ thống lên hai mặt phẳng tọa độ (Hình 2, Hình 3) [2]
Trang 2Hình 1 Hình dạng tay máy và vật cản
Hình 2 Tay máy và vật cản trong mặt phẳng XY
Hình 3 Tay máy và vật cản trong mặt phẳng XZ
Từ hình 1, để đảm bảo cho các khâu không
chạm vào vật cản và kích thước của vật cản
không quá lớn thì cần thỏa mãn phương trình (1):
1
Trong đó : D - khoảng cách từ tâm vật cản đến
gốc tọa độ hệ thống, R - bán kính hình cầu bao
vật cản
Điều kiện để khâu 2 và 3 không chạm vào vật
cản là khoảng cách từ hai khâu này tới tâm hình
cầu phải lớn hơn bán kính hình cầu Từ hình 3:
'
Trong đó :
1 ; tan( 1, ) (3)
a a D L L
Nếu khâu 2 và khâu 3 tiếp xúc với bề mặt hình cầu có nghĩa là khoảng cách L2 = L3 = R thì
ta có các góc giới hạn :
2 min a tan R , D R (7)
3 min a tan P R R , (8)
Các bước để xác định bộ thông số các biến di chuyển cho tay máy tránh được vật cản và vẫn đảm bảo khâu tác động cuối đến được vị trí cuối cùng của quỹ đạo theo giải thuật như sau : 1- Giải bài toán động học ngược cho tay máy tại
vị trí điểm đầu và điểm cuối quỹ đạo và một số điểm trung gian trên quỹ đạo
2- Với mỗi θ1 tính được từ bước 1, kiểm tra theo điều kiện (1) Nếu thỏa mãn, thì θ1 được nhận và chuyển sang bước 2, nếu không sẽ chọn lại θ1 từ bước 1
3- Với mỗi θ2 tính được từ bước 1, tính L2 theo công thức (2) Kiểm tra theo điều kiện (2), nếu thỏa mãn thì θ2 được nhận và chuyển sang bước
4, nếu không sẽ chọn lại θ2 từ bước 1
4- Với mỗi θ3 tính được từ bước 1 và L2 tính được
từ bước 3, tính L3 theo phương trình (4) Kiểm tra theo điều kiện (4), nếu thỏa mãn thì θ3 được nhận, nếu không sẽ chọn lại θ3 từ bước 1
Bộ thông số các biến di chuyển {θi} tìm được
từ các bước trên sẽ được dùng làm bộ dữ liệu huấn luyện mạng Nơron để giải bài toán động học ngược cho tay máy tránh vật cản
3 ĐỘNG HỌC TAY MÁY THÍ NGHIỆM
Giải các bài toán động học tay máy nhằm xác định bộ dữ liệu để huấn luyện mạng nơron cho bài toán động học ngược cho tay máy tránh vật cản Sơ đồ động học và các tham số động học của tay máy được trình bày trong Hình 4 và Bảng 1
X
Z
d
d 1
a 2
Y
a 3
•
P i
O
X
Y
D
r
R
d
X
Z
D’
L 2
R
d
θ 3
θ 2
L 3
d 1
K 2
K 3
Trang 3Hình 4 Sơ đồ động học tay máy
Bảng 1 Thông số động học
Khớp i α i a i (mm) d i (mm) θ i (phạm vi
làm việc)
1 π/2 0 d 1 = 200 θ 1 ( 450)
2 0 a 2 = 500 θ 2 ( 450)
3 0 a 3 = 150 0 θ 3 ( 300)
3.1 Bài toán động học thuận
Bài toán động học thuận là xác định vị trí và
hướng của bàn kẹp tay máy khi biết trước các
thông số vị trí của tay máy Giải bài toán động học
thuận nhằm xác định bộ dữ liệu huấn luyện cho
mạng nơron tổng quát
Vị trí và hướng của bàn kẹp tay máy so với hệ
tọa độ cơ sở được biểu diễn bằng ma trận sau:
0 0 0 1
n
B
Trong đó : px, py, pz là tọa độ tâm bàn kẹp, i, j, k là
véctơ chỉ phương của hệ tọa độ gắn với bàn kẹp
so với hệ tọa độ cơ sở Vị trí tâm bàn kẹp và
hướng bàn kẹp cũng được xác định bằng ma
trận:
1
(10)
0 0 0 1
n
n
Cân bằng các phần tử của hai ma trận trong
phương trình (9) và (10), có phương trình xác
định vị trí bàn kẹp và là lời giải bài toán động học
tay máy Các ma trận động học của tay máy :
0,1
1
(11)
0 1 0
0 0 0 1
A
d
1,2
0 0
(12)
0 0 1 0
0 0 0 1
A
2,3
0 0
(13)
0 0 1 0
0 0 0 1
A
1 3 23 2 2
0,3
(14) 0
c a c a c
c c c s s
s c s s c s a c a c A
s c d a s a s
Trong đó : s1, c1, sij, cij biểu diễn cho sin(θi), cos(θi), sin(θi+θj), cos(θi+θj)
Từ (14) ta có lời giải bài toán động học thuận:
x y z
3.2 Bài toán động học ngƣợc
Giải bài toán động học ngược là đi xác định
bộ thông số của các biến khớp khi biết trước vị trí và hướng của bàn kẹp tay máy Kết quả lời giải bài toán động học ngược bằng giải tích được sử dụng để kiểm chứng lại độ chính xác lời giải bài toán động học ngược bằng mạng nơron Cân bằng các phần tử hai ma trận (9) và (10), ta có lời giải bài toán động học ngược:
1
3 3 2 3 3
2
tan 2( , ) tan 2( , tan 2( , ) (16) tan 2( , ); 1
3
2 3
2
px py pz d a a c
a a
Z 0
X 1
Z 1
X 0
Z 3
X 3
Y 3
Z 2
Y 2
d 1
a 2
a 3
θ 1
X 2
Trang 44 ỨNG DỤNG MẠNG NƠ RON CHO BÀI
TOÁN ĐỘNG HỌC NGƢỢC TAY MÁY TRÁNH
VẬT CẢN
Phần này trình bày việc xác định cấu trúc
mạng, bộ dữ liệu huấn luyện mạng nơron cho tay
máy tránh vật cản mà bộ dữ liệu này tìm được
theo thuật toán trong phần 2 Mạng nơron được
dùng là mạng truyền thẳng nhiều lớp gồm có một
lớp vào, một lớp ra, có nhiều lớp ẩn Mỗi nơron
thứ q ở lớp ẩn liên kết với lớp vào bằng trọng số
Vqjvà liên kết với lớp ra bằng trọng số Wiq Việc
huấn luyện mạng được sử dụng luật học lan
truyền ngược Back propagation và hàm truyền
sigmoid [1]
4.1 Giải bài toán động học ngƣợc tay máy thí
nghiệm khi chƣa tránh vật cản
Theo bước 1 của thuật toán, cần giải bài toán
động ngược cho tay máy trong trường hợp tổng
quát, chưa áp dụng giải thuật tránh vật cản với
mục đích xác định bộ thông số tổng quát {θi} Việc
giải bài toán động học ngược được áp dụng
phương pháp mạng nơron theo nghiên cứu [1]
Bộ dữ liệu huấn luyện được lấy từ phương
trình (15) với giới hạn các góc : -450<θ1<450;
-450<θ2<00; -300<θ3<300 Bộ dữ liệu gồm 6000
mẫu trong đó 4000 mẫu dùng để huấn luyện,
2000 mẫu dùng để kiểm tra khả năng tổng quát
của mạng Miền dữ liệu này được biểu diễn qua
hình 5 Hàm trung bình bình phương MSE được
dùng để đánh giá chất lượng huấn luyện mạng
Việc huấn luyện được sử dụng với phần mềm
Matlab
Hình 5 Miền dữ liệu của mạng tổng quát
Sử dụng mạng nơron vừa tìm được để giải bài
máy va chạm với vật cản Một phần kết quả này được thể hiện trong bảng 2 và hình 6
Bảng 2 Một số kết quả khi chưa tránh vật cản
Vị trí 1 Vị trí 2 Vị trí 3 Vị trí 4 Vị trí 5 Vị trí 6
p x 588,603 591,281 610,301 601,045 593,447 559,407
p y 93,045 49,557 37,691 -16,990 -81,989 -212,827
p z -37,853 -29,131 -15,654 -19,645 -24,437 -36,090
θ 1 8,984 4,799 3,532 -1,735 -7,933 -20,826
θ 2 -16,764 -27,614 -17,201 -25,516 -26,186 -17,082
θ 3 -21,886 28,141 -9,621 23,763 24,230 -19,426
Va chạm Va chạm Va chạm
Hình 6 Một số cấu hình tay máy va chạm với
vật cản khi sử mạng chưa tránh vật cản
4.1 Giải bài toán động học ngƣợc tay máy thí nghiệm tránh vật cản
Sau khi giải bài toán động học ngược cho tay máy trong trường hợp chưa tránh vật cản nhằm xác định bộ thông số các biến di chuyển tổng quát của tay máy {θi} Bước tiếp theo là xác định bộ dữ liệu huấn luyện mạng nơron cho bài toán tránh vật cản Bộ dữ liệu này là tập con của bộ dữ liệu tổng quát {θi} và được lấy theo thuật toán đã trình bày ở phần 2 Bộ dữ liệu này gồm 6000 mẫu, trong đó 4000 mẫu dùng để huấn luyện, 2000 mẫu dùng để kiểm tra khả năng tổng quát của mạng Hàm MSE được dùng để đánh giá chất lượng huấn luyện mạng Giới hạn các góc: -45<θ1<45; -45<θ2<0; -30<θ3<0 Miền dữ liệu huấn luyện này được thể hiện trên Hình 7 Quá trình huấn luyện mạng được thể hiện trên Hình 8
Quỹ đạo Tay máy
Vật cản
Các vị trí bàn kẹp Tay máy
Vật cản
Trang 5Hình 7 Miền dữ liệu của mạng tránh vật cản
Hình 8 Quá trình huấn luyện mạng tránh vật cản
Sau khi huấn luyện, bộ trọng số và cấu trúc
của mạng nơron dùng để giải bài toán động học
ngược cho tay máy tránh vật cản được xác định
bao gồm lớp nhập với 3 nút tương ứng với vị trí
bàn kẹp tay máy (px, py, pz) Lớp ẩn gồm 3 lớp,
mỗi lớp có 30 nút Lớp xuất gồm 3 nút tương ứng
với 3 biến khớp (θ1, θ2, θ3) Cấu trúc mạng tìm
được thể hiện trên hình 9 Một số kết quả giải bài
toán động học ngược cho tay máy tránh vật cản
với mạng nơ ron vừa tìm được thể hiện trên bảng
3 Quỹ đạo và cấu hình của tay máy sau khi tránh
vật cản thể hiện trên hình 10
Hình 9 Cấu trúc mạng nơ ron
Bảng 3 Một số kết quả khi tránh vật cản
Vị trí 1 Vị trí 2 Vị trí 3 Vị trí 4 Vị trí 5 Vị trí 6
p x 588,603 591,281 610,301 601,045 593,447 559,407
p y 93,045 49,557 37,691 -16,990 -81,989 -212,827
p z -37,853 -29,131 -15,654 -19,645 -24,437 -36,090
θ 1 8,978 4,803 3,518 -1,619 -7,874 -20,851
θ 2 -16,804 -14,627 -17,194 -14,657 -15,016 -17,132
θ 3 -21,902 -28,354 -9,612 -23,767 -24,260 -19,399
Các cấu hình trên đều không va chạm với vật cản
Hình 10.Quỹ đạo và cấu hình tay máy sau khi sử dụng
mạng tránh vật cản
5 KẾT LUẬN
Bài báo giới thiệu một nghiên cứu ứng dụng mạng nơron để giải bài toán động học ngược cho tay máy tránh vật cản Kết quả là đã tìm được một mạng nơron với cấu trúc và bộ trọng số thích hợp cho bài toán này Với mạng nơron vừa tìm được thì các khâu của tay máy đã không va chạm với vật cản khi làm việc Điều đó chứng tỏ thuật toán tránh vật cản là chính xác, mạng nơron tìm được đã nhận biết được chính xác lời giải của bài toán động học ngược tay máy tránh vật cản Nghiên cứu này đã mở ra một hướng mới, hiệu quả cho vấn đề tránh vật cản của tay máy
Quỹ đạo Tay máy
Vật cản
Tay máy
Các vị trí bàn kẹp Vật cản
Trang 6REFERENCES
[1] Lương Hồng Sâm, Nguyễn Việt Hùng, Ảnh
hưởng của vùng dữ liệu đến độ chính xác lời
giải bài toán động học ngược tay máy bằng
mạng nơron, Hội nghị Cơ khí - Động lực lần
toàn quốc (2016)
[2] Wei zhang, Tarek M Sobh, Obstacle avoidance for manipulator, System analysisd
ed Norwell, MA: Kluwer, 159–160 (2001) Model simul, Vol 43, No 1, pp 67-74 (2003)
SOLVE INVERSE KINEMATICS FOR ROBOT MANIPULATOR WITH
OBSTACLE AVOIDANCE USING NEURAL NETWORK
ABTRACT :
Controlling the grip of manipulator to a certain
position and the manipulator avoids obstacles in
its operation space is a complicated problem
because it requires solving the inverse kinematics
and solving the avoidance obstacle problem
Solutions of the obstacle avoidance problem not
only help the manipulators to eliminate collisions
during operation, but also to ensure them move
smoothly This paper introduces a method based
on neural network for solving inverse kinematics
of robotic arm avoiding obstacle with one obstacte and the location of the obstacle is determined The obstacle avoidance will be accomplished by identifying and excluding joint variables corresponding with space of obstacle in the neural network training data set to solve inverse kinematics.
Keywords : Inverse kinematics, Neural netwoks, Obstacle avoidance