Sachant combien de fois les roues arrière ont pivoté et l’angle des roues avant à chaque intervalle de temps, comment trouver l’emplacement d’une voiture?

7

Je fabrique un robot pour le AVC Sparkfun. J'étais curieux si je pouvais utiliser uniquement les connaissances sur

  1. Comment la voiture est dirigée à chaque intervalle de temps,

  2. Combien de fois les roues ont tourné,

pour avoir une idée générale de la position de la voiture. J'utiliserais la vision par ordinateur pour éviter les dangers immédiats.

Le plus gros problème est le glissement qui cause de faux comptes.

Daniel Sims
la source
2
J'ai voté contre cette question parce que (sans vouloir offenser), il s'agit en fait d'une question assez simple, géométrique ou mathématique, qui peut être facilement résolue avec un peu de connaissances en calcul 3. Cela ressemble plus au genre de question pour un site de type physique / math.
Rick Teachey
1
Je ne comprends pas ce qui est Sparkfun AVC, peut-être un peu d’élaboration, et rendre le titre de la question plus court et plus informatif, pourrait beaucoup aider. Je pense que c'est une question intéressante.
peterh
1
Vous avez besoin d'un peu plus d'informations pour répondre à cela d'un point de vue mécanique. Premièrement, quelles roues sont alimentées (avant, arrière, toutes les quatre)? Deuxièmement, s'il s'agit d'une transmission à deux roues, les roues passives sont-elles connectées ou sont-elles autorisées à tourner indépendamment? Celles-ci déterminent sa complexité et le glissement que vous allez forcer sur les roues.
Trevor Archibald
Traction arrière avec différentiel. Direction des roues avant, a permis de tourner indépendamment. Très bien, Peter. Je suppose que je ne sais pas vraiment comment une voiture tourne lorsque les roues avant tournent. De quel axe tourne une voiture?
Daniel Sims le
@DanielSims: L'axe de rotation de la voiture est l'intersection de l'axe des roues avant et arrière. Néanmoins, le glissement, la déformation latérale du pneu (en fonction de la vitesse, de la charge, de l'angle de surface), etc., biaiseront rapidement la mesure. L'utilisation de l'intégration pour calculer l'emplacement est très sujette aux erreurs. J'ai observé un projet de mesure de déplacement basé sur des mesures d'accéléromètre 3D; les résultats ont été très décevants.
SF.

Réponses:

4

Prenant cela par étapes, prenons d’abord une seule roue avant, sans glissement dans aucune direction, où nous avons une mesure continue précise de la position de rotation et de l’angle absolu. Dans ce cas, le calcul de la position actuelle (par rapport à notre point de départ) est un problème relativement simple de trigonométrie et de calcul.

