anyKode Marilou
ContentsIndexHome
PreviousUpNext
Création du robot partie 2

Création du robot: les jointures et les zones.

Dans ce chapitre, nous allons connecter les roues à la base et créer les entités qui supporteront les capteurs de distance. Pour se faire, nous allons utiliser des jointures qui vont relier les corps rigides entre eux. Dans le chapitre suivant, nous équiperons notre robot de moteurs et de capteurs de distance. 

 

Étape 1: Création des jointures:
Étape 
Description 
Création d'une jointure HINGE (1 degré de liberté):

Les jointures se créaient comme les autres entités.

  1. Activer le panneau Add et choisir l'onglet Link,
  2. Cliquer sur Hinge pour activer le mode création d'une jointure,
  3. Passer en vue perspective et démarrer la création de la jointure , coté droit du robot.

 

 
Deuxième jointure:

  1. Dans le panneau Modify (jointure sélectionnée), passer la propriété Anchor Size à 0.09.
  2. Copier/Coller la jointure et la déplacer du coté gauche du robot.

 

 
Troisième jointure (la roue folle):

  1. Activer le panneau Add -> Link et choisir la jointure Ball,
  2. Créer la jointure vers l'arrière du robot.

 

 
Placer les jointures:
Il faut positionner les jointures de manière à ce que les roues tournent autour de l'axe. Pour se faire, nous allons placer les jointures exactement à la même position que les roues.

  1. Sélectionner la roue gauche en premier (sphere verte), puis la jointure gauche en second (Ctrl pressé pour la selection multiple),
  2. pressez la touche P (Make Same Pos) : la jointure se déplace à la position de la roue.
  3. Sélectionner la roue droite puis la jointure droite en second.
  4. Pressez P , la deuxième jointure se déplace à la position de la roue droite.


Répéter l'opération pour la jointure Ball et la roue arrière. 

 
Nommer les jointures:

  1. Donner le nom de hinge_left à la jointure de gauche,
  2. Donner le nom de hinge_right à la jointure de droite.


(la jointure ball n'embarquant pas de device, son nom n'a pas d'importance) 

 

 

Étape 2: Connection des jointures avec les corps rigides:

A ce stade, les entités sont placées, les entités sont dynamiques. Il faut rendre les roues solidaires de la base en connectant les jointures et donc les roues à la base.

Étape 
Description 
Connection:

  1. Sélectionner la jointure de la roue droite,
  2. Activer le panneau Modify.
  3. Sélectionner dans Body 1, le rigid body de la roue droite (body_right),
  4. Sélectionner dans Body 2, le rigid body de la base.


Répéter l'opération pour la jointure de gauche et la jointure arrière du robot, en choisissant systématiquement body_base pour le champs Body 2.

Note: 'Body 1' est solidaire de l'axe. 

 
Vérification:
Pour vérifier que les jointures sont bien connectées, il suffit de les déplacer: la connection à Body 1 et Body 2 est matérialisée par un segment de droite.

(presser Ctrl + Z) pour remettre la jointure à sa place ... 
 

 

Étape 1: Création des zones (support des capteurs de distance):

(Voir Capteurs de distance

Création de zones et connection à la base.

Étape 
Description 
Création de la zone:

  1. Active la panneau Add -> 3D et choisir Zone,
  2. Créer un zone à l'avant droit du robot.


Attacher la zone à la base:
Afin que la zone se déplace en même temps que la base (qu'elle devienne solidaire), il faut l'attacher à la boite de la base par exemple. On peut aussi l'attacher directement au corps rigide de la boite ...

  1. Sélectionner la boite de la base, puis
  2. Sélectionner la zone (Ctrl pressé pour selection multiple)
  3. Presser Ctrl + L pour lier les 2 entités.
  4. Un lien 'vert' entre la boite et la zone matérialise cette liaison.

 

 
Placer la zone et la dupliquer:

  1. Placer la zone à l'avant du robot, sur le coté droit,
  2. Copier/Coller la zone et déplacer la nouvelle vers la gauche,
  3. Sélectionner la premiere zone puis la seconde et presser Shift + Y pour ajuster la position de la seconde sur Y=-y.
  4. Attacher la seconde zone à la boite,
  5. Renommer la zone de droite avec le nom zone_right, celle de gauche par zone_left.


La figure ci-contre montre le récapitulatif. Vous constaterez que, dans l'explorer, les zones sont passées dans le noeud de la boite box0

 
Note: nous pourrions donner un angle aux zones pour qu'elles 'regardent' plus vers les cotés du robot:

  1. Sélectionner la zone et passer en mode Rotate,
  2. Donner un angle autour de l'axe Z. L'angle peut être donné par les déplacements de la souris (axe concerné sélectionné) ou bien manuellement dans la zone qui se trouve sous la fenêtre active.

 

 

Dans le chapitre précédent nous expliquions que les entités seraient éjectées violemment si nous exécutions la simulation, à cause de l'interpénétration des roues dans la base dés le démarrage de la simulation. Maintenant que les corps rigides sont connectés entre eux le solveur ne va plus tenter de résoudre d'éventuels contacts/efforts entre les roues et la base. Pour annuler ce comportement (qui est bien pratique dans notre exemple), il suffit de cocher la propriété 'Collides with connected bodies' des corps rigides. le système de détection de collision (et donc le calcul d'efforts) s'active si l'option est cochée sur deux corps rigides en contact.

Documentation v4.7 (18/01/2015), Copyright (c) 2015 anyKode. All rights reserved.
What do you think about this topic? Send feedback!