Skip to content

Commit

Permalink
Detailed ArUCO page
Browse files Browse the repository at this point in the history
  • Loading branch information
MrSpaar committed Sep 24, 2023
1 parent 3e8c83c commit 53b9b60
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 17 deletions.
29 changes: 12 additions & 17 deletions _docs/odometrie/camera.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: Caméra ArUCO
order: 1
---

Des tags ArUCO sont placés sur le plateau et les éléments de jeu. Pour situer ces tags, deux modules sont placés sur des balises :
Des tags ArUCO (en rouge) sont placés sur le plateau et les éléments de jeu. Pour situer ces tags, des modules sont placés sur des balises (en bleu) :
![Terrain de jeu](/images/diagrams/Playground.webp){:loading="lazy"}

Chaque balise est montée d'un module contenant :
Expand Down Expand Up @@ -39,25 +39,20 @@ Pour utiliser la [librairie ArUCO](https://github.com/RobotechNancy/Odometrie/tr
### Calibration

Pour avoir une meilleure détection, il est nécessaire de calibrer la caméra :
- Définir les paramètres de la librairie dans `data/lib_params.yml`
![Grille ArUCO](/images/diagrams/ArUCO%20Board.webp){:loading="lazy" .left-img}
- Définir les paramètres dans `data/config.yml`
- Générer une grille ArUCO avec `./ArUCO board`
- Lancer le script de calibration avec `./ArUCO calibrate`
- Capturer une image avec la caméra en appuyant sur `c`
- Une fois plusieurs points de vue capturés, appuyer sur `ECHAP`
- Démarrer la calibration avec `./ArUCO calibrate`
- Prendre plusieurs point de vue avec `c`
- Calculer les paramètres en appuyant `ECHAP`

Si tout s'est bien passé, un fichier `data/camera_params.yml` a été créé contenant les paramètres de la caméra (matrice de projection, distorsion, etc...).

### Utilisation

Pour lancer il suffit d'exécuter `./ArUCO estimate`, les paramètres sont repris de `data/camera_params.yml` et `data/lib_params.yml`.
Pour l'instant, la librairie n'écoute qu'un seul code fonction :
```cpp
xbee.subscribe(XB_FCT_GET_ARUCO_POS, [&estimation, &xbee](const xbee_frame_t & frame) {
estimation.update();
estimation.send(xbee, frame.adr_emetteur);
});
```

{:.warning}
> Il est possible d'ajouter jusqu'à 255 codes fonction.
> Au-delà de cette limite, il est nécessaire de modifier la trame applicative de la [librairie XBee](https://github.com/RobotechNancy/Communcation/XBee).
Pour lancer il suffit d'exécuter `./ArUCO estimate`, les paramètres sont repris de `data/camera_params.yml` et `data/config.yml`.
Toutes les positions sont données par rapport à un tag de référence (`ref_marker_id`) :

{: style="text-align: center" }
![ArUCO Estimation](/images/diagrams/ArUCO%20Estimation.webp){:loading="lazy" .inline-img}
![ArUCO AR](/images/ArUCO%20AR.webp){:loading="lazy" .inline-img}
9 changes: 9 additions & 0 deletions css/_layout.scss
Original file line number Diff line number Diff line change
Expand Up @@ -378,4 +378,13 @@ img {
display: inline-block;
margin: 0 0.5em 0.5em 0;
}

&.left-img {
float: left;
margin: 10px 30px 0 0;

@media screen and (max-width: $mobile-break) {
display: none;
}
}
}
Binary file added images/ArUCO AR.webp
Binary file not shown.
Binary file added images/ArUCO AR.webp~
Binary file not shown.
Binary file added images/diagrams/ArUCO Board.webp
Binary file not shown.
Binary file added images/diagrams/ArUCO Estimation.webp
Binary file not shown.
Binary file modified images/diagrams/Playground.webp
Binary file not shown.

0 comments on commit 53b9b60

Please sign in to comment.