Je fabrique un robot pour le AVC Sparkfun. J'étais curieux si je pouvais utiliser uniquement les connaissances sur
Comment la voiture est dirigée à chaque intervalle de temps,
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.
control-engineering
robotics
Daniel Sims
la source
la source
Réponses:
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.
la source
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.
la source
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.
la source
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.
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.
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,
la source
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.
la source