Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

Un problème très fréquent en apprentissage de la robotique est le coût d'un matériel qui est nécessaire pour l'apprentissage et le développement des compétences de contrôle du robot.

Dans ce projet, je vais faire une simulation de robot mobile. La principale raison pour laquelle cette simulation est utile, est parce qu'il ne nécessite pas de matériel de robot pour développer pleinement et de l'algorithme de commande de mise au point pour le robot.







Dans ce cas, je vais mettre en œuvre l'algorithme d'évitement de collision pour le robot.

Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

1. Tout d'abord je besoin d'un robot pour ce projet. Le robot utilisé est un modèle de CAO d'un robot mobile Adept obtenu sous forme notre TA. (Voir la photo ci-dessus)

Ce modèle CAO devait être transformé en un assemblage et importé sous forme de fichier .XML qui peut être ouvert en sumulink. (indiqué ci-dessous)

Un signal de commande constant est appliqué sur les joints de roues gauche et droite pour tester si le modèle se comporte de la façon dont il a été conçu.

Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

Un signal de commande constant est appliqué sur les joints de roues gauche et droite pour tester si le modèle se comporte de la façon dont il a été conçu.

Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

Lorsque les deux signaux sont égaux entre eux, les roues commencent à tourner dans le même sens et avec la même vitesse.

2. Ensuite, certains paramètres cinématiques sont ajoutés pour donner les contraintes du robot par rapport à son environnement.

Cela se fait par le calcul de certains paramètres de la cinématique et les introduire dans l'articulation plane.

Les paramètres dont nous avons besoin sont:






Le déplacement dans la direction X par rapport au châssis du monde: Px = intégrale (v * sin (thêta))

Le déplacement dans la direction y par rapport au châssis du monde: Py = intégrales (cos v * (thêta))

Angle de rotation: Thêta = intégrale (w dt)

Où w est la vitesse angulaire du corps: w = (Vr-Vl) / largeur de piste

et v est v est la vitesse angulaire de roues: v = (Vr + Vl) / 2

Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

Maintenant, lorsque deux signaux d'actionnement positifs identiques appliqués aux joints roue, le robot se déplace vers l'avant.

3. Ensuite, est créé et le robot est placé un environnement virtuel avec des obstacles en elle. Il est fait avec bloc « évier vr ».

Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

Pour conduire l'animation de notre robot nous avons besoin de calculer certains paramètres de mouvement et de l'alimenter à Vr bloc évier.

Ces paramètres sont la rotation et matrices translation du corps du robot. Le corps et les roues sont combinées en une seule pièce, ce qui est la raison pour laquelle nous ne avons pas besoin de définir des paramètres séparés pour chaque roue.

Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

4. La dernière chose avant que je puisse commencer à mettre en œuvre la logique d'évitement d'obstacles est d'obtenir les lectures des capteurs du robot. Pour ce faire, je dois d'abord régler chaque emplacement du capteur par rapport au châssis du corps du robot. Ayant fait qu'il est possible de calculer la position de chaque capteur par rapport au cadre mondial et d'obtenir leurs lectures sur la base d'une table de consultation, ce qui représente des obstacles que 1 et de l'espace libre 0.

Ceci est fait en utilisant un sous-système indiqué ci-dessous, dans lequel l'emplacement du centre du robot est déterminée à l'aide de blocs « Transform » de capteur qui ensuite introduit dans la fonction MATLAB qui calcule l'emplacement de chaque capteur. Ensuite, les lectures des capteurs sont déterminées à partir des emplacements déterminés précédemment et une table de correspondance binaire.

Simulation de Robot d'évitement des collisions (Dmitriy Ligomina)

5. Enfin une logique de commande peut être mis en œuvre à l'aide d'un bloc « flux d'état ». Dans ce bloc, un signal d'actionnement pour les deux roues gauche et droite du robot sont déterminés en fonction des capteurs qui sont la détection d'un objet et la force du signal.

Image ci-dessous explique la logique mise en œuvre.







Articles Liés