aboutsummaryrefslogtreecommitdiff
path: root/docs/user_guide/aruco_marker_pipeline/aoi_3d_description.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/user_guide/aruco_marker_pipeline/aoi_3d_description.md')
-rw-r--r--docs/user_guide/aruco_marker_pipeline/aoi_3d_description.md68
1 files changed, 68 insertions, 0 deletions
diff --git a/docs/user_guide/aruco_marker_pipeline/aoi_3d_description.md b/docs/user_guide/aruco_marker_pipeline/aoi_3d_description.md
new file mode 100644
index 0000000..23ea550
--- /dev/null
+++ b/docs/user_guide/aruco_marker_pipeline/aoi_3d_description.md
@@ -0,0 +1,68 @@
+Describe 3D AOI
+===============
+
+Now [scene pose is estimated](aruco_markers_description.md) thanks to ArUco markers description, [areas of interest (AOI)](../../argaze.md/#argaze.AreaOfInterest.AOIFeatures.AreaOfInterest) need to be described into the same 3D referential.
+
+In the example scene, the two screens, the control panel and the window are considered as areas of interest.
+
+![3D AOI description](../../img/aoi_3d_description.png)
+
+All AOI need to be described from same origin than markers in a [right-handed 3D axis](https://robotacademy.net.au/lesson/right-handed-3d-coordinate-frame/) where:
+
+* +X is pointing to the right,
+* +Y is pointing to the top,
+* +Z is pointing to the backward.
+
+!!! warning
+ All AOI spatial values must be given in **centimeters**.
+
+### Edit OBJ file description
+
+OBJ file format could be exported from most 3D editors.
+
+``` obj
+o Left_Screen
+v 0.000000 -0.000000 -0.000000
+v 15.000000 -0.000000 -0.000000
+v 0.000000 18.963333 -6.355470
+v 15.000000 18.963333 -6.355470
+f 1 2 4 3
+o Right_Screen
+v 20.000000 0.000000 -0.000000
+v 35.000000 0.000000 -0.000000
+v 20.000000 18.963337 -6.355472
+v 35.000000 18.963337 -6.355472
+f 5 6 8 7
+o Control_Panel
+v 49.500000 30.000000 18.333333
+v 55.500000 30.000000 18.333333
+v 49.500000 38.000000 18.333333
+v 55.500000 38.000000 18.333333
+f 9 10 12 11
+o Window
+v -57.800000 5.500000 -33.500000
+v 46.000000 15.500000 -35.000000
+v 1.500000 53.000000 -1.000000
+v 50.200000 61.000000 6.000000
+v -35.850000 35.000000 -15.000000
+f 13 14 16 15 17
+```
+
+Here are common OBJ file features needed to describe AOI:
+
+* Object lines (starting with *o* key) indicate AOI name.
+* Vertice lines (starting with *v* key) indicate AOI vertices.
+* Face (starting with *f* key) link vertices together.
+
+### Edit JSON file description
+
+JSON file format allows to describe AOI vertices.
+
+``` json
+{
+ "Left_Screen": [[0, 0, 0], [15, 0, 0], [0, 18.963333, -6.355470], [15, 18.963333, -6.355470]],
+ "Right_Screen": [[20, 0, 0], [35, 0, 0], [20, 18.963337, -6.355472], [35, 18.963337, -6.355472]],
+ "Control_Panel": [[49.5, 30, 18.333333], [55.5, 30, 18.333333], [49.5, 38, 18.333333], [55.5, 38, 18.333333]],
+ "Window": [[-57.8, 5.5, -33.5], [46, 15.5, -35], [1.5, 53, -1], [50.2, 61, 6], [-35.85, 35, -15]]
+}
+```