Apa model yang cocok untuk robot roda dua?

30

Apa model yang cocok untuk robot roda dua? Artinya, persamaan gerak apa yang menggambarkan dinamika robot roda dua.

Model dari berbagai kesetiaan dipersilakan. Ini termasuk model non-linear, serta model linier.

ronalchn
sumber
1
Pertanyaan ini sepertinya sangat luas. Akan membantu jika Anda menautkan "persamaan gerak" ke artikel wikipedia (misalnya) yang menjelaskan apa itu. Anda juga harus menentukan robot lebih spesifik. Misalnya, apakah ada roda pasif? Apa sajakah jenis kedua roda itu? dll.
Shahbaz
1
Gaya sepeda atau gaya segway? Anda harus lebih spesifik.
Paul

Jawaban:

23

Tidak banyak informasi di sini. Mari kita perbaiki roda yang dipisahkan oleh jarak , dan setiap roda memiliki orientasi sehubungan dengan garis yang menghubungkannya. Kemudian asumsikan setiap roda dapat digerakkan secara independen dengan kecepatan sudut .θ i v ibθivi

Jika roda digerakkan secara independen, tetapi tetap dalam arah, , Anda memiliki sesuatu seperti penggerak diferensial (tapak tangki). Perlu dicatat bahwa, dengan asumsi roda tidak tergelincir tegak lurus dengan orientasi mereka, Anda dapat menyelesaikan untuk gerakan basis robot dalam bentuk tertutup mengingat perintah kecepatan yang diperbaiki selama durasi waktu yang kecil (seperti biasanya dengan robot di bawah perangkat lunak) kontrol). ICreate adalah platform seperti itu, seperti juga perintis yang lebih kecil, dan Husky oleh Clearpath. Kemudian perubahan orientasi pangkalan, berlabel bawah ini, dapat ditemukan dalam bentuk tertutup. θθ1=θ2=90θ

...

Model yang biasa untuk hal-hal ini, di mana adalah kecepatan dasar dan adalah kecepatan sudut basis, adalah:ω bvbωb

ωb=1

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

Untuk peningkatan waktu tetap, , Anda dapat menemukan perubahan orientasi, dan jarak linear ditempuh menggunakan ini. Perhatikan bahwa robot berjalan di sepanjang lingkaran di jendela waktu ini. Jarak sepanjang lingkaran persis , dan jari-jari lingkaran adalah . Itu cukup untuk menyambungkan ke persamaan ini: segmen melingkar - terutama persamaan panjang akor, yang menggambarkan jarak robot dari lokasi aslinya. Kita tahu dan , memecahkan .δ t v b R = bδtδtvb RθaR=b2v1+v2v2v1Rθa

Jadi dengan asumsi robot dimulai dengan orientasi , dan posisi , dan bergerak di sepanjang jendela waktu dengan kecepatan (roda kiri) dan (roda kanan), orientasinya adalah: dengan posisi: ( 0 , 0 ) δ t v 1 v 2 θ 1 = δ t0(0,0)δtv1v2px=cos( θ 1

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

Perhatikan bahwa sebagai batasnya adalah p x = δ t v p y = 0v1v2=v

px=δtv
py=0

seperti yang diharapkan.

Perbarui mengapa?

Atur ulang agar:px

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

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

Sekarang perhatikan bahwa kami memiliki tiga batasan sebagai .v2v1

cos(v2v12b)1

(v2+v1)2v1==v2

sin(v2v12b)v2v12b1 (see sinc function)

Ini tercakup di seluruh internet, tetapi Anda dapat mulai di sini: http://rossum.sourceforge.net/papers/DiffSteer/ atau di sini: https://web.cecs.pdx.edu/~mperkows/CLASS_479/S2006/ kinematics-mobot.pdf

Jika roda tidak tetap ke arah, karena Anda dapat memvariasikan kecepatan dan orientasi, itu menjadi lebih rumit. Dalam hal itu, robot pada dasarnya bisa menjadi holonomis (dapat bergerak ke arah dan orientasi yang sewenang-wenang di pesawat). Namun, saya bertaruh untuk orientasi tetap, Anda berakhir dengan model yang sama.

Ada model lain untuk dua roda, seperti model sepeda, yang mudah dibayangkan sebagai pengaturan kecepatan, dan hanya memvariasikan satu orientasi.

Itu yang terbaik yang bisa saya lakukan untuk saat ini.

Josh Vander Hook
sumber
1
Mungkin saya agak terlambat tetapi tidak bisa melihat mengapa Px=dt*vjika v1 = v2. Kami memiliki sin(theta/2)sebagai bagian dari penggandaan karena itu, kapan v1=v2 -> theta = 0, kami mendapatkan sin(0/2)=0dan sebagai konsekuensinya Px = 0. Apa yang saya lewatkan?
Long Smith
Dalam praktiknya, cukup gunakan persamaan jika . Untuk menjawab pertanyaan Anda, saya telah memperbarui jawabannya. θ0
Josh Vander Hook
4

Jika Anda benar-benar ingin menyelami matematika itu, inilah makalah seminal yang menyatukan dan mengategorikan sebagian besar model untuk robot beroda.

georgebrindeiro
sumber
2
Maaf, jawaban hanya tautan tidak disarankan di StackExchange. Bisakah Anda menyingkat konten tautan itu menjadi beberapa paragraf dan menyimpannya di sini (bersama dengan tautan yang sebenarnya, tentu saja). Ini membantu mencegah pembusukan tautan.
Manishearth
Tentu saja, saya akan melakukannya segera setelah saya memiliki cukup waktu untuk minggu ini. Maaf tentang hal itu, saya tidak mengetahui tentang kebijakan ini dan menganggap tautannya akan bermanfaat apa adanya.
georgebrindeiro
Makalah yang luar biasa - terima kasih atas tautannya! Akhir pekan yang cukup panjang juga :-)
uhoh
0

Jawabannya sederhana, tetapi jawaban lain mengaburkan dinamika.

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω],
xyθ(π,π]x[v,ω]T
JSycamore
sumber
-1 Ini hanyalah transformasi antara koordinat yang berbeda. Itu tidak memodelkan dinamika robot sama sekali seperti yang diminta dalam pertanyaan. " Kebingungan " dari jawaban lain adalah karena mereka memperhitungkan bahwa ada dua roda untuk mengontrol dan bukan beberapa vektor input abstrak. Vektor seperti itu bisa merupakan hasil dari model seperti yang diminta dalam pertanyaan.
Bending Unit 22
Model yang saya sajikan membahas prompt, menambah diskusi, dan, pada kenyataannya, model dinamika robot penggerak diferensial non-holonomik (meskipun tidak harus roda dua, yang merupakan kekuatan). Sementara vektor kecepatan input (alias twist) mungkin merupakan abstraksi, menggunakan input twist adalah standar untuk banyak platform roda dua. Namun, ini menyoroti fakta bahwa representasi ruang negara sewenang-wenang. Mengontrol kecepatan roda adalah abstraksi dari pengontrolan torsi roda, yang juga merupakan abstraksi dari pengontrolan arus motor.
JSycamore