Le projet final
Le projet final met bout à bout tout ce que vous avez construit pendant la semaine : un système autonome complet qui détecte, saisit et transporte un objet.
Les trois sous-systèmes
Section intitulée « Les trois sous-systèmes »-
Perception — la caméra identifie un objet et sa classe (couleur, label, forme…). Une IA de vision (Jour 4) distingue 3 à 6 classes. Sortie : la classe + la pose de l’objet.
-
Manipulation — le SO-101 (Jour 3) saisit l’objet à la pose détectée et le dépose sur le robot mobile (ou une position connue).
-
Navigation — le LeKiwi (Jour 2) se déplace jusqu’à l’objet, le prend en charge, puis le transporte jusqu’au point de dépôt associé à la classe détectée.
Architecture cible
Section intitulée « Architecture cible »Tout le système est orchestré par un nœud coordinateur central qui relie les trois sous-systèmes via des topics, services et actions (à titre d’exemple) :
Les interfaces à respecter
Section intitulée « Les interfaces à respecter »Pour que les sous-systèmes s’assemblent sans réécriture, figez vos interfaces dès maintenant : une fois définies, on n’y touche plus. Voici une forme possible (la vôtre, conçue au Jour 1, peut différer — l’essentiel est qu’elle reste stable ; un exemple complet est donné dans le contrat des briques) :
| Interface | Forme | Producteur → consommateur |
|---|---|---|
topic de détections (Detection.msg) | string class_name + int32 class_id + geometry_msgs/Pose pose (+ score, boîte 2D) | détection (J4) → coordinateur |
service de saisie (PickRequest.srv) | requête Pose target → réponse bool success | coordinateur → bras (J3) |
action de navigation (NavigateToPose) | goal PoseStamped | coordinateur → base (J2) |
Démarrer
Section intitulée « Démarrer »-
Repartez du graphe factice que vous avez conçu au Jour 1 : vos interfaces, votre nœud coordinateur paramétré et votre launch file.
-
Remplacez les nœuds factices, un par un, par les vrais sous-systèmes :
- le nœud de détection factice → la perception du Jour 4 ;
- le nœud factice du bras → le pick MoveIt 2 du Jour 3 ;
- le nœud factice de navigation → Nav2 sur le LeKiwi (Jour 2).
-
Validez le pipeline complet, puis soignez la robustesse (reprises, cas d’échec).
Livrables & évaluation
Section intitulée « Livrables & évaluation »Soutenance, rapport et grille de notation sont détaillés dans la page suivante : Déroulé & livrables.
Cours conçu et animé par Etienne Schmitz