Quel est un modèle adapté aux robots à deux roues?

30

Quel est un modèle adapté aux robots à deux roues? Autrement dit, quelles équations de mouvement décrivent la dynamique d'un robot à deux roues.

Les modèles de fidélité variable sont les bienvenus. Cela inclut les modèles non linéaires, ainsi que les modèles linéarisés.

ronalchn
la source
1
Cette question semble très large. Il serait utile de lier des «équations de mouvement» à un article wikipedia (par exemple) qui décrit ce que c'est. Vous devez également spécifier le robot plus spécifiquement. Par exemple, existe-t-il des roues passives? Quels sont les types de deux roues? etc.
Shahbaz
1
Style vélo ou style segway? Vous devriez être plus précis.
Paul

Réponses:

23

Il n'y a pas beaucoup d'informations ici. Fixons les roues comme séparées par la distance , et chaque roue a une orientation par rapport à la ligne qui les . Supposons ensuite que chaque roue peut être entraînée indépendamment avec une vitesse angulaire .bθivi

Si les roues sont entraînées indépendamment, mais fixes dans la direction, , vous avez quelque chose comme un entraînement différentiel (marches de réservoir). Il convient de noter que, en supposant que les roues ne glissent pas perpendiculairement à leur orientation, vous pouvez résoudre le mouvement de la base du robot sous forme fermée, étant donné les commandes de vitesse qui sont fixées sur une petite durée (comme c'est généralement le cas avec les robots sous logiciel). contrôle). L'iCreate est une telle plate-forme, tout comme les petits pionniers, et le Husky de Clearpath. Ensuite, le changement d'orientation de la base, étiqueté ci-dessous, peut être trouvé sous forme fermée.θ1=θ2=90θ

...

Le modèle habituel pour ces choses, où est la vitesse de base et est la vitesse angulaire de la base, est:vbωb

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

Pour un incrément de temps fixe, , vous pouvez trouver le changement d'orientation et la distance linéaire parcourue à l'aide de ceux-ci. Notez que le robot se déplace le long d'un cercle dans cette fenêtre temporelle. La distance le long du cercle est exactement , et le rayon du cercle est . Cela suffit pour se connecter à ces équations: des segments circulaires - en particulier l'équation de la longueur de l'accord, qui décrit la distance que le robot déplace de son emplacement d'origine. Nous connaissons et , résolvez pour .δtδtvbR=b2v1+v2v2v1Rθa

Donc, en supposant que le robot commence avec l'orientation et la position et se déplace le long de la fenêtre temporelle avec les vitesses (roue gauche) et (roue droite), son orientation sera: avec la position: 0(0,0)δtv1v2

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

Notez que comme la limite est v1v2=v

px=δtv
py=0

comme prévu.

Mettre à jour pourquoi?.

Réorganisez pour que:px

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

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

Notez maintenant que nous avons trois limites comme .v2v1

cos(v2v12b)1

(v2+v1)2v1==v2

sin(v2v12b)v2v12b1 (see sinc function)

Ceci est couvert partout sur Internet, mais vous pouvez commencer ici: http://rossum.sourceforge.net/papers/DiffSteer/ ou ici: https://web.cecs.pdx.edu/~mperkows/CLASS_479/S2006/ cinematics-mobot.pdf

Si les roues ne sont pas fixes dans le sens, comme vous pouvez faire varier la vitesse et l'orientation, cela devient plus compliqué. En ce sens, un robot peut devenir essentiellement holonomique (il peut se déplacer dans des directions et des orientations arbitraires sur le plan). Cependant, je parie pour une orientation fixe, vous vous retrouvez avec le même modèle.

Il existe d'autres modèles pour deux roues, comme un modèle de vélo, qui est facile à imaginer comme définissant les vitesses et ne variant qu'une seule orientation.

C'est le mieux que je puisse faire pour l'instant.

Josh Vander Hook
la source
1
Peut - être que je suis un peu en retard mais ne peut pas voir pourquoi Px=dt*vsi v1 = v2. Nous avons donc sin(theta/2)une partie de la multiplication, quand v1=v2 -> theta = 0, nous obtenons sin(0/2)=0et en conséquence Px = 0. Qu'est-ce qui me manque?
Long Smith
En pratique, utilisez simplement les équations if . Pour répondre à votre question, j'ai mis à jour la réponse. θ0
Josh Vander Hook
4

Si vous voulez vraiment vous plonger dans les mathématiques, voici le papier séminal qui a unifié et catégorisé la plupart des modèles de robots à roues.

georgebrindeiro
la source
2
Je suis désolé, les réponses de lien uniquement sont déconseillées sur StackExchange. Pourriez-vous peut-être condenser le contenu de ce lien en quelques paragraphes et le conserver ici (avec le lien réel, bien sûr). Cela permet d'éviter la pourriture des liens.
Manishearth
Bien sûr, je le ferai dès que j'aurai assez de temps pour ça cette semaine. Désolé, je n'étais pas au courant de cette politique et j'ai pensé que le lien serait utile tel quel.
georgebrindeiro
Excellent papier - merci pour le lien! Un long week-end aussi :-)
uhoh
0

La réponse est simple, mais les autres réponses obscurcissent la dynamique.

Les robots à entraînement différentiel peuvent être modélisés avec une dynamique monocycle de la forme: où et sont les coordonnées cartésiennes du robot, et est l'angle entre le cap et l' axe . Le vecteur d'entrée compose d'entrées de vitesse linéaire et angulaire.

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω],
xyθ(π,π]x[v,ω]T
JSycamore
la source
-1 Il s'agit simplement d'une transformation entre différentes coordonnées. Il ne modélise pas du tout la dynamique du robot comme demandé dans la question. L '« obscurcissement » des autres réponses est dû au fait qu'elles tiennent compte du fait qu'il y a deux roues à contrôler et non un vecteur d'entrée abstrait. Un tel vecteur pourrait être le résultat d'un modèle comme demandé dans la question.
Unité de cintrage 22
Le modèle que j'ai présenté répond à l'invite, ajoute à la discussion et est, en fait, un modèle de la dynamique d'un robot à entraînement différentiel non holonomique (mais pas nécessairement à deux roues, ce qui est une force). Alors que le vecteur de vitesse d'entrée (aka torsion) peut être une abstraction, l'utilisation de l'entrée de torsion est standard pour de nombreuses plates-formes à deux roues. Cela met cependant en évidence le fait que les représentations de l'espace d'états sont arbitraires. Le contrôle des vitesses de roue est une abstraction du contrôle des couples de roue, qui est lui-même une abstraction du contrôle des courants du moteur.
JSycamore