TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 291 Email: jst@tnu.edu.vn
RESEARCH ON SELF-PROPELLED ROBOTS CONTROL APPLICATION FOR
INTELLIGENT NAVIGATION BASED ON Q-LEARNING ALGORITHM
Tran Thi Huong
*
University of Economics - Technology for Industries
ARTICLE INFO
ABSTRACT
Received:
22/3/2022
This paper presents a study on controlling automotive robots applied
in industry, civil, etc. for intelligent navigation in unknown
environment on the basis of Q-Learning algorithm. The programming
tool is the operating system for the robot ROS (Robot Operating
System) and performs automatic intelligent navigation for the robot
with the process of locating the robot in a flat environment and
mapping (called SLAM-Simultaneous Localization and Mapping).
Research results using ROS programming tool, in Gazebo
environment. The information is updated from the map, operating
environment, control position of the robot, and obstacles to calculate
the trajectory for the robot in the automatic navigation system. The
goal is to safely avoid the obstacles without encountering any
obstacles along the way.
Revised:
12/5/2022
Published:
19/5/2022
KEYWORDS
Automotive robot
ROS
SLAM
Gazebo
Intelligent navigation
NGHIÊN CỨU ĐIỀU KHIN ROBOT T HÀNH NG DNG CHO
ĐIỀU HƯỚNG THÔNG MINH TRÊN CƠ SỞ THUT TOÁN Q-LEARNING
Trn Th ng
Trường Đại hc Kinh tế - K thut Công nghip
TÓM TT
Ngày nhn bài:
22/3/2022
Bài báo trình bày nghiên cu v vấn đề điu khin robot t hành ng
dng trong công nghip, trong dân dụng,v.v... để điều hướng thông
minh trong môi trường không xác định trên sở thut toán Q-
Learning. Công c lp trình h điu hành cho robot ROS (Robot
Operating System) thc hiện điều hướng thông minh t động cho
robot với quá trình định v robot trong môi trường phng lp bn
đồ hóa (gi SLAM - Simultaneous Localization and Mapping).
Các kết qu nghiên cu s dng công c lp trình ROS, trong môi
trường Gazebo. Các thông tin đưc cp nht t bản đồ, môi trường
hoạt động, v trí điu khin ca robot vt cản để tính toán qu đạo
cho robot trong h thống điều hướng t đng. Mc tiêu nhm tránh
các chướng ngi vt mt cách an toàn không gp bt k tr ngi
nào trên đường đi.
Ngày hoàn thin:
12/5/2022
Ngày đăng:
19/5/2022
DOI: https://doi.org/10.34238/tnu-jst.5745
Email: huongtt @uneti.edu.vn
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 292 Email: jst@tnu.edu.vn
1. M đầu
Hin nay trên thế giới cũng như Vit Nam nhằm đáp ng công ngh 4.0 vai trò ca các
h thống robot thông minh đang chiếm lĩnh vị trí quan trng trong công nghip, dân dng. Trong
đó, thut ng robot điều khin robot ngày nay tr nên thông dụng, đang từng bước gn cht
vi cuc sng hàng ngày của con người như robot phục v (robot hút bi, robot lau nhà, robot
đưa hàng), robot công nghiệp (các robot trong các dây chuyn sn xut), robot trong y tế, robot
trong lĩnh vực quân s, trong giao thông vn ti,... K thut robot nói chung, robot t hành
robot di động nói riêng là một lĩnh vực đa ngành gồm: cơ khí, Đin - Đin tử, điều khin t động
công ngh thông tin. Đây một lĩnh vực thu hút được nhiu s chú ý ca cộng đồng khoa hc
bi vai tquan trng ca trong cuc sống hàng ngày cũng như trong công việc sn xut
các dây chuyn t động ti các nhà máy công nghiệp, nơi sản xut. Robot t hành được định
nghĩa một loi xe robot kh năng tự di chuyn, t vận động để thc hin tt nhng công
việc được giao trong nhà kho, trong nhà máy, nơi sn xut,... [1]-[5]. Mt trong các yêu cầu
bn ca robot là t động thc thi các nhim v và kh năng điều hướng tt trong phm vi vi các
môi trường không xác đnh. Bng cách s dng nhng quan sát tích hp t thiết b điều khiển đến
môi trường, kết hp vi bản đ hóa trong cùng một lúc để điều hướng t động cho robot. Vic
đồng thời hóa định v bản đồ cùng mt lúc là một phương pháp chung có liên quan đến vic trin
khai mt h thng robot t động trong môi trường không xác định cho mt robot t hành đến
đích một cách an toàn trong toàn b hành trình ca nó [6]-[10].
Trong lĩnh vực k thuật điều khin công ngh thông tin, học tăng ng (reinforcement
learning) một lĩnh vực con ca hc máy, nghiên cu cách thc mt tác nhân trong mt môi
trưng nên chn thc hiện các hành động nào để cực đại hóa mt khon phần thưởng (reward)
nào đó về lâu dài. Các thut toán học tăng ng c gng tìm mt chiến lược ánh x các trng
thái của môi trường tới các hành đng mà tác nhân nên chn trong các trạng thái đó [3], [5]. Môi
trưng làm việc để điu khiển cho robot thường được biu diễn dưới dng mt quá trình quyết
định Markop trng thái hu hn (Markov decision process - MDP) các thut toán học tăng
ng cho ng cnh này liên quan nhiều đến các k thut quy hoạch động. Các xác sut
chuyn trng thái các xác sut thu lợi trong MDP thường ngẫu nhiên nhưng lại tĩnh trong
quá trình của bài toán điều khin robot. Khác vi hc có giám sát, trong học tăng cường không có
các cp d liu vào/kết qu đúng, các hành động gn tối ưu cũng không được đánh giá đúng sai
một cách tường minh. Hơn nữa, đây hoạt động trc tuyến (on-line performance) được quan
tâm, trong đó có việc tìm kiếm mt s cân bng giữa khám phá (môi trường thiết lp bản đồ hóa)
khai thác (tri thc hiện có). hai phương pháp thường được s dụng để gii các bài toán
quyết định đó tìm kiếm trong không gian chiến lược tìm kiếm trong không gian hàm giá tr
hay còn gọi là “phép lặp chiến lược” và “phép lặp giá trị”. Hai phương pháp này chính là các giải
thut học tăng cường đặc trưng. Bên cạnh đó, trong những nghiên cu gần đây các nhà khoa học
đề xut một phương pháp kết hp giữa hai phương pháp trên, đó chính phương pháp Actor-
Critic learning [7], [8].
Trong lĩnh vực điều khin robot, thut toán Q-learning thuộc nhóm phương pháp da trên giá
tr (value-based method), nghĩa chúng tìm cách tính toán hàm giá tr, ri t hàm giá tr đưa ra
chính sách tối ưu. Dù đây là thuật toán được cho là đơn giản nhưng Q-learning li là nn tng ca
hu hết các thut toán học tăng cường quan trng sau này. Trong mt s các nghiên cu gần đây,
[6] nghiên cu v SLAM, ROS, mi ch dng li vi robot Turtlebot vấn đề áp dng thut toán
một cách máy móc cho bài toán tìm đưng ngn nhất, chưa đi sâu vào xử các tình hung
thc tế trong môi trường làm vic rng ln có nhiu yếu t bất định. Công trình [7] s dng thut
toán Q - learning thông thường và đưa ra những hn chế cơ bản để thc hiện quá trình điều khin
robot, chưa đề cập đến tránh vt cản trên đường đi. Công trình [8] thực hiện quá trình điều hướng
trên cơ sở ROS và đã triển khai s dng vic to bản đồ và định v đồng thời trên cơ s (SLAM -
Simultaneous Localization and Mapping).
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 293 Email: jst@tnu.edu.vn
Bài báo nghiên cứu thuật toán Q-learning để nhằm giải quyết bài toán tìm đường đi tránh
vật cản (vật cản cố định, vật cản di động) cho robot trong môi trường làm việc không gian
hành động thực tế cho robot tự hành nhằm điều hướng thông minh, thiết lp kế hoạch đường đi
và tránh chướng ngi vt an toàn mà không xy ra bt k va chm nào.
2. Ni dung nghiên cu
2.1. Xây dựng mô hình điều khin cho robot t hành
Cấu trúc c thiết bị phần cứng được sử dụng minh họa như hình 1, bao gồm các khối
chức năng như sau: khung robot được thiết kế theo kiểu nh tròn khoảng cách giữa hai bánh
xe là 0,35 m và bán kính bánh xe là 0,065 m.
Hình 1. Mô hình robot tnh ba bánh
Phương trình động hc ca thiết b dn động của hai động cơ chính (TBDĐ) viết tại điểm A là
trung điểm của đoạn thng ni tâm hai bánh dẫn động là:
()
2
R L W
A
r
vv

