Một mô hình phù hợp cho robot hai bánh là gì?


30

Một mô hình phù hợp cho robot hai bánh là gì? Đó là, những phương trình chuyển động mô tả động lực học của robot hai bánh.

Mô hình của sự trung thực khác nhau được chào đón. Điều này bao gồm các mô hình phi tuyến tính, cũng như các mô hình tuyến tính.


1
Câu hỏi này có vẻ rất rộng. Sẽ rất hữu ích nếu bạn liên kết "phương trình chuyển động" với một bài viết trên wikipedia (ví dụ) mô tả nó là gì. Ngoài ra, bạn nên chỉ định robot cụ thể hơn. Ví dụ, có bánh xe thụ động? Các loại của hai bánh xe là gì? vv
Shahbaz

1
Phong cách xe đạp hay phong cách segway? Bạn nên cụ thể hơn.
Paul

Câu trả lời:


23

Không có nhiều thông tin ở đây. Chúng ta hãy sửa các bánh xe cách nhau bởi khoảng cách và mỗi bánh xe có hướng θ i đối với đường nối chúng. Sau đó giả sử mỗi bánh xe có thể được điều khiển độc lập với vận tốc góc v i .bθivi

Nếu các bánh xe được điều khiển một cách độc lập, nhưng cố định theo hướng, , bạn có một cái gì đó giống như một ổ đĩa khác biệt (treads bể). Điều đáng chú ý là, giả sử các bánh xe không trượt vuông góc với hướng của chúng, bạn có thể giải quyết chuyển động của đế robot ở dạng kín với các lệnh vận tốc được cố định trong một khoảng thời gian nhỏ (như trường hợp của robot trong phần mềm điều khiển). ICreate là một nền tảng như vậy, cũng như những người tiên phong nhỏ hơn và Husky by Clearpath. Sau đó, sự thay đổi trong hướng của cơ sở, được dán nhãn θ bên dưới, có thể được tìm thấy ở dạng đóng.θ1=θ2=90θ

...

Mô hình thông thường cho những điều này, trong đó là vận tốc cơ sở và ω b là vận tốc góc của cơ sở, là:vbωb

ωb=1

vb=12(v1+v2)
ωb=1b(v2v1)

Đối với gia tăng thời gian cố định, , bạn có thể tìm thấy sự thay đổi trong định hướng và khoảng cách tuyến tính đi được bằng cách sử dụng những điều này. Lưu ý rằng robot di chuyển dọc theo một vòng tròn trong cửa sổ thời gian này. Khoảng cách dọc theo vòng tròn chính xác là δ t v b và bán kính của vòng tròn là R = bδtδtvb . Thế là đủ để cắm vào các phương trình này:các đoạn tròn- đặc biệt là phương trình độ dài hợp âm, mô tả khoảng cách robot di chuyển khỏi vị trí ban đầu. Chúng ta biếtRθ, giải quyết chomột.R=b2v1+v2v2v1Rθa

