MÔ HÌNH ĐỘNG HỌC LÁI VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN KẾT HỢP TRÊN XE T Ự HÀNH DRIVING KINETIC MODEL AND COMBINING CONTROL METHOD ON AUTONOMOUS CAR Lê Phan Hưng 1a , Nguy ễn Trường Thịnh 2b
Trang 1MÔ HÌNH ĐỘNG HỌC LÁI VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN KẾT HỢP
TRÊN XE T Ự HÀNH
DRIVING KINETIC MODEL AND COMBINING CONTROL METHOD ON
AUTONOMOUS CAR
Lê Phan Hưng 1a , Nguy ễn Trường Thịnh 2b
1Trường ĐH Cần Thơ
2Trường ĐH Sư phạm Kỹ thuật TPHCM
a lephanhung@ctu.edu.vn; b thinhnt@hcmute.edu.vn
TÓM T ẮT
Trong bài báo này, chúng tôi đề cập đến việc thiết kế, mô hình hóa và phát triển một xe
tự hành (XTH) dựa trên cấu trúc của robot di động nhằm mục đích chuyên chở hành khách XTH này được thiết kế với khả năng lái tự động bằng động cơ điện và được mô hình hóa là hệ
thống động học non-holonomic với di chuyển là lăn và không trượt Phương pháp điều khiển bám theo quỹ đạo cho trước dựa trên mô hình hóa, động học, động lực học và phần điều khiển bám theo quỹ đạo cho trước của xe cũng sẽ được đề cập trong bài báo này Thực nghiệm để đánh giá đáp ứng của xe dựa trên phương pháp điều khiển theo bài toán động học và động lực
học bám theo quỹ đạo cho trước
Từ khóa: xe tự hành, robot di động, động học, động lực học, xe tự dẫn hướng
ABSTRACT
In this paper, we mention about modelling and development of an autonomous car based on the structure of mobile robot carrying passengers This autonomous car is designed
to drive by electric motors automatically, and it is modeled as dynamical system of non-holonomic movement with rolling and non-sliding Tracking method based on kinematics, dynamics and controlling for tracking desired trajectories is also mention in this paper Experiments were implemented to evaluate the responding of controlling system based on dynamics and kinematics controlling method for tracking desired trajectories
Keywords: Autonomous xar, mobile robot, kinematics, dynamics, automatic guided vehicle
Ký hi ệu
Ký hiệu Đơn vị Ý nghĩa
G Toạ độ trọng tâm của xe tự hành
L mm Khoảng cách của bánh trước và bánh sau
a, b mm Khoảng cách từ trọng tâm xe đến bánh trước và bánh sau
t mm Khoảng cách 2 bánh sau
φ radian Góc lái giữa bánh trước và trục của thân xe
θ radian Góc tạo bởi trục thân xe và trục x
β radian Góc giữa trục thân xe và vectơ vận tốc
Fu, Fw, Fd N Lực ma sát, lực tác động vuông góc lên mỗi bánh xe, lực
truyền động
m kg Khối lượng xe
τs, u hằng số thời gian, biến điều khiển lái
Trang 2Chữ viết tắt
PID Proportional Integral Derivative AC Alternating current
PWM Pulse-width modulation DC Direct current
1 GIỚI THIỆU
Ngày nay, với nhu cầu phát triển ngày càng mạnh mẽ của các phương tiện di chuyển công cộng, đặc biệt là những phương tiện di chuyển thông minh không người lái chuyên chở hành khách trong môi trường công cộng như công viên, khu vui chơi giải trí Từ những nhu
cầu này, một robot dạng xe có thể di chuyển không người lái từ trạm này đến trạm khác đã được thiết kế và phát triển Các ứng dụng của robot di động cũng có thể được tìm thấy trong nhiều lĩnh vực như công nghiệp, y tế, môi trường và thậm chí trong cả hộ gia đình Các nghiên
cứu về robot di động đã gắn kết và thu hút rất nhiều sự chú ý trong những năm gần đây bởi
những ứng dụng rộng rãi Bên cạnh đó, với sự phát triển ngày càng mạnh mẽ của việc nghiên
cứu robot di động thì một thành phần quan trọng trong việc nghiên cứu đó là nghiên cứu về robot dưới dạng XTH [1] XTH, còn được gọi là robot di động hay xe tự lái có khả năng thực
hiện việc chuyên chở và vận chuyển con người như một chiếc xe truyền thống Là một robot di động nên xe có khả năng cảm nhận môi trường xung quanh và điều hướng riêng của xe Tuy nhiên, một số nghiên cứu cũng đã chỉ ra các chủ đề liên quan đến đặc tính động lực học của XTH là rất cần thiết để di chuyển bám theo quỹ đạo Nó đã chỉ ra vấn đề của việc tính toán phù
hợp quỹ đạo trên các địa hình khác nhau và những hạn chế của việc bám theo quỹ đạo Điều này đòi hỏi tìm hiểu một số cơ chế để thích ứng với các kế hoạch lập quỹ đạo dưới bất kì điều
kiện nào Bài viết cũng trình bày các công việc đã được thực hiện để khám phá những vấn đề
của mô hình động học và động lực học cũng như điều khiển chuyển động theo các điều kiện tải khác nhau Điều này dẫn đến sự phát triển của một mô hình động lực học cho XTH
Động lực di chuyển của XTH có thể đạt được bằng cách áp dụng một số lực tác động tại
bất kỳ điểm nào và bất kỳ hướng nào Nó có thể được sử dụng để có được động lực chung cho
xe chuyển động tự do Điều này có thể được chia thành chuyển động lập quỹ đạo và chuyển động học xoay motor theo quỹ đạo Để thực hiện các đường đi chính xác, thì động cơ điều hướng quỹ đạo phải xem xét cả hai hạn chế làm cho động cơ và động lực tải với những đặc tính riêng [2] Bài báo này bao gồm 5 phần, mô hình hóa XTH sẽ được trình bày ở phần 2
Phần 3 bài báo tập trung vào phương pháp lập quỹ đạo và điều khiển chuyển động của xe
Thực nghiệm cùng kết quả đạt được sẽ được nêu trong phần 4 Cuối cùng là kết luận về XTH
2 MÔ HÌNH HÓA XE T Ự HÀNH
2.1 Mô hình động học lái
Hình 1 Động học lái của robot 4 bánh và mô hình hóa với xe 2 bánh
Trang 3Mô hình của XTH được bắt nguồn từ những khống chế quan trọng trong hệ thống động
học non-holonomic Khống chế về hệ thống động học non-holonomic của XTH thì không khả tích và liên quan đến vận tốc của nó Mô hình động học của hệ thống XTH gồm 4 bánh: 2 bánh lái trước và 2 bánh truyền động sau có thể mô hình như một chiếc xe đạp với góc lái
nhỏ Mô hình xe đạp động học được biểu thị bằng cách lắp bánh xe bên trái và bên phải thành
một cặp bánh xe duy nhất tại trung tâm của trục trước và phía sau như thể hiện trong Hình 1
Giả thuyết là các bánh xe không trượt và bánh trước là bánh lái của xe G là trọng tâm của
XTH Khoảng cách từ G đến bánh trước và bánh sau là a và b
Với tốc độ thấp, động học của hệ thống lái được xác định là di chuyển với chuyển động thuần túy của bánh xe Vận tốc của tâm các bánh xe nằm trên mặt phẳng giữa Với XTH chúng ta có 4 bánh, 2 bánh lái Mối liên hệ của động học lái với điều kiện vuông góc với các
mặt phẳng giữa của bánh trước phải giao với đường nối tâm của 2 bánh sau:
( )1
1
tan
2
l t R
φ =
( )2
1
tan
2
l t R
φ =
Với t là khoảng cách giữa 2 bánh sau, dựa vào Hình.1 chúng ta có mối quan hệ giữa φ 1
và φ2 như sau:
l
2.2 Mô hình động lực học
Mô hình động lực học của XTH được xác định với các giả thiết là: các bánh xe không trượt, bánh xe sau không có thể lái và luôn cùng hướng với hướng của xe, lực và moment truyền động được giả sử là tác động lên tâm của bánh sau Lực tác động lên XTH được biểu
diễn như trên Hình 2
Fwof
Fuof
Fuif
Fwif Hướng U
G b a
v
θ
Hình 2 Mô hình bài toán động lực học của xe tự hành
Trang 4Fu, Fw, Fd là lực ma sát, lực tác động vuông góc lên mỗi bánh xe, lực truyền động Ký
hiệu m là khối lượng của xe [3] Ký hiệu góc lệch θ là góc tạo bởi hướng của xe và trục ngang φ là góc lái giữa bánh trước và trục của thân xe Cân bằng các lực dọc theo hướng u và
w chúng ta có:
( u w ) ur dr uf cos wf sin
m v −v θ = −F +F −F φ−F φ (4)
( w u ) wr uf sin wf cos
Với
wir wor wr
uir uor ur
wif wof wf
uif uof uf
dir dor dr
Động lực học hệ thống lái XTH có thể mô hình biểu diễn bởi phương trình vi phân sau:
1
s
u
τ
Với τs, u là hằng số thời gian và biến điều khiển lái
3 L ẬP QUỸ ĐẠO DI CHUYỂN VÀ GIẢI THUẬT ĐIỀU KHIỂN XE TỰ HÀNH
Bài toán lập đường đi được đặt ra cho XTH là di chuyển trong điều kiện biết trước, việc xác định trước môi trường hoạt động đóng vai trò rất lớn đến sự di chuyển của xe Trong bài báo này, phương pháp điều khiển đầu tiên dược xem xét là sử dụng bộ điều khiển vòng hở Tuy nhiên, điều khiển theo phương pháp vòng hở không có sử dụng hồi tiếp nên không thể đảm bảo rằng XTH sẽ di chuyển dọc theo quỹ đạo mong muốn theo kế hoạch Vì vậy xe sử
dụng bộ điều khiển vòng kín, nhánh phản hồi của vòng kín sẽ cải thiện tín hiệu đáp ứng của
hệ thống cho dù có những tín hiệu tác động bên ngoài như nhiễu hoặc sai số ban đầu Trong quá trình điều khiển này, hệ thống đo theo thời gian thực được sử dụng để xây dựng trạng thái
tức thời của xe Khi xe di chuyển trong môi trường có cấu trúc như công viên hoặc khu giải trí thì điều quan trọng là an toàn, vì vậy xe đi trong làn đường của riêng xe XTH cấu trúc như
vậy rất hữu ích bởi vì nó hạn chế các hành động có sẵn của xe và làm giảm sự phức tạp của nhiệm vụ điều hướng [4] Nhiệm vụ của bộ điều khiển là đạt được các mục tiêu khác nhau và các tính năng mong muốn cho việc di chuyển Bộ điều khiển cũng được thiết kế để thực hiện các trình tự di chuyển một cách chính xác khi xảy ra các sai số khác nhau
XTH được thiết kế với cấu hình giống xe ô tô với 2 bậc tự do Nguồn động lực chính cho xe di chuyển là động cơ Servo AC truyền động cho 2 bánh chủ động thông qua cầu sau
Bộ điều khiển sẽ nhận lệnh điều khiển, vị trí tương đối xe so với quỹ đạo và xuất tín hiệu điều khiển động cơ servo DC kéo hệ thống lái cho xe đi đúng quỹ đạo như Hình 3a
Trong quá trình điều khiển, XTH sử dụng cấu trúc của hệ thống điều khiển 2 tầng được thiết kế để điều khiển bánh lái Lớp điều khiển mức cao dựa vào bộ điều khiển logic mờ dựa trên việc thu thập dữ liệu của cảm biến và so sánh nó với quỹ đạo tham chiếu để tạo ra lệnh xoay bánh lái theo yêu cầu Lớp cấp độ thấp hơn sử dụng một bộ điều khiển động cơ PID cổ điển nhận lệnh xoay bánh lái từ tín hiệu ra của lớp cao và điều khiển động cơ lái đạt đến vị trí yêu cầu Cấu trúc 2 tầng (lớp) này còn gọi là cấu trúc điều khiển theo tầng (cascade control) Sơ
Trang 5đồ điều khiển theo tầng đặc biệt thích hợp cho việc điều khiển bánh lái, có một khoảng thời gian
trễ đáng kể giữa biến tác động và biến điều khiển Trong trường hợp này, sử dụng tín hiệu đo
tức có thể đáp ứng nhanh hơn so với tín hiệu điều khiển 2 vòng điều khiển được ứng dụng
trong sơ đồ này như Hình 3b Một vòng trong được biết như vòng thứ cấp và vòng ngoài là
vòng sơ cấp Với vòng điều khiển sơ cấp sẽ xác định vị trí bánh lái cần đạt và vòng điều khiển
thứ cấp sẽ bám theo chuyển động xoay của động cơ để hướng tới vị trí mong muốn
Bộ điều khiển lái
Quỹ đạo
khiển PID
Động cơ DC
Bánh lái
Xe tự hành
Vị trí lái
Vị trí lái Vòng điều khiển trong
Vòng điều khiển ngoài
a)
Bộ điều khiển Động cơ AC
Bộ điều khiển Động cơ DC
Xe tự hành
Bánh truyền động Bánh lái
Vị trí đặt
Hướng di
chuyển của xe
Vị trí và hướng mong muốn
Quỹ đạo được tạo ra
Bộ điều khiển
xe tự hành
Bộ điều khiển bánh lái
Bộ điều khiển bánh truyền động
xd yd θd
Hành khách
Hình 3 Sơ đồ khối bộ điều khiển của xe tự hành: a) Hệ thống điều khiển bánh lái và bánh truy ền động b) Bộ điều khiển theo tầng c) Bộ điều khiển chuyển động
Trong quá trình này, một thuật toán điều khiển thích ứng chuyển động dựa trên bộ điều khiển lái của XTH được xem xét Bộ điều khiển này đã được thiết kế với cấu trúc PID để ước tính sự thay đổi của các tham số hệ thống động lực học Cấu trúc điều khiển lái và truyền động cung cấp một khuôn khổ tốt để ước tính các thông số mô hình Điều này có thể đạt được thông qua cơ chế dự toán Sau đó, bộ điều khiển sẽ thực thi chống lại những thay đổi động lực
và có những điều khiển thích hợp kiểm soát các chuyển động Tuy nhiên, bộ điều khiển này không có khả năng kiểm soát khi có những thay đổi về địa hình di chuyển Sơ đồ khối cơ bản cho bộ điều khiển lái và truyền động thích ứng được chỉ ra trong Hình 3c
4 TH ỰC NGHIỆM VÀ KẾT QUẢ
XTH được mô phỏng và tiến hành thực nghiệm như Hình 4 Để tiến hành thực nghiệm,
các thông số của XTH như kích thước cơ sở, tải trọng cho phép, hệ thống năng lượng… được
thể hiện tại Bảng 1 Đối với robot di động cũng như XTH, ngoài bộ điều khiển đóng vai trò khá
quan trọng thì hệ thống cảm biến cũng đóng vai trò quan trọng không kém Máy tính gắn trên
xe được xem như là bộ điều khiển trung tâm của xe, nó có chức năng tính toán, phân tích các thông số của xe hiện thời và xuất ra tín hiệu điều khiển cho xe Máy tính chạy trên hệ điều hành Windown XP và được cài đặt Visual studio C++.net XTH tương tác với máy tính giám sát thông qua máy tính gắn trên xe qua giao tiếp RS-232 không dây Máy tính gắn trên xe giao tiếp
với các MCU qua giao tiếp RS-232 Hệ thống ra quyết định chính xuất phát từ máy tính từ trung
Trang 6tâm điều khiển, nó sẽ điều khiển các phần cứng trên xe thông qua mạng truyền thông không dây Các tín hiệu điều khiển được phân tích, xử lý và truyền về máy tính trung tâm mỗi 100ms Ngoài ra máy tính còn làm nhiệm vụ thu thập dữ liệu từ cảm biến, la bàn số, GPS để định vị trí
của xe đồng thời gửi dữ liệu truyền lệnh cho vi điều khiển thực hiện những lệnh như điều khiển động cơ trước nhằm bẻ hướng lái, hoặc cho vi điều khiển xuất tín hiệu điều khiển vận tốc động
cơ sau Trong bài báo này, đối tượng nghiên cứu là XTH được trang bị với một số lượng lớn
cảm biến ở Hình 5 để xác định vị trí, tốc độ, hướng cũng như các cảm biến xác định sự hiện
diện của chướng ngại vật Phần chuyển động của robot được trang bị 1 động cơ ba phase có sẵn
hộp giảm tốc và được truyền qua bánh sau nhờ cơ cấu vi sai, phần lái được trang bị động cơ 24VDC có qua hộp giảm tốc để điều khiển bánh lái Đồng thời XTH cũng được trang bị 4 cảm
biến siêu âm SRF05, 1 la bàn số, 1 bộ thu phát GPS, có tất cả là 3MCU trên xe tự hành Các
chức năng của MCU như sau: MCU 1 nhận tín hiệu từ các cảm biến sau đó xử lý và ra quyết định, MCU 2 dùng cho quá trình điều khiển bánh sau, MCU 3 điều khiển bánh trước Các MCU trên xe tự hành dùng PIC16F887 Tất cả các cảm biến này đều được sử dụng để nhận diện môi trường xung quanh cũng như điều khiển hệ thống các động cơ chấp hành
B ảng 1 Bảng thông số cơ bản của xe tự hành
1 Kích thước (Dài x Rộng x Cao) 2750x1500x1700 (mm)
2 Kích thước cơ sở (Dài x Rộng) 2030x1230 (mm)
3 Khoảng cách gầm 300mm
4 Khối lượng 470kg (kể cả acquy)
5 Khả năng tải 4 người + hành lý (260kg)
6 Nguồn năng lượng 4 bình Acqu24V/100(Ah), 1 bình 12V/40(Ah) y Đồng Nai: 2 bình 24V/12(Ah),1 bình
7 Thời gian hoạt động 1 giờ
8 Số bậc tự do 2
9 Động cơ truyền động AC servo 750 W
10 Động cơ lái DC servo 200 W
Hình 4 Mô hình hóa và th ực tế xe tự hành
Trang 7Hệ thống camera
Máy tính điều khiển mức cao
Các cảm biến Động cơ DC
Động cơ AC
Vi điều khiển điều
khiển mức thấp
Truyền không dây
Hệ thống điều khiển trung tâm
Hình 5 Hệ thống điều khiển trên xe tự hành
Sử dụng phần mềm Matlab để tính toán và vẽ đồ thị các thông số thu được từ thực nghiệm Mô hình sẽ tính toán và chỉ ra các sai số xuất hiện trong quá trình di chuyển của xe, đồng thời đánh giá việc kiểm soát hoạt động của bộ điều khiển sơ cấp và thứ cấp Kết quả cho
thấy sự kết hợp giữa bộ điều khiển mức sơ cấp và thứ cấp bù đắp rất tốt những sai số sinh ra trong quá trình xe di chuyển Quá trình thực nghiệm đầu tiên được tiến hành là cho xe di chuyển trên đường thẳng Trong quá trình di chuyển theo đường thẳng cho trước, chúng tôi
kiểm tra các giải thuật điều khiển bám theo với các thiết bị cảm biến và thu thập dữ liệu như
đã đề cập trên Đáp ứng của quá trình điều khiển bám theo quỹ đạo đường thẳng cho trước
như Hình 6
Hình 6 Đáp ứng của xe tự hành khi đi theo đường thẳng
Trên hình chúng ta thấy quá trình bám theo quỹ đạo đường thẳng cho trước tương đối
tốt, tuy nhiên ở đoạn cuối quỹ đạo chuyển động của xe bị lệch ra khỏi quỹ đạo do việc điều khiển có sai số của góc lái bánh xe Sai số này do khe hở các bộ truyền ăn khớp như ly hợp,
bộ truyền thanh răng bánh răng của trục bánh lái làm cho việc lái không ổn định và gây ra sai
số cho quá trình bám theo quỹ đạo cho trước
Sau khi tiến hành chạy thử nghiệm với việc bám theo đường thẳng, chúng tôi tiến hành
thử nghiệm chạy theo quỹ đạo nhiều lần khác nhau như trong Hình 7 Trong hình vẽ, nét liền
là quỹ đạo yêu cầu và cho trước, nét đứt là quỹ đạo đáp ứng Các quỹ đạo này được chồng lên
Trang 8bản đồ di chuyển để xác định vị trí chính xác của XTH trong môi trường tự nhiên Nhận thấy trong quá trình chuyển động thẳng ban đầu từ vị trí xuất phát đến điểm bắt đầu bẻ lái 90 độ thì quá trình bám theo quỹ đạo cho trước khá tốt, sai số lệch không đáng kể so với vectơ chuyển động Quá trình xoay 90 độ cũng bám khá tốt như yêu cầu, tuy nhiên sau khi xoay xong xe
tiếp tục di chuyển thẳng, quá trình này bắt đầu xuất hiện sai số có thể nhận thấy Việc xuất
hiện sai số lớn là do sau khi xoay, sai số các bộ truyền bắt đầu tích lũy làm cho hệ thống lái
tạo ra sai số và dao động xung quanh điểm 0 của vectơ lái Như vậy, sai số gây ra trong quá trình điều khiển không phải do giải thuật điều khiển tạo ra mà do sai số trong quá trình truyền động cơ khí
Start
End Moving direction
Start
End Moving direction
Hình 7 Đáp ứng của xe tự hành khi di chuyển theo quỹ đạo mong muốn lần 1 và 2
K ẾT LUẬN
Bài báo đã đưa ra mô hình hóa động lực học và phát triển một robot di động dựa trên
cấu trúc của một chiếc XTH chuyên chở hành khách Bài báo này cũng đã đánh giá được hệ
thống điều khiển theo tầng, bộ điều khiển kết hợp phát hiện những thay đổi và có những phản ứng nhằm đáp ứng theo quỹ đạo mong muốn Tất cả những vấn đề này rất quan trọng cho việc
kiểm soát chuyển động Hệ thống điều khiển kết hợp đã được nghiên cứu và thử nghiệm trên XTH để thấy được sự khác biết giữa các bánh lái và bánh truyền động Kết quả thực nghiệm cho thấy rằng đáp ứng của XTH theo hệ thống kết hợp đã được cải thiện và tính chính xác khi
đi theo quỹ đạo mong muốn cũng được cải thiện đáng kể, nó có thể được nhìn thấy từ kết quả
thực nghiệm Bên cạnh đó, những kết quả thực nghiệm chỉ ra hiệu quả của phương pháp điều khiển dựa trên các bài toán động học và động lực học của XTH trong môi trường thực tế
Trang 9L ỜI CẢM ƠN
Chân thành cảm ơn OPEN LAB, Bộ môn Cơ điện tử, Trường Đại học Sư phạm Kỹ Thuật TP HCM đã giúp đỡ chúng tôi hoàn thành nghiên cứu này
TÀI LI ỆU THAM KHẢO
[1] Chris, U et al., Autonomous Driving in Urban Environments: Boss and the Urban Challenge The DARPA Urban Challenge, Springer Tracts in Advanced Robotics, 2005,
Vol 56, p 1-59
[2] Albagul, A., Dynamic modeling and adaptive traction control for mobile robots Industrial Electronics Society, 30th Annual Conference of IEEE, 2004, Vol 1, p 614-620
[3] Ramaswamy, S.A.P., & Balakrishnan, S.N., Formation control of car-like mobile robots:
A Lyapunov function based approach American Control Conference, 2008, p 657-662 [4] Kolski, S., Ferguson, D., Bellino, M., & Siegwart, R., Autonomous Driving in Structured
and Unstructured Environments Intelligent Vehicles Symposium, IEEE, 2006, p 558-563
THÔNG TIN TÁC GI Ả
1 Lê Phan Hưng Khoa Công nghệ, Trường Đại học Cần Thơ
Email: lephanhung@ctu.edu.vn Phone number: +84982204560
2 Nguy ễn Trường Thịnh Khoa Cơ khí chế tạo máy, Trường Đại học Sư phạm Kỹ thuật
Thành phố Hồ Chí Minh
Emai: thinhnt@hcmute.edu.vn Phone number: +84903675673