==
(1)
()
2
R L W
r
W

=
(2)
T (1) (2), ta các phương trình chuyển đng của TBDĐ viết trong h tọa độ tại điểm A
và điểm C (tâm cm biến dò đường):
0
0
01
A
A
x cos
v
y sin

=


(3)
..
..
cA
cA
x x d sin
y y d cos



=+
(4)
Các b điều khiển bám qũy đạo đường đi robot theo tiêu chuẩn ổn định ca Lyapunov [1], [2]
tuy đáp ứng tt trong mô phỏng nhưng gặp hn chế trong thc tế cm biến dò line ch đo được
độ lch ngang (hay e
2
). Chính thế, bài báo trình bày b điều khin thiết kế theo dng hi tiếp
tuyến tính [2], [5]. Phương trình của sai s dò line như sau:
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 294 Email: jst@tnu.edu.vn
1 3 2
2 3 1
3
1
0
01
r
r
r
e v cos e e
v
e v sine d e
e

= +


(5)
Khi TBDĐ bám theo line, qu đạo của TBDĐ chỉ dao động xung quanh line, do đó, đim cân
bng ca h phi tuyến phương trình (5) chính
0 10 20 30
000
TT
X e e e==
vi đầu vào
khi là
0
T
sk r r
uv
=
. Tuyến tính hóa (5) xung quanh điểm cân bằng ta được:
11
22
33
0 1 0
00
0 0 0 0 1
rr
rr
e v e
v
e v e d
ee

= +


(6)
Trong thc tế, vn tốc TBDĐ quá trình hoạt động là không đổi nên
1
0e
, khi đó, (6) thành:
22
33
0
,
0 0 1
r
ee
vd
uu
ee
= + =
(7)
Đạo hàm phương trình thứ nht ca (7) và thế phương trình thứ hai vào ta được:
2 r
e d u v u=
(8)
Đặt:
1 2 2 1
,.x e x x u
= =
với
d
=−
, ta có:
11
22
01
00
r
x x d
u
x x v
=+
(9)
Phương trình (9) dạng
..X A X BU=+
ma trận điều khiển được M = [B AB] có
det( ) 0 0
r
Mv
nên h (9) h điều khiển được. Đặt luật điều khin hi tiếp u = -K.X
vi K = [k
1
k
2
]. Khai trin luật điều khiển ta đưc:
12
22
22
11
kk
u e e
k d k d
−−
=+
++
(10)
Luật điều khin (10) dng luật điều khin PD, khi đó ta :
22pd
u K e K e=+
vi
12
22
,
11
pd
kk
KK
k d k d
==
++
. Các h s k
1
, k
2
được xác định dựa vào phương pháp tọa đ điểm cc -
v trí hoặc điều khin tối ưu LQR. Tâm vận tc tc thi ca TBDĐ với robot ti thời điểm (i) ln
t là C
0(i)
C
A(i)
. Góc lch gia thiết b dẫn động và robot ti thời điểm (i) là:
( 1)
( ) ( )
i
i i A
=−
(11)
TBDĐ robot liên kết vi nhau qua khp bn l ti O nên
0DA
v v v v= = =
, suy ra bán
kính cua và vn tc góc ca robot t hành ti thời điểm (i) là:
()
()
()
Ai
i
L
CO
sin
=
(12)
( ) ( ) ( )
()
()
()
i i i
Ai
Ai
v v sin
C O L
==
(13)
2.2. ng dng thut toán Q-learning để điu khin robot t hành
2.2.1. Học tăng cường vi thut toán Q-learning
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 295 Email: jst@tnu.edu.vn
Phương pháp học tăng cường vi thut toán Q-learning là mt nhánh ca học máy được phát
triển để phc v cho việc tính toán thông minh cho lĩnh vc khoa hc k thut nói chung và trên
phương diện điều khin hc nói riêng.
Trạng thái
S
t
Môi trường
hoạt động
của robot
Hành động
a
t
Robot tự
hành ba bánh
Phần
thưởng
r
t
Hình 2. Sơ đ tương tác với môi trường hc tp ca robot t hành
Vi Q-learning nói riêng và học tăng cường nói chung, thì mi th được chia thành “trạng thái
- s
t
“hành đng - a
t
với thi gian được biu th bng mt chuỗi các bước thi gian (t = 0, 1,
2, .v.v.). Đối với môi trưng làm vic liên tục như điều khin robot t hành thì việc đầu tiên cn
làm là lượng t hóa không gian trạng thái để có cp nht
12
, ,...
m
S S S S=
lượng t a đưc
không gian hành động thành tp
12
, ,...
n
A a a a=
, kết qu môi trường to ra phần thưởng
( , )
tt
r r s a R=
, để hiểu rõ hơn ta có sơ đồ tương tác môi trường hc tập như hình 2.
Khi đó, cách Q-learning hoạt động tính toán lưu gi giá tr Q trên một hành động
trng thái c th, Q(s, a). Tt c nhng thông tin, kinh nghiệm tích lũy từ nhng ln tính toán
trước đó sẽ được mã hóa thành mt bảng đánh giá.
Chúng ta tính toán tng phần thưởng thu được sau thi gian t là R
t
được hoàn tr v như sau:
0
k
tk
t
k
Rr
+
=
=
(14)
trong đó,
01