Vì vậy, giả sử bắt đầu robot với định hướng , và vị trí ( 0 , 0 ) , và di chuyển dọc theo cửa sổ thời gian δ t với vận tốc v 1 (bánh trái) và v 2 (bánh xe bên phải), nó định hướng sẽ là: θ 1 = δ t0(0,0)δtv1v2với vị trí: px=cos( θ 1

θ1=δtb(v2v1)
py=sin(θ1
px=cos(θ12)(2Rsin(θ12))
py=sin(θ12)(2Rsin(θ12))

Lưu ý rằng khi giới hạn là p x = δ t v p y = 0v1v2=v

px=δtv
py=0

như mong đợi.

Cập nhật tại sao ?.

px

px=cos(v2v12b)2(bv1+v22(v2v1))sin(v2v12b)

px=cos(v2v12b)(v2+v1)2sin(v2v12b)v2v12b

v2v1

cos(v2v12b)1

(v2+v1)2v1==v2

sin(v2v12b)v2v12b1 (see sinc function)

Điều này được phủ sóng trên internet, nhưng bạn có thể bắt đầu ở đây: http://rossum.sourceforge.net/ con / DiffSteer / hoặc tại đây: https://web.cecs.pdx.edu/~mperkows/CLASS_479/S2006/ động học-mobot.pdf

Nếu các bánh xe không được cố định theo hướng, vì trong bạn có thể thay đổi tốc độ và hướng, nó sẽ phức tạp hơn. Theo nghĩa đó, một robot có thể trở nên cơ bản toàn diện (nó có thể di chuyển theo các hướng và hướng tùy ý trên mặt phẳng). Tuy nhiên, tôi đặt cược cho định hướng cố định, bạn kết thúc với cùng một mô hình.

Có những mô hình khác cho hai bánh xe, chẳng hạn như mô hình xe đạp, dễ hình dung là thiết lập vận tốc và chỉ thay đổi một hướng.

Đó là điều tốt nhất tôi có thể làm bây giờ.


1
Có lẽ tôi hơi muộn nhưng không thể hiểu tại sao Px=dt*vnếu v1 = v2. Chúng tôi có sin(theta/2)là một phần của nhân do đó, khi v1=v2 -> theta = 0, chúng tôi nhận sin(0/2)=0và kết quả là Px = 0. Tôi đang thiếu gì?
Long Smith

θ0

4

Nếu bạn thực sự muốn đi sâu vào toán học của nó, đây là bài báo chuyên đề thống nhất và phân loại hầu hết các mô hình cho robot có bánh xe.


2
Tôi xin lỗi, các câu trả lời chỉ liên kết không được khuyến khích trên StackExchange. Có lẽ bạn có thể cô đọng nội dung của liên kết đó thành một vài đoạn và giữ nó ở đây (cùng với liên kết thực tế, tất nhiên). Điều này giúp ngăn ngừa thối liên kết.
Manishearth

Chắc chắn, tôi sẽ làm điều đó ngay khi tôi có đủ thời gian cho nó trong tuần này. Xin lỗi về điều đó, tôi đã không biết về chính sách này và nghĩ rằng liên kết sẽ hữu ích.
georgebrindeiro

Giấy tuyệt vời - cảm ơn vì liên kết! Một ngày cuối tuần khá dài là :-)
uhoh

0

Câu trả lời cho điều này là đơn giản, nhưng các câu trả lời khác làm xáo trộn sự năng động.

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω],
xyθ(π,π]x[v,ω]T

-1 Đây chỉ là một sự chuyển đổi giữa các tọa độ khác nhau. Nó không mô hình hóa động lực học của robot theo yêu cầu trong câu hỏi. " Obfuscation " của các câu trả lời khác là bởi vì chúng tính đến việc có hai bánh xe để điều khiển và không phải là một số vector đầu vào trừu tượng. Một vectơ như vậy có thể là kết quả của một mô hình theo yêu cầu trong câu hỏi.
Đơn vị uốn cong 22

Mô hình mà tôi đã trình bày đề cập đến lời nhắc, thêm vào cuộc thảo luận và trên thực tế, là mô hình động lực học của robot điều khiển vi sai không toàn diện (mặc dù không nhất thiết phải là hai bánh, là một thế mạnh). Trong khi vectơ vận tốc đầu vào (còn gọi là xoắn) có thể là một sự trừu tượng, sử dụng đầu vào xoắn là tiêu chuẩn cho nhiều nền tảng hai bánh. Tuy nhiên, điều này làm nổi bật thực tế là các biểu diễn không gian trạng thái là tùy ý. Kiểm soát vận tốc bánh xe là một sự trừu tượng từ việc kiểm soát các bánh xe, mà bản thân nó là một sự trừu tượng hóa từ việc kiểm soát các dòng động cơ.
JSycamore
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.