Malheureusement, nous ne connaissons pas notre angle absolu de roue avant (à moins que nous ne soyons libres de l’équiper d’un magnétomètre ou similaire), nous connaissons au contraire notre angle de roue avant par rapport à la carrosserie de notre véhicule. Nous pouvons efficacement définir cela comme une configuration de type vélo, avec une roue avant pivotante et une roue arrière fixe. L'angle absolu de la roue avant peut maintenant être calculé à partir de l'angle absolu de la carrosserie (égal à l'angle de la roue arrière) plus l'angle relatif de la roue avant par rapport à la carrosserie. Un calcul supplémentaire est donc nécessaire pour déterminer l'angle absolu de la roue arrière, sur la base de nos mesures à partir de la roue avant. Cela dépendra de la distance entre les roues avant et arrière (pensez à la différence de virage entre un vélo et un tandem pour vous en faire une idée).

L'extension à un véhicule à quatre roues entraîne des complications, car certaines roues doivent maintenant glisser. Mon image mentale pour ceci est deux vélos côte à côte, avec des barres reliant les cadres ensemble et un mécanisme assurant que leur direction est synchronisée. Si les barres qui les relient sont courtes, le glissement requis est minime. S'ils sont très longs (les vélos sont très éloignés les uns des autres), l'un ou les deux pneus avant devront glisser latéralement pour effectuer des virages serrés. Les distances parcourues seront également différentes entre les roues.

Une analyse physique plus poussée de ce point risque d’être très complexe et dépendra des frictions et des masses sur chaque roue. Une approche pratique pourrait consister à prendre des mesures à partir de la rotation des deux roues avant séparément, puis une moyenne à un moment donné dans les équations décrites ci-dessus.

D'autres complications surviennent lorsque l'on considère le glissement en rotation d'une des roues au sol ou si l'une de nos mesures est sujette à erreur. Pour les intégrer, il faudrait un modèle très détaillé de votre véhicule et une meilleure approche consisterait probablement à fusionner une estimation issue de notre analyse simplifiée ci-dessus avec les informations provenant d'autres capteurs utilisant un filtre de Kalman ou similaire. Dans ce cas, il peut être utile de considérer quels états sont estimés dans votre filtre, car inclure l'orientation absolue en tant qu'état explicite et l'utiliser dans vos calculs peut vous donner une meilleure estimation globale de la position. Un filtre intelligent pourrait également inclure une estimation du glissement dans le cadre de son incertitude de mesure.

welf
la source
1
Les pneus avant n'ont pas besoin de glisser si vous avez la direction ackermann
phénomène
6

Le problème principal que je peux voir dans votre idée est que votre système aura une erreur cumulative. Le seul fait de calculer cela ne suffira pas, vous devrez également trouver d'autres solutions.

Dans des scénarios similaires (mais peut-être plus grands), par exemple pour les drones, il existe un problème similaire.

La solution consiste à utiliser les compteurs de rotation de roue pour obtenir des données d’entrée rapides, en temps réel, mais erronées (qui contiennent également l’erreur cumulative). Dans le cas de drones volants, ces données proviennent de gyroscopes et d’accéléromètres, votre tâche est beaucoup plus simple comparée à la leur.

Mais vous devriez aussi avoir une autre source d’information! (Dans le cas des drones, c'est normalement le GPS). Cela peut être GPS, ou autre chose - il y a un large éventail de possibilités. Traitement d'image visuel? Marqueurs d'échographie pré-calibrés? Des tableaux marqueurs sur le sol?

Si je soupçonne correctement la taille de votre expérience, peut-être que la dernière serait la plus prometteuse pour vous.

peterh
la source
Oui, sans parler du fait que les vrais véhicules dérivent en plus du glissement. Cela signifie que la direction de la roue n’est pas suffisamment isolée pour indiquer la direction à prendre. Vous pouvez augmenter la précision avec un accéléromètre, etc. et l'insérer dans un filtre de Kalman. Néanmoins, le résultat subirait finalement le destin décrit sans une forme quelconque de mesure de position absolue.
Joojaa
3

Connaître le diamètre des roues et le nombre de fois que les roues se retournent dans un intervalle de temps donnera à la fois la distance parcourue et la vitesse moyenne pour cet intervalle de temps.

Vous auriez besoin d'un système de surveillance continu qui enregistrerait le temps, les révolutions des roues et l'angle des roues utilisées pour la direction, très probablement par rapport à l'axe longitudinal central du véhicule. Vous devrez vectoriser les données de direction et ajouter les vecteurs pour donner la position par rapport à la position de départ du véhicule.

Fred
la source
3

L'équation de base serait: où est le rayon de la roue et le nombre de tours de la roue. Cela suppose, cependant, qu'il n'y a pas de dérapage.

Distance traveled=2πr×n
rn

Cette question indique que, pour que la voiture bouge, où est la force appliquée qui se déplace le plus loin, est le coefficient de cohésion et est le poids de la roue plus le poids du véhicule.

Fk>fcGk
FkfcGk

Donc, la force totale est Ceci produit un couple, : So où est le moment d'inertie de la roue et est l'accélération angulaire. Donc, vous devez mesurer avance et vous devez déterminer la force appliquée par le eninge ( ). Mais alors, vous pouvez utiliser la cinématique pour déterminer le nombre de rotations que la roue de la voiture effectuera réellement: où est le nombre de tours,

F=FkfcGk
τ
τ=Fr
τ=(fkfcGk)r=Iα
Iα fcFcθ=ω0t+1
α=(fkfcGk)rI
fcFcθω0tdistance parcourue=rθDistance parcourue=r(ω0t+1
θ=ω0t+12αt2
θω0est la vitesse initiale et est le temps. Donc, avec , votre équation devrait être tDistance traveled=rθ
Distance traveled=r(ω0t+12((fkfcGk)rI)t2)
HDE 226868
la source
3

Pour ce faire, utilisez ce que l'on appelle un filtre à particules .

Le calcul pour estimer votre position suivante est assez simple et d’autres réponses l’ont déjà fourni, mais c’est la façon dont vous gérez l’incertitude. Cette vidéo explique assez bien le principe de base. Vous remarquerez que vous devez mesurer certains aspects liés à votre position, par exemple la distance par rapport à des objets connus, la lecture au compas, la position des repères visibles, etc. (Utilisez votre vision par ordinateur pour cela, ainsi que tout ce que vous pouvez faire. comme télémètre sonic). Il n'est pas nécessaire que ce soit parfait: le filtre à particules prend très bien en compte les mesures "bruitées" et les prédictions "bruitées" (susceptibles de générer des erreurs) de votre position.

Effectuez également une recherche sur "filtre de particules slam" pour en savoir plus.

Jhabbott
la source