h s khu tr cho các phần thưởng. Giá tr của γ càng nhỏ thì phn
thưởng càng được chú trng trong khi thc hiện hành động. Khi đó, hàm giá trị hành động (hàm
Q) được xác định như sau:
,( , )
n
R s s a a
tt
t
EQ s a
===
(15)
trong đó,
{...}E
là đại din cho k vng theo chính sách ngu nhiên trong không gian hành
động. Hàm
( , )
n
Q s a
đại din cho tng phần thưởng chiết khu d kiến khi ta chọn hành động a
dưới trạng thái s và sau đó chọn hành động theo chính sách π. Hàm Q được mô t dưới dng công
thức đệ quy như sau:
( ) (
'
, Pr( ' , ) . ( , , ') ( ' ') ( ', ')
'
aA
Q s a s s a r s a s a s Q s a
sS

=+
(16)
trong đó, S A ln lượt là tp trng thái và tập hành động. T công thc này, chúng ta có th
xác định rng hàm Q theo chính sách tối ưu π
, tc hàm Q tối ưu, thỏa mãn phương trình sau,
được gọi là phương trình tối ưu Bellman:
**
( , ) ( ', '
'
'
Q s a E r maxQ s a
t
s
a
=+
(17)
Trong thut toán Q-learning, bng cách cp nht lặp đi lặp li hàm Q s dng biu thc (10)
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 296 Email: jst@tnu.edu.vn
da trên d liu thc nghim, hàm Q hi t ngu nhiên thành
*
( , )Q s a
do đó, chính sách tối
ưu thể được xác định chính sách tham vng ca
*
: * ( , )Q a argmax s a
a
=
. Trong thc tế,
tác nhân hc tp ca robot khi di chuyn phải khám phá môi trường hành động hàm Q không
đáng tin cậy cn phi la chọn hành động để đưc s dng mt cách rộng rãi như một chính
sách ngẫu nhiên, khi đó cho phép để chn một hành động có xác sut cho mt trạng thái đầu vào
s. C th hơn, chính sách μ sẽ tham gia la chn một hành động nhm tối đa hóa hàm Q trng
thái s vi xác sut a ca 1- μ, μ [0, 1]cho phép la chn một hành động ngu nhiên vi xác
sut còn li. Khi các trạng thái hành động ri rc khác nhau, một cách đơn giản để biu
din hàm Q là s dng như một bng giá tr cho tt c cp trng thái, hành động như sau:
( )
, ( , ) . ( ( ', ') ( ', ')
'
Q s a Q s a r maxQ s a Q s a
a





+ +
(18)
Trong đó,
01

tốc độ học và tốc độ học càng lớn thì dữ liệu mới cập nhật càng nhanh.
Với thuật toán này, bảng Q hội tụ đến hàm Q tối ưu trong điều kiện hội tụ của xấp xỉ ngẫu nhiên.
Mặt khác, điều này dựa trên phương pháp xấp xỉ ngẫu nhiên, nên cần một số lượng dữ liệu
thích hợp cho tất cả các cặp (s, a).
Trong phương pháp Q-learning dng bng, khi s ng phn t trong trng thái hoc không
gian hành động là rt ln hay trng thái hoặc không gian hành động liên tục, chúng ta thường
biu diễn hàm Q dưới dng hàm tham s Q(s, a; θ) bằng cách s dng các tham s θ sau đó
cp nht các thông s theo biu thức gradient như sau:
(
)
( , ; )+ target Q s a Q(s,a; )
Q
(19)
đây, target
Q
” là giá trị mc tiêu dựa trên phương trình Bellman tối ưu (10) và nó được tính
toán như sau:
( , ; ')
'
target r s a s maxQ(s',a'; )
Q
a

+
(20)
Hàm Q được cp nht theo mt trình t nht quán ca nó. Thut toán Q-learning mt
phương pháp dựa trên các hàm giá tr t hàm giá tr đưa ra chính sách tối ưu, trong đó giá tr
xp x hàm Q được hi quy v giá tr mc tiêu, giá tr này ph thuc vào chính nó. Điều này ng
ý rng giá tr đích thực thay đổi t động khi lut hc tập được cp nhật. Do đó, khi một hàm phi
tuyến tính, chng hn như mạng -ron được s dụng để xp x p, quá trình hc tp này tr nên
không ổn định do các thay đổi động hc trong mục tiêu trong trường hp xu nht, hàm Q s
phân k [3], [4].
2.2.2. Điều hướng thông minh robot t hành s dng thut toán Q-learning
Trong thut toán Q-learning giá tr ca các v trí điều khiển điều hướng cho robot thường
được cp nhật theo phương pháp vi phân tức thi, s dng sai lch gia một bước lặp để ước
ng, tính toán hàm giá tr Q theo các biu thc (18) trên. Khi gp các bài toán điều hướng
cho robot di chuyn vi nhiu trạng thái khác nhau hành động dch chuyn (sang trái, sang
phải), tránh chướng ngi vt (vt cản di động, vt cn c định), .v.v. Khi đó ta chọn α = 0,1; γ =
0,95; lúc này robot di chuyn vi nhiu tình hung khác nhau, lúc này quá trình cp nht bng Q
được thc hin.
Khi bắt đầu hun luyn thuật toán, đối tượng s đi một hoc hai ln sang phải, nhưng ngay khi
hành động sang trái được chọn, thì hành động này s tiếp tục được chn nhng ln di chuyn
tiếp theo bi vì luôn nhận được phần thưởng khi thực thi hành động sang trái này.
Mc tiêu của hình trong quá trình điều hướng cho robot là gi cho trong mt gii hn
cho phép, tức ± 5 độ. Lúc đầu, mô hình robot, ma trận Q, chính ch π s được khi to.
mt s đim quan trọng để thc hiện điều hướng trong quá trình di chuyển, như các trạng thái
không hu hn. Trong phm vi gii hn, th hàng trăm hàng nghìn góc cao đ
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 297 Email: jst@tnu.edu.vn
hàng nghìn ct không th xy ra khi cp nht thut toán Q-learning. Vì vậy, ta đã sắp xếp các
giá tr trng thái thành 20 góc trng thái t -10 độ đến 10 độ. Đối vi giá tr hành động, chúng ta
đã chọn mười vn tc khác nhau chúng [- 200, - 100, - 50, - 25, - 10, 10, 25, 50, 100, 200]
ms
-1
. Ma trn Q 20 ct, mi cột đại din cho mt trạng thái mười hàng mỗi hàng đại din
cho mọi hành động. Ban đầu, các giá tr Q được gi định 0 mt s hành động ngu nhiên
được ch định cho mi trạng thái trong chính sách π. Chúng ta đã huấn luyn trong 1400 tp, mi
tp 2000 ln lp lại. Vào đầu mi tp dy đều được phỏng được làm mi. Bt c khi nào
trng thái của robot vượt quá gii hn, s b pht bng cách gán phần thưởng cho -100. Bng
Q được cp nht mỗi bước theo biu thc (18). T đó ta thuật toán thiết lp qu đạo điều
hướng t động cho robot được hin th như hình 3.
Thut toán Q-learning thc hiện các tác nhân hành đng cho việc điều hướng t động thông
minh cho robot t hành nhm thc hin các qu đạo để tránh các vt cản động cũng như vật cn
tĩnh trong quá trình di chuyển ca robot, đồng thi tính ra qu đạo ngn nht cho robot di chuyn
đến đích với mt đường đi nhanh nhất.
Hình 3. Thut toán Q-learning cho robot t hành ba bánh
3. Kết qu mô phng
Để thc hiện quá trình điều hướng thông minh cho robot t hành, tác gi thc hiện trên sở
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 298 Email: jst@tnu.edu.vn
thuật toán đã nghiên cứu đề xut phần hai như trên tiến hành nghiên cu mt s phng
được da trên công c nghiên cu mnh m là Gazebo.
Training episodes
Average Reward
0 200 400 600 800 1000 1200 1400
-2
0
2
4
8
6
Phần thưởng đã lọc
Phần thưởng thực
Hình 4. Kết qu phần thưởng trung bình ca quá trình hc tp
Hình 4 trình bày kết qu hc tập trong môi trường phng Gazebo. Ta th thy, phn
thưởng trung bình (phần thưởng thc) ca robot trong mi tp dy không ngừng tăng lên khi quá
trình đào tạo tiếp tc. Robot s học được kiến thc v môi trường thông qua việc tương tác với
môi trường. Cui cùng, robot th điều hướng đến đích mt cách nhanh chóng t ch trong
c môi trường đơn giản và phc tp mà không có bt k nhng va chm nào với các chướng ngi
vt. Nghiên cu th nghim cho thy tính hiu qu ca mô hình mà tác gi đã đề xut.
Trong phn này, mt s phỏng được thc hin da trên công c phng mnh m
môi trường trong Gazebo.
a) b)
Hình 5. a) Môi trường đào tạo Gazebo; b) Bản đồ hóa t l tương ứng được thc hin trong Rviz
a) b)
Hình 6. a) Mt s hành động được đào tạo trong môi trường Gazebo, b) Xây dng bn đồ trc quan và
đường đi của robot trong môi trường Gazebo
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 299 Email: jst@tnu.edu.vn
Như trong hình 5 cho thy bản đ hóa đồng thời được xây dng trên Gazebo và trong Rviz
bản đồ được to ra vi các bức tường nghiêm ngt mt robot t hành th đưc thc hin
điều khiển để di chuyn xung quanh các chướng ngi vt c định to bi cnh cho các chuyn
động của robot được s dụng để xây dng bản đồ hành động ca robot t hành được điều hướng
mt cách thông minh.
Chương trình được xây dựng cho quá trình điều hướng thông minh như hình 6, thể hin được
mt s c hành động được thc hin bi robot t v trí ban đầu cho đến khi thc hiện được hành
động th đến mục tiêu sau các đợt hc tp. Vấn đề này th hin mi quan h đặc bit quan
trng, khi thc hin vợt các chướng ngi vật tĩnh hay vật cản động trên đường đi không gây
ra bt k tr ngại nào, khi đó robot về đích an toàn.
Trên hình 6b đường màu tím (mũi tên nét đứt) th hin đường đi của robot khi tránh chướng
ngại vật được tạo bởi cảm biến thông minh, camera thông minh vị thiện tại của robot được
cập nhật (robot tự hành được hiệu bằng màu xanh cây) bằng cách sử dụng kích thước đo
hình học. Đây là một công cụ trực quan có thể cung cấp cập nhật trực tiếp các bản đồ được tạo từ
thuật toán SLAM để điều khiển robot. Hơn nữa, quỹ đạo chuyển động của robot tự hành đa
hướng trong bản đồ cũng thể tự động điều hướng trong môi trường này luôn thể tạo ra
các chướng ngại vật, như trong hình 5; hình 6 để cho robot di chuyển. Kết quả cho thấy robot đã
lập quỹ đạo chuyển động di chuyển đến đúng mục tiêu mong muốn một cách chính xác an
toàn. Những kết quả này mang lại lợi ích thực tiễn cao, thể thực hiện hầu hết trên các robot
trong công nghiệp, robot di động trong giao thông, robot tự hành trong y tế và robot tự hành trong
các nhà máy xí nghiệp công nghiệp.
4. Kết luận
Nội dung bài báo đã trình bày việc điều khiển robot tự hành ba bánh ứng dụng điều hướng
thông minh trong môi trường phẳng không xác định, sử dụng công cụ ROS để lập trình điều
khiển. Các kết quả phỏng trên phn mm Gazebo chng minh kh năng của robot t hành
điều hướng t động đến các v trí mc tiêu mong mun và tránh được các vt cản tĩnh vật cn
động trong quá trình di chuyển trong môi trường đơn giản phc tp. Nghiên cu này đã cho
thấy tính hiệu quả thực tế của quá trình điều khiển robot tự hành và thực hiện điều hướng tự động
cho robot mà tác giả đã nghiên cứu có khả năng định vị robot trong môi trường, lập bản đồ 2D và
thực hiện điều hướng thông minh để đến mục tiêu trong bản đồ đã xây dựng. Kết quả này cho
thấy robot đã xây dựng được quỹ đạo chuyển động, di chuyển đến đúng mục tiêu tự động
tránh vật cản động xuất hiện trên đường đi. Hướng phát triển của vấn đề nghiên cứu mong
muốn sẽ được thực hiện áp dụng trên một số loại robot thành thực tế trong nhà máy sản xuất
công nghiệp, trong đời sống, trong giao thông thông minh và trong y học với những thuật toán tối
ưu hơn của học máy.
TÀI LIU THAM KHO/ REFERENCES
[1] Q. C. Hoang, H. V. Dao, A. V. Nguyen, and B. C. Le, Electric drive systems in Robots. People's Army
Publishing House, (in Vietnamese), Hanoi, Vietnam, 2020.
[2] D. P. Nguyen, Advanced Control Theory. Science and Engineering Publishing House, (in Vietnamese),
Hanoi, Vietnam, 2018.
[3] H. S. Le, C. D. Le, and V. H. Nguyen, Industrial Robots Syllabus. Ho Chi Minh City National
University Publishing House, (in Vietnamese), Ho Chi Minh City, Vietnam, 2017.
[4] T. T. Nguyen, Basic Deep Learning, 2nd, The Legrand Orange Book Template by Mathias Legrand,
Publishing by Vietnamme, (in Vietnamese), Hanoi, Vietnam, 2020.
[5] L. Joseph and J. Cacace, Mastering ROS for Robotics Programming. Second Edition: Design, build,
and simulate complex robots using the Robot Operating System, Published by Packt Publishing Ltd.
N0. 35 Livery Street Birmingham B3 2PB, UK, 2018.
[6] S. P. Thale et al., ROS based SLAM implementation for Autonomous navigation using Turtlebot,
ITM Web of Conferences 32, 01011, 2020.
TNU Journal of Science and Technology
227(08): 291 - 300
http://jst.tnu.edu.vn 300 Email: jst@tnu.edu.vn
[7] S. Ohnishi, E. Uchibe, Y. Yamaguchi, K. Nakanishi, Y. Yasui, and S. Ishii, Constrained Deep Q-
Learning Gradually Approaching Ordinary Q-Learning, Frontiers in Neurorobotics Journal, vol. 13,
pp. 7-12, 2019.
[8] R. K. e. a. Megalingam, ROS based autonomous indoor navigation simulation using SLAM
algorithm,Int. J. Pure Appl., vol. 118, no. 7, pp. 199-205, March 2018.
[9] H. X. Dong, C. Y. Weng, C. Q. Guo, H. Y. Yu, and I. M. Chen, Real-time avoidance strategy of
dynamic obstacles via half model-free detection and tracking with 2D Lidar for mobile robots,
IEEE/ASME Transactions on Mechatronics, vol. 26, no. 4, pp. 2215-2225, Aug 2021.
[10] D. Kozlov, Comparison of Reinforcement Learning Algorithms for Motion Control of an
Autonomous Robot in Gazebo Simulator, International Conference on Information Technology and
Nanotechnology, IEEE Explore, vol .9, pp. 1-5, 2021, doi: 10.1109/ITNT52450.2021.9649145.

