Page 1 of 8
Kỹ thuật điều khiển & Điện tử
46 Nguyễn Ngọc Tú, “Nghiên cứu phương pháp tối ưu hóa ... robot tự hành dạng phi đối xứng.”
Nghiên cứu phương pháp tối ưu hóa dẫn đường toàn cục
cho robot tự hành dạng phi đối xứng
Nguyễn Ngọc Tú*
Trung tâm Quang điện tử, Viện Ứng dụng công nghệ, C6 Thanh Xuân Bắc, Thanh Xuân, Hà Nội, Việt Nam.
*Tác giả liên hệ: ngoctu@cfoc.vn
Nhận bài: 23/9/2024; Hoàn thiện: 25/11/2024; Chấp nhận đăng: 28/11/2024; Xuất bản: 25/12/2024.
DOI: https://doi.org/10.54939/1859-1043.j.mst.100.2024.46-53
TÓM TẮT
Nghiên cứu này tập trung vào việc tối ưu hóa dẫn đường toàn cục cho robot tự hành (AMR) có
cấu trúc và khả năng cơ động không đối xứng, thường gặp trong các ứng dụng thực tế. Nhằm đề
xuất một phương pháp tối ưu hóa quỹ đạo toàn cục, giúp AMR dạng phi đối xứng di chuyển hiệu
quả trong môi trường phức tạp, giảm thời gian thực hiện nhiệm vụ và tối ưu hóa hiệu suất hoạt
động. Nghiên cứu sử dụng thuật toán SPBL để tìm kiếm đường đi tối ưu trong môi trường dựa trên
cơ sở quỹ đạo khởi thủy. Quá trình dẫn đường sử dụng DWB được tối ưu hóa bằng cách điều
chỉnh các thông số chi phí cho các thao tác cơ bản như di chuyển thẳng, quay tại chỗ, trượt, lùi.
Các thông số này được thiết kế để ưu tiên các quỹ đạo trơn, tránh các thao tác phức tạp và không
hiệu quả. Kết quả của nghiên cứu cho thấy phương pháp đề xuất giúp giảm thiểu độ phức tạp của
quỹ đạo, dẫn đến việc giảm thời gian thực hiện nhiệm vụ và cải thiện hiệu suất hoạt động của
AMR dạng phi đối xứng, có khả năng ứng dụng trong các hệ thống vận chuyển bằng robot trong
công nghiệp.
Từ khoá: AMRs; Robot tự hành; Dẫn đường toàn cục; DWB; SPBL.
1. MỞ ĐẦU
Nghiên cứu phương pháp tối ưu hóa dẫn đường toàn cục cho Robot tự hành dạng phi đối xứng
(AMR) là một lĩnh vực nghiên cứu trong ngành robot nhằm phát triển các phương pháp giúp Robot
di chuyển từ điểm xuất phát đến điểm đích một cách hiệu quả và an toàn. Một trong những nhiệm
vụ quan trọng là tối ưu hóa dẫn đường toàn cục để giải quyết vấn đề lập kế hoạch tuyến đường cụ
thể cho Robot trên một khoảng cách lớn, đảm bảo rằng Robot có thể di chuyển thông qua một loạt
các địa điểm một cách thông minh, nhanh chóng và tránh xa các chướng ngại vật hoặc vùng cấm.
Với AMR dạng phi đối xứng Robot không thể di chuyển đối xứng với trục của nó, nó cần phải có
các phương pháp tối ưu hóa dẫn đường đặc biệt để giải quyết vấn đề di chuyển. Trong nghiên cứu
do T. R. J. Hrbáček và các cộng sự (2010) [1] đưa ra phương pháp tối ưu hóa dẫn đường cho robot
Ackermann được thực hiện thông qua việc kiểm soát tốc độ góc của các bánh sau bằng một bộ vi
sai phần mềm. Theo nghiên cứu [1], tốc độ góc của các động cơ được điều chỉnh dựa trên góc lái
hiện tại và tốc độ tiến tới mong muốn, giúp robot hoạt động hiệu quả về năng lượng và đảm bảo
tính linh hoạt khi di chuyển trên các địa hình khó khăn. Tuy nhiên, robot có thể trở nên khó kiểm
soát hơn nếu một trong các đơn vị dẫn động bị lỗi. Tương tự, trong nghiên cứu của Wang (2018)[2]
trình bày phương pháp điều khiển dự đoán mô hình (MPC) để tối ưu hóa dẫn đường cho robot
omni. Phương pháp này sử dụng mô hình động học của robot để dự đoán hành vi tương lai và tối
ưu hóa quỹ đạo dựa trên các ràng buộc và mục tiêu đã định sẵn. MPC [3] cho phép điều chỉnh liên
tục quỹ đạo di chuyển của robot để tránh chướng ngại vật và đạt đến điểm đích một cách tối ưu.
Phương pháp này tích hợp thuật toán tìm đường A* để xác định quỹ đạo ban đầu, sau đó tinh chỉnh
bằng MPC để đảm bảo tính khả thi và tối ưu trong thời gian thực. Kết quả thử nghiệm [3] cho thấy
hệ thống MPC có khả năng điều khiển robot omni di chuyển mượt mà và chính xác trong môi
trường phức tạp những kết quả nghiên cứu trước về vấn đề cần nghiên cứu [1-3].
Page 2 of 8
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, 100 (2024), 46-53 47
2. PHƯƠNG PHÁP NGHIÊN CỨU
2.1. Mô hình động học của Robot
Mô hình [4] của một robot di động có bánh xe
được trình bày trong hình 1. Mô hình này tính đến
hai bánh xe dẫn động nằm đối diện nhau có bán
kính R, khoảng cách giữa hai bánh xe (2L), tốc
độ góc của các bánh xe dẫn động (ωL, ωR), và
điểm trung tâm (CP) của robot. Tư thế [4] của
robot được coi là P = (xr
, yr
, θr
), trong đó, xr đại
diện cho vị trí trên trục xr
, yr
, đại diện cho vị trí
trên trục y và θr đại diện cho hướng của robot.
vr đại diện cho vận tốc tuyến tính trong khi ωr
đại diện cho vận tốc góc của robot.
Mô hình động học cho robot có thể được biểu
diễn hệ phi tuyến như sau:
[
xr
̇
yr
̇
θr
̇
] = [
cos θr 0
sin θr 0
0 1
][
vr
ωr
] (1)
[4] Mô hình động học của robot cũng có thể được biểu diễn:
{
xr
̇ = vr cos θr
yr
̇ = vr sin θr
θr
̇ = ωr
(2)
2.2. Thuật toán EKF
Nhiệm vụ của robot AMR là tự động điều hướng trong các môi trường có cấu trúc. Để làm
được việc đó, AMR cần ước lượng chính xác vị trí và hướng, bao gồm sự kết hợp dữ liệu thu thập
từ các cảm biến như encoder gắn trên robot, IMU. Do trượt và nhiễu, ước lượng vị trí và hướng
chỉ dựa vào hai encoder không đáng tin cậy. Hơn nữa, việc ước lượng vị trí và hướng sử dụng IMU
chỉ đáng tin cậy trong thời gian ngắn do các lỗi hệ thống. Trong trường hợp này, EKF được sử
dụng để giảm nhiễu và sai lệch của cảm biến [5]. Kalman Filter (KF): Là thuật toán tối ưu để ước
lượng trạng thái của một hệ thống tuyến tính khi biết các phép đo có chứa nhiễu. KF sử dụng mô
hình trạng thái tuyến tính và nhiễu Gaussian. Extended Kalman Filter (EKF): Khi hệ thống là phi
tuyến, KF không còn hoạt động hiệu quả nữa. EKF giải quyết vấn đề này bằng cách tuyến tính hóa
mô hình phi tuyến xung quanh ước lượng hiện tại (Extended Kalman filter, n.d.) [6].
Trong bộ lọc Kalman mở rộng, mô hình chuyển trạng thái và mô hình quan sát không cần phải
là các hàm tuyến tính của trạng thái mà có thể là các hàm khả vi.
xk = f(xk−1, uk−1
) + wk−1 (3)
zk = h(xk
) + vk
Trong đó, wkvà vk là nhiễu quá trình và nhiễu đo lường, cả hai đều được giả định là nhiễu
Gaussian đa biến có trung bình bằng không với ma trận hiệp phương sai lần lượt là Qkvà Rk. uklà
vector điều khiển. Hàm f có thể được sử dụng để tính toán trạng thái dự đoán từ ước lượng trước
đó và tương tự hàm h có thể được sử dụng để tính toán giá trị đo lường dự đoán từ trạng thái dự
đoán. Tuy nhiên, f và h không thể áp dụng trực tiếp lên ma trận hiệp phương sai. Thay vào đó,
một ma trận đạo hàm riêng phần (Jacobian) được tính toán. Tại mỗi bước thời gian, ma trận
Jacobian được tính toán với các trạng thái dự đoán hiện tại. Các ma trận này có thể được sử dụng
trong các phương trình của bộ lọc Kalman. Quá trình này thực chất là tuyến tính hóa hàm phi tuyến
Hình 1. Sơ đồ động học của robot [4]
Page 3 of 8
Kỹ thuật điều khiển & Điện tử
48 Nguyễn Ngọc Tú, “Nghiên cứu phương pháp tối ưu hóa ... robot tự hành dạng phi đối xứng.”
xung quanh ước lượng hiện tại.
2.3 Thuật toán xây dựng bản đồ dựa trên SLAM TOOLBOX
Các thuật toán SLAM có thể được phân loại thành hai nhóm chính: các thuật toán trước đây sử
dụng phương pháp lọc Bayes (Thrun et al., 2005) [7], và các phương pháp dựa trên đồ thị mới hơn
(Thrun & Montemerlo, 2006) [8]. Các triển khai nổi bật dựa trên bộ lọc có sẵn dưới dạng gói ROS
bao gồm GMapping (Grisetti et al., 2007) [9] và HectorSLAM (Kohlbrecher et al., 2011) [10]. Các
triển khai dựa trên đồ thị chính có sẵn là Cartographer (Hess et al., 2016) [11] và KartoSLAM
(Konolige et al., 2010) [12] (Steve Macenski, 2021) [13].
2.3.1. Thuật toán SLAM Dựa Trên Bộ Lọc
Gmapping [9], sử dụng phương pháp lọc hạt để xây dựng bản đồ lưới từ dữ liệu LiDAR 2D, thuật
toán này không phù hợp cho các không gian lớn và do không thể đóng vòng lặp chính xác.
HectorSLAM [10] dựa vào việc khớp quét LiDAR và bộ lọc định hướng 3D dựa trên ước lượng trạng
thái EKF. Phương pháp này tập trung vào việc ước lượng vị trí robot trong thời gian thực và tạo ra bản
đồ 2D với tốc độ cập nhật cao. HectorSLAM [10] không sử dụng dữ liệu quán tính, điều này có thể
dẫn đến việc ước lượng vị trí và cập nhật bản đồ không chính xác khi LiDAR ở tốc độ thấp hoặc khi
lập bản đồ các không gian lớn hoặc ít đặc điểm. HectorSLAM [10] cũng không cung cấp khả năng
đóng vòng lặp, làm cho nó không phù hợp cho việc lập bản đồ đáng tin cậy của các không gian lớn
hoặc khi sử dụng máy quét Laser với tốc độ cập nhật thấp (Steve Macenski, 2021) [13].
2.3.2. Thuật toán SLAM Dựa Trên đồ thị
KartoSLAM [12] và Cartographer [11] đều là các thuật toán dựa trên đồ thị, lưu trữ một đồ thị
các vị trí và đặc điểm của Robot. Các thuật toán dựa trên đồ thị chỉ cần duy trì đồ thị vị trí, điều
này thường làm cho chúng hiệu quả trong việc quản lý tài nguyên, đặc biệt là khi xây dựng bản đồ
ở quy mô lớn. Slam Toolbox với tính năng SLAM hoàn chỉnh được xây dựng trên bộ ghép mẫu
quét tăng cường tại trung tâm của Karto đã được nâng cấp và tăng tốc để sử dụng trong gói này
[13]. Phương pháp định vị mới có tên "định vị đồ thị đàn hồi" được đưa ra, lấy một cửa sổ trượt
của các phép đo và thêm chúng vào đồ thị để tối ưu hóa và tinh chỉnh. Điều này cho phép theo dõi
các đặc điểm địa phương đã thay đổi trong môi trường thay vì coi chúng là những sai lệch và loại
bỏ các nút thừa khi robot rời khỏi khu vực để không làm ảnh hưởng đến bản đồ dài hạn.
2.4. Thuật toán SPBL lattice planner
Thuật toán SBPL lattice planner[15, 16] là một thuật toán lập kế hoạch di chuyển cho robot di
chuyển trong một môi trường đa chiều bằng cách sử dụng lưới (lattice) để biểu diễn môi trường và
lên kế hoạch. Lattice planner được xây dựng bằng cách sử dụng một bộ sinh đường đi nghịch đảo
để tìm các đường đi giữa bất kỳ nút nào trong lưới và nguồn gốc, có hai tính chất quan trọng
(Milano, 2018) [17]: Rời rạc hóa: chuyển đổi vấn đề lập kế hoạch di chuyển thành một quá trình
quyết định tuần tự. Giả sử rằng các quyết định chỉ được thực hiện tại các trạng thái rời rạc, thì các
trạng thái này là các nút trong lưới và các chuyển động là các cạnh nối các trạng thái đó. Tính Quy
tắc: Nếu quá trình rời rạc hóa có bất kỳ mức độ quy tắc nào thì lưới trạng thái sẽ có tính chất bất
biến dịch chuyển, nghĩa là có thể lặp lại cùng một chuyển động ở nhiều nút của lưới. Xét rằng lưới
là quy tắc trong các tọa độ dịch chuyển (x,y), thì cùng một chuyển động từ trạng thái A đến B cũng
có thể dẫn từ trạng thái C đến D. Chính xác hơn, nếu đường đi giữa hai tư thế là khả thi:
(
x1
y1
θ1
) → (
x2
y2
θ2
) (4)
Thì đường đi sau đây cũng khả thi với bất kỳ giá trị nào của số nguyên k:
(
x1 + k∆l
y1 + k∆l
θ1
) → (
x2 + k∆l
y2 + k∆l
θ2
) (5)
Page 5 of 8
Kỹ thuật điều khiển & Điện tử
50 Nguyễn Ngọc Tú, “Nghiên cứu phương pháp tối ưu hóa ... robot tự hành dạng phi đối xứng.”
thực hiện được (mprim): Xác định các hành động khả thi dựa trên khả năng cơ động của robot;
Chi phí của các hành động (mprim): Gán chi phí cho mỗi hành động để ưu tiên các đường đi ngắn
nhất, nhanh nhất hoặc hiệu quả nhất. Có 2 bộ thông số thiết lập cho robot đối xứng và phi đối
xứng: Bảng 1 là chi phí cho các hướng di chuyển hình 4, bảng 2 là thông số thiết lập cho thuật toán
thực thi SBPLLatticePlanner, để thực nghiệm đánh giá tính phù hợp của hoạch định chuyển động
toàn cục đối với cùng một Robot thực thế và phản ứng khi robot di chuyển đạt được tối ưu.
Bảng 1. Bảng thông số thiết lập cho mprim.
STT Tên thông số Robot đối xứng Robot phi đối xứng
1 Resolution (m) 0,05 0,05
2 Numberofangles 16 8
3 nNmberofprimsperangle 5 9
4 Forwardcostmult 1 1
5 Backwardcostmult 5 40
6 Forwardandturncostmult 2 1
7 Sidestepcostmult 50 10
8 Turninplacecostmult 5 20
a) b)
Hình 4. Biểu đồ xu hướng di chuyển và chi phí cho mprim a) robot đối xứng, b) phi đối xứng.
Bảng 2. Bảng thông số thiết lập cho SBPLLatticePlanner.
STT Thông số Giá trị
1 environment_type XYThetaLattice
2 planner_type ARAPlanner
3 allocated (s) 50
4 initial_epsilon 3,0
5 nominalvel_mpersecs (m/s) 0,4
6 forward_search False
7 timetoturn45degsinplace_secs 1,97
8 lethal_obstacle 20
3.2. Thiết lập thông số cho lập kế hoạch cục bộ DWB (local plainning)
Để robot có thể thực hiện bám theo quỹ đạo toàn cục, cần thực hiện các bước cấu hình phù hợp
với thông số và đặc tính của robot. Vai trò của bộ đánh giá trong DWB: Đánh giá các đường đi
khả thi: Bộ đánh giá nhận đầu vào là một tập hợp các đường đi khả thi (tạo ra bởi bộ tạo đường đi)
và đánh giá từng đường đi dựa trên một số tiêu chí nhất định; Xếp hạng các đường đi: Bộ đánh giá
sẽ xếp hạng các đường đi theo độ ưu tiên, dựa trên kết quả đánh giá; Chọn đường đi tốt nhất:
Đường đi có thứ hạng cao nhất (thường là đường đi tốt nhất theo các tiêu chí đánh giá) sẽ được
chọn để robot thực hiện. Bảng 3 là các thiết lập cho move_base thực thi quá trình điều khiển robot,