MO103 : Semaine de formation à l'Ingénierie Système


Contact

Thibault TORALBA


Cours d'introduction

Retrouvez ici les slides du cours d'introduction à l'ingénerie système.


Présentation de la Semaine Système

Retrouvez ici les slides de présentation sur l'organisation du projet Robot Sumo.


Enoncé du projet

Le document présente les règles de la compétition des robots sumo et indique également les attentes en termes de livrables du projet qui seront utilisés pour l'évaluation.

Cahier des Charges

Les robots seront construits à l'aide de boites Bioloid Beginner Kit (site purement indicatif, les ressources proposées n'étant pas utilisées dans le cadre du projet). Le contenu des boites peut être retrouvé dans La fiche descriptive des pièces

Remarque: Les micro-controleur CM5 ont été remplacés par la version CM530, fonctionnant avec un câble USB et non un câble série. Suite à de nombreux problème de gestion de matériel, les batteries ont également été retirées au projet d'une alimentation directement sur secteur.


Les créneaux

Afin d'éviter les risques de contact prolongé, les essais en conditions réelles auront lieu sur des créneaux de 30 minutes dans les salles R214 et R215 (U2IS). Consultez les créneaux disponibles et envoyez un mail à thibault.toralba@ensta-paris.fr pour réserver un créneau.


Introduction à la programmation des robots

Une présentation détaillée de la manière de programmer les robots, avec exemples, peut être trouvée ici : Introduction a la Programmation des Robots

Pour les curieux, vous pouvez consulter les informations sur la commande screen utilisée dans la programmation des CM530.


Documentation technique

Cette documentation technique contient principalement les spécifications techniques des actionneurs (AX-12) et capteurs (AX-S1). Bien que les informations soient similaires, il est plus recommandé d'utiliser le fichier de Programmation du CM530 ci-dessus (Introduction à la Programmation des Robots) que la section II de ce document. Vous pouvez également ignorer l'annexe 4 sur les registres du processeur ATMEG128.


Logiciels à télécharger

Les logiciels pour programmer les robots en C sont les suivants.

Machine sous Linux 32bits

Note: l'exemple Robot fourni dans l'archive bioloidPack.tar.gz s'appuie sur une mécanique de véhicule à quatre roues comme celui décrit dans le document Quick Start (cf bas de page) à la section 2-2-9 intitulée "Obstacle Detection Car" page 57.

Machine sous Linux 64bits

Pour les machines 64bits, il est nécessaire d'installer la bibliothèque libc6-i386, permettant d'executer un excutable 32bits sur une machine 64bits, avant de suivre les étapes de spécifique au 32bits.

Note: le compilateur fourni sur cette page web fonctionne sur les machines d'enseignement de l'ENSTA.


Troubleshooting

Droits administrateurs

Certaines erreurs peuvent être provoquées par des besoins de droits administrateurs. Utilisez sudo devant vos commandes nécessitant plus de droits :

* `sudo stty [...]`
* `sudo screen 57600 [...]`

Note: Les droits administrateurs ne sont pas accessibles sur les machines de l'école.

Erreur de port

Il arrive parfois que le nom du port USB attribué change automatiquement : /dev/ttyUSB1, /dev/ttyUSB2, etc. Regardez les ports disponibles avec la commande ls /dev/ttyUSB* (en cas d'ambiguïtés, vérifier la différence de réponse de cette commande lorsque votre CM530 est débranché, puis rebranché).

Erreur de compilation (make)

L'erreur "arm-none-eabi-gcc introuvable", ou similaire, peut être due à l'oubli de modification de votre $PATH (voir page perso, sections Logiciels à Télécharger).

Si l'erreur persiste, vérifiez si l'exécutable lié à la commande arm-none-eabi-gccest bien trouvée avec la commande which arm-none-eabi-gcc. Elle renvoit un chemin similaire à .../tools/gcc-arm-none-eabi-4_9-2015q3/bin mais que vous ne parvenez tout de même pas à l'utiliser, vérifiez que vous lu la note d'installation de la bibliothèque libc6-i386 si vous avez une machine 64bits.

Message d'erreur lors du chargement du binaire

Une fois screen lancé et le bootloader affiché dans votre terminal, la commande exec !! cat CM530.bin vous renvoie Error. Malgré nos remarques d'IN10x vous disant de refuser catégoriquement un code qui vous répond Error, celle-ci est liée au bypass de l'outil graphique Windows visant à l'utiliser sous Linux. Le code sera néanmoins chargé correctement.

Virtual Box

Les Virtual Box peuvent générer des problèmes de détection de connexion sur port USB. Attention, le comportement peut changer si vous avez installer une Virtual Box Linux sur Mac ou sur Windows. Un des deux transfère correctement les connexions à la Virtual Box (et il faut d'ailleurs les libérer dans la virtual box pour pouvoir les utiliser dans votre OS principal), et l'autre non (de mémoire MacOS, à vérifier). Pour celui qui ne transfère pas par défaut, tentez d'éjecter votre périphérique USB sur votre OS principal pour le récupérer sur votre Virtual Box.

Tests moteurs et capteurs

Il est parfois complexe de détecter l'origine d'une erreur entre un défaut matériel et un défaut de programmation. Pour tester le bon fonctionnement des composants, il est possible d'utiliser une interface graphique Windows. Son utilisation sort néanmoins totalement du cadre du cours et je ne saurais vous conseiller dessus. A utiliser à vos risques et périls : Téléchargement de R+ Manager 2.0 et documentation.

Les moteurs est capteurs doivent être reliés au CM530, lui même branché en USB pour accéder aux paramètres depuis l'outil graphique.


Les manuels originaux des boites Bioloid

Pour être complet, ces manuels peuvent être utiles pour voir ce qui est possible, mais il faut noter que la programmation réalisée en MO103 ne se déroulera pas comme indiqué dans ces manuels!!