Preview text:

TNU Journal of Science and Technology 227(08): 291 - 300
RESEARCH ON SELF-PROPELLED ROBOTS CONTROL APPLICATION FOR
INTELLIGENT NAVIGATION BASED ON Q-LEARNING ALGORITHM
Tran Thi Huong*
University of Economics - Technology for Industries ARTICLE INFO ABSTRACT
Received: 22/3/2022
This paper presents a study on controlling automotive robots applied
in industry, civil, etc. for intelligent navigation in unknown
Revised: 12/5/2022
environment on the basis of Q-Learning algorithm. The programming Published: 19/5/2022
tool is the operating system for the robot ROS (Robot Operating
System) and performs automatic intelligent navigation for the robot
with the process of locating the robot in a flat environment and KEYWORDS
mapping (called SLAM-Simultaneous Localization and Mapping). Automotive robot
Research results using ROS programming tool, in Gazebo
environment. The information is updated from the map, operating ROS
environment, control position of the robot, and obstacles to calculate SLAM
the trajectory for the robot in the automatic navigation system. The Gazebo
goal is to safely avoid the obstacles without encountering any Intelligent navigation obstacles along the way.
NGHIÊN CỨU ĐIỀU KHIỂN ROBOT TỰ HÀNH ỨNG DỤNG CHO
ĐIỀU HƯỚNG THÔNG MINH TRÊN CƠ SỞ THUẬT TOÁN Q-LEARNING
Trần Thị Hường
Trường Đại học Kinh tế - Kỹ thuật Công nghiệp THÔNG TIN BÀI BÁO TÓM TẮT
Ngày nhận bài: 22/3/2022
Bài báo trình bày nghiên cứu về vấn đề điều khiển robot tự hành ứng
dụng trong công nghiệp, trong dân dụng,v.v... để điều hướng thông
Ngày hoàn thiện: 12/5/2022
minh trong môi trường không xác định trên cơ sở thuật toán Q-
Ngày đăng: 19/5/2022
Learning. Công cụ lập trình là hệ điều hành cho robot ROS (Robot
Operating System) và thực hiện điều hướng thông minh tự động cho
robot với quá trình định vị robot trong môi trường phẳng và lập bản TỪ KHÓA
đồ hóa (gọi là SLAM - Simultaneous Localization and Mapping). Robot tự hành
Các kết quả nghiên cứu sử dụng công cụ lập trình ROS, trong môi
trường Gazebo. Các thông tin được cập nhật từ bản đồ, môi trường ROS
hoạt động, vị trí điều khiển của robot và vật cản để tính toán quỹ đạo SLAM
cho robot trong hệ thống điều hướng tự động. Mục tiêu nhằm tránh Gazebo
các chướng ngại vật một cách an toàn mà không gặp bất kỳ trở ngại
Điều hướng thông minh nào trên đường đi.
DOI: https://doi.org/10.34238/tnu-jst.5745
Email: huongtt @uneti.edu.vn
http://jst.tnu.edu.vn 291 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300 1. Mở đầu
Hiện nay trên thế giới cũng như ở Việt Nam nhằm đáp ứng công nghệ 4.0 và vai trò của các
hệ thống robot thông minh đang chiếm lĩnh vị trí quan trọng trong công nghiệp, dân dụng. Trong
đó, thuật ngữ robot và điều khiển robot ngày nay trở nên thông dụng, đang từng bước gắn chặt
với cuộc sống hàng ngày của con người như robot phục vụ (robot hút bụi, robot lau nhà, robot
đưa hàng), robot công nghiệp (các robot trong các dây chuyền sản xuất), robot trong y tế, robot
trong lĩnh vực quân sự, trong giao thông vận tải,... Kỹ thuật robot nói chung, robot tự hành và
robot di động nói riêng là một lĩnh vực đa ngành gồm: cơ khí, Điện - Điện tử, điều khiển tự động
và công nghệ thông tin. Đây một lĩnh vực thu hút được nhiều sự chú ý của cộng đồng khoa học
bởi vai trò quan trọng của nó trong cuộc sống hàng ngày cũng như trong công việc sản xuất và
các dây chuyền tự động tại các nhà máy công nghiệp, nơi sản xuất. Robot tự hành được định
nghĩa là một loại xe robot có khả năng tự di chuyển, tự vận động để thực hiện tốt những công
việc được giao trong nhà kho, trong nhà máy, nơi sản xuất,... [1]-[5]. Một trong các yêu cầu cơ
bản của robot là tự động thực thi các nhiệm vụ và khả năng điều hướng tốt trong phạm vi với các
môi trường không xác định. Bằng cách sử dụng những quan sát tích hợp từ thiết bị điều khiển đến
môi trường, kết hợp với bản đồ hóa trong cùng một lúc để điều hướng tự động cho robot. Việc
đồng thời hóa định vị bản đồ cùng một lúc là một phương pháp chung có liên quan đến việc triển
khai một hệ thống robot tự động trong môi trường không xác định cho một robot tự hành đến
đích một cách an toàn trong toàn bộ hành trình của nó [6]-[10].
Trong lĩnh vực kỹ thuật điều khiển và công nghệ thông tin, học tăng cường (reinforcement
learning) là một lĩnh vực con của học máy, nghiên cứu cách thức một tác nhân trong một môi
trường nên chọn thực hiện các hành động nào để cực đại hóa một khoản phần thưởng (reward)
nào đó về lâu dài. Các thuật toán học tăng cường cố gắng tìm một chiến lược ánh xạ các trạng
thái của môi trường tới các hành động mà tác nhân nên chọn trong các trạng thái đó [3], [5]. Môi
trường làm việc để điều khiển cho robot thường được biểu diễn dưới dạng một quá trình quyết
định Markop trạng thái hữu hạn (Markov decision process - MDP) và các thuật toán học tăng
cường cho ngữ cảnh này có liên quan nhiều đến các kỹ thuật quy hoạch động. Các xác suất
chuyển trạng thái và các xác suất thu lợi trong MDP thường là ngẫu nhiên nhưng lại tĩnh trong
quá trình của bài toán điều khiển robot. Khác với học có giám sát, trong học tăng cường không có
các cặp dữ liệu vào/kết quả đúng, các hành động gần tối ưu cũng không được đánh giá đúng sai
một cách tường minh. Hơn nữa, ở đây hoạt động trực tuyến (on-line performance) được quan
tâm, trong đó có việc tìm kiếm một sự cân bằng giữa khám phá (môi trường thiết lập bản đồ hóa)
và khai thác (tri thức hiện có). Có hai phương pháp thường được sử dụng để giải các bài toán
quyết định đó là tìm kiếm trong không gian chiến lược và tìm kiếm trong không gian hàm giá trị
hay còn gọi là “phép lặp chiến lược” và “phép lặp giá trị”. Hai phương pháp này chính là các giải
thuật học tăng cường đặc trưng. Bên cạnh đó, trong những nghiên cứu gần đây các nhà khoa học
đề xuất một phương pháp kết hợp giữa hai phương pháp trên, đó chính là phương pháp Actor- Critic learning [7], [8].
Trong lĩnh vực điều khiển robot, thuật toán Q-learning thuộc nhóm phương pháp dựa trên giá
trị (value-based method), nghĩa là chúng tìm cách tính toán hàm giá trị, rồi từ hàm giá trị đưa ra
chính sách tối ưu. Dù đây là thuật toán được cho là đơn giản nhưng Q-learning lại là nền tảng của
hầu hết các thuật toán học tăng cường quan trọng sau này. Trong một số các nghiên cứu gần đây,
ở [6] nghiên cứu về SLAM, ROS, mới chỉ dừng lại với robot Turtlebot vấn đề áp dụng thuật toán
một cách máy móc cho bài toán tìm đường ngắn nhất, mà chưa đi sâu vào xử lý các tình huống
thực tế trong môi trường làm việc rộng lớn có nhiều yếu tố bất định. Công trình [7] sử dụng thuật
toán Q - learning thông thường và đưa ra những hạn chế cơ bản để thực hiện quá trình điều khiển
robot, chưa đề cập đến tránh vật cản trên đường đi. Công trình [8] thực hiện quá trình điều hướng
trên cơ sở ROS và đã triển khai sử dụng việc tạo bản đồ và định vị đồng thời trên cơ sở (SLAM -
Simultaneous Localization and Mapping).
http://jst.tnu.edu.vn 292 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300
Bài báo nghiên cứu thuật toán Q-learning để nhằm giải quyết bài toán tìm đường đi và tránh
vật cản (vật cản cố định, vật cản di động) cho robot trong môi trường làm việc và không gian
hành động thực tế cho robot tự hành nhằm điều hướng thông minh, thiết lập kế hoạch đường đi
và tránh chướng ngại vật an toàn mà không xảy ra bất kỳ va chạm nào.
2. Nội dung nghiên cứu
2.1. Xây dựng mô hình điều khiển cho robot tự hành
Cấu trúc và các thiết bị phần cứng được sử dụng minh họa như hình 1, bao gồm các khối và
chức năng như sau: khung robot được thiết kế theo kiểu hình tròn và khoảng cách giữa hai bánh
xe là 0,35 m và bán kính bánh xe là 0,065 m.
Hình 1. Mô hình robot tự hành ba bánh
Phương trình động học của thiết bị dẫn động của hai động cơ chính (TBDĐ) viết tại điểm A là
trung điểm của đoạn thẳng nối tâm hai bánh dẫn động là: ( −  )r R L W v = v = (1) A 2 (  )r R L W  − = (2) 2W
Từ (1) và (2), ta có các phương trình chuyển động của TBDĐ viết trong hệ tọa độ tại điểm A
và điểm C (tâm cảm biến dò đường):
x  cos 0 A      v y = sin 0 A        (3)       0 1    
x   x −.d.sin  c A     y
= y +.d.cosc A     (4)          
Các bộ điều khiển bám qũy đạo đường đi robot theo tiêu chuẩn ổn định của Lyapunov [1], [2]
tuy đáp ứng tốt trong mô phỏng nhưng gặp hạn chế trong thực tế vì cảm biến dò line chỉ đo được
độ lệch ngang (hay e2). Chính vì thế, bài báo trình bày bộ điều khiển thiết kế theo dạng hồi tiếp
tuyến tính [2], [5]. Phương trình của sai số dò line như sau:
http://jst.tnu.edu.vn 293 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300
e  v cos e   1 − e  1 r 3 2        v e = v sin e + 0 −d e 2 r 3 1          (5)   e      0 −1   3   r   
Khi TBDĐ bám theo line, quỹ đạo của TBDĐ chỉ dao động xung quanh line, do đó, điểm cân T T
bằng của hệ phi tuyến ở phương trình (5) chính là X = e e e = 000 với đầu vào sơ 0  10 20 30   T khởi là u = v
. Tuyến tính hóa (5) xung quanh điểm cân bằng ta được: sk 0  r r e   0  −
v  e  −1 0  1 r r 1         v e =  − 0 v e + 0 −d 2 r r 2            (6)   e   0 0 0  e   0 1 −   3     3   
Trong thực tế, vận tốc TBDĐ quá trình hoạt động là không đổi nên e  0 , khi đó, (6) thành: 1
e  0 v  e  −d  2 r 2 = + u,u =          (7) e   0 0 e     1 − 3 3 
Đạo hàm phương trình thứ nhất của (7) và thế phương trình thứ hai vào ta được:
e = −d u v u 2 r (8)
Đặt: x = e , x = x − .u với  = −d , ta có: 1 2 2 1
x  0 1  x   −d  1 1 = + u         (9) x   0 0 xv  2  2   r
Phương trình (9) có dạng X = . A X + .
B U và ma trận điều khiển được M = [B AB]
det(M )  0  v  0 nên hệ (9) là hệ điều khiển được. Đặt luật điều khiển hồi tiếp u = -K.X r
với K = [k1 k2]. Khai triển luật điều khiển ta được: −kk 1 2 u = e + e 2 2 (10) 1+ k d 1+ k d 2 2
Luật điều khiển (10) có dạng luật điều khiển PD, khi đó ta có: u = K e + K e với p 2 d 2 kk 1 2 K = , K =
. Các hệ số k1, k2 được xác định dựa vào phương pháp tọa độ điểm cực - p 1 d + k d 1+ k d 2 2
vị trí hoặc điều khiển tối ưu LQR. Tâm vận tốc tức thời của TBDĐ với robot tại thời điểm (i) lần
lượt là C0(i)CA(i). Góc lệch giữa thiết bị dẫn động và robot tại thời điểm (i) là:  = − (i) (i) A (11) (i 1 − )
Vì TBDĐ và robot liên kết với nhau qua khớp bản lề tại O nên v = v = v = v , suy ra bán D A 0
kính cua và vận tốc góc của robot tự hành tại thời điểm (i) là: L C O = A (i) (12) si ( n  ) (i) v v sin( ) (i) (i) (i)  = = A(i) (13) C O L A (i)
2.2. Ứng dụng thuật toán Q-learning để điều khiển robot tự hành
2.2.1. Học tăng cường với thuật toán Q-learning
http://jst.tnu.edu.vn 294 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300
Phương pháp học tăng cường với thuật toán Q-learning là một nhánh của học máy được phát
triển để phục vụ cho việc tính toán thông minh cho lĩnh vực khoa học kỹ thuật nói chung và trên
phương diện điều khiển học nói riêng. Robot tự hành ba bánh Phần Trạng thái Hành động thưởng St at rt Môi trường hoạt động của robot
Hình 2. Sơ đồ tương tác với môi trường học tập của robot tự hành
Với Q-learning nói riêng và học tăng cường nói chung, thì mọi thứ được chia thành “trạng thái
- st” và “hành động - at” với thời gian được biểu thị bằng một chuỗi các bước thời gian (t = 0, 1,
2, .v.v.). Đối với môi trường làm việc liên tục như điều khiển robot tự hành thì việc đầu tiên cần
làm là lượng tử hóa không gian trạng thái để có cập nhật S = S ,S ,...S và lượng tử hóa được 1 2 m
không gian hành động thành tập A = a ,a ,...a 1 2
n , kết quả là môi trường tạo ra phần thưởng
r = r(s , a)  R , để hiểu rõ hơn ta có sơ đồ tương tác môi trường học tập như hình 2. t t
Khi đó, cách Q-learning hoạt động là tính toán và lưu giữ giá trị Q trên một hành động và
trạng thái cụ thể, Q(s, a). Tất cả những thông tin, kinh nghiệm tích lũy từ những lần tính toán
trước đó sẽ được mã hóa thành một bảng đánh giá.
Chúng ta tính toán tổng phần thưởng thu được sau thời gian t là Rt được hoàn trả về như sau:  k R =   r (14) t t +k k =0
trong đó, 0    1 là hệ số khấu trừ cho các phần thưởng. Giá trị của γ càng nhỏ thì phần
thưởng càng được chú trọng trong khi thực hiện hành động. Khi đó, hàm giá trị hành động (hàm
Q) được xác định như sau: n Q ( , s )
a = E R s s, aa t t  = = (15) t trong đó, E {...} 
là đại diện cho kỳ vọng theo chính sách ngẫu nhiên trong không gian hành động. Hàm n
Q (s, a) đại diện cho tổng phần thưởng chiết khấu dự kiến khi ta chọn hành động a
dưới trạng thái s và sau đó chọn hành động theo chính sách π. Hàm Q được mô tả dưới dạng công thức đệ quy như sau:   
Q (s, a) =  Pr(s' s,a)r.((s, ,
a s ') + (a' s')Q (s', a')  (16) s' Sa 'A
trong đó, S và A lần lượt là tập trạng thái và tập hành động. Từ công thức này, chúng ta có thể
xác định rằng hàm Q theo chính sách tối ưu π∗, tức là hàm Q tối ưu, thỏa mãn phương trình sau,
được gọi là phương trình tối ưu Bellman: * Q s a = E  * ( , )
r +  max Q (s ', a t ' s' (17) a'
Trong thuật toán Q-learning, bằng cách cập nhật lặp đi lặp lại hàm Q sử dụng ở biểu thức (10)
http://jst.tnu.edu.vn 295 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300
dựa trên dữ liệu thực nghiệm, hàm Q hội tụ ngẫu nhiên thành *
Q (s, a) và do đó, chính sách tối ưu có thể *
được xác định là chính sách tham vọng của Q : *
a = argmax (s, a) a . Trong thực tế,
tác nhân học tập của robot khi di chuyển phải khám phá môi trường hành động vì hàm Q không
đáng tin cậy và cần phải lựa chọn hành động để được sử dụng một cách rộng rãi như một chính
sách ngẫu nhiên, khi đó cho phép để chọn một hành động có xác suất cho một trạng thái đầu vào
s. Cụ thể hơn, chính sách μ sẽ tham gia lựa chọn một hành động nhằm tối đa hóa hàm Q ở trạng
thái s với xác suất a của 1- μ, μ ∈ [0, 1] và cho phép lựa chọn một hành động ngẫu nhiên với xác
suất còn lại. Khi các trạng thái và hành động là rời rạc và khác nhau, một cách đơn giản để biểu
diễn hàm Q là sử dụng như một bảng giá trị cho tất cả cặp trạng thái, hành động như sau:  
Q (s, a)  Q(s, a) +.(r
+ maxQ(s',a') Q − (s',a')   (18)  a' 
Trong đó, 0   1 là tốc độ học và tốc độ học càng lớn thì dữ liệu mới cập nhật càng nhanh.
Với thuật toán này, bảng Q hội tụ đến hàm Q tối ưu trong điều kiện hội tụ của xấp xỉ ngẫu nhiên.
Mặt khác, vì điều này dựa trên phương pháp xấp xỉ ngẫu nhiên, nên cần có một số lượng dữ liệu
thích hợp cho tất cả các cặp (s, a).
Trong phương pháp Q-learning dạng bảng, khi số lượng phần tử trong trạng thái hoặc không
gian hành động là rất lớn hay trạng thái hoặc không gian hành động là liên tục, chúng ta thường
biểu diễn hàm Q dưới dạng hàm tham số Q(s, a; θ) bằng cách sử dụng các tham số θ và sau đó
cập nhật các thông số theo biểu thức gradient như sau:
  + (target − ( Q , s ;
a  )) Q(s,a;) Q  (19)
Ở đây, “targetQ” là giá trị mục tiêu dựa trên phương trình Bellman tối ưu (10) và nó được tính toán như sau: target r(s, ;
a s ') +  max Q(s',a';) Q a' (20)
Hàm Q được cập nhật theo một trình tự nhất quán của nó. Thuật toán Q-learning là một
phương pháp dựa trên các hàm giá trị và từ hàm giá trị đưa ra chính sách tối ưu, trong đó giá trị
xấp xỉ hàm Q được hồi quy về giá trị mục tiêu, giá trị này phụ thuộc vào chính nó. Điều này ngụ
ý rằng giá trị đích thực thay đổi tự động khi luật học tập được cập nhật. Do đó, khi một hàm phi
tuyến tính, chẳng hạn như mạng nơ-ron được sử dụng để xấp xỉ p, quá trình học tập này trở nên
không ổn định do các thay đổi động học trong mục tiêu và trong trường hợp xấu nhất, hàm Q sẽ phân kỳ [3], [4].
2.2.2. Điều hướng thông minh robot tự hành sử dụng thuật toán Q-learning
Trong thuật toán Q-learning giá trị của các vị trí điều khiển điều hướng cho robot thường
được cập nhật theo phương pháp vi phân tức thời, sử dụng sai lệch giữa một bước lặp để ước
lượng, tính toán hàm giá trị Q theo các biểu thức (18) ở trên. Khi gặp các bài toán điều hướng
cho robot di chuyển với nhiều trạng thái khác nhau và hành động dịch chuyển (sang trái, sang
phải), tránh chướng ngại vật (vật cản di động, vật cản cố định), .v.v. Khi đó ta chọn α = 0,1; γ =
0,95; lúc này robot di chuyển với nhiều tình huống khác nhau, lúc này quá trình cập nhật bảng Q được thực hiện.
Khi bắt đầu huấn luyện thuật toán, đối tượng sẽ đi một hoặc hai lần sang phải, nhưng ngay khi
hành động sang trái được chọn, thì hành động này sẽ tiếp tục được chọn ở những lần di chuyển
tiếp theo bởi vì luôn nhận được phần thưởng khi thực thi hành động sang trái này.
Mục tiêu của mô hình trong quá trình điều hướng cho robot là giữ cho nó trong một giới hạn
cho phép, tức là ± 5 độ. Lúc đầu, mô hình robot, ma trận Q, chính sách π sẽ được khởi tạo. Có
một số điểm quan trọng để thực hiện điều hướng trong quá trình di chuyển, như các trạng thái
không hữu hạn. Trong phạm vi giới hạn, có thể có hàng trăm và hàng nghìn góc cao độ và có
http://jst.tnu.edu.vn 296 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300
hàng nghìn cột là không thể xảy ra khi cập nhật thuật toán Q-learning. Vì vậy, ta đã sắp xếp các
giá trị trạng thái thành 20 góc trạng thái từ -10 độ đến 10 độ. Đối với giá trị hành động, chúng ta
đã chọn mười vận tốc khác nhau và chúng là [- 200, - 100, - 50, - 25, - 10, 10, 25, 50, 100, 200]
ms-1. Ma trận Q có 20 cột, mỗi cột đại diện cho một trạng thái và mười hàng mỗi hàng đại diện
cho mọi hành động. Ban đầu, các giá trị Q được giả định là 0 và một số hành động ngẫu nhiên
được chỉ định cho mọi trạng thái trong chính sách π. Chúng ta đã huấn luyện trong 1400 tập, mỗi
tập có 2000 lần lặp lại. Vào đầu mỗi tập dạy đều được mô phỏng được làm mới. Bất cứ khi nào
trạng thái của robot vượt quá giới hạn, nó sẽ bị phạt bằng cách gán phần thưởng cho -100. Bảng
Q được cập nhật ở mỗi bước theo biểu thức (18). Từ đó ta có thuật toán thiết lập quỹ đạo điều
hướng tự động cho robot được hiển thị như hình 3.
Thuật toán Q-learning thực hiện các tác nhân hành động cho việc điều hướng tự động thông
minh cho robot tự hành nhằm thực hiện các quỹ đạo để tránh các vật cản động cũng như vật cản
tĩnh trong quá trình di chuyển của robot, đồng thời tính ra quỹ đạo ngắn nhất cho robot di chuyển
đến đích với một đường đi nhanh nhất.
Hình 3. Thuật toán Q-learning cho robot tự hành ba bánh
3. Kết quả mô phỏng
Để thực hiện quá trình điều hướng thông minh cho robot tự hành, tác giả thực hiện trên cơ sở
http://jst.tnu.edu.vn 297 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300
thuật toán đã nghiên cứu và đề xuất ở phần hai như trên tiến hành nghiên cứu một số mô phỏng
được dựa trên công cụ nghiên cứu mạnh mẽ là Gazebo. 8 Phần thưởng thực Phần thưởng đã lọc 6 ard 4 ew e R 2 erag v A 0 -2
0 200 400 600 800 1000 1200 1400 Training episodes
Hình 4. Kết quả phần thưởng trung bình của quá trình học tập
Hình 4 trình bày kết quả học tập trong môi trường mô phỏng Gazebo. Ta có thể thấy, phần
thưởng trung bình (phần thưởng thực) của robot trong mỗi tập dạy không ngừng tăng lên khi quá
trình đào tạo tiếp tục. Robot sẽ học được kiến thức về môi trường thông qua việc tương tác với
môi trường. Cuối cùng, robot có thể điều hướng đến đích một cách nhanh chóng và tự chủ trong
cả môi trường đơn giản và phức tạp mà không có bất kỳ những va chạm nào với các chướng ngại
vật. Nghiên cứu thử nghiệm cho thấy tính hiệu quả của mô hình mà tác giả đã đề xuất.
Trong phần này, một số mô phỏng được thực hiện dựa trên công cụ mô phỏng mạnh mẽ và môi trường trong Gazebo. a) b)
Hình 5. a) Môi trường đào tạo Gazebo; b) Bản đồ hóa tỷ lệ tương ứng được thực hiện trong Rviz a) b)
Hình 6. a) Một số hành động được đào tạo trong môi trường Gazebo, b) Xây dựng bản đồ trực quan và
đường đi của robot trong môi trường Gazebo
http://jst.tnu.edu.vn 298 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300
Như trong hình 5 cho thấy bản đồ hóa đồng thời được xây dựng trên Gazebo và trong Rviz là
bản đồ được tạo ra với các bức tường nghiêm ngặt và một robot tự hành có thể được thực hiện
điều khiển để di chuyển xung quanh các chướng ngại vật cố định tạo bối cảnh cho các chuyển
động của robot được sử dụng để xây dựng bản đồ hành động của robot tự hành được điều hướng một cách thông minh.
Chương trình được xây dựng cho quá trình điều hướng thông minh như hình 6, thể hiện được
một số các hành động được thực hiện bởi robot từ vị trí ban đầu cho đến khi thực hiện được hành
động có thể đến mục tiêu sau các đợt học tập. Vấn đề này thể hiện mối quan hệ đặc biệt quan
trọng, khi thực hiện vợt các chướng ngại vật tĩnh hay vật cản động trên đường đi mà không gây
ra bất kỳ trở ngại nào, khi đó robot về đích an toàn.
Trên hình 6b đường màu tím (mũi tên nét đứt) thể hiện đường đi của robot khi tránh chướng
ngại vật được tạo bởi cảm biến thông minh, camera thông minh và vị trí hiện tại của robot được
cập nhật (robot tự hành được ký hiệu bằng màu xanh lá cây) bằng cách sử dụng kích thước đo
hình học. Đây là một công cụ trực quan có thể cung cấp cập nhật trực tiếp các bản đồ được tạo từ
thuật toán SLAM để điều khiển robot. Hơn nữa, quỹ đạo chuyển động của robot tự hành đa
hướng trong bản đồ cũng có thể tự động điều hướng và trong môi trường này luôn có thể tạo ra
các chướng ngại vật, như trong hình 5; hình 6 để cho robot di chuyển. Kết quả cho thấy robot đã
lập quỹ đạo chuyển động và di chuyển đến đúng mục tiêu mong muốn một cách chính xác và an
toàn. Những kết quả này mang lại lợi ích thực tiễn cao, có thể thực hiện hầu hết trên các robot
trong công nghiệp, robot di động trong giao thông, robot tự hành trong y tế và robot tự hành trong
các nhà máy xí nghiệp công nghiệp. 4. Kết luận
Nội dung bài báo đã trình bày việc điều khiển robot tự hành ba bánh ứng dụng điều hướng
thông minh trong môi trường phẳng không xác định, sử dụng công cụ là ROS để lập trình điều
khiển. Các kết quả mô phỏng trên phần mềm Gazebo chứng minh khả năng của robot tự hành
điều hướng tự động đến các vị trí mục tiêu mong muốn và tránh được các vật cản tĩnh và vật cản
động trong quá trình di chuyển trong môi trường đơn giản và phức tạp. Nghiên cứu này đã cho
thấy tính hiệu quả thực tế của quá trình điều khiển robot tự hành và thực hiện điều hướng tự động
cho robot mà tác giả đã nghiên cứu có khả năng định vị robot trong môi trường, lập bản đồ 2D và
thực hiện điều hướng thông minh để đến mục tiêu trong bản đồ đã xây dựng. Kết quả này cho
thấy robot đã xây dựng được quỹ đạo chuyển động, di chuyển đến đúng mục tiêu và tự động
tránh vật cản động xuất hiện trên đường đi. Hướng phát triển của vấn đề nghiên cứu là mong
muốn sẽ được thực hiện áp dụng trên một số loại robot tự hành thực tế trong nhà máy sản xuất
công nghiệp, trong đời sống, trong giao thông thông minh và trong y học với những thuật toán tối ưu hơn của học máy.
TÀI LIỆU THAM KHẢO/ REFERENCES
[1] Q. C. Hoang, H. V. Dao, A. V. Nguyen, and B. C. Le, Electric drive systems in Robots. People's Army
Publishing House, (in Vietnamese), Hanoi, Vietnam, 2020.
[2] D. P. Nguyen, Advanced Control Theory. Science and Engineering Publishing House, (in Vietnamese), Hanoi, Vietnam, 2018.
[3] H. S. Le, C. D. Le, and V. H. Nguyen, Industrial Robots Syllabus. Ho Chi Minh City National
University Publishing House, (in Vietnamese), Ho Chi Minh City, Vietnam, 2017.
[4] T. T. Nguyen, Basic Deep Learning, 2nd, The Legrand Orange Book Template by Mathias Legrand,
Publishing by Vietnamme, (in Vietnamese), Hanoi, Vietnam, 2020.
[5] L. Joseph and J. Cacace, Mastering ROS for Robotics Programming. Second Edition: Design, build,
and simulate complex robots using the Robot Operating System, Published by Packt Publishing Ltd.
N0. 35 Livery Street Birmingham B3 2PB, UK, 2018.
[6] S. P. Thale et al., “ROS based SLAM implementation for Autonomous navigation using Turtlebot,”
ITM Web of Conferences 32, 01011, 2020.
http://jst.tnu.edu.vn 299 Email: jst@tnu.edu.vn
TNU Journal of Science and Technology 227(08): 291 - 300
[7] S. Ohnishi, E. Uchibe, Y. Yamaguchi, K. Nakanishi, Y. Yasui, and S. Ishii, “Constrained Deep Q-
Learning Gradually Approaching Ordinary Q-Learning,” Frontiers in Neurorobotics Journal, vol. 13, pp. 7-12, 2019.
[8] R. K. e. a. Megalingam, “ROS based autonomous indoor navigation simulation using SLAM
algorithm,” Int. J. Pure Appl., vol. 118, no. 7, pp. 199-205, March 2018.
[9] H. X. Dong, C. Y. Weng, C. Q. Guo, H. Y. Yu, and I. M. Chen, “Real-time avoidance strategy of
dynamic obstacles via half model-free detection and tracking with 2D Lidar for mobile robots,”
IEEE/ASME Transactions on Mechatronics, vol. 26, no. 4, pp. 2215-2225, Aug 2021.
[10] D. Kozlov, “Comparison of Reinforcement Learning Algorithms for Motion Control of an
Autonomous Robot in Gazebo Simulator,” International Conference on Information Technology and
Nanotechnology, IEEE Explore
, vol .9, pp. 1-5, 2021, doi: 10.1109/ITNT52450.2021.9649145.
http://jst.tnu.edu.vn 300 Email: jst@tnu.edu.vn