Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
application_de_la_cinematique_inverse_au_robot_poppy_torso [2018/11/01 20:22] s18kone [Fonctionnement du programme] |
application_de_la_cinematique_inverse_au_robot_poppy_torso [2018/11/02 12:06] s18kone [Application de la cinématique inverse] |
||
---|---|---|---|
Line 102: | Line 102: | ||
===== Application de la cinématique inverse ===== | ===== Application de la cinématique inverse ===== | ||
- | L'espace de jeu étant créé, nous sommes passé à l'élaboration du programme devant piloter le bras droit du robot Poppy Torso pendant le déroulement du jeu de morpion. A ce niveau nous avons utilisé la fonction « poppy.r_arm_chain.goto() » de la cinématique inverse. Elle prend trois (03) paramètres : les coordonnées cartésiennes de la position à atteindre, la temps pour atteindre la position souhaitée et la mise en attente ou non de l'exécution de la suite du programme. Cette fonction calcule et affecte la position et l'orientation qu'il faut aux sept (07) moteurs [r_elbw_y ; r_arm_z ; r_shoulder_x ; r_shoulder_y ; bust_x ; bust_y ; abs_z] du bras droit de Poppy Torso pour atteindre la position souhaitée. Par défaut seuls les quatre (04) moteurs [r_elbw_y ; r_arm_z ; r_shoulder_x ; r_shoulder_y] sont actifs. \\ | + | L'espace de jeu étant créé, nous sommes passé à l'élaboration du programme devant piloter le bras droit du robot Poppy Torso pendant le déroulement du jeu de morpion. A ce niveau nous avons utilisé la fonction « poppy.r_arm_chain.goto() » de la cinématique inverse. Elle prend trois (03) paramètres : les coordonnées cartésiennes de la position à atteindre, le temps pour atteindre la position souhaitée et la mise en attente ou non de l'exécution de la suite du programme. Cette fonction calcule et affecte la position et l'orientation qu'il faut aux sept (07) moteurs [r_elbw_y ; r_arm_z ; r_shoulder_x ; r_shoulder_y ; bust_x ; bust_y ; abs_z] du bras droit de Poppy Torso pour atteindre la position souhaitée. Par défaut seuls les quatre (04) moteurs [r_elbw_y ; r_arm_z ; r_shoulder_x ; r_shoulder_y] sont actifs. \\ |
Dans l'application de la cinématique inverse par l'utilisation de la fonction « poppy.r_arm_chain.goto() » nous étions confronté à deux (02) principales difficultés : la première était d'atteindre la position souhaitée c'est-à-dire la position du pion, la position de l'une des cases ou la position initiale sans toucher un obstacle de l'environnement du jeu. La seconde était la forme du mouvement effectué par le bras qui devait être proche de celle d'un humain. \\ | Dans l'application de la cinématique inverse par l'utilisation de la fonction « poppy.r_arm_chain.goto() » nous étions confronté à deux (02) principales difficultés : la première était d'atteindre la position souhaitée c'est-à-dire la position du pion, la position de l'une des cases ou la position initiale sans toucher un obstacle de l'environnement du jeu. La seconde était la forme du mouvement effectué par le bras qui devait être proche de celle d'un humain. \\ | ||
Comme réponse à la première problématique nous avons défini une trajectoire pour les différents positions à atteindre. Afin que le mouvement se rapproche de celui d'un humain nous avons joué sur le pas et le temps d'exécution. | Comme réponse à la première problématique nous avons défini une trajectoire pour les différents positions à atteindre. Afin que le mouvement se rapproche de celui d'un humain nous avons joué sur le pas et le temps d'exécution. |