Dạng đơn giản nhất của robot tự hành là dùng bánh xe, được mô tả bằng các sơđồở hình dưới :
Hình 3.1 Các dạng robot dùng bánh xe
Robot tự hành dạng này bao gồm một hay nhiều bánh xe được lái ( được tô đậm trong sơ
đồ ) , bánh tự do (không được tô) và bánh bẻ lái ( được khoanh tròn). Thiết kếở bìa trái hình
trên có một bánh được lái và cũng để bẻ lái. Thiết kế này đòi hỏi 2 động cơ, một đểđiều khiển vận tốc (lái) và một để bẻ lái. Thuận lợi của thiết kế này là việc điều khiển và bẻ lái được tách riêng biệt trên hai động cơ, do đó việc điều khiển bằng phần mềm trên các quỹđạo cong sẽ đơn giản. Tuy nhiên, điểm bất lợi là robot không thể bẻ lái tại chỗ do bánh để bẻ lái không đặt
ở giữa.
Thiết kếở giữa có tính chất lái vi sai (differential drive) được sử dụng khá phổ biến trong thiết kế robot tự hành. Sự kết hợp hai bánh xe lái độc lập cho phép robot có thể chạy thẳng, chạy vòng hoặc xoay tại chỗ. Việc điều khiển robot trên một quỹđạo nào đó, ví dụ như một
đường cong đã biết bán kính phải được làm bằng phần mềm. Một lợi thế nữa của thiết kế là các bánh xe được giữ cốđịnh nên làm cho kết cấu cơ khí đơn giản.
Cuối cùng thiết kế bìa phải, còn gọi là “Ackermann Steering”, có dạng giống như các xe
vận tải trên đường phố. Ta chỉ cần một động cơ lái cả hai bánh sau và một động cơ bẻ lái bằng cả hai bánh trước.
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 21
Một điều cần lưu ý là cả ba thiết kế trên đều sử dụng hai động cơ cho việc điều khiển vận tốc và bẻ lái.
Một dạng đặc biệt của robot tự hành là robot chuyển động đa hướng sẽđược phân tích ở
phần sau.
Điểm bấr lợi chung cho các robot dùng bánh xe là nó đòi hỏi mặt đường hay mặt phẳng để
di chuyển. Dùng bánh xích có thể khắc phục chuyện này nhưng nó rất khó đểđiều khiển chính xác như là bánh xe. Bánh xích cũng cần 2 động cơ, một cho mỗi bên.
3.1.2 Robot dùng chân :
Hình 3.2 Robot dùng bánh xích và robot dùng chân
Giống như robot dùng bánh xích, robot dùng chân có thể di chuyển trên bề mặt phức tạp,
hơn nữa còn có thể lên xuống cầu thang hoặc bước qua các chướng ngại vật nhỏ. Có rất nhiều kiểu thiết kế lọai này dựa vào số chân với một quy tắc tổng quát: càng nhiều chân càng dễ
thăng bằng. Ví dụ robot 6 chân hình trên có thể di chuyển giống như robot 3 chân với 3 chân
còn lại trên không. Một robot 3 chân thì có thể luôn giữđược trạng thái ổn định, với trọng gần
đúng bằng tâm hình tam giác tao bởi điểm tiếp xúc của 3 chân với mặt đất. Mỗi chân robot đòi hỏi từ hai động cơ trở lên tùy thuộc vào số bậc tự do mỗi chân. Các thiết kế cho robot 2 chân (biped robot) thường có hơn 5 động cơ cho mỗi chân và do đó số bậc tự do cũng tăng lên, đòi hỏi yêu cầu về khối lượng và chi phí cho robot.
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 22
Hình 3.3 Robot lái đồng bộ chuyển động đa hướng với ba bánh được lái bằng một động cơ (
steering motor), các bánh được liên kết qua các ròng rọc
Một robot lái đồng bộ ( synchronous-drive robot ) có thểđược chế tạo bằng cách thêm vào các
bánh định hướng ở trọng tâm hoặc lệch trọng tâm. Điều đặc biệt của thiết kế này là hướng và vận tốc các bánh xe luôn băng nhau. Chuyển động lái của mỗi bánh được liên kết với nhau bằng xích hoặc đai, do đó ta luôn xác định được sựđịnh hướng của bánh xe. Một chuyển động
đa hướng ( có thể ngay lập tức chuyển động theo bất cứ hướng nào ) có thểđạt được bằng cách
lái các bánh xe theo hướng của vận tốc mong muốn. Tuy nhiên hướng của phần khung robot
thì không thể thay đổi. Đôi khi một đầu vô tâm ( turret) được dùng để thay đổi hướng của robot. Lợi ích của việc dùng robot lái đồng bộ là chỉ cần hai động cơđểđổi hướng và thay đổi vận tốc. Do kết cấu cơ khí đã đảm bảo cho việc lái đồng bộ nên việc điều khiển không đòi hỏi cao. Nhược điểm của phương pháp này là :
• Cấu trúc cơ khí phức tạp
• Nếu có hư hỏng xảy ra ở phần liên kết các bánh xe ( đai hoặc xích) thì sẽ có sự sai lệch vận tốc giữa các bánh
• Đểđạt được chuyển động đa hướng thì, hướng của bánh xe phải được canh chỉnh theo hướng mong muốn trước khi bắt đầu chuyển động
3.2. MÔ HÌNH ROBOT OMNI 3.2.1 Bánh xe omni 3.2.1 Bánh xe omni
Bánh xe omni đã trở nên rất thông dụng trong robot tự hành vì nó cho phép robot di chuyển ngay đến một vị trí trên mặt phẳng mà không phải quay trước. Hơn nữa, chuyển động tịnh tiến dọc theo một quỹđạo thẳng có thể kết hợp với chuyển động quay làm cho robot di chuyển tới vị trí mong muốn với góc định hướng chính xác.
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 23
Hình 3.4 Bánh xe omni và ứng dụng trên xe bốn bánh.
Bánh xe Omni còn có tên gọi là bánh xe Mecanum, kiểu bánh xe này được phát triển và
đăng kí bản quyền bởi công ty Mecanum của Thụy Sỹ với Bengt Ilon vào năm 1973. Có hai
lọai bánh Omni chính, phụ thuộc vào hướng chuyển động khả thi của bánh :
§ Bánh Omni với hướng chuyển động phụ 450 so với hướng chính ( hình 3.5)
§ Bánh Omni với hướng chuyển động phụ 900 so với hướng chính ( hình 3.6)
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 24
Hình 3.6 Bánh Omni với hướng chuyển động phụ 900 so với hướng chính
Hầu hết các bánh xe omni đều dựa trên cùng một nguyên lý :trong khi bánh xe cung cấp
một lực kéo theo hướng bình thường trên trục của động cơ, nó có thể trượt không ma sát theo hướng trục của động cơ. Đểđạt được điều này, bánh xe được chế tạo bằng cách thêm các bánh
xe nhỏ dọc theo chu vi của bánh chính
3.2.2 Cơ sở vật lý điều khiển bánh xe omni
Mỗi bánh xe đều có thể di chuyển robot, nhưng do bánh xe được đặt trên chu vi của robot
nên nó sẽ làm quay khung robot. Để tìm ra mối quan hệ giữa moment động cơ và sự dịch chuyển của robot, ta phải phân tích khía cạnh hình học của vấn đề:
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 25
Hình 3.7 Phân bố lực của n bánh xe omni
Chúng ta sẽ phân tích robot với n>=3 bánh xe omni như trên hình vẽ
Các góc của động cơđược tính so với trục x trong hệ tọa độ gắn trên động cơ gọi các góc của trục động cơ là θ1 , θ2 , …θn ; hướng của bánh xe thứ i tương ứng là : θi + π/2
Khi các động cơđược kích hoạt, ta sẽ nhận được n lực kéo F1, F2,…,Fn từ các động cơ, sau
đó tổng hợp thành lực tịnh tiến và moment quay của robot. Mỗi lực kéo Fi được tính bằng moment trên đầu trục động cơ nhân với bán kính của bánh xe.
Ma trận tổng hợp lực :
Chúng ta quan tâm đến chuyển động của robot dọc theo trục x và y. Để đơn giản hóa, chúng ta sẽ xem xét gia tốc và vận tốc của robot trên hệ toa độ đặt trên khung robot. Ví dụ: một robot di chuyển tới sẽ có một vận tốc dương nhất định theo phương y và bằng 0 theo phương x. Chúng ta gọi vận tốc tịnh tiến và vận tốc quay là những “biên độ Euclide” (Euclidean Magnitudes), khác với vận tốc và gia tốc của mỗi động cơ.
Gia tốc tịnh tiến a và gia tốc góc
.
wcủa trọng tâm robot mà ta giả sử rằng nằm tại tâm hình học được cho bởi : a = 1 (F1 F2 ... Fn) M + + + (3.1) . 1 2 ( ... n) R w f f f I = + + + (3.2)
với M là khối lượng và R là bán kính của robot, fi là biên độ của lực Fi và I là moment quán tính của robot. Việc tính toán có thể thực hiện được bằng việc sử dụng các phương trình này, vì lực kéo được đặt tiếp tuyến với khung robot, do đó ta chỉ làm việc với biên độ của các vector lực.
Ta có thể tính các thành phần x và y của gia tốc :
1sin 1 2sin 2 ... sin
x n n
Ma = −f θ − f θ − −f θ (3.3)
1cos 1 2cos 2 ... cos
y n n
Ma = f θ + f θ + + f θ (3.4)
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 26
(3.5) Ta có thể sử dụng I=αMR2 (0<α<1) và làm việc với . Rω thay vì . ω, ma trận mới như sau : (3.6) Ta gọi ma trận 3 x n trên là ma trận phối hợp lực Cα.
Các tính toán ởđây được giảđịnh là các bánh xe không bị trượt, tức là moment đầu trục
động cơđược truyền toàn bộđến robot thông mặt phẳng chuyển động.
Biên độ Euclide :
Chúng ta có thể tính toán vận tốc của bánh xe ,vận tốc của robot cũng như vận tốc quay
bằng cách lấy tích phân các phương trình chuyển động. Tuy nhiên chúng ta phải xét đến robot
trong không gian Euclide, tính toán quỹđạo trong đó, từđó suy ra vận tốc của từng bánh. Chúng ta nhóm vận tốc của các động cơ vào vector (v1,v2,…,vn)T, vận tốc tịnh tiến và vận tốc quay của robot vào vector (vx, vy, Rω)T. Nếu chuyển động của robot được mô tả bằng vector (1, 0, 0)T, tức là robot di chuyển thẳng mà không quay. Khi robot di chuyển với vận tốc bằng 1 theo trục x, bánh xe thứ i sẽ quay với vận tốc –sinθi. Điều này được diễn tả trong hình
3.8 . Bánh xe chính sẽ cung cấp thành phần –sinθi và các bánh xe nằm trên chu vi sẽ cung cấp
thành phần cosθi
.
Hình 3.8 Phân tích các thành phần vận tốc trên bánh xe omni
Áp dụng quy ước chiều quay dương là chiều dương lượng giác (ngược chiều kim đồng hồ
nếu nhìn tư trên xuống), ta thành lập ma trận quan hệ giữa vận tốc động cơ và vận tốc robot trong không gian Euclide :
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 27
1 1 1 2 2 2 sin cos 1 sin cos 1 . . . . . . . . sin cos 1 x y n n n v v v v R v θ θ θ θ ω θ θ − − = − (3.7)
Ma trận trên có dạng như ma trận chuyển vị của ma trận Cα. Ma trận này là ma trận phối hợp vận tốc kí hiệu là D. Với hạng của ma trận >=3, với bất cứ giá trị nào vận tốc Euclide nào (vx, vy, Rω)T luôn tìm được một vector vận tốc các động cơ thỏa yêu cầu.
Bây giờ ta kí kiệu vector gia tốc (ax,ay,
.
Rω)T là a, vector lực ( ,f f1 2,...,fn)T bằng f , vector (vx, vy, Rω)T bằng v, vector vận tốc động cơ (v1,v2,…,vn)T bằng m. Các ma trận quan hệ ở trên được viết lại như sau:
a=C fα và m=Dv
Lấy tích phân trong khoảng thời gian ∆t, ta được ∆v = ∆t * a tức là:
∆m = ∆t * DCα f (3.8)
Trên động cơ đều có encoder đểđo vận tốc trong khoảng thời gian ∆t. Với mục đích điều khiển robot, chúng ta muốn biết làm sao chuyển các vận tốc đo được sang vận tốc Euclide, tức là đảo ngược mối quan hệ m=Dv. Trong trường hợp tổng quát thì điều này là không khả thi
vì ma trận D không phải ma trận vuông, do đó không khảđảo. Tuy nhiên, ta có thể tìm một ma
trận D+ sao cho :
D+m = (D+D)v = I3v = v (3.9)
Ma trận D+ chuyển vận tốc động cơ sang vận tốc Euclide của robot. Để ý rằng ma trận này luôn có hạng bằng 3 nên chỉ cần 3 bánh xe omni là có thể lái robot theo mọi hướng.
3.2.3 Điều khiển chính xác robot omni
Việc điều khiển chính xác robot omni chỉ có thể thực hiện được nếu không xét đến ma sat giữa bánh xe và mặt đường. Tuy nhiên trong thực tế, ma sat và do đó gia tốc của động cơ bị
hạn chế. Trước tiên ta sẽ chỉ ra bánh nào bị trượt bằng cách khảo sát các vận tốc của bánh xe. Với thông tin này, các lực của động cơ có thể bị giảm xuống để tránh sự trượt.
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 28
3.3 ĐIỀU KHIỂN ROBOT OMNI TRONG THỰC TẾ 1.3.1 Tại sao dùng bánh xe omni ? 1.3.1 Tại sao dùng bánh xe omni ?
Như ta đã thấy, robot với ba bánh xe omni có thể chuyển động theo bất cứ hướng nào ngay lập tức, điều này làm robot có tính linh hoạt rất cao, thích hợp để tránh vật cản. Đồng thời robot có thể quay tại chỗ làm cho việc bám theo đối tượng thuận lợi. Khi đối tượng quay, robot có thể quay theo mà không làm thay đổi khoảng cách đến mục tiêu. Khi mất dấu đối tượng thì robot có thể quay tại chỗđể dò tìm đối tượng. Do đó robot omni rất thích hợp cho đề
tài này.
1.3.2 Điều khiển robot omni trong thực tế
Việc phân tích robot omni ở trên cho thấy đểđiều khiển robot moni chính xác và tối ưu
rất phức tạp do chuyển động của robot omni luôn có trượt. Một lý do khác là do thân robot khá cao ( đáp ứng yêu cầu đặt camera bắt mặt người) nên khi di chuyển sẽ có quán tính lớn, lắc lư
nhiều, đồng thời với giải thuật tránh vật cản thi việc robot chuyển hướng xảy ra liên tục nên khó điều khiển theo các phương pháp truyền thống như là PID. Việc điều khiển robot được em
điều khiển vòng hở và điện áp cấp cho các động cơ là dựa vào kinh nghiệm, không quá thấp để
robot di chuyển chậm nhưng không quá cao để robot có thể gặp sự cố khi chuyển hướng đột ngột.
Với một robot omni ba bánh thì có thể có các trường hợp chuyển động sau :
(a) (b) (c) (d)
Hình 3.10 Các trường hợp chuyển động của robot omni ba bánh: vector màu trắng: vận tốc
của robot; vector màu xanh lá cây : vận tốc lái của động cơ; vector màu xanh dương : vận tốc
sau cùng; vector màu cam : vận tốc bù; điểm màu vàng : tâm quay.
Ø Trường hợp (a) : khi một bánh không cấp vận tốc, hai bánh còn lại quay ngược chiều nhau ( chiều lượng giác quy ước là ngược chiều kim đồng hồ), thi robot sẽ
tịnh tiến theo hướng vuông góc với bánh không cấp vận tốc, chiều theo chiều vector tổng.
Ø Trường hợp (b) : khi 3 bánh cùng cấp vận tốc cùng chiều lượng giác thì robot sẽ
Chương 3 Robot omni
——————————————————————————————————————
Robot tránh chướng ngại vật - GVHD TS.Nguyễn Đức Thành Trang 29
Ø Trường hợp (c) : khi một trong ba bánh chuyển động ngược hướng với hai bánh còn lại và hai bánh còn lại được cấp vận tốc giống nhau nhưng nhỏ hơn bánh thứ
nhất, robot sẽ tịnh tiến theo hướng song song với bánh thứ nhất.
Ø Trường hợp (d) : đây là trường hợp tổng quát nhất với ba bánh được cấp vận tốc bất kì, robot sẽ quay theo một tâm nào đó. Các trường hợp trước coi như là trường hợp đặc biệt của trương hợp (d) vì: trường hợp (b) tâm quay nằm ngay tâm hình
học của robot, trương hợp (a) và (c) tâm quay xem nhưở vô cùng.
Tóm lại với một robot omni ba bánh ta có điều khiển theo các hướng như sau :
Hình 3.11 Các hướng điều khiển robot omni
Ta có thểđiều khiển robot omni tịnh tiến theo 12 hướng và quay tại chỗ theo hai chiều. Việc điều khiển này yêu cầu đơn giản về phần mềm nhưng không làm mất tính linh hoạt của robot. Robot có thể di chuyển đến bất cứ vị trí nào trong mặt phẳng bằng cách kết hợp các