diff --git a/latest b/latest
index e576a67..550bfd4 120000
--- a/latest
+++ b/latest
@@ -1 +1 @@
-v24.01
\ No newline at end of file
+v24.04
\ No newline at end of file
diff --git a/v24.04/de/.buildinfo b/v24.04/de/.buildinfo
new file mode 100644
index 0000000..a3b9877
--- /dev/null
+++ b/v24.04/de/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: a80c1d219ab6abc6b49e1c7d98c42fbc
+tags: 20105804c9d2c81676a1cec6f0615c7f
diff --git a/v24.04/de/.nojekyll b/v24.04/de/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/v24.04/de/_downloads/02795ba1755c845648330ae24d1e5fd1/rc_load_carrier_db-get_load_carriers.xml b/v24.04/de/_downloads/02795ba1755c845648330ae24d1e5fd1/rc_load_carrier_db-get_load_carriers.xml
new file mode 100644
index 0000000..ac8ba0e
--- /dev/null
+++ b/v24.04/de/_downloads/02795ba1755c845648330ae24d1e5fd1/rc_load_carrier_db-get_load_carriers.xml
@@ -0,0 +1,49 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/03e2ac36811a7cdda39045932e8a7220/rc_stereomatching-parameters.xml b/v24.04/de/_downloads/03e2ac36811a7cdda39045932e8a7220/rc_stereomatching-parameters.xml
new file mode 100644
index 0000000..be889b7
--- /dev/null
+++ b/v24.04/de/_downloads/03e2ac36811a7cdda39045932e8a7220/rc_stereomatching-parameters.xml
@@ -0,0 +1,86 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/04ac820e8f72927578640d58a5dc5593/rc_hand_eye_calibration-reset_calibration.xml b/v24.04/de/_downloads/04ac820e8f72927578640d58a5dc5593/rc_hand_eye_calibration-reset_calibration.xml
new file mode 100644
index 0000000..42a25ca
--- /dev/null
+++ b/v24.04/de/_downloads/04ac820e8f72927578640d58a5dc5593/rc_hand_eye_calibration-reset_calibration.xml
@@ -0,0 +1,30 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/04f45afeb2d5fce153de77fdd56007a9/rc_itempick-get_sorting_strategies.xml b/v24.04/de/_downloads/04f45afeb2d5fce153de77fdd56007a9/rc_itempick-get_sorting_strategies.xml
new file mode 100644
index 0000000..530ba23
--- /dev/null
+++ b/v24.04/de/_downloads/04f45afeb2d5fce153de77fdd56007a9/rc_itempick-get_sorting_strategies.xml
@@ -0,0 +1,34 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/053880118288a1a08754484fe6dfb7c0/rc_collision_check-set_stroke_schunk.xml b/v24.04/de/_downloads/053880118288a1a08754484fe6dfb7c0/rc_collision_check-set_stroke_schunk.xml
new file mode 100644
index 0000000..6cf02b3
--- /dev/null
+++ b/v24.04/de/_downloads/053880118288a1a08754484fe6dfb7c0/rc_collision_check-set_stroke_schunk.xml
@@ -0,0 +1,56 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/08d923a4518a6d58c2375571c1eafe49/rc_silhouettematch-detect_object.xml b/v24.04/de/_downloads/08d923a4518a6d58c2375571c1eafe49/rc_silhouettematch-detect_object.xml
new file mode 100644
index 0000000..483bd38
--- /dev/null
+++ b/v24.04/de/_downloads/08d923a4518a6d58c2375571c1eafe49/rc_silhouettematch-detect_object.xml
@@ -0,0 +1,96 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/09b2d9d3bd205f65a8e5063576f1ba15/rc_qr_code_detect-detect.xml b/v24.04/de/_downloads/09b2d9d3bd205f65a8e5063576f1ba15/rc_qr_code_detect-detect.xml
new file mode 100644
index 0000000..eb6f576
--- /dev/null
+++ b/v24.04/de/_downloads/09b2d9d3bd205f65a8e5063576f1ba15/rc_qr_code_detect-detect.xml
@@ -0,0 +1,50 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/0e33ee3494516eb27f098fdbd3c915aa/rc_itempick-compute_grasps.xml b/v24.04/de/_downloads/0e33ee3494516eb27f098fdbd3c915aa/rc_itempick-compute_grasps.xml
new file mode 100644
index 0000000..eba3c5f
--- /dev/null
+++ b/v24.04/de/_downloads/0e33ee3494516eb27f098fdbd3c915aa/rc_itempick-compute_grasps.xml
@@ -0,0 +1,97 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/0e6315c2465024a25ced5571cd8c909d/rc_collision_check-parameters.xml b/v24.04/de/_downloads/0e6315c2465024a25ced5571cd8c909d/rc_collision_check-parameters.xml
new file mode 100644
index 0000000..24e2177
--- /dev/null
+++ b/v24.04/de/_downloads/0e6315c2465024a25ced5571cd8c909d/rc_collision_check-parameters.xml
@@ -0,0 +1,41 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/0f9b9096a87f42cd10ddaeb1b804f07b/rc_april_tag_detect-start.xml b/v24.04/de/_downloads/0f9b9096a87f42cd10ddaeb1b804f07b/rc_april_tag_detect-start.xml
new file mode 100644
index 0000000..d023769
--- /dev/null
+++ b/v24.04/de/_downloads/0f9b9096a87f42cd10ddaeb1b804f07b/rc_april_tag_detect-start.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/15c7eb768168e8570b2dcb5b3f38b108/rc_stereomatching-acquisition_trigger.xml b/v24.04/de/_downloads/15c7eb768168e8570b2dcb5b3f38b108/rc_stereomatching-acquisition_trigger.xml
new file mode 100644
index 0000000..9fa0992
--- /dev/null
+++ b/v24.04/de/_downloads/15c7eb768168e8570b2dcb5b3f38b108/rc_stereomatching-acquisition_trigger.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/1b66776b61ecf031f3f36ef2ed07c167/rc_boxpick-start.xml b/v24.04/de/_downloads/1b66776b61ecf031f3f36ef2ed07c167/rc_boxpick-start.xml
new file mode 100644
index 0000000..11066a5
--- /dev/null
+++ b/v24.04/de/_downloads/1b66776b61ecf031f3f36ef2ed07c167/rc_boxpick-start.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/1bd56a23569b7258dc913535e931fc76/rc_silhouettematch-set_grasp.xml b/v24.04/de/_downloads/1bd56a23569b7258dc913535e931fc76/rc_silhouettematch-set_grasp.xml
new file mode 100644
index 0000000..1e1c723
--- /dev/null
+++ b/v24.04/de/_downloads/1bd56a23569b7258dc913535e931fc76/rc_silhouettematch-set_grasp.xml
@@ -0,0 +1,46 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/1d9a50f158c280a551d7523a9df119dd/rc_april_tag_detect-parameters.xml b/v24.04/de/_downloads/1d9a50f158c280a551d7523a9df119dd/rc_april_tag_detect-parameters.xml
new file mode 100644
index 0000000..aa49713
--- /dev/null
+++ b/v24.04/de/_downloads/1d9a50f158c280a551d7523a9df119dd/rc_april_tag_detect-parameters.xml
@@ -0,0 +1,51 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/1f57c25dc0b089297e848967f7c41ce7/rc_gripper_db-get_grippers_schmalz_vac.xml b/v24.04/de/_downloads/1f57c25dc0b089297e848967f7c41ce7/rc_gripper_db-get_grippers_schmalz_vac.xml
new file mode 100644
index 0000000..f4f6b4b
--- /dev/null
+++ b/v24.04/de/_downloads/1f57c25dc0b089297e848967f7c41ce7/rc_gripper_db-get_grippers_schmalz_vac.xml
@@ -0,0 +1,64 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/215164fd1f0de042dd42a5ce3fafabde/rc_load_carrier-detect_load_carriers.xml b/v24.04/de/_downloads/215164fd1f0de042dd42a5ce3fafabde/rc_load_carrier-detect_load_carriers.xml
new file mode 100644
index 0000000..d0a5903
--- /dev/null
+++ b/v24.04/de/_downloads/215164fd1f0de042dd42a5ce3fafabde/rc_load_carrier-detect_load_carriers.xml
@@ -0,0 +1,61 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/219819e13ff4d1e4918342f63e847d00/rc_iocontrol-get_io_values.xml b/v24.04/de/_downloads/219819e13ff4d1e4918342f63e847d00/rc_iocontrol-get_io_values.xml
new file mode 100644
index 0000000..105d499
--- /dev/null
+++ b/v24.04/de/_downloads/219819e13ff4d1e4918342f63e847d00/rc_iocontrol-get_io_values.xml
@@ -0,0 +1,32 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/24108a5431b0201f8fd7ac8ab35ca1d3/rc_hand_eye_calibration-get_calibration.xml b/v24.04/de/_downloads/24108a5431b0201f8fd7ac8ab35ca1d3/rc_hand_eye_calibration-get_calibration.xml
new file mode 100644
index 0000000..cce2a4f
--- /dev/null
+++ b/v24.04/de/_downloads/24108a5431b0201f8fd7ac8ab35ca1d3/rc_hand_eye_calibration-get_calibration.xml
@@ -0,0 +1,40 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/24b62e25ec757744cc843c5f35302563/rc_qr_code_detect-parameters.xml b/v24.04/de/_downloads/24b62e25ec757744cc843c5f35302563/rc_qr_code_detect-parameters.xml
new file mode 100644
index 0000000..4ee6839
--- /dev/null
+++ b/v24.04/de/_downloads/24b62e25ec757744cc843c5f35302563/rc_qr_code_detect-parameters.xml
@@ -0,0 +1,51 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/2af046057904b6e498cac21dfb8626f1/rc_silhouettematch-set_all_grasps.xml b/v24.04/de/_downloads/2af046057904b6e498cac21dfb8626f1/rc_silhouettematch-set_all_grasps.xml
new file mode 100644
index 0000000..ff69c65
--- /dev/null
+++ b/v24.04/de/_downloads/2af046057904b6e498cac21dfb8626f1/rc_silhouettematch-set_all_grasps.xml
@@ -0,0 +1,47 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/2c25f2e603e356588a91e3bf79f9f6b7/rc_gripper_db-get_grippers.xml b/v24.04/de/_downloads/2c25f2e603e356588a91e3bf79f9f6b7/rc_gripper_db-get_grippers.xml
new file mode 100644
index 0000000..aaa458d
--- /dev/null
+++ b/v24.04/de/_downloads/2c25f2e603e356588a91e3bf79f9f6b7/rc_gripper_db-get_grippers.xml
@@ -0,0 +1,58 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/37406c493402b87236268d1ac115c550/rc_camera-reset_defaults.xml b/v24.04/de/_downloads/37406c493402b87236268d1ac115c550/rc_camera-reset_defaults.xml
new file mode 100644
index 0000000..59d7d4e
--- /dev/null
+++ b/v24.04/de/_downloads/37406c493402b87236268d1ac115c550/rc_camera-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/3d49b3ccc4deef4c43c3cb974465af60/rc_gripper_db-set_gripper_schmalz_vac.xml b/v24.04/de/_downloads/3d49b3ccc4deef4c43c3cb974465af60/rc_gripper_db-set_gripper_schmalz_vac.xml
new file mode 100644
index 0000000..5e68df4
--- /dev/null
+++ b/v24.04/de/_downloads/3d49b3ccc4deef4c43c3cb974465af60/rc_gripper_db-set_gripper_schmalz_vac.xml
@@ -0,0 +1,89 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/3f5956390347b4268bdba51eb0376160/rc_iocontrol-reset_defaults.xml b/v24.04/de/_downloads/3f5956390347b4268bdba51eb0376160/rc_iocontrol-reset_defaults.xml
new file mode 100644
index 0000000..3a12e40
--- /dev/null
+++ b/v24.04/de/_downloads/3f5956390347b4268bdba51eb0376160/rc_iocontrol-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/4106b2c0536a731e7d96b5e0113542dc/rc_load_carrier_db-delete_load_carriers.xml b/v24.04/de/_downloads/4106b2c0536a731e7d96b5e0113542dc/rc_load_carrier_db-delete_load_carriers.xml
new file mode 100644
index 0000000..ea0a3a3
--- /dev/null
+++ b/v24.04/de/_downloads/4106b2c0536a731e7d96b5e0113542dc/rc_load_carrier_db-delete_load_carriers.xml
@@ -0,0 +1,28 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/4200514524c36e4c845009c7f873d0c2/rc_boxpick-get_sorting_strategies.xml b/v24.04/de/_downloads/4200514524c36e4c845009c7f873d0c2/rc_boxpick-get_sorting_strategies.xml
new file mode 100644
index 0000000..b926ed5
--- /dev/null
+++ b/v24.04/de/_downloads/4200514524c36e4c845009c7f873d0c2/rc_boxpick-get_sorting_strategies.xml
@@ -0,0 +1,34 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/44555819d13a1330bcd24961126f8041/rc_silhouettematch-parameters.xml b/v24.04/de/_downloads/44555819d13a1330bcd24961126f8041/rc_silhouettematch-parameters.xml
new file mode 100644
index 0000000..15a0f73
--- /dev/null
+++ b/v24.04/de/_downloads/44555819d13a1330bcd24961126f8041/rc_silhouettematch-parameters.xml
@@ -0,0 +1,76 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/44d30828f3f2bbe9d336c1c539b753af/rc_qr_code_detect-restart.xml b/v24.04/de/_downloads/44d30828f3f2bbe9d336c1c539b753af/rc_qr_code_detect-restart.xml
new file mode 100644
index 0000000..243d742
--- /dev/null
+++ b/v24.04/de/_downloads/44d30828f3f2bbe9d336c1c539b753af/rc_qr_code_detect-restart.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/4730bff4b3a860f9d449e2a1686dfe6c/rc_silhouettematch-get_sorting_strategies.xml b/v24.04/de/_downloads/4730bff4b3a860f9d449e2a1686dfe6c/rc_silhouettematch-get_sorting_strategies.xml
new file mode 100644
index 0000000..a396211
--- /dev/null
+++ b/v24.04/de/_downloads/4730bff4b3a860f9d449e2a1686dfe6c/rc_silhouettematch-get_sorting_strategies.xml
@@ -0,0 +1,33 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/50d6ba622c3c661ff89d33ea1b1de64e/rc_roi_db-get_regions_of_interest_2d.xml b/v24.04/de/_downloads/50d6ba622c3c661ff89d33ea1b1de64e/rc_roi_db-get_regions_of_interest_2d.xml
new file mode 100644
index 0000000..5f5eded
--- /dev/null
+++ b/v24.04/de/_downloads/50d6ba622c3c661ff89d33ea1b1de64e/rc_roi_db-get_regions_of_interest_2d.xml
@@ -0,0 +1,33 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/50eabaa82a30832202e29aceb058bb93/rc_hand_eye_calibration-save_calibration.xml b/v24.04/de/_downloads/50eabaa82a30832202e29aceb058bb93/rc_hand_eye_calibration-save_calibration.xml
new file mode 100644
index 0000000..201ec48
--- /dev/null
+++ b/v24.04/de/_downloads/50eabaa82a30832202e29aceb058bb93/rc_hand_eye_calibration-save_calibration.xml
@@ -0,0 +1,30 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/5657329bd14ca80bc5169d60aa2d9466/rc_roi_db-get_regions_of_interest.xml b/v24.04/de/_downloads/5657329bd14ca80bc5169d60aa2d9466/rc_roi_db-get_regions_of_interest.xml
new file mode 100644
index 0000000..46e10c6
--- /dev/null
+++ b/v24.04/de/_downloads/5657329bd14ca80bc5169d60aa2d9466/rc_roi_db-get_regions_of_interest.xml
@@ -0,0 +1,41 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/586948af1c41db59e2ae80a5c2ea0e05/rc_roi_db-set_region_of_interest.xml b/v24.04/de/_downloads/586948af1c41db59e2ae80a5c2ea0e05/rc_roi_db-set_region_of_interest.xml
new file mode 100644
index 0000000..330e623
--- /dev/null
+++ b/v24.04/de/_downloads/586948af1c41db59e2ae80a5c2ea0e05/rc_roi_db-set_region_of_interest.xml
@@ -0,0 +1,40 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/5c2019e0cd1e993a88b1ce41e4caeb09/rc_silhouettematch-calibrate_base_plane.xml b/v24.04/de/_downloads/5c2019e0cd1e993a88b1ce41e4caeb09/rc_silhouettematch-calibrate_base_plane.xml
new file mode 100644
index 0000000..c1c7687
--- /dev/null
+++ b/v24.04/de/_downloads/5c2019e0cd1e993a88b1ce41e4caeb09/rc_silhouettematch-calibrate_base_plane.xml
@@ -0,0 +1,49 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/5d3889119f769917e3f72dd2f354cc1b/rc_iocontrol-parameters.xml b/v24.04/de/_downloads/5d3889119f769917e3f72dd2f354cc1b/rc_iocontrol-parameters.xml
new file mode 100644
index 0000000..3d2d585
--- /dev/null
+++ b/v24.04/de/_downloads/5d3889119f769917e3f72dd2f354cc1b/rc_iocontrol-parameters.xml
@@ -0,0 +1,36 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/66a6ac04f9ffab79c6b9ea024ac9a7fa/rc_silhouettematch-delete_base_plane_calibration.xml b/v24.04/de/_downloads/66a6ac04f9ffab79c6b9ea024ac9a7fa/rc_silhouettematch-delete_base_plane_calibration.xml
new file mode 100644
index 0000000..daba5f7
--- /dev/null
+++ b/v24.04/de/_downloads/66a6ac04f9ffab79c6b9ea024ac9a7fa/rc_silhouettematch-delete_base_plane_calibration.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/681efb1b312b105fe4a304500439b942/rc_hand_eye_calibration-get_poses.xml b/v24.04/de/_downloads/681efb1b312b105fe4a304500439b942/rc_hand_eye_calibration-get_poses.xml
new file mode 100644
index 0000000..f0e9a5b
--- /dev/null
+++ b/v24.04/de/_downloads/681efb1b312b105fe4a304500439b942/rc_hand_eye_calibration-get_poses.xml
@@ -0,0 +1,38 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/6bbb9deecbc631165e34da617e985c8f/rc_visard_ng_eki_xml_config_files.zip b/v24.04/de/_downloads/6bbb9deecbc631165e34da617e985c8f/rc_visard_ng_eki_xml_config_files.zip
new file mode 100644
index 0000000..d52d60f
Binary files /dev/null and b/v24.04/de/_downloads/6bbb9deecbc631165e34da617e985c8f/rc_visard_ng_eki_xml_config_files.zip differ
diff --git a/v24.04/de/_downloads/7027b81ba1b99329dd761a0f633411d6/rc_silhouettematch-delete_grasps.xml b/v24.04/de/_downloads/7027b81ba1b99329dd761a0f633411d6/rc_silhouettematch-delete_grasps.xml
new file mode 100644
index 0000000..40346cc
--- /dev/null
+++ b/v24.04/de/_downloads/7027b81ba1b99329dd761a0f633411d6/rc_silhouettematch-delete_grasps.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/703b4b82e725f76dbbf37836692932b9/rc_hand_eye_calibration-get_calibration_poses.xml b/v24.04/de/_downloads/703b4b82e725f76dbbf37836692932b9/rc_hand_eye_calibration-get_calibration_poses.xml
new file mode 100644
index 0000000..3c52c8c
--- /dev/null
+++ b/v24.04/de/_downloads/703b4b82e725f76dbbf37836692932b9/rc_hand_eye_calibration-get_calibration_poses.xml
@@ -0,0 +1,37 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/73cb832705410930dea5ef4d8ff957cd/rc_silhouettematch-get_preferred_orientation.xml b/v24.04/de/_downloads/73cb832705410930dea5ef4d8ff957cd/rc_silhouettematch-get_preferred_orientation.xml
new file mode 100644
index 0000000..a1bf60c
--- /dev/null
+++ b/v24.04/de/_downloads/73cb832705410930dea5ef4d8ff957cd/rc_silhouettematch-get_preferred_orientation.xml
@@ -0,0 +1,32 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/73dcd5595a93199158398b6c557704e7/rc_stereomatching-reset_defaults.xml b/v24.04/de/_downloads/73dcd5595a93199158398b6c557704e7/rc_stereomatching-reset_defaults.xml
new file mode 100644
index 0000000..41513e8
--- /dev/null
+++ b/v24.04/de/_downloads/73dcd5595a93199158398b6c557704e7/rc_stereomatching-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/76ad2f4208d8af0774bc2034d2cd0a38/rc_silhouettematch-get_grasps.xml b/v24.04/de/_downloads/76ad2f4208d8af0774bc2034d2cd0a38/rc_silhouettematch-get_grasps.xml
new file mode 100644
index 0000000..8b0d74e
--- /dev/null
+++ b/v24.04/de/_downloads/76ad2f4208d8af0774bc2034d2cd0a38/rc_silhouettematch-get_grasps.xml
@@ -0,0 +1,48 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/784dbdfdd14a4469e7d0fa5c190215d9/rc_april_tag_detect-reset_defaults.xml b/v24.04/de/_downloads/784dbdfdd14a4469e7d0fa5c190215d9/rc_april_tag_detect-reset_defaults.xml
new file mode 100644
index 0000000..687b3a9
--- /dev/null
+++ b/v24.04/de/_downloads/784dbdfdd14a4469e7d0fa5c190215d9/rc_april_tag_detect-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/7853012e4ec0eaefd9aa4a20cfd30d56/rc_hand_eye_calibration-delete_poses.xml b/v24.04/de/_downloads/7853012e4ec0eaefd9aa4a20cfd30d56/rc_hand_eye_calibration-delete_poses.xml
new file mode 100644
index 0000000..01757c9
--- /dev/null
+++ b/v24.04/de/_downloads/7853012e4ec0eaefd9aa4a20cfd30d56/rc_hand_eye_calibration-delete_poses.xml
@@ -0,0 +1,31 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/78949d3bfa7c8adea1560805d8dfafb2/rc_hand_eye_calibration-set_pose.xml b/v24.04/de/_downloads/78949d3bfa7c8adea1560805d8dfafb2/rc_hand_eye_calibration-set_pose.xml
new file mode 100644
index 0000000..f36417d
--- /dev/null
+++ b/v24.04/de/_downloads/78949d3bfa7c8adea1560805d8dfafb2/rc_hand_eye_calibration-set_pose.xml
@@ -0,0 +1,38 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/79d3f83a88f7315e7033994a85a4ca62/rc_qr_code_detect-start.xml b/v24.04/de/_downloads/79d3f83a88f7315e7033994a85a4ca62/rc_qr_code_detect-start.xml
new file mode 100644
index 0000000..11b0d26
--- /dev/null
+++ b/v24.04/de/_downloads/79d3f83a88f7315e7033994a85a4ca62/rc_qr_code_detect-start.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/7ad77651713b4f0ad5e1d130ad172547/rc_roi_db-set_region_of_interest_2d.xml b/v24.04/de/_downloads/7ad77651713b4f0ad5e1d130ad172547/rc_roi_db-set_region_of_interest_2d.xml
new file mode 100644
index 0000000..2775a4e
--- /dev/null
+++ b/v24.04/de/_downloads/7ad77651713b4f0ad5e1d130ad172547/rc_roi_db-set_region_of_interest_2d.xml
@@ -0,0 +1,32 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/7bcd2892d5265659a62c5d9760ed713c/rc_stereocalib-reset_defaults.xml b/v24.04/de/_downloads/7bcd2892d5265659a62c5d9760ed713c/rc_stereocalib-reset_defaults.xml
new file mode 100644
index 0000000..0c5141e
--- /dev/null
+++ b/v24.04/de/_downloads/7bcd2892d5265659a62c5d9760ed713c/rc_stereocalib-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/85a8a115074439986e41e6a27417a99e/rc_boxpick-parameters.xml b/v24.04/de/_downloads/85a8a115074439986e41e6a27417a99e/rc_boxpick-parameters.xml
new file mode 100644
index 0000000..76f3095
--- /dev/null
+++ b/v24.04/de/_downloads/85a8a115074439986e41e6a27417a99e/rc_boxpick-parameters.xml
@@ -0,0 +1,71 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/85d101b202fd6183b98d8d874b15a1cc/rc_gripper_db-set_stroke_schunk.xml b/v24.04/de/_downloads/85d101b202fd6183b98d8d874b15a1cc/rc_gripper_db-set_stroke_schunk.xml
new file mode 100644
index 0000000..372074a
--- /dev/null
+++ b/v24.04/de/_downloads/85d101b202fd6183b98d8d874b15a1cc/rc_gripper_db-set_stroke_schunk.xml
@@ -0,0 +1,56 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/8af6225545dfef4564e5e1fa5502d3e3/rc_stereomatching-measure_depth.xml b/v24.04/de/_downloads/8af6225545dfef4564e5e1fa5502d3e3/rc_stereomatching-measure_depth.xml
new file mode 100644
index 0000000..2812808
--- /dev/null
+++ b/v24.04/de/_downloads/8af6225545dfef4564e5e1fa5502d3e3/rc_stereomatching-measure_depth.xml
@@ -0,0 +1,71 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/90382df9fb5b2eafbc3c74d8e002a1e5/rc_silhouettematch-get_symmetric_grasps.xml b/v24.04/de/_downloads/90382df9fb5b2eafbc3c74d8e002a1e5/rc_silhouettematch-get_symmetric_grasps.xml
new file mode 100644
index 0000000..256a047
--- /dev/null
+++ b/v24.04/de/_downloads/90382df9fb5b2eafbc3c74d8e002a1e5/rc_silhouettematch-get_symmetric_grasps.xml
@@ -0,0 +1,59 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/917b00d2abce9b8cb641e90ec1ff63f3/rc_itempick-start.xml b/v24.04/de/_downloads/917b00d2abce9b8cb641e90ec1ff63f3/rc_itempick-start.xml
new file mode 100644
index 0000000..c268d64
--- /dev/null
+++ b/v24.04/de/_downloads/917b00d2abce9b8cb641e90ec1ff63f3/rc_itempick-start.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/9460647c0cd91c3f6a8cf6666b391187/rc_hand_eye_calibration-calibrate.xml b/v24.04/de/_downloads/9460647c0cd91c3f6a8cf6666b391187/rc_hand_eye_calibration-calibrate.xml
new file mode 100644
index 0000000..c361eee
--- /dev/null
+++ b/v24.04/de/_downloads/9460647c0cd91c3f6a8cf6666b391187/rc_hand_eye_calibration-calibrate.xml
@@ -0,0 +1,40 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/96675f04ecc37061ae8d901ebae48744/rc_hand_eye_calibration-reset_defaults.xml b/v24.04/de/_downloads/96675f04ecc37061ae8d901ebae48744/rc_hand_eye_calibration-reset_defaults.xml
new file mode 100644
index 0000000..ab35b83
--- /dev/null
+++ b/v24.04/de/_downloads/96675f04ecc37061ae8d901ebae48744/rc_hand_eye_calibration-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/9756efafbf692cefbb8fb850bcecdde0/rc_boxpick-set_sorting_strategies.xml b/v24.04/de/_downloads/9756efafbf692cefbb8fb850bcecdde0/rc_boxpick-set_sorting_strategies.xml
new file mode 100644
index 0000000..2dbc126
--- /dev/null
+++ b/v24.04/de/_downloads/9756efafbf692cefbb8fb850bcecdde0/rc_boxpick-set_sorting_strategies.xml
@@ -0,0 +1,34 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/97d8bad0d4cf8e356658bad87a22f9d9/rc_load_carrier-detect_filling_level.xml b/v24.04/de/_downloads/97d8bad0d4cf8e356658bad87a22f9d9/rc_load_carrier-detect_filling_level.xml
new file mode 100644
index 0000000..42de4a2
--- /dev/null
+++ b/v24.04/de/_downloads/97d8bad0d4cf8e356658bad87a22f9d9/rc_load_carrier-detect_filling_level.xml
@@ -0,0 +1,89 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/9810d3c4f1d5e67abde685959153c8cb/rc_boxpick-reset_defaults.xml b/v24.04/de/_downloads/9810d3c4f1d5e67abde685959153c8cb/rc_boxpick-reset_defaults.xml
new file mode 100644
index 0000000..e9cbe7e
--- /dev/null
+++ b/v24.04/de/_downloads/9810d3c4f1d5e67abde685959153c8cb/rc_boxpick-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/98d3a23ed39fee1d47bfb1ebf46c2ea5/rc_collision_check-check_collisions.xml b/v24.04/de/_downloads/98d3a23ed39fee1d47bfb1ebf46c2ea5/rc_collision_check-check_collisions.xml
new file mode 100644
index 0000000..4071687
--- /dev/null
+++ b/v24.04/de/_downloads/98d3a23ed39fee1d47bfb1ebf46c2ea5/rc_collision_check-check_collisions.xml
@@ -0,0 +1,71 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/9a0f3004eb0450cdc9828b538065f4e4/rc_gripper_db-set_gripper_schunk.xml b/v24.04/de/_downloads/9a0f3004eb0450cdc9828b538065f4e4/rc_gripper_db-set_gripper_schunk.xml
new file mode 100644
index 0000000..2bb4fc2
--- /dev/null
+++ b/v24.04/de/_downloads/9a0f3004eb0450cdc9828b538065f4e4/rc_gripper_db-set_gripper_schunk.xml
@@ -0,0 +1,71 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/9d0b736cd19394c098dc7de340a72383/rc_roi_db-delete_regions_of_interest_2d.xml b/v24.04/de/_downloads/9d0b736cd19394c098dc7de340a72383/rc_roi_db-delete_regions_of_interest_2d.xml
new file mode 100644
index 0000000..6661345
--- /dev/null
+++ b/v24.04/de/_downloads/9d0b736cd19394c098dc7de340a72383/rc_roi_db-delete_regions_of_interest_2d.xml
@@ -0,0 +1,28 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/9d216f6e7f34427ea9765e73616d9159/rc_itempick-reset_defaults.xml b/v24.04/de/_downloads/9d216f6e7f34427ea9765e73616d9159/rc_itempick-reset_defaults.xml
new file mode 100644
index 0000000..6802435
--- /dev/null
+++ b/v24.04/de/_downloads/9d216f6e7f34427ea9765e73616d9159/rc_itempick-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/9dadf6dbdbcc2caa4ee4c9a8ad2dcd36/rc_stereocalib-parameters.xml b/v24.04/de/_downloads/9dadf6dbdbcc2caa4ee4c9a8ad2dcd36/rc_stereocalib-parameters.xml
new file mode 100644
index 0000000..81ebf89
--- /dev/null
+++ b/v24.04/de/_downloads/9dadf6dbdbcc2caa4ee4c9a8ad2dcd36/rc_stereocalib-parameters.xml
@@ -0,0 +1,66 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/a2473efcf107027373f4b1ff02a8767e/rc_load_carrier-parameters.xml b/v24.04/de/_downloads/a2473efcf107027373f4b1ff02a8767e/rc_load_carrier-parameters.xml
new file mode 100644
index 0000000..1c58d4f
--- /dev/null
+++ b/v24.04/de/_downloads/a2473efcf107027373f4b1ff02a8767e/rc_load_carrier-parameters.xml
@@ -0,0 +1,46 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/a3fc0616dd509ca6ad5bfa3e234415f9/rc_silhouettematch-set_preferred_orientation.xml b/v24.04/de/_downloads/a3fc0616dd509ca6ad5bfa3e234415f9/rc_silhouettematch-set_preferred_orientation.xml
new file mode 100644
index 0000000..cfa3cc4
--- /dev/null
+++ b/v24.04/de/_downloads/a3fc0616dd509ca6ad5bfa3e234415f9/rc_silhouettematch-set_preferred_orientation.xml
@@ -0,0 +1,32 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/a81593c07a26d3551422b4bad3d92f1e/rc_april_tag_detect-detect.xml b/v24.04/de/_downloads/a81593c07a26d3551422b4bad3d92f1e/rc_april_tag_detect-detect.xml
new file mode 100644
index 0000000..a46eead
--- /dev/null
+++ b/v24.04/de/_downloads/a81593c07a26d3551422b4bad3d92f1e/rc_april_tag_detect-detect.xml
@@ -0,0 +1,50 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/a9a8b14add94b8cbb28035be50d17807/rc_qr_code_detect-reset_defaults.xml b/v24.04/de/_downloads/a9a8b14add94b8cbb28035be50d17807/rc_qr_code_detect-reset_defaults.xml
new file mode 100644
index 0000000..6a36bb4
--- /dev/null
+++ b/v24.04/de/_downloads/a9a8b14add94b8cbb28035be50d17807/rc_qr_code_detect-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/a9daddbe8754d9e6b66ea5967b590a0c/rc_stereocalib-change_state.xml b/v24.04/de/_downloads/a9daddbe8754d9e6b66ea5967b590a0c/rc_stereocalib-change_state.xml
new file mode 100644
index 0000000..754018b
--- /dev/null
+++ b/v24.04/de/_downloads/a9daddbe8754d9e6b66ea5967b590a0c/rc_stereocalib-change_state.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/ac0c9bfa32ece1e124ed31ef017961f7/rc_gripper_db-delete_grippers.xml b/v24.04/de/_downloads/ac0c9bfa32ece1e124ed31ef017961f7/rc_gripper_db-delete_grippers.xml
new file mode 100644
index 0000000..610b814
--- /dev/null
+++ b/v24.04/de/_downloads/ac0c9bfa32ece1e124ed31ef017961f7/rc_gripper_db-delete_grippers.xml
@@ -0,0 +1,28 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/ad0bdeecea5279c909be5f87992db186/rc_silhouettematch-set_sorting_strategies.xml b/v24.04/de/_downloads/ad0bdeecea5279c909be5f87992db186/rc_silhouettematch-set_sorting_strategies.xml
new file mode 100644
index 0000000..70b29a1
--- /dev/null
+++ b/v24.04/de/_downloads/ad0bdeecea5279c909be5f87992db186/rc_silhouettematch-set_sorting_strategies.xml
@@ -0,0 +1,33 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/af2891186ad82ce5bcf14ae0ec0f8214/rc_collision_check-reset_defaults.xml b/v24.04/de/_downloads/af2891186ad82ce5bcf14ae0ec0f8214/rc_collision_check-reset_defaults.xml
new file mode 100644
index 0000000..996254f
--- /dev/null
+++ b/v24.04/de/_downloads/af2891186ad82ce5bcf14ae0ec0f8214/rc_collision_check-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/c104bd28e9a02ed561ba5cfe6d006439/rc_itempick-set_sorting_strategies.xml b/v24.04/de/_downloads/c104bd28e9a02ed561ba5cfe6d006439/rc_itempick-set_sorting_strategies.xml
new file mode 100644
index 0000000..5570590
--- /dev/null
+++ b/v24.04/de/_downloads/c104bd28e9a02ed561ba5cfe6d006439/rc_itempick-set_sorting_strategies.xml
@@ -0,0 +1,34 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/c9cd37edd5d0c0b4b31636d5ebac84ff/rc_qr_code_detect-stop.xml b/v24.04/de/_downloads/c9cd37edd5d0c0b4b31636d5ebac84ff/rc_qr_code_detect-stop.xml
new file mode 100644
index 0000000..8e3cdd0
--- /dev/null
+++ b/v24.04/de/_downloads/c9cd37edd5d0c0b4b31636d5ebac84ff/rc_qr_code_detect-stop.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/cce9cbd427ee15045234a8414bff69e4/rc_hand_eye_calibration-remove_calibration.xml b/v24.04/de/_downloads/cce9cbd427ee15045234a8414bff69e4/rc_hand_eye_calibration-remove_calibration.xml
new file mode 100644
index 0000000..4aec1ed
--- /dev/null
+++ b/v24.04/de/_downloads/cce9cbd427ee15045234a8414bff69e4/rc_hand_eye_calibration-remove_calibration.xml
@@ -0,0 +1,30 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/cf8cc9109fb970d7b2609f58d5e22a45/rc_itempick-stop.xml b/v24.04/de/_downloads/cf8cc9109fb970d7b2609f58d5e22a45/rc_itempick-stop.xml
new file mode 100644
index 0000000..ed0b658
--- /dev/null
+++ b/v24.04/de/_downloads/cf8cc9109fb970d7b2609f58d5e22a45/rc_itempick-stop.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/d189940df08d28e4d88a958aa94c2490/rc_boxpick-detect_items.xml b/v24.04/de/_downloads/d189940df08d28e4d88a958aa94c2490/rc_boxpick-detect_items.xml
new file mode 100644
index 0000000..9b0c909
--- /dev/null
+++ b/v24.04/de/_downloads/d189940df08d28e4d88a958aa94c2490/rc_boxpick-detect_items.xml
@@ -0,0 +1,96 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/d231605f55531fd7c6f84efe4865b85c/rc_gripper_db-set_gripper.xml b/v24.04/de/_downloads/d231605f55531fd7c6f84efe4865b85c/rc_gripper_db-set_gripper.xml
new file mode 100644
index 0000000..1e603eb
--- /dev/null
+++ b/v24.04/de/_downloads/d231605f55531fd7c6f84efe4865b85c/rc_gripper_db-set_gripper.xml
@@ -0,0 +1,80 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/d2b67179b130cab139516bdf9ce97f8f/rc_april_tag_detect-stop.xml b/v24.04/de/_downloads/d2b67179b130cab139516bdf9ce97f8f/rc_april_tag_detect-stop.xml
new file mode 100644
index 0000000..c233f27
--- /dev/null
+++ b/v24.04/de/_downloads/d2b67179b130cab139516bdf9ce97f8f/rc_april_tag_detect-stop.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/d4fabf4b6346063d793730c7c1245fe5/rc_hand_eye_calibration-parameters.xml b/v24.04/de/_downloads/d4fabf4b6346063d793730c7c1245fe5/rc_hand_eye_calibration-parameters.xml
new file mode 100644
index 0000000..7e26242
--- /dev/null
+++ b/v24.04/de/_downloads/d4fabf4b6346063d793730c7c1245fe5/rc_hand_eye_calibration-parameters.xml
@@ -0,0 +1,51 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/d96b54547ed3e4302bf41612b497003f/rc_april_tag_detect-restart.xml b/v24.04/de/_downloads/d96b54547ed3e4302bf41612b497003f/rc_april_tag_detect-restart.xml
new file mode 100644
index 0000000..ee482c5
--- /dev/null
+++ b/v24.04/de/_downloads/d96b54547ed3e4302bf41612b497003f/rc_april_tag_detect-restart.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/da8f1169f13b09826c95f4f13b93773c/rc_gripper_db-get_grippers_schunk.xml b/v24.04/de/_downloads/da8f1169f13b09826c95f4f13b93773c/rc_gripper_db-get_grippers_schunk.xml
new file mode 100644
index 0000000..ca38fae
--- /dev/null
+++ b/v24.04/de/_downloads/da8f1169f13b09826c95f4f13b93773c/rc_gripper_db-get_grippers_schunk.xml
@@ -0,0 +1,55 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/db0e7a3e91a48d7e55de7a85dd97c58c/rc_boxpick-stop.xml b/v24.04/de/_downloads/db0e7a3e91a48d7e55de7a85dd97c58c/rc_boxpick-stop.xml
new file mode 100644
index 0000000..292d5d2
--- /dev/null
+++ b/v24.04/de/_downloads/db0e7a3e91a48d7e55de7a85dd97c58c/rc_boxpick-stop.xml
@@ -0,0 +1,29 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/dfb2acadd7cf0de405b1d2c3a403eecc/rc_itempick-parameters.xml b/v24.04/de/_downloads/dfb2acadd7cf0de405b1d2c3a403eecc/rc_itempick-parameters.xml
new file mode 100644
index 0000000..9208cec
--- /dev/null
+++ b/v24.04/de/_downloads/dfb2acadd7cf0de405b1d2c3a403eecc/rc_itempick-parameters.xml
@@ -0,0 +1,56 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/e2525f35aca37889459742359875675d/rc_load_carrier_db-set_load_carrier.xml b/v24.04/de/_downloads/e2525f35aca37889459742359875675d/rc_load_carrier_db-set_load_carrier.xml
new file mode 100644
index 0000000..aba6572
--- /dev/null
+++ b/v24.04/de/_downloads/e2525f35aca37889459742359875675d/rc_load_carrier_db-set_load_carrier.xml
@@ -0,0 +1,48 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/e4292fd9e65ab142b0d6b8a4fe88e420/rc_hand_eye_calibration-set_calibration.xml b/v24.04/de/_downloads/e4292fd9e65ab142b0d6b8a4fe88e420/rc_hand_eye_calibration-set_calibration.xml
new file mode 100644
index 0000000..a65795f
--- /dev/null
+++ b/v24.04/de/_downloads/e4292fd9e65ab142b0d6b8a4fe88e420/rc_hand_eye_calibration-set_calibration.xml
@@ -0,0 +1,37 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/e46fd39d5582764442c36fd125a3a8f6/rc_silhouettematch-get_base_plane_calibration.xml b/v24.04/de/_downloads/e46fd39d5582764442c36fd125a3a8f6/rc_silhouettematch-get_base_plane_calibration.xml
new file mode 100644
index 0000000..3f705cf
--- /dev/null
+++ b/v24.04/de/_downloads/e46fd39d5582764442c36fd125a3a8f6/rc_silhouettematch-get_base_plane_calibration.xml
@@ -0,0 +1,39 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/e82de54e1a50807bb652b228f7a53316/rc_load_carrier-reset_defaults.xml b/v24.04/de/_downloads/e82de54e1a50807bb652b228f7a53316/rc_load_carrier-reset_defaults.xml
new file mode 100644
index 0000000..49d7f9e
--- /dev/null
+++ b/v24.04/de/_downloads/e82de54e1a50807bb652b228f7a53316/rc_load_carrier-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/ea9aba6241a31a8ae72400294987f9f2/rc_boxpick-compute_grasps.xml b/v24.04/de/_downloads/ea9aba6241a31a8ae72400294987f9f2/rc_boxpick-compute_grasps.xml
new file mode 100644
index 0000000..05ae7f6
--- /dev/null
+++ b/v24.04/de/_downloads/ea9aba6241a31a8ae72400294987f9f2/rc_boxpick-compute_grasps.xml
@@ -0,0 +1,118 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/ec774f2f93f3121bd37a3110b4aa3da6/rc_camera-parameters.xml b/v24.04/de/_downloads/ec774f2f93f3121bd37a3110b4aa3da6/rc_camera-parameters.xml
new file mode 100644
index 0000000..424aa0b
--- /dev/null
+++ b/v24.04/de/_downloads/ec774f2f93f3121bd37a3110b4aa3da6/rc_camera-parameters.xml
@@ -0,0 +1,111 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/eec428121195ebe074fbe0afe06fc347/rc_silhouettematch-reset_defaults.xml b/v24.04/de/_downloads/eec428121195ebe074fbe0afe06fc347/rc_silhouettematch-reset_defaults.xml
new file mode 100644
index 0000000..f980e3a
--- /dev/null
+++ b/v24.04/de/_downloads/eec428121195ebe074fbe0afe06fc347/rc_silhouettematch-reset_defaults.xml
@@ -0,0 +1,27 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_downloads/ff5c4929bf25fe8ec47d030bec059419/rc_roi_db-delete_regions_of_interest.xml b/v24.04/de/_downloads/ff5c4929bf25fe8ec47d030bec059419/rc_roi_db-delete_regions_of_interest.xml
new file mode 100644
index 0000000..da89293
--- /dev/null
+++ b/v24.04/de/_downloads/ff5c4929bf25fe8ec47d030bec059419/rc_roi_db-delete_regions_of_interest.xml
@@ -0,0 +1,28 @@
+
+
+
+ x.x.x.x
+ 7000
+ Server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v24.04/de/_images/apriltag_dim_vis.png b/v24.04/de/_images/apriltag_dim_vis.png
new file mode 100644
index 0000000..052af65
Binary files /dev/null and b/v24.04/de/_images/apriltag_dim_vis.png differ
diff --git a/v24.04/de/_images/boxpick_modes_new.svg b/v24.04/de/_images/boxpick_modes_new.svg
new file mode 100644
index 0000000..623cd17
--- /dev/null
+++ b/v24.04/de/_images/boxpick_modes_new.svg
@@ -0,0 +1,1380 @@
+
+
+
+
diff --git a/v24.04/de/_images/calib-views.png b/v24.04/de/_images/calib-views.png
new file mode 100644
index 0000000..a737279
Binary files /dev/null and b/v24.04/de/_images/calib-views.png differ
diff --git a/v24.04/de/_images/ce-mark_small.png b/v24.04/de/_images/ce-mark_small.png
new file mode 100644
index 0000000..2e7b8cc
Binary files /dev/null and b/v24.04/de/_images/ce-mark_small.png differ
diff --git a/v24.04/de/_images/check_flange.svg b/v24.04/de/_images/check_flange.svg
new file mode 100644
index 0000000..d16c75a
--- /dev/null
+++ b/v24.04/de/_images/check_flange.svg
@@ -0,0 +1,757 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/ethernet_cable.png b/v24.04/de/_images/ethernet_cable.png
new file mode 100644
index 0000000..d6443f6
Binary files /dev/null and b/v24.04/de/_images/ethernet_cable.png differ
diff --git a/v24.04/de/_images/example_qr_code.png b/v24.04/de/_images/example_qr_code.png
new file mode 100644
index 0000000..2fafa56
Binary files /dev/null and b/v24.04/de/_images/example_qr_code.png differ
diff --git a/v24.04/de/_images/fps_alternate_ng_de.png b/v24.04/de/_images/fps_alternate_ng_de.png
new file mode 100644
index 0000000..852c758
Binary files /dev/null and b/v24.04/de/_images/fps_alternate_ng_de.png differ
diff --git a/v24.04/de/_images/fps_exposure_ng_de.png b/v24.04/de/_images/fps_exposure_ng_de.png
new file mode 100644
index 0000000..f5979ad
Binary files /dev/null and b/v24.04/de/_images/fps_exposure_ng_de.png differ
diff --git a/v24.04/de/_images/fps_ng_de.png b/v24.04/de/_images/fps_ng_de.png
new file mode 100644
index 0000000..0c7faee
Binary files /dev/null and b/v24.04/de/_images/fps_ng_de.png differ
diff --git a/v24.04/de/_images/genicam_logo_small.png b/v24.04/de/_images/genicam_logo_small.png
new file mode 100644
index 0000000..dbdb6dd
Binary files /dev/null and b/v24.04/de/_images/genicam_logo_small.png differ
diff --git a/v24.04/de/_images/gige_logo_small.png b/v24.04/de/_images/gige_logo_small.png
new file mode 100644
index 0000000..092db29
Binary files /dev/null and b/v24.04/de/_images/gige_logo_small.png differ
diff --git a/v24.04/de/_images/grasp_points_silm.svg b/v24.04/de/_images/grasp_points_silm.svg
new file mode 100644
index 0000000..54a4fdb
--- /dev/null
+++ b/v24.04/de/_images/grasp_points_silm.svg
@@ -0,0 +1,940 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/gripper_frames_restapi.svg b/v24.04/de/_images/gripper_frames_restapi.svg
new file mode 100644
index 0000000..97f7e17
--- /dev/null
+++ b/v24.04/de/_images/gripper_frames_restapi.svg
@@ -0,0 +1,829 @@
+
+
+
+
diff --git a/v24.04/de/_images/handeyecalib-alldraw.png b/v24.04/de/_images/handeyecalib-alldraw.png
new file mode 100644
index 0000000..e72801e
Binary files /dev/null and b/v24.04/de/_images/handeyecalib-alldraw.png differ
diff --git a/v24.04/de/_images/image_coordinates.png b/v24.04/de/_images/image_coordinates.png
new file mode 100644
index 0000000..85cf974
Binary files /dev/null and b/v24.04/de/_images/image_coordinates.png differ
diff --git a/v24.04/de/_images/ip_configuration_flowchart_ng_de.svg b/v24.04/de/_images/ip_configuration_flowchart_ng_de.svg
new file mode 100644
index 0000000..d3fd200
--- /dev/null
+++ b/v24.04/de/_images/ip_configuration_flowchart_ng_de.svg
@@ -0,0 +1,497 @@
+
+
diff --git a/v24.04/de/_images/itempick_grasp_surface.png b/v24.04/de/_images/itempick_grasp_surface.png
new file mode 100644
index 0000000..6723b68
Binary files /dev/null and b/v24.04/de/_images/itempick_grasp_surface.png differ
diff --git a/v24.04/de/_images/itempick_lc_filling_level.png b/v24.04/de/_images/itempick_lc_filling_level.png
new file mode 100644
index 0000000..8c9a98f
Binary files /dev/null and b/v24.04/de/_images/itempick_lc_filling_level.png differ
diff --git a/v24.04/de/_images/itempick_load_carrier_compartment.svg b/v24.04/de/_images/itempick_load_carrier_compartment.svg
new file mode 100644
index 0000000..e2be2e2
--- /dev/null
+++ b/v24.04/de/_images/itempick_load_carrier_compartment.svg
@@ -0,0 +1,278 @@
+
+
+
diff --git a/v24.04/de/_images/itempick_load_carrier_reference.svg b/v24.04/de/_images/itempick_load_carrier_reference.svg
new file mode 100644
index 0000000..2e291f6
--- /dev/null
+++ b/v24.04/de/_images/itempick_load_carrier_reference.svg
@@ -0,0 +1,323 @@
+
+
+
diff --git a/v24.04/de/_images/itempick_load_carrier_reference_rim_sidebyside.svg b/v24.04/de/_images/itempick_load_carrier_reference_rim_sidebyside.svg
new file mode 100644
index 0000000..8d2adc1
--- /dev/null
+++ b/v24.04/de/_images/itempick_load_carrier_reference_rim_sidebyside.svg
@@ -0,0 +1,1775 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/lc_types.svg b/v24.04/de/_images/lc_types.svg
new file mode 100644
index 0000000..5361d4b
--- /dev/null
+++ b/v24.04/de/_images/lc_types.svg
@@ -0,0 +1,1633 @@
+
+
+
+
diff --git a/v24.04/de/_images/load_carrier_inside_volume.svg b/v24.04/de/_images/load_carrier_inside_volume.svg
new file mode 100644
index 0000000..e518c57
--- /dev/null
+++ b/v24.04/de/_images/load_carrier_inside_volume.svg
@@ -0,0 +1,233 @@
+
+
+
+
diff --git a/v24.04/de/_images/pre_grasp_offset.svg b/v24.04/de/_images/pre_grasp_offset.svg
new file mode 100644
index 0000000..717ce34
--- /dev/null
+++ b/v24.04/de/_images/pre_grasp_offset.svg
@@ -0,0 +1,964 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/rc_visard160_frames.png b/v24.04/de/_images/rc_visard160_frames.png
new file mode 100644
index 0000000..5cabfd5
Binary files /dev/null and b/v24.04/de/_images/rc_visard160_frames.png differ
diff --git a/v24.04/de/_images/rc_visard_160_general.png b/v24.04/de/_images/rc_visard_160_general.png
new file mode 100644
index 0000000..f7bd933
Binary files /dev/null and b/v24.04/de/_images/rc_visard_160_general.png differ
diff --git a/v24.04/de/_images/rc_visard_connect_ng_de.png b/v24.04/de/_images/rc_visard_connect_ng_de.png
new file mode 100644
index 0000000..2602fa7
Binary files /dev/null and b/v24.04/de/_images/rc_visard_connect_ng_de.png differ
diff --git a/v24.04/de/_images/rc_visard_connectivity_kit_ng_de.png b/v24.04/de/_images/rc_visard_connectivity_kit_ng_de.png
new file mode 100644
index 0000000..2b159df
Binary files /dev/null and b/v24.04/de/_images/rc_visard_connectivity_kit_ng_de.png differ
diff --git a/v24.04/de/_images/rc_visard_gpio.png b/v24.04/de/_images/rc_visard_gpio.png
new file mode 100644
index 0000000..11cbe7b
Binary files /dev/null and b/v24.04/de/_images/rc_visard_gpio.png differ
diff --git a/v24.04/de/_images/rc_visard_mounting_ng_de.png b/v24.04/de/_images/rc_visard_mounting_ng_de.png
new file mode 100644
index 0000000..ce7e1f5
Binary files /dev/null and b/v24.04/de/_images/rc_visard_mounting_ng_de.png differ
diff --git a/v24.04/de/_images/rc_visard_parts_ng_de.png b/v24.04/de/_images/rc_visard_parts_ng_de.png
new file mode 100644
index 0000000..c4b269e
Binary files /dev/null and b/v24.04/de/_images/rc_visard_parts_ng_de.png differ
diff --git a/v24.04/de/_images/rc_visard_pinout_ng_de.png b/v24.04/de/_images/rc_visard_pinout_ng_de.png
new file mode 100644
index 0000000..c76d168
Binary files /dev/null and b/v24.04/de/_images/rc_visard_pinout_ng_de.png differ
diff --git a/v24.04/de/_images/rcdiscover_guiwin.png b/v24.04/de/_images/rcdiscover_guiwin.png
new file mode 100644
index 0000000..40a00ae
Binary files /dev/null and b/v24.04/de/_images/rcdiscover_guiwin.png differ
diff --git a/v24.04/de/_images/rcdiscover_reset.png b/v24.04/de/_images/rcdiscover_reset.png
new file mode 100644
index 0000000..f48098b
Binary files /dev/null and b/v24.04/de/_images/rcdiscover_reset.png differ
diff --git a/v24.04/de/_images/reconstruction_error.png b/v24.04/de/_images/reconstruction_error.png
new file mode 100644
index 0000000..9cb7314
Binary files /dev/null and b/v24.04/de/_images/reconstruction_error.png differ
diff --git a/v24.04/de/_images/rim_types.svg b/v24.04/de/_images/rim_types.svg
new file mode 100644
index 0000000..982172f
--- /dev/null
+++ b/v24.04/de/_images/rim_types.svg
@@ -0,0 +1,1169 @@
+
+
+
+
diff --git a/v24.04/de/_images/sensor_ng.png b/v24.04/de/_images/sensor_ng.png
new file mode 100644
index 0000000..5d25b8a
Binary files /dev/null and b/v24.04/de/_images/sensor_ng.png differ
diff --git a/v24.04/de/_images/silhouetteMatchStreams.png b/v24.04/de/_images/silhouetteMatchStreams.png
new file mode 100644
index 0000000..ff1f752
Binary files /dev/null and b/v24.04/de/_images/silhouetteMatchStreams.png differ
diff --git a/v24.04/de/_images/sketch_handeye_calib_gridmount_ng_de.svg b/v24.04/de/_images/sketch_handeye_calib_gridmount_ng_de.svg
new file mode 100644
index 0000000..ca5a532
--- /dev/null
+++ b/v24.04/de/_images/sketch_handeye_calib_gridmount_ng_de.svg
@@ -0,0 +1,953 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/sketch_handeye_calib_robotmounted_4dof_ng_de.svg b/v24.04/de/_images/sketch_handeye_calib_robotmounted_4dof_ng_de.svg
new file mode 100644
index 0000000..e691896
--- /dev/null
+++ b/v24.04/de/_images/sketch_handeye_calib_robotmounted_4dof_ng_de.svg
@@ -0,0 +1,938 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/sketch_handeye_calib_robotmounted_ng_de.svg b/v24.04/de/_images/sketch_handeye_calib_robotmounted_ng_de.svg
new file mode 100644
index 0000000..177d82f
--- /dev/null
+++ b/v24.04/de/_images/sketch_handeye_calib_robotmounted_ng_de.svg
@@ -0,0 +1,798 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/sketch_handeye_calib_static_4dof_ng_de.svg b/v24.04/de/_images/sketch_handeye_calib_static_4dof_ng_de.svg
new file mode 100644
index 0000000..1ac4d8d
--- /dev/null
+++ b/v24.04/de/_images/sketch_handeye_calib_static_4dof_ng_de.svg
@@ -0,0 +1,1001 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/sketch_handeye_calib_static_ng_de.svg b/v24.04/de/_images/sketch_handeye_calib_static_ng_de.svg
new file mode 100644
index 0000000..c493639
--- /dev/null
+++ b/v24.04/de/_images/sketch_handeye_calib_static_ng_de.svg
@@ -0,0 +1,818 @@
+
+
+
+
\ No newline at end of file
diff --git a/v24.04/de/_images/stereo_sketch_v2_ng_de.svg b/v24.04/de/_images/stereo_sketch_v2_ng_de.svg
new file mode 100644
index 0000000..eeff228
--- /dev/null
+++ b/v24.04/de/_images/stereo_sketch_v2_ng_de.svg
@@ -0,0 +1,399 @@
+
+
+
+
diff --git a/v24.04/de/_images/swagger_ui_example_fill_service_args.png b/v24.04/de/_images/swagger_ui_example_fill_service_args.png
new file mode 100644
index 0000000..5655b93
Binary files /dev/null and b/v24.04/de/_images/swagger_ui_example_fill_service_args.png differ
diff --git a/v24.04/de/_images/swagger_ui_example_get_service_args.png b/v24.04/de/_images/swagger_ui_example_get_service_args.png
new file mode 100644
index 0000000..efad52e
Binary files /dev/null and b/v24.04/de/_images/swagger_ui_example_get_service_args.png differ
diff --git a/v24.04/de/_images/swagger_ui_example_simple_get.png b/v24.04/de/_images/swagger_ui_example_simple_get.png
new file mode 100644
index 0000000..07abff9
Binary files /dev/null and b/v24.04/de/_images/swagger_ui_example_simple_get.png differ
diff --git a/v24.04/de/_images/swagger_ui_overview_ng.png b/v24.04/de/_images/swagger_ui_overview_ng.png
new file mode 100644
index 0000000..82e2ece
Binary files /dev/null and b/v24.04/de/_images/swagger_ui_overview_ng.png differ
diff --git a/v24.04/de/_images/tag-re-identification.png b/v24.04/de/_images/tag-re-identification.png
new file mode 100644
index 0000000..eb06171
Binary files /dev/null and b/v24.04/de/_images/tag-re-identification.png differ
diff --git a/v24.04/de/_images/tag_coord_frames.png b/v24.04/de/_images/tag_coord_frames.png
new file mode 100644
index 0000000..d97cd0b
Binary files /dev/null and b/v24.04/de/_images/tag_coord_frames.png differ
diff --git a/v24.04/de/_images/tag_sizes_vis.png b/v24.04/de/_images/tag_sizes_vis.png
new file mode 100644
index 0000000..1e77363
Binary files /dev/null and b/v24.04/de/_images/tag_sizes_vis.png differ
diff --git a/v24.04/de/_images/typelabel_ng_de.png b/v24.04/de/_images/typelabel_ng_de.png
new file mode 100644
index 0000000..4473951
Binary files /dev/null and b/v24.04/de/_images/typelabel_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_camera_calibration_1_ng_de.png b/v24.04/de/_images/webgui_camera_calibration_1_ng_de.png
new file mode 100644
index 0000000..2ae5a92
Binary files /dev/null and b/v24.04/de/_images/webgui_camera_calibration_1_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_camera_calibration_3_ng_de.png b/v24.04/de/_images/webgui_camera_calibration_3_ng_de.png
new file mode 100644
index 0000000..9fa1cb9
Binary files /dev/null and b/v24.04/de/_images/webgui_camera_calibration_3_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_camera_calibration_4_ng_de.png b/v24.04/de/_images/webgui_camera_calibration_4_ng_de.png
new file mode 100644
index 0000000..7c25933
Binary files /dev/null and b/v24.04/de/_images/webgui_camera_calibration_4_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_camera_calibration_stereo_far.png b/v24.04/de/_images/webgui_camera_calibration_stereo_far.png
new file mode 100644
index 0000000..e80d23e
Binary files /dev/null and b/v24.04/de/_images/webgui_camera_calibration_stereo_far.png differ
diff --git a/v24.04/de/_images/webgui_camera_calibration_stereo_tilt.png b/v24.04/de/_images/webgui_camera_calibration_stereo_tilt.png
new file mode 100644
index 0000000..ea84d09
Binary files /dev/null and b/v24.04/de/_images/webgui_camera_calibration_stereo_tilt.png differ
diff --git a/v24.04/de/_images/webgui_camera_calibration_wrong.png b/v24.04/de/_images/webgui_camera_calibration_wrong.png
new file mode 100644
index 0000000..b197854
Binary files /dev/null and b/v24.04/de/_images/webgui_camera_calibration_wrong.png differ
diff --git a/v24.04/de/_images/webgui_camera_ng_de.png b/v24.04/de/_images/webgui_camera_ng_de.png
new file mode 100644
index 0000000..2a846fe
Binary files /dev/null and b/v24.04/de/_images/webgui_camera_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_dashboard_ng_de.png b/v24.04/de/_images/webgui_dashboard_ng_de.png
new file mode 100644
index 0000000..7894d8a
Binary files /dev/null and b/v24.04/de/_images/webgui_dashboard_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_depth_image_ng_de.png b/v24.04/de/_images/webgui_depth_image_ng_de.png
new file mode 100644
index 0000000..606006a
Binary files /dev/null and b/v24.04/de/_images/webgui_depth_image_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_hand_eye_calib1_calib_ng_de.png b/v24.04/de/_images/webgui_hand_eye_calib1_calib_ng_de.png
new file mode 100644
index 0000000..6c5430b
Binary files /dev/null and b/v24.04/de/_images/webgui_hand_eye_calib1_calib_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_hand_eye_calib2_ng_de.png b/v24.04/de/_images/webgui_hand_eye_calib2_ng_de.png
new file mode 100644
index 0000000..bb4969f
Binary files /dev/null and b/v24.04/de/_images/webgui_hand_eye_calib2_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_hand_eye_calib3_ng_de.png b/v24.04/de/_images/webgui_hand_eye_calib3_ng_de.png
new file mode 100644
index 0000000..cfc7bd5
Binary files /dev/null and b/v24.04/de/_images/webgui_hand_eye_calib3_ng_de.png differ
diff --git a/v24.04/de/_images/webgui_hand_eye_calib4_ng_de.png b/v24.04/de/_images/webgui_hand_eye_calib4_ng_de.png
new file mode 100644
index 0000000..28f804a
Binary files /dev/null and b/v24.04/de/_images/webgui_hand_eye_calib4_ng_de.png differ
diff --git a/v24.04/de/_images/weee-mark_small.png b/v24.04/de/_images/weee-mark_small.png
new file mode 100644
index 0000000..fa2ef91
Binary files /dev/null and b/v24.04/de/_images/weee-mark_small.png differ
diff --git a/v24.04/de/_raw_sources/accessories.rst.txt b/v24.04/de/_raw_sources/accessories.rst.txt
new file mode 100644
index 0000000..4a0202c
--- /dev/null
+++ b/v24.04/de/_raw_sources/accessories.rst.txt
@@ -0,0 +1,110 @@
+.. include:: global_rst.glb
+
+.. _sect-accessories:
+
+Accessories
+===========
+
+Connectivity kit
+----------------
+
+.. index::
+ single: connectivity kit
+ single: cables
+ single: power cable
+ single: network cable
+
+|company| offers an optional connectivity kit to aid customers with setting up the |rc_xxx|.
+For permanent installation, the customer is responsible for providing a suitable power supply.
+The connectivity kit consists of a:
+
+- network cable with straight M12 plug to straight RJ45 connector in either 2 m, 5 m, or 10 m length,
+- power adapter cable with straight M12 socket to DC barrel connector in 30 cm length,
+- 24 V, 30 W wall power supply, or a 24 V, 60 W desktop power supply.
+
+Connecting the |rc_xxx| to residential or office grid power requires a power supply that
+meets EN 55011 Class B emission standards. The E2CFS 30W 24V by EGSTON System Electronics
+Eggenburg GmbH (http://www.egston.com) contained in the connectivity kit is certified
+accordingly. However, it does not meet immunity standards for industrial environments
+under EN 61000-6-2.
+
+.. figure:: images/rc_visard_connectivity_kit.*
+ :width: 160mm
+ :align: center
+
+ The optional connectivity kit's components
+
+
+Wiring
+------
+
+Cables are by default not provided with the |rc_xxx|. It is the customer's responsibility
+to obtain appropriate parts. The following sections provide an overview of suggested components.
+
+Ethernet connections
+""""""""""""""""""""
+.. index::
+ single: network cable
+
+The |rc_xxx| provides an industrial 8-pin A-coded M12 socket connector for Ethernet connectivity.
+Various cabling solutions can be obtained directly from third party vendors.
+
+**CAT5 (1 Gbps) M12 plug to RJ45**
+
+- Straight M12 plug to straight RJ45 connector, 10 m length: Phoenix Contact NBC-MS/ 10,0-94B/R4AC SCO, Art.-Nr.: 1407417
+- Straight M12 plug to straight RJ45 connector, 10 m length: MURR Electronics Art.-Nr.: 7700-48521-S4W1000
+- Angled M12 plug to straight RJ45 connector, 10 m length: MURR Electronics Art.-Nr.: 7700-48551-S4W1000
+
+Power connections
+"""""""""""""""""
+
+.. index::
+ single: power cable
+
+An 8-pin A-coded M12 plug connector is provided for power and GPIO connectivity.
+Various cabling solutions can be obtained from third party vendors. A selection of M12
+to open ended cables is provided below. Customers are required to provide power and GPIO
+connections to the cables according to the pinouts described in
+:ref:`sect-wiring`:latex:`\:(Section \ref{hardware_spec:sect-wiring})`.
+The |rc_xxx|'s housing must be connected to ground.
+
+**Sensor/Actor cable M12 socket to open end**
+
+- Straight M12 socket connector to open end, shielded, 10m length: Phoenix Contact SAC-8P-10,0-PUR/M12FS SH, Art.Nr.: 1522891
+- Angled M12 socket connector to open end, shielded 10m length: Phoenix Contact SAC-8P-10,0-PUR/M12FR SH, Art.Nr.: 1522943
+
+**Sensor/Actor M12 socket for field termination**
+
+- Phoenix Contact SACC-M12FS-8CON-PG9-M, Art.Nr.:1513347
+- TE Connectivity T4110011081-000 (metal housing)
+- TE Connectivity T4110001081-000 (plastic housing)
+
+Power supplies
+""""""""""""""
+
+.. index::
+ single: power supply
+
+The |rc_xxx| is classified as an EN-55011 Class B device and immune to light
+industrial and industrial environments. For connecting the sensor to residential
+grid power, a power supply under EN 55011/55022 Class B has to be used.
+
+It is the customer's responsibility to obtain and install a suitable power supply
+satisfying EN 61000-6-2 for permanent installation in industrial environments. One
+example that satisfies both EN 61000-6-2 and EN 55011/55022 Class B is the DIN-Rail
+mounted PULS MiniLine ML60.241 24V/DC 2.5 A by PULS GmbH (http://www.pulspower.com).
+A certified electrician must perform installation.
+
+Only one |rc_xxx| shall be connected to a power supply at any time, and the total
+length of cables must be less than 30 m.
+
+
+
+Spare parts
+-----------
+
+.. index::
+ single: spare parts
+
+No user-serviceable spare parts are currently available for |rc_xxx|
+devices.
diff --git a/v24.04/de/_raw_sources/appendix.rst.txt b/v24.04/de/_raw_sources/appendix.rst.txt
new file mode 100644
index 0000000..4316923
--- /dev/null
+++ b/v24.04/de/_raw_sources/appendix.rst.txt
@@ -0,0 +1,103 @@
+.. include:: global_rst.glb
+
+.. _sect-appendix:
+
+Appendix
+========
+
+.. _sect-pose-formats:
+
+Pose formats
+------------
+
+A pose consists of a translation and rotation. The translation defines the
+shift along the :math:`x`, :math:`y` and :math:`z` axes.
+The rotation can be defined in many different ways. The
+|rc_xxx| uses quaternions to define rotations and translations are given in meters.
+This is called the
+XYZ+quaternion format. This chapter explains the conversion between different
+common conventions and the XYZ+quaternion format.
+
+It is quite common to define rotations in 3D by three angles that define
+rotations around the three coordinate axes. Unfortunately, there are many
+different ways to do that. The most common conventions are Euler and Cardan
+angles (also called Tait-Bryan angles). In both conventions, the rotations can
+be applied to the previously rotated axis (intrinsic rotation) or to the axis
+of a fixed coordinate system (extrinsic rotation).
+
+We use :math:`x`, :math:`y` and :math:`z` to denote the three coordinate axes.
+:math:`x'`, :math:`y'` and :math:`z'` refer to the axes that have been rotated
+one time. Similarly, :math:`x''`, :math:`y''` and :math:`z''` are the axes
+after two rotations.
+
+In the (original) Euler angle convention, the first and the third axis are
+always the same. The rotation order :math:`z`-:math:`x'`-:math:`z''` means
+rotating around the :math:`z`-axis, then around the already rotated
+:math:`x`-axis and finally around the (two times) rotated :math:`z`-axis. In
+the Cardan angle convention, three different rotation axes are used, e.g.
+:math:`z`-:math:`y'`-:math:`x''`. Cardan angles are often also just called
+Euler angles.
+
+For each intrinsic rotation order, there is an equivalent extrinsic rotation
+order, which is inverted, e.g. the intrinsic rotation order
+:math:`z`-:math:`y'`-:math:`x''` is equivalent to the extrinsic rotation order
+:math:`x`-:math:`y`-:math:`z`.
+
+Rotations around the :math:`x`, :math:`y` and :math:`z` axes can be defined
+by quaternions as
+
+.. math::
+ \begin{align*}
+ r_x(\alpha) &= \left(\begin{array}{c}\sin\frac{\alpha}{2} \\ 0 \\ 0 \\ \cos\frac{\alpha}{2}\end{array}\right)\text{,} &
+ r_y(\beta) &= \left(\begin{array}{c}0 \\ \sin\frac{\beta}{2} \\ 0 \\ \cos\frac{\beta}{2}\end{array}\right)\text{,} &
+ r_z(\gamma) &= \left(\begin{array}{c}0 \\ 0 \\ \sin\frac{\gamma}{2} \\ \cos\frac{\gamma}{2}\end{array}\right)\text{,}
+ \end{align*}
+
+or by rotation matrices as
+
+.. math::
+ r_x(\alpha) &=
+ \left(\begin{array}{ccc}
+ 1 & 0 & 0 \\
+ 0 & \cos\alpha & -\sin\alpha \\
+ 0 & \sin\alpha & \cos\alpha
+ \end{array}\right)\text{,} \\
+ r_y(\beta) &=
+ \left(\begin{array}{ccc}
+ \cos\beta & 0 & \sin\beta \\
+ 0 & 1 & 0 \\
+ -\sin\beta & 0 & \cos\beta
+ \end{array}\right)\text{,} \\
+ r_z(\gamma) &=
+ \left(\begin{array}{ccc}
+ \cos\gamma & -\sin\gamma & 0 \\
+ \sin\gamma & \cos\gamma & 0 \\
+ 0 & 0 & 1
+ \end{array}\right)\text{.}
+
+The extrinsic rotation order :math:`x`-:math:`y`-:math:`z` can be computed by
+multiplying the individual rotations in inverse order, i.e. :math:`r_z(\gamma)
+r_y(\beta) r_x(\alpha)`.
+
+Based on these definitions, the following sections explain the conversion
+between common conventions and the XYZ+quaternion format.
+
+.. Note:: Please be aware of units for positions and orientations. |rc_xxx|
+ devices always specify positions in meters, while most robot manufacturers use
+ millimeters or inches. Angles are typically specified in degrees, but may
+ sometimes also be given in radians.
+
+.. toctree::
+ :maxdepth: 1
+
+ pose_format_rt
+ pose_format_abb
+ pose_format_fanuc
+ pose_format_franka_emika
+ pose_format_fruitcore_horst
+ pose_format_kawasaki
+ pose_format_kuka
+ pose_format_mitsubishi
+ pose_format_ur
+ pose_format_yaskawa
+
diff --git a/v24.04/de/_raw_sources/blaze.rst.txt b/v24.04/de/_raw_sources/blaze.rst.txt
new file mode 100644
index 0000000..296b5f9
--- /dev/null
+++ b/v24.04/de/_raw_sources/blaze.rst.txt
@@ -0,0 +1,631 @@
+
+.. include:: global_rst.glb
+
+.. _sect-blaze:
+
+Blaze
+=====
+
+.. index::
+ single: blaze
+ single: depth image
+
+The blaze module is a base module which is available on every |rc_xxx|
+and provides disparity, confidence and error images of a connected Basler |blaze| camera
+in an RGB-D setup, i.e. the blaze
+Time-of-Flight (ToF) camera in combination with the Basler aceA1300 color camera.
+
+After connecting the Basler blaze sensor to the |rc_cube|, it can take up to about one minute until it is found. Upon first
+connection of the sensor to the |rc_cube|, the sensor must be calibrated before it can be used.
+Calibration can be done through the |webgui| on the page :ref:`sect-camera-calibration`:latex:`\:(Section
+\ref{camera_calibration:sect-camera-calibration})` under *Configuration* in the respective pipeline.
+After storing the calibration, it will persistently reside on the |rc_cube| and automatically be
+used whenever the sensor is connected to the |rc_cube| again, regardless of the port or pipeline.
+
+The blaze module only runs in camera pipelines of type ``blaze``.
+
+.. _sect-disp-accessing-images:
+
+Viewing and downloading images and point clouds
+-----------------------------------------------
+
+.. index::
+ pair: timestamp; image
+ pair: point cloud; download
+
+The |rc_xxx| provides time-stamped disparity, error, and confidence images over the
+GenICam interface (see :ref:`sect-provided-image-streams`:latex:`, \:Section \ref{gigevision:sect-provided-image-streams}`).
+Live streams of the images are provided with reduced quality on the *Depth Image* page in the desired pipeline of the
+:ref:`Web GUI`:latex:`\:(Section \ref{webgui:sect-web-gui})`.
+
+The |webgui| also provides the possibility to download a snapshot of the current scene containing the depth, error and confidence
+images, as well as a point cloud in ply format as described in
+:ref:`sect-webgui-depth-snapshot`:latex:`\:(Section \ref{webgui:sect-webgui-depth-snapshot})`.
+
+.. _sect-disp-image-parameters:
+
+Parameters
+----------
+
+.. index::
+ pair: parameters; disparity image
+ pair: disparity image; Web GUI
+ pair: depth image; Web GUI
+
+The blaze module is called ``rc_blaze`` in the |rest-api| and it is represented by the
+*Depth Image* page in the desired pipeline in the :ref:`Web GUI`:latex:`\:(Section \ref{webgui:sect-web-gui})`,
+when a Basler |blaze| camera is connected and running in the corresponding pipeline.
+The user can change the |blaze| parameters there, or use the |rest-api|
+(:ref:`sect-rest-api`:latex:`, Section \ref{rest_api:sect-rest-api}`).
+
+Parameter overview
+^^^^^^^^^^^^^^^^^^
+
+.. include:: _gen/nodes/params/rc_blaze.txt
+
+Description of run-time parameters
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Each run-time parameter is represented by a row on the |webgui|'s *Depth Image* page. The name in the
+|webgui| is given in brackets behind the parameter name and the parameters are listed in the order
+they appear in the |webgui|:
+
+.. .. figure:: images/webgui_depth_image_blaze.png
+.. :width: 100 %
+.. :align: center
+..
+.. The |webgui|'s *Depth Image* page for the |blaze| camera pipeline
+
+.. _expl-depth-exp-value:
+
+.. index::
+ pair: blaze; exposure time
+
+``exp_value`` (*Exposure Time*)
+'''''''''''''''''''''''''''''''
+ This parameter is the exposure time of the |blaze| camera in seconds. It controls for how long the
+ photosensitive cells are exposed to light. If the operating mode is changed, the exposure
+ time is set to the recommended default value. Reducing the exposure time may reduce measurement
+ accuracy and is only recommended when the image is overexposed.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?exp_value=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?exp_value=
+
+.. _expl-depth-acquisition-mode:
+
+.. index::
+ pair: blaze; acquisition mode
+
+``acquisition_mode`` (*Acquisition Mode*)
+'''''''''''''''''''''''''''''''''''''''''
+ The acquisition mode can be set to ``Continuous`` (*Continuous*) or ``SingleFrame`` (*Single*).
+ The first one is the default and continuously provides depth images.
+ In single frame mode, images are only captured when the :guilabel:`Acquire` button is clicked.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?acquisition_mode=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?acquisition_mode=
+
+.. _expl-depth-min-depth:
+
+.. index::
+ pair: blaze; minimum distance
+
+``mindepth`` (*Minimum Distance*)
+'''''''''''''''''''''''''''''''''
+ The minimum distance is the smallest distance from the camera
+ at which measurements should be possible. The minimum distance
+ is given in meters.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?mindepth=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?mindepth=
+
+.. _expl-depth-max-depth:
+
+.. index::
+ pair: blaze; maximum distance
+
+``maxdepth`` (*Maximum Distance*)
+'''''''''''''''''''''''''''''''''
+ The maximum distance is the largest distance from the camera
+ at which measurements should be possible. Pixels with larger distance values are
+ set to invalid in the disparity image. The maximum distance is given in meters.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?maxdepth=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?maxdepth=
+
+.. _expl-depth-fill:
+
+.. index::
+ pair: blaze; fill-in
+
+``fill`` (*Fill-in*)
+''''''''''''''''''''
+ This option is used to fill holes in the disparity image by interpolation.
+ The fill-in value is the maximum allowed disparity step on the border of the
+ hole. Larger fill-in values can decrease the number of holes, but the interpolated
+ values can have larger errors. At most 5% of pixels are interpolated. Interpolation
+ of small holes is preferred over interpolation of larger holes. The confidence for
+ the interpolated pixels is set to a low value of 0.5. A fill-in value of 0
+ switches hole filling off.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?fill=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?fill=
+
+.. _expl-depth-seg:
+
+.. index::
+ pair: blaze; segmentation
+
+``seg`` (*Segmentation*)
+''''''''''''''''''''''''
+ The segmentation parameter is used to set the minimum number of
+ pixels that a connected disparity region in the disparity image must fill.
+ Isolated regions that are smaller are set to invalid in the disparity image.
+ Segmentation is useful for removing erroneous disparities. However,
+ larger values may also remove real objects.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?seg=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?seg=
+
+.. _expl-depth-min-conf:
+
+.. index::
+ pair: blaze; minimum confidence
+
+``minconf`` (*Minimum Confidence*)
+''''''''''''''''''''''''''''''''''
+ The minimum confidence can be set to filter potentially false disparity measurements.
+ All pixels with less confidence than the chosen value are set to invalid
+ in the disparity image.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?minconf=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?minconf=
+
+.. _expl-depth-spatial-filter:
+
+.. index::
+ pair: blaze; spatial filter
+
+``spatial_filter`` (*Spatial Filter*)
+'''''''''''''''''''''''''''''''''''''
+ This parameter enables the spatial noise filter. The spatial noise filter uses the
+ values of neighboring pixels to filter out noise in an image.
+ It is based on the raw data of the image.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?spatial_filter=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?spatial_filter=
+
+.. _expl-depth-temporal-filter:
+
+.. index::
+ pair: blaze; temporal filter
+
+``temporal_filter`` (*Temporal Filter*)
+'''''''''''''''''''''''''''''''''''''''
+ This parameter enables the temporal noise filter. The temporal noise filter
+ uses the values of the same pixel at different points in time to filter out
+ noise in an image. It is based on the depth data of the image.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?temporal_filter=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?temporal_filter=
+
+
+.. _expl-depth-temporal-filter-strength:
+
+.. index::
+ pair: blaze; temporal filter strength
+
+``temporal_filter_strength`` (*Strength*)
+'''''''''''''''''''''''''''''''''''''''''
+
+ This parameter represents the strength of the temporal filter.
+ The higher the value, the stronger the filter. High values may
+ cause motion artifacts, while low values reduce the efficacy of the filter.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?temporal_filter_strength=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?temporal_filter_strength=
+
+.. _expl-depth-outlier-removal:
+
+.. index::
+ pair: blaze; outlier removal
+
+``outlier_removal`` (*Outlier Removal*)
+'''''''''''''''''''''''''''''''''''''''
+
+ This parameter enables the outlier removal filter.
+ It removes pixels that differ significantly from their local environment.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?outlier_removal=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?outlier_removal=
+
+.. _expl-depth-outlier-removal-threshold:
+
+.. index::
+ pair: blaze; outlier removal threshold
+
+``outlier_removal_threshold`` (*Threshold*)
+'''''''''''''''''''''''''''''''''''''''''''
+
+ This parameter determines the strength of the outlier removal filter.
+ The higher the value, the more outliers will be removed.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?outlier_removal_threshold=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?outlier_removal_threshold=
+
+.. _expl-depth-ambiguity-filter:
+
+.. index::
+ pair: blaze; ambiguity filter
+
+``ambiguity_filter`` (*Ambiguity Filter*)
+'''''''''''''''''''''''''''''''''''''''''
+
+ This parameter enables the ambiguity filter. The ambiguity filter removes
+ pixels whose depth data is ambiguous. In certain demanding scenes, e.g.,
+ because of stray light or multi-path effects, detection may fail. In this case,
+ the filter should be disabled.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?ambiguity_filter=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?ambiguity_filter=
+
+
+.. _expl-depth-ambiguity-filter-threshold:
+
+.. index::
+ pair: blaze; ambiguity filter threshold
+
+``ambiguity_filter_threshold`` (*Threshold*)
+''''''''''''''''''''''''''''''''''''''''''''
+
+ This parameter determines the strength of the ambiguity filter.
+ The higher the value, the stronger the filter.
+ Higher values increase the reliability of the filter.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?ambiguity_filter_threshold=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?ambiguity_filter_threshold=
+
+
+.. _expl-depth-gamma-correction:
+
+.. index::
+ pair: blaze; gamma correction
+
+``gamma_correction`` (*Gamma Correction*)
+'''''''''''''''''''''''''''''''''''''''''
+
+ This parameter enables gamma correction on the intensity image, which is
+ a nonlinear operation to lighten the dark regions of the image.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?gamma_correction=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?gamma_correction=
+
+
+.. _expl-depth-thermal-drift-correction:
+
+.. index::
+ pair: blaze; thermal drift correction
+
+``thermal_drift_correction`` (*Thermal Drift Correction*)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+ This parameter activates the correction of the thermal drift.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/parameters?thermal_drift_correction=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/parameters?thermal_drift_correction=
+
+
+Status values
+-------------
+
+This module reports the following status values:
+
+.. tabularcolumns:: |l|L|
+.. csv-table:: The ``rc_blaze`` module's status values
+ :header: Name, Description
+
+ "``fps``","Actual frame rate of the disparity, error, and confidence images. This value is shown in the |webgui| below the image preview as *FPS (Hz)*."
+ "``latency``","Time in seconds between image acquisition and publishing of disparity image"
+ "``width``","Current width of the disparity, error, and confidence images in pixels"
+ "``height``","Current height of the disparity, error, and confidence images in pixels"
+ "``mindepth``","Actual minimum working distance in meters"
+ "``maxdepth``","Actual maximum working distance in meters"
+
+.. _sect-stereo-matching-services:
+
+Services
+--------
+
+The Blaze module offers the following services.
+
+``acquisition_trigger``
+^^^^^^^^^^^^^^^^^^^^^^^
+
+ Signals the module to acquire a depth image, if the parameter ``acquisition_mode`` is set to ``SingleFrame``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ An error is returned if the ``acquisition_mode`` is set to ``Continuous``.
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/services/acquisition_trigger
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/services/acquisition_trigger
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_blaze_acquisition_trigger_request.txt
+
+ .. tab:: **Response**
+
+ Possible return codes are shown below.
+
+ .. tabularcolumns:: |c|L|
+ .. _tab-stereo-acquisition-trigger-return-codes:
+ .. csv-table:: Possible return codes of the ``acquisition_trigger`` service call.
+ :header: Code, Description
+
+ "0", "Success"
+ "-8", "Triggering is only possible in SingleFrame acquisition mode"
+ "101", "Trigger is ignored, because there is a trigger call pending"
+ "102", "Trigger is ignored, because there are no subscribers"
+
+ .. include:: _gen/nodes/services/rc_blaze_acquisition_trigger_response.txt
+
+``reset_defaults``
+^^^^^^^^^^^^^^^^^^
+
+ Restores and applies the default values for this module's parameters
+ ("factory reset").
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_blaze/services/reset_defaults
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_blaze/services/reset_defaults
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_blaze_reset_defaults_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_blaze_reset_defaults_response.txt
+
diff --git a/v24.04/de/_raw_sources/cadmatch.rst.txt b/v24.04/de/_raw_sources/cadmatch.rst.txt
new file mode 100644
index 0000000..982d286
--- /dev/null
+++ b/v24.04/de/_raw_sources/cadmatch.rst.txt
@@ -0,0 +1,1837 @@
+.. include:: global_rst.glb
+
+.. _sect-cadmatch:
+
+CADMatch
+========
+
+.. index:: ! CADMatch
+ single: bin picking
+ single: grasp computation
+ single: 3D object detection
+ single: object detection
+
+.. |cadm| replace:: CADMatch
+
+Introduction
+------------
+
+.. Short description and functionalities
+
+The |cadm| module is an optional module of the |rc_xxx| and requires a separate |cadm| :ref:`license`
+:latex:`(Section \ref{maintenance:sect-updating-license})` to be purchased.
+
+.. only:: rc_cube and (roboception or schunk or basler)
+
+ .. note:: This module is not available in camera pipelines of type ``blaze``.
+
+This module provides an out-of-the-box perception solution for 3D object detection and grasping.
+|cadm| targets the detection of 3D objects based on a CAD template for picking
+with a general gripper. The objects can be located in a bin or placed arbitrarily in the
+field of view of the camera.
+
+For the |cadm| module to work, special object templates are required for each type of object to
+be detected. Please get in touch with the |manufacturer| support (:ref:`sect-contact`:latex:`,
+Section \ref{contact:sect-contact}`) to order a template for your CAD file.
+
+.. only:: rc_cube
+
+ .. note::
+
+ This module is pipeline specific. Changes to its settings or parameters only affect
+ the respective camera pipeline and have no influence on other pipelines running on the |rc_cube|.
+
+ However, the object templates, grasp points and pose priors are stored globally. Setting, changing
+ or deleting an object template, its grasps or pose priors affects all camera pipelines.
+
+
+The |cadm| module offers:
+
+- A dedicated page on the |rc_xxx| :ref:`sect-web-gui`:latex:`\:(Section \ref{webgui:sect-web-gui})`
+ for easy setup, configuration, testing, and application tuning.
+- A :doc:`rest_api`:latex:`\:(Section \ref{rest_api:sect-rest-api})` and a
+ :doc:`eki`:latex:`\:(Section \ref{eki:sect-eki})`.
+- The definition of regions of interest to select relevant volumes in the scene
+ (see :ref:`sect-roi`:latex:`, Section \ref{roi:sect-roi}`).
+- A load carrier detection functionality for bin-picking applications
+ (see :ref:`sect-loadcarrier`:latex:`, Section \ref{loadcarrier:sect-loadcarrier}`),
+ to provide grasps for objects inside a bin only.
+- The definition of compartments inside a load carrier to provide grasps
+ for specific volumes of the bin only.
+- The option to use user-defined object pose priors.
+- Storing of up to 50 templates.
+- The definition of up to 100 grasp points for each template via an interactive visualization in the |webgui|.
+- Collision checking between the gripper and the load carrier, other detected objects and/or the point cloud.
+- Collision checking between the object in the gripper and the load carrier walls during retraction.
+- Support for static and robot-mounted cameras and
+ optional integration with the :doc:`handeye_calibration`
+ :latex:`(Section \ref{handeye_calibration:sect-handeye-calibration})` module,
+ to provide grasps in the user-configured external reference frame.
+- Selection of a sorting strategy to sort the detected objects and returned grasps.
+- 3D visualization of the detection results with grasp points and gripper animations in the |webgui|.
+
+.. _sect-cadmatch-grasps:
+
+Setting of grasp points
+-----------------------
+
+.. index::
+ single: CADMatch; grasp points
+ single: CADMatch; object template
+
+The |cadm| module detects 3D objects in a scene based on a CAD template and returns the
+poses of the object origins. To use |cadm| directly in a robot application, up to 100 grasp points
+can be defined for each template. A grasp point represents the desired position and orientation
+of the robot's TCP (Tool Center Point) to grasp an object.
+
+Please consult :ref:`sect-silhouettematch-grasps`:latex:`\:(Section \ref{silhouettematch:sect-silhouettematch-grasps})` for further details.
+
+Setting grasp points in the |webgui|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The |rc_xxx| |webgui| provides an intuitive and interactive way of defining grasp points for object templates.
+In a first step, the object template has to be uploaded to the |rc_xxx|. This can be done
+in the |webgui| in any pipeline under :menuselection:`Modules --> CADMatch`
+by clicking on :guilabel:`+ Add a new Template` in the
+*Templates, Grasps and Pose Priors* section, or in :menuselection:`Database --> Templates` in the
+*CADMatch Templates, Grasps and Pose Priors* section. Once the
+template upload is complete, a dialog with a 3D visualization of the object template is shown
+for adding or editing grasp
+points. The same dialog appears when editing an existing template.
+
+More details are given in
+:ref:`sect-silhouettematch-grasps-webgui`:latex:`\:(Section \ref{silhouettematch:sect-silhouettematch-grasps-webgui})`.
+
+Setting grasp points via the |rest-api|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Grasp points can be set via the :doc:`rest_api`:latex:`\:(Section \ref{rest_api:sect-rest-api})`
+using the ``set_grasp`` or ``set_all_grasps`` services
+(see :ref:`sect-cadmatch-internal-services`:latex:`, Section \ref{cadmatch:sect-cadmatch-internal-services}`).
+
+More details are given in :ref:`sect-silhouettematch-grasps-rest-api`:latex:`\:(Section \ref{silhouettematch:sect-silhouettematch-grasps-rest-api})`.
+
+.. _sect-cadmatch-pose-priors:
+
+Setting of pose priors
+----------------------
+
+.. index::
+ single: CADMatch; pose priors
+ single: CADMatch; object template
+
+The |cadm| module offers the possibility to define prior poses of the objects to be detected.
+If a pose prior is given, the object detection will use this pose prior and only refine the
+given pose. This speeds up the detection significantly. A pose prior represents the approximate
+position and orientation of the object to be detected. The pose can be defined in the camera or
+the external coordinate frame, if a hand-eye calibration is available.
+
+Each pose prior consists of an ``id`` which must be
+unique within all pose priors for an object template, the ``template_id`` representing the template the pose
+prior applies to, the ``pose`` and the ``pose_frame`` of the prior.
+Pose priors can be set via the :doc:`rest_api`:latex:`\:(Section \ref{rest_api:sect-rest-api})`,
+or by using the interactive visualization in the |webgui|. The |webgui| allows to interactively position the object
+in the current point cloud. This can be done in the "Pose Priors" tab during editing a template.
+
+Pose priors should be used in applications where the approximate object poses are known beforehand.
+The |rcxxx| can store up to 50 pose priors per template.
+
+.. _sect-cadmatch-set-preferred-orientation:
+
+Setting the preferred orientation of the TCP
+--------------------------------------------
+
+.. index::
+ single: CADMatch; preferred orientation
+
+The |cadm| module determines the reachability of grasp points based on the *preferred orientation* of the
+gripper or TCP. The preferred orientation can be set via the ``set_preferred_orientation`` service call or on
+the *CADMatch* page in the |webgui|.
+The resulting direction of the TCP's z axis is used to reject grasps which cannot be reached by the gripper.
+Furthermore, the preferred orientation can be used to sort the reachable grasps by setting the corresponding
+sorting strategy.
+
+The preferred orientation can be set in the camera coordinate frame or in the external coordinate frame, in case
+a hand-eye calibration is available. If the preferred orientation is specified in the external coordinate frame
+and the sensor is robot mounted, the current robot pose has to be given to each object detection call, so that the
+preferred orientation can be used for filtering and, optionally, sorting the grasps on the detected objects.
+If no preferred orientation is set, the orientation of the left camera is used as the preferred orientation of the TCP.
+
+.. _sect-cadmatch-set-sorting-strategies:
+
+Setting the sorting strategies
+------------------------------
+
+The objects and grasps returned by the ``detect_object`` service call are sorted according to a sorting strategy which can be
+chosen by the user. The following sorting strategies are available and
+can be set in the :ref:`Web GUI`:latex:`\:(Section \ref{webgui:sect-web-gui})`
+or using the ``set_sorting_strategies`` service call:
+
+- ``gravity``: highest matches and grasp points along the gravity direction are returned first,
+- ``match_score``: matches with the highest match score and grasp points on objects with the highest match score are returned first,
+- ``preferred_orientation``: matches and grasp points with minimal rotation difference between their orientation and the preferred orientation of the TCP are returned first,
+- ``direction``: matches and grasp points with the shortest distance along a defined direction ``vector`` in a given ``pose_frame`` are returned first.
+
+If no sorting strategy is set or default sorting is chosen in the Web GUI, sorting is done based on a combination of
+``match_score`` and the minimal distance from the camera along the z axis of the preferred orientation of the TCP.
+
+
+.. _sect-cadmatch-detect-objects:
+
+Detection of objects
+--------------------
+
+.. index::
+ single: CADMatch; object detection
+ single: CADMatch; object template
+ single: CADMatch; sorting
+
+The |cadm| module requires an object template for object detection. This template contains
+information about the 3D shape of the object and prominent edges that can be visible in the
+camera images. |cadm| also supports partial object templates, which contain only a specific
+part of the object that can be detected well, e.g., in case of occlusions. Furthermore, templates
+can require a pose prior for the detection which is then only refined using the image data.
+
+The object detection is a two-stage process consisting of a prior estimation step and a pose refinement step.
+First, a pose prior is computed based on the appearance
+of the object in the camera images. Second, the pose is refined by using the 3D point cloud and
+edges in the camera image. For this to work, the objects to detect must be visible in both left and right camera images.
+If pose priors are given, only the pose refinement step is performed based, which decreases runtime significantly.
+
+For triggering the object detection, in general, the following information
+must be provided to the |cadm| module:
+
+- The template ID of the object to be detected in the scene.
+- The coordinate frame in which the poses of the detected objects and the grasp points shall be returned
+ (ref. :ref:`sect-cadmatch-hand-eye-dep`:latex:`, Section \ref{cadmatch:sect-cadmatch-hand-eye-dep}`).
+
+Optionally, further information can be given to the |cadm| module:
+
+- The IDs of the pose priors which approximately match the poses of the objects to be detected.
+ In case a template is used that requires a pose prior, one or more pose prior IDs have to be provided.
+- The ID of the load carrier which contains the items to be detected.
+- A compartment inside the load carrier where to detect objects (see :ref:`sect-loadcarrier-compartment`:latex:`, Section \ref{loadcarrier_db:sect-loadcarrier-compartment}`).
+- The ID of the 3D region of interest where to search for the load carriers if a
+ load carrier is set.
+ Otherwise, the ID of the 3D region of interest where to search for the objects.
+- The current robot pose in case the camera is mounted on the robot and
+ the chosen coordinate frame for the poses is ``external``, or the preferred orientation
+ is given in the external frame, or the chosen region of interest is defined in the external frame.
+- Collision detection information: The ID of the gripper to enable collision checking and optionally
+ a pre-grasp offset to define a pre-grasp position.
+ Details on collision
+ checking are given below in :ref:`sect-cadmatch-collision-check-dep`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-collision-check-dep})`.
+- Data acquisition mode: The user can choose if a new image dataset is acquired for the detection (default), or if the detection should be
+ performed on the previously used image dataset. This saves data acquisition time, e.g. in case several detections with different
+ templates have to be run on the same image.
+
+On the |webgui| the detection can be tested in the *Try Out* section of the |cadm| module's page.
+
+The detected objects are returned in a list of ``matches``, sorted according to the selected sorting strategy
+(see :ref:`sect-cadmatch-set-sorting-strategies`:latex:`, Section \ref{cadmatch:sect-cadmatch-set-sorting-strategies}`).
+Each detected object
+includes a ``uuid`` (Universally Unique Identifier) and the
+``timestamp`` of the oldest image that was used to detect it.
+The ``pose`` of a detected object corresponds to the pose of the origin of the object template used for detection.
+Furthermore, the matching ``score`` is given to indicate the quality of the detection.
+
+If the chosen template also has grasp points attached
+(see :ref:`sect-cadmatch-grasps`:latex:`, Section \ref{cadmatch:sect-cadmatch-grasps}`),
+a list of ``grasps`` for all objects is returned in addition to the list of detected objects.
+The grasps are sorted according to the selected sorting strategy
+(see :ref:`sect-cadmatch-set-sorting-strategies`:latex:`, Section \ref{cadmatch:sect-cadmatch-set-sorting-strategies}`).
+The grasp poses are given in the desired coordinate frame. There are references between the detected objects
+and the grasps via their ``uuids``.
+
+For objects with a discrete symmetry (e.g. prismatic objects), all collision-free symmetries of
+each grasp point which are reachable according to the given preferred
+TCP orientation are returned, ordered by the given sorting strategy.
+
+For objects with a continuous symmetry (e.g. cylindrical objects), all grasps symmetric
+to each grasp point on an object are checked for reachability and collisions, and only the
+best one according to the given sorting strategy is returned.
+
+.. Note::
+ The first detection call with a new object template takes longer than the following detection calls,
+ because the object template has to be loaded into the |cadm| module first. To avoid this, the
+ ``warmup_template`` service can be used to load a template so that it is ready when the first detection
+ is triggered.
+
+.. _sect-cadmatch-dependencies:
+
+Interaction with other modules
+------------------------------
+
+Internally, the |cadm| module depends on, and interacts with other on-board
+modules as listed below.
+
+.. Note::
+ All changes and configuration updates to these modules will affect
+ the performance of the |cadm| modules.
+
+
+.. _sect-cadmatch-stereo-camera-matching:
+
+Stereo camera and Stereo matching
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The |cadm| module makes internally use of the following data:
+
+- Rectified images from the :doc:`stereo_camera` module
+ (``rc_camera``:latex:`, Section \ref{stereo_camera:sect-stereo-camera}`);
+
+- Disparity, error, and confidence images from the :doc:`stereo_matching` module
+ (``rc_stereomatching``:latex:`, Section \ref{stereo_matching:sect-stereo-matching}`).
+
+The ``quality`` parameter of the stereo matching module must be set to ``Medium``
+or higher (see :ref:`sect-disp-image-parameters`:latex:`, Section \ref{stereo_matching:sect-disp-image-parameters}`). We recommend ``Full`` or ``High`` quality for using |cadm|.
+
+All processed images are guaranteed to be captured after the module trigger time.
+
+.. _sect-cadmatch-iocontrol-dep:
+
+IO and Projector Control
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+In case the |rc_xxx| is used in conjunction with an external random dot projector and
+the :doc:`iocontrol` module (``rc_iocontrol``:latex:`, Section \ref{iocontrol:sect-iocontrol}`),
+it is recommended to connect the projector to GPIO Out 1 and set
+the stereo-camera module's acquisition mode to ``SingleFrameOut1``
+(see :ref:`Stereo matching parameters`:latex:`, Section \ref{stereo_matching:sect-disp-image-parameters}`), so that
+on each image acquisition trigger an image with and without projector pattern is acquired.
+
+Alternatively, the output mode for the GPIO output in use should be set to ``ExposureAlternateActive``
+(see :ref:`sect-iocontrol-params`:latex:`, Section \ref{iocontrol:sect-iocontrol-params}`).
+
+In either case,
+the *Auto Exposure Mode* ``exp_auto_mode`` should be set to ``AdaptiveOut1`` to optimize the exposure
+of both images (see :ref:`Stereo camera parameters`:latex:`, Section \ref{stereo_camera:sect-cam-params}`).
+
+.. _sect-cadmatch-hand-eye-dep:
+
+Hand-eye calibration
+^^^^^^^^^^^^^^^^^^^^
+
+In case the camera has been calibrated to a robot, the |cadm| module
+can automatically provide poses in the robot coordinate frame.
+For the |cadm| node's :ref:`sect-cadmatch-services`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-services})`, the frame of the
+output poses can be controlled with the ``pose_frame`` argument.
+
+Two different ``pose_frame`` values can be chosen:
+
+1. **Camera frame** (``camera``).
+ All poses provided by the modules are in the camera frame,
+ and no prior knowledge about the pose of the camera in the environment is required.
+ This means that the configured regions of interest and load carriers move with the camera.
+ It is the user's responsibility to update the configured poses
+ if the camera frame moves (e.g. with a robot-mounted camera).
+
+2. **External frame** (``external``).
+ All poses provided by the modules are in the external frame,
+ configured by the user during the hand-eye calibration process.
+ The module relies on the on-board
+ :doc:`Hand-eye calibration module`:latex:`\:(Section \ref{handeye_calibration:sect-handeye-calibration})`
+ to retrieve the sensor mounting (static or robot mounted) and
+ the hand-eye transformation.
+ If the mounting is static, no further information is needed.
+ If the sensor is robot-mounted, the ``robot_pose`` is required
+ to transform poses to and from the ``external`` frame.
+
+.. Note::
+ If no hand-eye calibration is available, all ``pose_frame`` values should be set to ``camera``.
+
+All ``pose_frame`` values that are not ``camera`` or ``external`` are rejected.
+
+If the sensor is robot-mounted, the current ``robot_pose`` has to be provided depending on the value of ``pose_frame``,
+the definition of the preferred TCP orientation and the sorting direction:
+
+- If ``pose_frame`` is set to ``external``, providing the robot pose is obligatory.
+- If the preferred TCP orientation is defined in ``external``, providing the robot pose is obligatory.
+- If the sorting direction is defined in ``external``, providing the robot pose is obligatory.
+- In all other cases, providing the robot pose is optional.
+
+.. _sect-cadmatch-load-carrier-dep:
+
+LoadCarrier
+^^^^^^^^^^^
+
+The |cadm| module uses the load carrier detection functionality provided by the
+:doc:`loadcarrier` module (``rc_load_carrier``:latex:`, Section \ref{loadcarrier:sect-loadcarrier}`),
+with the run-time parameters specified for this module. However, only one load carrier will be
+returned and used in case multiple matching load carriers could be found in the scene. In case multiple
+load carriers of the same type are visible, a region of interest should be set to ensure that always the
+same load carrier is used for the |cadm| module.
+
+.. _sect-cadmatch-collision-check-dep:
+
+CollisionCheck
+^^^^^^^^^^^^^^
+
+.. index::
+ single: CADMatch; collision check
+
+Collision checking can be easily enabled for
+grasp computation of the |cadm| module by passing a ``collision_detection`` argument to the
+``detect_object`` service call. It contains the ID of the used gripper and
+optionally a pre-grasp offset. The gripper has to be
+defined in the GripperDB module
+(see :ref:`sect-gripper-db-gripper`:latex:`, Section \ref{gripper_db:sect-gripper-db-gripper}`)
+and details about collision checking are given in
+:ref:`sect-collision-check-other-modules`:latex:`\:(Section \ref{collisioncheck:sect-collision-check-other-modules})`.
+
+Alternatively, grasp points can be assigned individual gripper IDs, and collision checking can be enabled for all
+grasp points with gripper IDs by enabling the run-time parameter ``check_collisions``.
+
+If the selected |cadm| template contains a collision geometry and the run-time parameter ``check_collisions_with_matches`` is true,
+also collisions between the gripper and all other detected objects (not limited to ``max_matches``) will be checked. The object
+on which the grasp point to be checked is located, is excluded from the collision check.
+
+If the run-time parameter ``check_collisions_with_point_cloud`` is true,
+also collisions between the gripper and a watertight version of the point cloud are checked.
+If this feature is used with suctions grippers, it should be ensured that the TCP is defined
+to be outside the gripper geometry, or that the grasp points are defined above the object surface.
+Otherwise every grasp will result in a collision between the gripper and the point cloud.
+
+If the run-time parameter ``check_collisions_during_retraction`` is true and a load carrier and a pre-grasp offset are given,
+each grasp point will be checked for collisions between the object in the gripper and the load carrier walls during retraction.
+This collision check is performed along the full linear trajectory from the grasp point back to the pre-grasp position.
+
+If collision checking is enabled, only grasps which are collision free or could not be checked for collisions
+(e.g. because no gripper was given) will be returned.
+The result image on top of the *CADMatch*
+page of the |webgui| also shows collision-free grasps in green, unchecked grasps in yellow and colliding grasp points in red.
+The detected objects which are considered in the collision check are also visualized with their edges in red.
+
+The CollisionCheck module's run-time parameters affect the collision detection as described in
+:ref:`CollisionCheck Parameters`:latex:`\:(Section \ref{collisioncheck:sect-collisioncheck-parameters})`.
+
+.. _sect-cadmatch-parameters:
+
+Parameters
+----------
+
+.. index::
+ single: CADMatch; parameters
+
+The |cadm| module is called ``rc_cadmatch``
+in the |rest-api| and is represented in the
+:ref:`Web GUI`:latex:`\:(Section \ref{webgui:sect-web-gui})`
+:cubeonly:`in the desired pipeline` under
+:menuselection:`Modules --> CADMatch`.
+The user can explore and configure the ``rc_cadmatch``
+module's run-time parameters, e.g. for development and testing, using the |webgui| or the
+:doc:`rest_api`:latex:`\:(Section \ref{rest_api:sect-rest-api})`.
+
+Parameter overview
+^^^^^^^^^^^^^^^^^^
+
+.. include:: _gen/nodes/params/rc_cadmatch.txt
+
+Description of run-time parameters
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Each run-time parameter is represented by a row on the |webgui|'s *CADMatch* page.
+The name in the |webgui| is given in brackets behind the parameter name and the parameters are
+listed in the order they appear in the |webgui|:
+
+.. _expl-cadmatch-max-matches:
+
+``max_matches`` (*Maximum Matches*)
+'''''''''''''''''''''''''''''''''''
+ is the maximum number of objects to detect.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?max_matches=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?max_matches=
+
+.. _expl-cadmatch-min-score:
+
+``min_score`` (*Minimum Score*)
+'''''''''''''''''''''''''''''''
+ is the minimum detection score after refinement. The higher this value, the better 2D edges and 3D point cloud must match the given template.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?min_score=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?min_score=
+
+.. _expl-cadmatch-edge-sensitivity:
+
+``edge_sensitivity`` (*Edge Sensitivity*)
+'''''''''''''''''''''''''''''''''''''''''
+ is the sensitivity of the edge detector. The higher the value of this parameter, the more edges will be used for pose refinement.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?edge_sensitivity=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?edge_sensitivity=
+
+.. _expl-cadmatch-edge-max-distance:
+
+``edge_max_distance`` (*Maximum Edge Distance*)
+'''''''''''''''''''''''''''''''''''''''''''''''
+ is the maximum allowed distance in pixels between the template edges and the detected edges in the image during the refinement step.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?edge_max_distance=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?edge_max_distance=
+
+
+.. _expl-cadmatch-grasp-filter-orientation-threshold:
+
+``grasp_filter_orientation_threshold`` (*Grasp Orientation Threshold*)
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+ is the maximum deviation of the TCP's z axis at the grasp point from the z axis of the TCP's preferred orientation in degrees.
+ Only grasp points which are within this threshold are returned. When set
+ to zero, any deviations are valid.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?grasp_filter_orientation_threshold=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?grasp_filter_orientation_threshold=
+
+.. _expl-cadmatch-only-highest-priority-grasps:
+
+``only_highest_priority_grasps`` (*Only Highest Priority Grasps*)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+ If set to true, only grasps with the highest priority will be returned. If collision checking is enabled, only the collision-free
+ grasps among the group of grasps with the highest priority are returned.
+ This can save computation time and reduce the number of grasps to be parsed on the application side.
+
+ Without collision checking, only grasps of highest priority are returned.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?only_highest_priority_grasps=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?only_highest_priority_grasps=
+
+.. _expl-cadmatch-check-collisions:
+
+``check_collisions`` (*Check Collisions*)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+ If this parameter is enabled, collision checking will be performed for all grasps which have a gripper ID assigned,
+ even when no default gripper is given in the ``detect_object`` service call. If a load carrier is used, the collision
+ check will always be performed between the gripper and the load carrier.
+ Collision checking with the point cloud and other matches is only performed when the corresponding runtime parameters are enabled.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?check_collisions=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?check_collisions=
+
+.. _expl-cadmatch-check-collisions-with-matches:
+
+``check_collisions_with_matches`` (*Check Collisions with Matches*)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+ This parameter is only used when collision checking is enabled by passing a gripper to the ``detect_object`` service call
+ or by enabling the ``check_collisions`` runtime parameter.
+ If ``check_collisions_with_matches`` is set to true,
+ all grasp points will be checked for collisions between the gripper and all other detected objects (not limited to
+ ``max_matches``), and only grasp points at which the gripper would not collide with any other detected object
+ will be returned.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?check_collisions_with_matches=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?check_collisions_with_matches=
+
+.. _expl-cadmatch-check-collisions-with-point-cloud:
+
+``check_collisions_with_point_cloud`` (*Check Collisions with Point Cloud*)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+ This parameter is only used when collision checking is enabled by passing a gripper to the ``detect_object`` service call
+ or by enabling the ``check_collisions`` runtime parameter.
+ If ``check_collisions_with_point_cloud`` is set to true,
+ all grasp points will be checked for collisions between the gripper a watertight version of the point cloud, and only grasp points
+ at which the gripper would not collide with this point cloud will be returned.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?check_collisions_with_point_cloud=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?check_collisions_with_point_cloud=
+
+
+.. _expl-cadmatch-check-collisions-during-retraction:
+
+``check_collisions_during_retraction`` (*Check Collisions during Retraction*)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+ This parameter is only used when collision checking is enabled by passing a gripper to the ``detect_object`` service call
+ or by enabling the ``check_collisions`` runtime parameter.
+ When ``check_collisions_during_retraction`` is enabled and a load carrier and a pre-grasp offset are given,
+ each grasp point will be checked for collisions
+ between the object in the gripper and the load carrier walls during retraction.
+ This collision checking is performed along the full linear trajectory from the grasp point back to the pre-grasp position.
+ Only collision-free grasp points will be returned.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/parameters?check_collisions_during_retraction=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/parameters?check_collisions_during_retraction=
+
+
+.. _sect-cadmatch-status-values:
+
+Status values
+-------------
+
+.. index::
+ single: CADMatch; status
+
+The ``rc_cadmatch`` module reports the following status values:
+
+.. tabularcolumns:: |l|L|
+.. csv-table:: The ``rc_cadmatch`` module's status values
+ :header: Name, Description
+
+ "``data_acquisition_time``","Time in seconds required by the last active service to acquire images"
+ "``last_timestamp_processed``","The timestamp of the last processed dataset"
+ "``last_request_timestamp``","The timestamp of the last detection request"
+ "``load_carrier_detection_time``","Processing time of the last load carrier detection in seconds"
+ "``object_detection_time``","Processing time of the last last object detection in seconds"
+ "``processing_time``","Processing time of the last detection (including load carrier detection) in seconds"
+ "``state``","The current state of the rc_cadmatch node"
+
+The reported ``state`` can take one of the following values.
+
+.. tabularcolumns:: |l|l|
+.. _tab-cadmatch-states:
+.. csv-table:: Possible states of the CADMatch module
+ :header: State name, Description
+
+ "IDLE", "The module is idle."
+ "RUNNING", "The module is running and ready for load carrier detection and object detection."
+ "FATAL", "A fatal error has occurred."
+
+.. _sect-cadmatch-services:
+
+Services
+--------
+
+.. index::
+ single: CADMatch; services
+
+The user can explore and call the ``rc_cadmatch`` module's services,
+e.g. for development and testing, using the
+:doc:`rest_api`:latex:`\:(Section \ref{rest_api:sect-rest-api})` or
+the |rc_xxx|
+:ref:`sect-web-gui`:latex:`\:(Section \ref{webgui:sect-web-gui})`.
+
+The |cadm| modules offer the following services.
+
+
+.. _expl-cadmatch-srv-detect-object:
+
+``detect_object``
+^^^^^^^^^^^^^^^^^
+
+ Triggers the detection of objects as described in
+ :ref:`sect-cadmatch-detect-objects`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-detect-objects})`
+ based on an object template.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/detect_object
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/detect_object
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/detect_object
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ Required arguments:
+
+ ``pose_frame``: see :ref:`sect-cadmatch-hand-eye-dep`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-hand-eye-dep})`.
+
+ ``template_id``: the ID of the template to be detected.
+
+ Potentially required arguments:
+
+ ``robot_pose``: see :ref:`sect-cadmatch-hand-eye-dep`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-hand-eye-dep})`.
+
+ ``pose_prior_ids``: IDs of the pose priors for the items to be detected. In case the chosen template requires a pose prior for the detection,
+ this argument must be provided.
+
+ Optional arguments:
+
+ ``load_carrier_id``: ID of the load carrier which contains the items to be detected.
+
+ ``load_carrier_compartment``: compartment inside the load carrier where to detect items
+ (see :ref:`sect-loadcarrier-compartment`:latex:`, Section \ref{loadcarrier_db:sect-loadcarrier-compartment}`).
+
+ ``region_of_interest_id``: if ``load_carrier_id`` is set,
+ ID of the 3D region of interest where to search for the load carriers.
+ Otherwise, ID of the 3D region of interest where to search for the objects.
+
+ ``collision_detection``: see :ref:`sect-collision-check-other-modules`:latex:`\:(Section \ref{collisioncheck:sect-collision-check-other-modules})`.
+
+ ``data_acquisition_mode``: if set to ``CAPTURE_NEW`` (default), a new image dataset will be used for the detection. If set to ``USE_LAST`` the previous
+ dataset will be used for the detection.
+
+
+ .. include:: _gen/nodes/services/rc_cadmatch_detect_object_request.txt
+
+ .. tab:: **Response**
+
+ ``grasps``: list of grasps on the detected objects, ordered according to the chosen sorting strategy.
+ The ``match_uuid`` gives the reference to the detected object in ``matches``
+ this grasp belongs to. The list of returned grasps will be trimmed to the 100 best grasps if more reachable grasps are found.
+ Each grasp contains a flag ``collision_checked`` and a ``gripper_id``
+ (see :ref:`sect-collision-check-other-modules`:latex:`, Section \ref{collisioncheck:sect-collision-check-other-modules}`).
+
+ ``load_carriers``: list of detected load carriers.
+
+ ``matches``: list of detected objects matching the template. The matches are ordered according to the chosen sorting strategy. The ``score`` indicates how well the object matches the template. The
+ ``grasp_uuids`` refer to the grasps in ``grasps`` which are reachable on this object.
+
+ ``timestamp``: timestamp of the image set the detection ran on.
+
+ ``return_code``: holds possible warnings or error codes and messages.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_detect_object_response.txt
+
+.. _expl-cadmatch-srv-set-preferred-orientation:
+
+``set_preferred_orientation``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Persistently stores the preferred orientation of the gripper to compute the reachability of the grasps,
+ which is used for filtering and, optionally, sorting the grasps returned by the ``detect_object`` service
+ (see :ref:`sect-cadmatch-set-preferred-orientation`:latex:`, Section \ref{cadmatch:sect-cadmatch-set-preferred-orientation}`).
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/set_preferred_orientation
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/set_preferred_orientation
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/set_preferred_orientation
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_preferred_orientation_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_preferred_orientation_response.txt
+
+.. _expl-cadmatch-srv-get-preferred-orientation:
+
+``get_preferred_orientation``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Returns the preferred orientation of the gripper to compute the reachability of the grasps,
+ which is used for filtering and, optionally, sorting the grasps returned by the ``detect_object`` service
+ (see :ref:`sect-cadmatch-set-preferred-orientation`:latex:`, Section \ref{cadmatch:sect-cadmatch-set-preferred-orientation}`).
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/get_preferred_orientation
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/get_preferred_orientation
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/get_preferred_orientation
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_preferred_orientation_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_preferred_orientation_response.txt
+
+
+.. _expl-cadmatch-srv-set-sorting-strategies:
+
+``set_sorting_strategies``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Persistently stores the sorting strategy for sorting the grasps and matches returned by the ``detect_object`` service
+ (see :ref:`sect-cadmatch-detect-objects`:latex:`, Section \ref{cadmatch:sect-cadmatch-detect-objects}`).
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/set_sorting_strategies
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/set_sorting_strategies
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/set_sorting_strategies
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ Only one strategy may have a ``weight`` greater than 0. If all ``weight`` values are set to 0, the module will use the
+ default sorting strategy.
+
+ If the weight for ``direction`` is set, the
+ ``vector`` must contain the direction vector and ``pose_frame`` must be either ``camera`` or ``external``.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_sorting_strategies_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_sorting_strategies_response.txt
+
+.. _expl-cadmatch-srv-get-sorting-strategies:
+
+``get_sorting_strategies``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Returns the sorting strategy for sorting the grasps and matches returned by the ``detect_object`` service
+ (see :ref:`sect-cadmatch-detect-objects`:latex:`, Section \ref{cadmatch:sect-cadmatch-detect-objects}`).
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/get_sorting_strategies
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/get_sorting_strategies
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/get_sorting_strategies
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_sorting_strategies_request.txt
+
+ .. tab:: **Response**
+
+ All ``weight`` values are 0 when the module uses the default sorting strategy.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_sorting_strategies_response.txt
+
+.. _expl-cadmatch-srv-warmup-template:
+
+``warmup_template``
+^^^^^^^^^^^^^^^^^^^
+
+ Loads a template so that it is ready when the first detection with this template is triggered.
+ Without using this service, the first detection with a new template takes longer than the following ones,
+ because the template is then loaded at the first detection.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/warmup_template
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/warmup_template
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/warmup_template
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_warmup_template_request.txt
+
+ The ``template_id`` is the ID of the template to be loaded into the |cadm| module.
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_warmup_template_response.txt
+
+
+.. _expl-cadmatch-srv-start:
+
+``start``
+^^^^^^^^^
+
+ Starts the module. If the command is accepted, the module moves to state ``RUNNING``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ The ``current_state`` value in the service response may differ from ``RUNNING`` if
+ the state transition is still in process when the service returns.
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/start
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/start
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/start
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_start_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_start_response.txt
+
+
+.. _expl-cadmatch-srv-stop:
+
+``stop``
+^^^^^^^^
+
+ Stops the module. If the command is accepted, the module moves to state ``IDLE``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ The ``current_state`` value in the service response may differ from ``IDLE`` if
+ the state transition is still in process when the service returns.
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/stop
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/stop
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/stop
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_stop_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_stop_response.txt
+
+.. only:: rc_cube
+
+ .. _expl-cadmatch-srv-trigger-dump:
+
+ ``trigger_dump``
+ ^^^^^^^^^^^^^^^^
+ Triggers dumping of the detection that corresponds to the given timestamp,
+ or the latest detection, if no timestamp is given. The dumps are saved to the
+ connected USB drive.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/trigger_dump
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/trigger_dump
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_trigger_dump_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_trigger_dump_response.txt
+
+.. _expl-cadmatch-srv-reset-params:
+
+``reset_defaults``
+^^^^^^^^^^^^^^^^^^
+
+ Resets all parameters of the module to its default values,
+ as listed in above table.
+ Also resets preferred orientation and sorting strategies.
+ The reset does not apply to templates.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/reset_defaults
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/reset_defaults
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/reset_defaults
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_reset_defaults_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_reset_defaults_response.txt
+
+
+.. _expl-cadmatch-srv-set-roi:
+
+``set_region_of_interest`` (deprecated)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Persistently stores a 3D region of interest on the |rc_xxx|.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ This service is not available in API version 2.
+ Use :ref:`expl-roi-srv-set-roi`:latex:`\:(Section \ref{roi:expl-roi-srv-set-roi})` in ``rc_roi_db`` instead.
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/set_region_of_interest
+
+.. _expl-cadmatch-srv-get-roi:
+
+``get_regions_of_interest`` (deprecated)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Returns the configured 3D regions of interest with the requested ``region_of_interest_ids``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ This service is not available in API version 2.
+ Use :ref:`expl-roi-srv-get-roi`:latex:`\:(Section \ref{roi:expl-roi-srv-get-roi})` in ``rc_roi_db`` instead.
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/get_regions_of_interest
+
+.. _expl-cadmatch-srv-delete-roi:
+
+``delete_regions_of_interest`` (deprecated)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Deletes the configured 3D regions of interest with the requested ``region_of_interest_ids``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ This service is not available in API version 2.
+ Use :ref:`expl-roi-srv-delete-roi`:latex:`\:(Section \ref{roi:expl-roi-srv-delete-roi})` in ``rc_roi_db`` instead.
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/delete_regions_of_interest
+
+.. _sect-cadmatch-internal-services:
+
+Internal services
+-----------------
+
+The following services for configuring grasps and pose priors can change in future without notice.
+Setting, retrieving and deleting grasps and pose priors is recommended to be done via the |webgui|.
+
+.. only:: rc_cube
+
+ .. note::
+
+ Configuring grasps and pose priors is global for all templates on the |rc_cube| and affects all
+ camera pipelines.
+
+.. _expl-cadmatch-srv-set-grasp:
+
+``set_grasp``
+^^^^^^^^^^^^^
+
+ Persistently stores a grasp for the given object template on the |rc_xxx|.
+ All configured grasps are persistent over firmware updates and rollbacks.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/set_grasp
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/set_grasp
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/set_grasp
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ Details for the definition of the ``grasp`` type are given in
+ :ref:`sect-cadmatch-grasps`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-grasps})`.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_grasp_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_grasp_response.txt
+
+.. _expl-cadmatch-srv-set-all-grasps:
+
+``set_all_grasps``
+^^^^^^^^^^^^^^^^^^
+
+ Replaces the list of grasps for the given object template on the |rc_xxx|.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/set_all_grasps
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/set_all_grasps
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/set_all_grasps
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ Details for the definition of the ``grasp`` type are given in
+ :ref:`sect-cadmatch-grasps`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-grasps})`.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_all_grasps_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_all_grasps_response.txt
+
+
+.. _expl-cadmatch-srv-get-grasps:
+
+``get_grasps``
+^^^^^^^^^^^^^^
+
+ Returns all configured grasps which have the requested ``grasp_ids`` and belong to the requested ``template_ids``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/get_grasps
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/get_grasps
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/get_grasps
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ If no ``grasp_ids`` are provided, all grasps belonging to the requested ``template_ids`` are returned.
+ If no ``template_ids`` are provided, all grasps with the requested ``grasp_ids`` are returned.
+ If neither IDs are provided, all configured grasps are returned.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_grasps_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_grasps_response.txt
+
+.. _expl-cadmatch-srv-delete-grasps:
+
+``delete_grasps``
+^^^^^^^^^^^^^^^^^
+
+ Deletes all grasps with the requested ``grasp_ids`` that belong to the requested ``template_ids``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/delete_grasps
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/delete_grasps
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/delete_grasps
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ If no ``grasp_ids`` are provided, all grasps belonging to the requested ``template_ids`` are deleted.
+ The ``template_ids`` list must not be empty.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_delete_grasps_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_delete_grasps_response.txt
+
+.. _expl-cadmatch-srv-get-symmetric-grasps:
+
+``get_symmetric_grasps``
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Returns all grasps that are symmetric to the given grasp.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/get_symmetric_grasps
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/get_symmetric_grasps
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/get_symmetric_grasps
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ Details for the definition of the ``grasp`` type are given in
+ :ref:`sect-cadmatch-grasps`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-grasps})`.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_symmetric_grasps_request.txt
+
+ .. tab:: **Response**
+
+ The first grasp in the returned list is the one that was passed with the service call.
+ If the object template does not have an exact symmetry, only the grasp passed with the
+ service call will be returned. If the object template has a continuous symmetry (e.g. a
+ cylindrical object), only 12 equally spaced sample grasps will be returned.
+
+ Details for the definition of the ``grasp`` type are given in
+ :ref:`sect-cadmatch-grasps`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-grasps})`.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_symmetric_grasps_response.txt
+
+.. _expl-cadmatch-srv-set-pose-prior:
+
+``set_pose_prior``
+^^^^^^^^^^^^^^^^^^
+
+ Persistently stores a pose prior for the given object template on the |rc_xxx|.
+ All configured pose priors are persistent over firmware updates and rollbacks.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/set_pose_prior
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/set_pose_prior
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/set_pose_prior
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ Details for the definition of the ``pose_prior`` type are given in
+ :ref:`sect-cadmatch-pose-priors`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-pose-priors})`.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_pose_prior_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_pose_prior_response.txt
+
+.. _expl-cadmatch-srv-set-all-pose-priors:
+
+``set_all_pose_priors``
+^^^^^^^^^^^^^^^^^^^^^^^
+
+ Replaces the list of pose priors for the given object template on the |rc_xxx|.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/set_all_pose_priors
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/set_all_pose_priors
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/set_all_pose_priors
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ Details for the definition of the ``pose_prior`` type are given in
+ :ref:`sect-cadmatch-pose-priors`:latex:`\:(Section \ref{cadmatch:sect-cadmatch-pose-priors})`.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_all_pose_priors_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_set_all_pose_priors_response.txt
+
+
+.. _expl-cadmatch-srv-get-pose-priors:
+
+``get_pose_priors``
+^^^^^^^^^^^^^^^^^^^^^
+
+ Returns all configured pose priors which have the requested ``pose_prior_ids`` and belong to the requested ``template_ids``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/get_pose_priors
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/get_pose_priors
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/get_pose_priors
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ If no ``pose_prior_ids`` are provided, all pose priors belonging to the requested ``template_ids`` are returned.
+ If no ``template_ids`` are provided, all pose priors with the requested ``pose_prior_ids`` are returned.
+ If neither IDs are provided, all configured pose priors are returned.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_pose_priors_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_get_pose_priors_response.txt
+
+.. _expl-cadmatch-srv-delete-pose-priors:
+
+``delete_pose_priors``
+^^^^^^^^^^^^^^^^^^^^^^
+
+ Deletes all pose priors with the requested ``pose_prior_ids`` that belong to the requested ``template_ids``.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_cadmatch/services/delete_pose_priors
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_cadmatch/services/delete_pose_priors
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_cadmatch/services/delete_pose_priors
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ If no ``pose_prior_ids`` are provided, all pose priors belonging to the requested ``template_ids`` are deleted.
+ The ``template_ids`` list must not be empty.
+
+ .. include:: _gen/nodes/services/rc_cadmatch_delete_pose_priors_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_cadmatch_delete_pose_priors_response.txt
+
+Return codes
+------------
+
+.. index::
+ pair: CADMatch; return codes
+
+Each service response contains a ``return_code``,
+which consists of a ``value`` plus an optional ``message``.
+A successful service returns with a ``return_code`` value of ``0``.
+Negative ``return_code`` values indicate that the service failed.
+Positive ``return_code`` values indicate that the service succeeded with additional information.
+The smaller value is selected in case a service has multiple ``return_code`` values,
+but all messages are appended in the ``return_code`` message.
+
+The following table contains a list of common codes:
+
+.. tabularcolumns:: |c|L|
+.. _tab-cadmatch-return-codes:
+.. csv-table:: Return codes of the CADMatch services
+ :header: Code, Description
+
+ "0", "Success"
+ "-1", "An invalid argument was provided."
+ "-2", "An internal error occurred."
+ "-3", "An internal timeout occurred."
+ "-4", "Data acquisition took longer than allowed."
+ "-8", "Not applicable, stereo quality must be at least Medium."
+ "-9", "No valid license for the module."
+ "-10", "New element could not be added as the maximum storage capacity of load carriers or regions of interest has been exceeded."
+ "-11", "Sensor not connected, not supported or not ready."
+ "10", "The maximum storage capacity of load carriers or regions of interest has been reached."
+ "11", "Existing data was overwritten."
+ "100", "The requested load carrier was not detected in the scene."
+ "101", "None of the detected grasps is reachable."
+ "102", "The detected load carrier is empty."
+ "103", "All detected grasps are in collision."
+ "106", "The list of returned grasps has been trimmed to the 100 best grasps."
+ "110", "Hints for setting up the application, e.g. reducing the distance from the camera, setting a region of interest."
+ "114", "No gripper was found for collision checking."
+ "115", "Collision checking during retraction was skipped, e.g. because no load carrier or no pre-grasp offset were given."
+ "151", "The object template has a continuous symmetry."
+ "152", "The objects are outside the given region of interest, outside the load carrier or outside the image."
+ "153", "No edges could be detected in the camera image. Check the Edge Sensitivity."
+ "999", "Additional hints for application development"
+
+.. _sect-cadmatch-template-upload:
+
+Template API
+------------
+
+.. index::
+ single: CADMatch; template api
+ single: CADMatch; template download
+ single: CADMatch; template upload
+ single: CADMatch; template deletion
+
+For template upload, download, listing and removal, special |rest-api| endpoints are provided.
+Templates can also be uploaded, downloaded and removed via the |webgui|.
+The templates include the grasp points and pose priors, if grasp points or pose priors have been configured.
+Up to 50 templates can be stored persistently on the |rc_xxx|.
+
+.. only:: rc_cube
+
+ .. include:: _gen/swagger/rc_cube/templates_rc_cadmatch.txt
+
+
diff --git a/v24.04/de/_raw_sources/camera_calibration.rst.txt b/v24.04/de/_raw_sources/camera_calibration.rst.txt
new file mode 100644
index 0000000..2d7530c
--- /dev/null
+++ b/v24.04/de/_raw_sources/camera_calibration.rst.txt
@@ -0,0 +1,349 @@
+
+.. include:: global_rst.glb
+
+.. _sect-camera-calibration:
+
+Camera calibration
+==================
+
+.. index::
+ pair: camera; calibration
+
+.. only:: rc_visard or rc_visard_ng
+
+ The camera calibration module is a base module which is available on every |rc_xxx|.
+
+.. only:: rc_cube
+
+ The camera calibration module is a base module which is available on every |rc_cube|, but
+ cannot be used in camera pipelines of type ``rc_visard``.
+
+.. only:: rc_cube
+
+ .. note::
+
+ This module is pipeline specific. Changes to its settings or parameters only affect
+ the respective camera pipeline and have no influence on other pipelines running on the |rc_cube|.
+
+To use the camera as measuring instrument, camera parameters such as focal length,
+lens distortion, and the relationship of the cameras to each other must be exactly known. The
+parameters are determined by calibration and used for image rectification
+(see :ref:`sect-stereo-camera-rectification`:latex:`, Section \ref{stereo_camera:sect-stereo-camera-rectification}`),
+which is the basis for all other image processing modules.
+
+.. only:: rc_visard or rc_visard_ng
+
+ The |rc_xxx| is calibrated at
+ production time. Nevertheless, checking calibration and recalibration might be necessary
+ if the |rc_xxx| was exposed to strong mechanical impact.
+
+The camera calibration module is responsible for checking calibration and calibrating.
+
+.. only:: rc_visard or rc_visard_ng
+
+ Self-calibration
+ ----------------
+
+ .. index::
+ single: self-calibration
+
+ The camera calibration module automatically runs in self-calibration mode at a low
+ frequency in the background. In this mode, the |rc_xxx| observes the alignment of image
+ rows of both rectified images. A mechanical impact, such as one caused by dropping the |rc_xxx|,
+ might result in a misalignment. If a significant misalignment is detected, then it is
+ automatically corrected. After each reboot and after each correction, the current self-calibration
+ offset is reported in the camera module's log file
+ (see :ref:`sect-downloading-log-files`:latex:`, Section \ref{maintenance:sect-downloading-log-files}`)
+ as:
+
+ *"rc_stereocalib: Current self-calibration offset is 0.00, update counter is 0"*
+
+ The update counter is incremented after each automatic correction. It is reset to 0 after manual
+ recalibration of the |rc_xxx|.
+
+ Under normal conditions, such as the absence of mechanical impact on the |rc_xxx|, self-calibration should never
+ occur. Self-calibration allows the |rc_xxx| to work normally even after misalignment is detected, since it
+ is automatically corrected. Nevertheless, checking camera calibration manually is recommended
+ if the update counter is not 0.
+
+Calibration process
+-------------------
+
+Manual calibration can be done through the :ref:`Web GUI`:latex:`\:(Section \ref{webgui:sect-web-gui})`
+:cubeonly:`in the desired pipeline` under :menuselection:`Configuration --> Camera Calibration`.
+This page provides a wizard to guide the user through the calibration process.
+
+.. only:: rc_visard or rc_visard_ng
+
+ .. Note:: Camera calibration is normally unnecessary for the |rc_xxx| since it is calibrated at
+ production time. Therefore, calibration is only required after strong mechanical impacts,
+ such as occur when dropping the |rc_xxx|.
+
+During calibration, the calibration grid must be detected in different poses.
+When holding the calibration grid, make sure that all black squares
+of the grid are completely visible and not occluded in both camera images. A green check mark overlays each correctly
+detected square. The correct detection of the grid is only possible if all of the black
+squares are detected. Some of the squares not being detected, or being detected only briefly might indicate bad
+lighting conditions, or a damaged grid. Squares in overexposed parts of the calibration grid are highlighted in red.
+In this case, the lighting conditions or exposure setting must be adjusted.
+A thick green border around the calibration grid indicates that
+it was detected correctly in both camera images.
+
+Calibration settings
+^^^^^^^^^^^^^^^^^^^^
+
+.. index::
+ single: calibration grid
+
+The quality of camera calibration heavily depends on the quality of the calibration grid.
+Calibration grids can be obtained from |company|.
+
+.. figure:: images/webgui_camera_calibration_1.png
+ :width: 100 %
+ :align: center
+
+ Calibration settings
+
+In the first step, the calibration grid must be specified. The *Next* button proceeds to the next step.
+
+.. only:: rc_cube
+
+ Adjust focus
+ ^^^^^^^^^^^^
+
+ In this step, the focus of the cameras can be adjusted. For this, the grid must be held
+ such that it is simultaneously visible in both cameras. After the grid is detected, the green bars at the right image borders
+ indicate the blur of the image. Adjust the focus of each camera so that the bar in each image
+ is minimal.
+
+ .. Note:: While calibrating an |rc_viscore|, the camera exposure settings are temporarily changed
+ to values that allow for easier calibration. The exposure settings can still be changed and
+ will be reset when the calibration is done or cancelled.
+
+ .. only:: roboception or basler or schunk
+
+ For calibrating the Basler *blaze* sensor, the color camera should be focussed to close distance so that the calibration
+ grid can be detected when it almost fills the image. The camera can be refocussed to working
+ distance after calibration if necessary.
+
+ Furthermore, the exposure time of the blaze Time-of-Flight camera should be reduced to a minimum.
+ Otherwise, the calibration grid cannot be detected due to over exposure.
+
+ .. figure:: images/webgui_camera_calibration_2.png
+ :width: 100 %
+ :align: center
+
+ Adjust the focus of each camera
+
+Verify calibration
+^^^^^^^^^^^^^^^^^^
+
+In the next step, the current calibration can be verified. To perform
+the verification, the grid must be held such that it is simultaneously visible in both cameras.
+When the grid is detected, the calibration error is automatically computed and the result is
+displayed on the screen.
+
+.. figure:: images/webgui_camera_calibration_3.png
+ :width: 100 %
+ :align: center
+
+ Verification of calibration
+
+.. Note:: To compute a meaningful calibration error, the grid should be held as close as possible
+ to the cameras. If the grid only covers a small section of the camera images, the calibration
+ error will always be less than when the grid covers the full image. For this reason, the minimal
+ and maximal calibration error during verification are shown in addition to the calibration error
+ at the current grid position.
+
+The typical calibration error is below 0.2 pixels. If the error is in this range,
+then the calibration procedure can be skipped. If the calibration error is greater, the
+calibration procedure should be performed to guarantee full sensor performance. The button
+*Next* starts the procedure.
+
+.. Warning:: A large error during verification can be due to miscalibrated cameras, an inaccurate
+ calibration grid, or wrong grid width or height. In case you use a custom calibration grid,
+ please make sure that the grid is accurate and
+ the entered grid width and height are correct. Otherwise, manual calibration will actually
+ decalibrate the cameras!
+
+Calibrate
+^^^^^^^^^
+
+The camera's exposure time should be set appropriately before starting the calibration.
+To achieve good calibration results, the images should be well-exposed and motion blur should
+be avoided. Thus, the maximum auto-exposure time should be as short as possible, but still allow a good exposure.
+The current exposure time is displayed below the camera images as shown
+in :numref:`fig-webgui-calibration-stereo`.
+
+Full calibration consists of calibrating each camera individually (monocalibration) and then performing a stereo
+calibration to determine the relationship between them. In most cases,
+the intrinsic calibration of each camera does not get corrupted. For this reason, monocalibration is
+skipped by default during a recalibration, but can be performed by clicking :guilabel:`Perform Monocalibration`
+in the *Calibrate* tab. This should only be done if the result of the stereo calibration is
+not satisfactory.
+
+.. only:: rc_cube and (roboception or basler or schunk)
+
+ When a Basler |blaze| sensor is connected to the |rc_cube| for the first time, it is uncalibrated and needs to
+ be fully calibrated. In this case, monocalibration is offered automatically and cannot be skipped to ensure
+ a complete calibration of the sensor. After saving the calibration, it will persistently reside on the |rc_cube|
+ and automatically be used whenever the |blaze| sensor is connected to the |rc_cube| again, regardless of the port or pipeline.
+
+.. _sect-stereo-calibration:
+
+Stereo calibration
+^^^^^^^^^^^^^^^^^^
+
+.. index::
+ pair: camera calibration; stereo calibration
+
+During stereo calibration, both cameras are calibrated to each other to find their
+relative rotation and translation.
+
+The camera images can also be displayed mirrored to simplify the correct positioning of the calibration grid.
+
+First, the grid should be held as close as possible to the camera and very still. It must be fully visible
+in both images and the cameras should look perpendicularly onto the grid. If the grid is
+not perpendicular to the line of sight of the cameras, this will be indicated by small
+green arrows pointing to the expected positions of the grid corners (see
+:numref:`fig-webgui-calibration-tilted`).
+
+.. _fig-webgui-calibration-tilted:
+.. figure:: images/webgui_camera_calibration_stereo_tilt.png
+ :width: 80 %
+ :align: center
+
+ Arrows indicating that the grid is not perpendicular to the camera's line of sight during stereo calibration
+
+The grid must be kept very still for detection. If motion blur occurs, the grid will not be detected.
+All grid cells that are drawn onto the image have to be covered
+by the calibration grid. This is visualized by filling the covered cells in green (see
+:numref:`fig-webgui-calibration-stereo`).
+
+.. only:: rc_visard or rc_visard_ng
+
+ For the |rc_xxx| all cells can be covered at once by holding the grid close enough.
+
+.. only:: rc_cube
+
+ Depending on the camera, the grid has to be held at different positions until all grid cells
+ have been covered and filled in green.
+
+.. _fig-webgui-calibration-stereo:
+.. figure:: images/webgui_camera_calibration_4.png
+ :width: 100 %
+ :align: center
+
+ Stereo calibration: Hold the grid as close as possible to fill all visualized cells
+
+.. Note:: If the check marks on the calibration grid all vanish, then either the camera does not
+ look perpendicularly onto the grid, or the grid is too far away from the camera.
+
+Once all grid cells are covered, they disappear and a single far cell is visualized.
+Now, the grid should be held as far as possible from the cameras, so that the small cell
+is covered. Arrows will indicate if the grid is still too close to the camera.
+When the grid is successfully detected at the far pose, the cell is filled
+in green and the result can be computed (see :numref:`fig-webgui-calibration-far`).
+
+.. _fig-webgui-calibration-far:
+.. figure:: images/webgui_camera_calibration_stereo_far.png
+ :width: 80 %
+ :align: center
+
+ Holding the grid far away during stereo calibration
+
+If stereo calibration yields an unsatisfactory calibration error, then calibration should be
+repeated with monocalibration (see next Section :ref:`sect-monocalibration`).
+
+
+.. _sect-monocalibration:
+
+Monocalibration
+^^^^^^^^^^^^^^^
+
+.. index::
+ pair: camera calibration; monocalibration
+
+Monocalibration is the intrinsic calibration of each camera individually. Since the intrinsic calibration
+normally does not get corrupted, the monocalibration should only be performed if the result of stereo
+calibration is not satisfactory.
+
+Click :guilabel:`Perform Monocalibration` in the *Calibrate* tab to start monocalibration.
+
+For monocalibration, the grid has to be held in certain poses. The arrows from the grid
+corners to the green areas indicate that all grid corners should be placed inside the
+green areas. The green areas are called sensitive areas. The *Size of Sensitive Area*
+slider can control their size to ease calibration.
+However, please be aware that increasing their size too much may result in slightly
+lower calibration accuracy.
+
+Holding the grid upside down is a common mistake made during calibration. Spotting this in
+this case is easy because the green lines from the grid corners into the green areas will
+cross each other as shown in :numref:`fig-webgui-calibration-wrong`.
+
+.. _fig-webgui-calibration-wrong:
+.. figure:: images/webgui_camera_calibration_wrong.png
+ :width: 60 %
+ :align: center
+
+ Wrongly holding the grid upside down leads to crossed green lines.
+
+.. Note:: Calibration might appear cumbersome as it involves holding the grid in certain
+ predefined poses. However, these poses are required to ensure an unbiased, high-quality calibration
+ result.
+
+The monocalibration process involves five poses for each camera as shown in :numref:`fig-poses-monocalibration`.
+
+.. _fig-poses-monocalibration:
+.. figure:: images/calib-views.png
+ :width: 100 %
+ :align: center
+
+ Poses required for monocamera calibration
+
+After the corners or sides of the grid are placed on top of the sensitive areas, the process
+automatically shows the next pose required. When the process is finished for the left camera,
+the same procedure is repeated for the right one.
+
+Continue with the guidelines given in the previous Section :ref:`sect-stereo-calibration`.
+
+Storing the calibration result
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Clicking the :guilabel:`Compute Calibration` button finishes the process and displays the final result.
+The indicated result is the mean reprojection error of all calibration points. It is given in
+pixels and typically has a value below 0.2.
+
+Pressing :guilabel:`Save Calibration` applies the calibration and saves it to the device.
+
+.. Note:: The given result is the minimum error left after calibration. The real error
+ is definitely not less than this, but could in theory be larger. This is true for every
+ camera-calibration algorithm and the reason why we enforce holding the grid in very specific
+ poses. Doing so ensures that the real calibration error cannot significantly
+ exceed the reported error.
+
+.. Warning:: If a hand-eye calibration was stored on the |rc_xxx| before camera calibration,
+ the hand-eye calibration values could have become invalid. Please repeat the hand-eye
+ calibration procedure.
+
+Parameters
+----------
+
+.. index::
+ pair: camera calibration; parameters
+
+The module is called ``rc_stereocalib`` in the |rest-api|.
+
+.. Note:: The camera calibration module's available parameters and status values are
+ for internal use only and may change in the future without further notice. Calibration should
+ only be performed through the |webgui| as described above.
+
+Services
+--------
+
+.. index::
+ pair: camera calibration; services
+
+.. Note:: The camera calibration module's available service calls are for internal
+ use only and may change in the future without further notice. Calibration should only be
+ performed through the |webgui| as described above.
diff --git a/v24.04/de/_raw_sources/camera_modules.rst.txt b/v24.04/de/_raw_sources/camera_modules.rst.txt
new file mode 100644
index 0000000..acfaee0
--- /dev/null
+++ b/v24.04/de/_raw_sources/camera_modules.rst.txt
@@ -0,0 +1,62 @@
+.. include:: global_rst.glb
+
+.. _sect-3d-camera-modules:
+
+3D camera modules
+=================
+
+The |rc_xxx|'s 3D camera software consists of the following modules:
+
+- :doc:`stereo_camera` (``rc_camera``:latex:`, Section \ref{stereo_camera:sect-stereo-camera}`)
+ acquires image pairs and performs planar rectification for using the
+ camera as a measurement device.
+ Images are provided both for further internal processing by other modules
+ and for external use as :ref:`GenICam image streams `.
+
+.. only:: rc_cube
+
+ - :doc:`stereo_matching` (``rc_stereomatching``:latex:`, Section \ref{stereo_matching:sect-stereo-matching}`)
+ uses the rectified stereo image pairs of the connected stereo camera, e.g. the |rc_visard|, to compute 3D depth
+ information such as disparity, error, and confidence images.
+ These are provided as GenICam streams, too.
+
+.. only:: rc_visard or rc_visard_ng
+
+ - :doc:`stereo_matching` (``rc_stereomatching``:latex:`, Section \ref{stereo_matching:sect-stereo-matching}`)
+ uses the rectified stereo image pairs to compute 3D depth
+ information such as disparity, error, and confidence images.
+ These are provided as GenICam streams, too.
+
+.. only:: rc_cube and (roboception or schunk or basler)
+
+ - :doc:`blaze` (``rc_blaze``:latex:`, Section \ref{blaze:sect-blaze}`)
+ provides 3D depth information such as disparity, error, and confidence images of the connected
+ Basler blaze RGB-D camera.
+ These are provided as GenICam streams, too.
+
+.. only:: rc_cube
+
+ These modules are pipeline specific, which means that they run inside each
+ camera pipeline. Changes to their settings or parameters
+ only affect the corresponding pipeline and have no influence on the other
+ camera pipelines running on the |rc_cube|.
+
+.. only:: rc_cube and (roboception or schunk or basler)
+
+ .. note::
+ The Stereo Matching module is only available in camera pipelines of type ``rc_visard`` or ``rc_viscore``.
+ The Blaze module is only available in camera pipelines of type ``blaze``.
+
+The :doc:`stereo_camera` and the :doc:`stereo_matching` modules, which
+acquire image pairs and compute 3D depth information such as disparity,
+error, and confidence images, are also accessible via the |rc_xxx|'s
+:doc:`GigE Vision/GenICam interface`.
+
+
+.. toctree-filt::
+ :maxdepth: 2
+ :hidden:
+
+ stereo_camera
+ stereo_matching
+ :matrixvision_visard_exclude:blaze
diff --git a/v24.04/de/_raw_sources/collisioncheck.rst.txt b/v24.04/de/_raw_sources/collisioncheck.rst.txt
new file mode 100644
index 0000000..881660b
--- /dev/null
+++ b/v24.04/de/_raw_sources/collisioncheck.rst.txt
@@ -0,0 +1,561 @@
+.. include:: global_rst.glb
+
+.. _sect-collision:
+
+CollisionCheck
+================
+
+.. index:: ! CollisionCheck
+ single: collision check
+
+Introduction
+------------
+
+The CollisionCheck module is an optional on-board module of the |rcxxx| and is licensed with
+any of the modules |pick_modules| or |match_modules|.
+Otherwise it requires a separate CollisionCheck :ref:`license`
+:latex:`(Section \ref{maintenance:sect-updating-license})` to be purchased.
+
+The module provides an easy way to check if a gripper is in collision with a load carrier,
+:cubeonly:`the point cloud (ony in combination with CADMatch),`
+or other detected objects (only in combination with |match_modules|). It is integrated
+with the |pick_modules| and |match_modules| modules, but can be used as standalone product.
+The models of the grippers for collision checking have to be
+defined in the :doc:`gripper_db`:latex:`\:(Section \ref{gripper_db:sect-gripper-db})` module.
+
+.. Warning::
+
+ Collisions are checked only between the load carrier and the gripper, not the robot itself, the flange, other objects or
+ the item located in the robot gripper. Only in combination with |match_modules|,
+ and only in case the selected template contains a collision
+ geometry and ``check_collisions_with_matches`` is enabled in the respective detection module,
+ also collisions between the gripper and other *detected* objects will be checked.
+ Collisions with objects that cannot be detected will not be checked.
+ Only in combination with |match_modules| and
+ only if ``check_collisions_with_point_cloud`` is enabled in the respective detection module,
+ collisions between the gripper and a watertight version of the point cloud will be checked.
+
+.. only:: rc_cube
+
+ .. note::
+
+ This module is pipeline specific. Changes to its settings or parameters only affect
+ the respective camera pipeline and have no influence on other pipelines running on the |rc_cube|.
+
+.. only:: rc_cube
+
+ .. tabularcolumns:: |l|L|
+ .. _tab-collisioncheck-spec:
+ .. csv-table:: Specifications of the CollisionCheck module
+
+ "Collision checking with", "detected load carrier, detected objects (only |match_modules|), baseplane (only :doc:`silhouettematch`:latex:`, Section \ref{silhouettematch:sect-silhouettematch}`), point cloud (only :doc:`cadmatch`:latex:`, Section \ref{cadmatch:sect-cadmatch}`)"
+ "Collision checking available in", "|pick_modules|, |match_modules|"
+
+.. only:: rc_visard or rc_visard_ng
+
+ .. tabularcolumns:: |l|L|
+ .. _tab-collisioncheck-spec:
+ .. csv-table:: Specifications of the CollisionCheck module
+
+ "Collision checking with", "detected load carrier, detected objects (only |match_modules|), baseplane (only :doc:`silhouettematch`:latex:`, Section \ref{silhouettematch:sect-silhouettematch}`)"
+ "Collision checking available in", "|pick_modules|, |match_modules|"
+
+Collision checking
+------------------
+
+.. _sect-collision-check-pre-grasp-offset:
+
+Stand-alone collision checking
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The ``check_collisions`` service call triggers collision checking between the chosen gripper and the provided load carriers
+for each of the provided grasps. Checking collisions with other objects :cubeonly:`or the point cloud`
+is not possible with the stand-alone ``check_collisions`` service.
+The CollisionCheck module checks if the chosen gripper is
+in collision with at least one of the load carriers, when the TCP of the gripper is positioned in the
+grasp position. It is possible to check the collision with multiple load carriers simultaneously. The grasps
+which are in collision with any of the defined load carriers will be returned as colliding.
+
+The ``pre_grasp_offset`` can be used for additional collision checking.
+The pre-grasp offset :math:`P_{off}` is the offset between the grasp point :math:`P_{grasp}` and the pre-grasp position :math:`P_{pre}`
+in the grasp's coordinate frame (see :numref:`fig-collision-check-pre-grasp-offset`).
+If the pre-grasp offset is defined, the grasp will be detected as colliding
+if the gripper is in collision at any point
+during motion from the pre-grasp position to the grasp position (assuming
+a linear movement).
+
+.. _fig-collision-check-pre-grasp-offset:
+.. figure:: images/pre_grasp_offset.*
+ :width: 300 px
+ :align: center
+
+ Illustration of the pre-grasp offset parameter for collision checking. In this case, the pre-grasp position as
+ well as the grasp position are collision free. However, the trajectory between these poses would have collisions.
+ Thus, this grasp pose would be marked as colliding.
+
+.. _sect-collision-check-other-modules:
+
+Collision checking within other modules
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Collision checking is integrated in the following modules' services:
+
+.. only:: rc_visard or rc_visard_ng
+
+ - :ref:`sect-itempick`:latex:`\:(Section \ref{itempick:sect-itempick})`: ``compute_grasps``
+ (see :ref:`compute_grasps for ItemPick`:latex:`, Section \ref{itempick:expl-itempick-srv-compute-grasps}` and
+ :ref:`compute_grasps for BoxPick`:latex:`, Section \ref{itempick:expl-itempick-srv-compute-grasps-boxpick}`)
+
+ - :ref:`sect-silhouettematch`:latex:`\:(Section \ref{silhouettematch:sect-silhouettematch})`: ``detect_object``
+ (see :ref:`expl-silhouettematch-srv-detect-objects`:latex:`, Section \ref{silhouettematch:expl-silhouettematch-srv-detect-objects}`)
+
+.. only:: rc_cube
+
+ - :ref:`sect-itempick`:latex:`\:(Section \ref{itempick:sect-itempick})`: ``compute_grasps``
+ (see :ref:`compute_grasps for ItemPick`:latex:`, Section \ref{itempick:expl-itempick-srv-compute-grasps}` and
+ :ref:`compute_grasps for BoxPick`:latex:`, Section \ref{itempick:expl-itempick-srv-compute-grasps-boxpick}`)
+
+ - :ref:`sect-silhouettematch`:latex:`\:(Section \ref{silhouettematch:sect-silhouettematch})`: ``detect_object``
+ (see :ref:`expl-silhouettematch-srv-detect-objects`:latex:`, Section \ref{silhouettematch:expl-silhouettematch-srv-detect-objects}`)
+
+ - :ref:`sect-cadmatch`:latex:`\:(Section \ref{cadmatch:sect-cadmatch})`: ``detect_object``
+ (see :ref:`expl-cadmatch-srv-detect-object`:latex:`, Section \ref{cadmatch:expl-cadmatch-srv-detect-object}`)
+
+Each of these services can take a ``collision_detection`` argument consisting of the ``gripper_id`` of the default gripper
+and the ``pre_grasp_offset`` as described in the previous section
+:ref:`sect-collision-check-pre-grasp-offset`:latex:`\:(Section \ref{collisioncheck:sect-collision-check-pre-grasp-offset})`.
+The default gripper given by the ``gripper_id`` argument is only used for grasp points which do not have an individual gripper ID assigned.
+When the ``collision_detection`` argument is given, these services only return the
+grasps at which the gripper is not in collision or which could not be checked for collisions.
+When a load carrier ID is provided to these services,
+collision checking will always be performed between the gripper and the load carrier.
+Additional collision check features can be enabled depending on the module.
+
+Only for |match_modules|, and only in case the selected template contains a collision
+geometry and ``check_collisions_with_matches`` is enabled in the respective detection module,
+grasp points at which the gripper would be in collision with other *detected* objects are also rejected. The object
+on which the grasp point to be checked is located, is excluded from the collision check.
+
+When a gripper is defined for a grasp point in the object template for |match_modules|, then this gripper will be used
+for collision checking at that specific grasp point instead of the default gripper defined in the ``collision_detection`` argument
+of the ``detect_object`` service (see :ref:`sect-silhouettematch-grasps`:latex:`, Section \ref{silhouettematch:sect-silhouettematch-grasps}`).
+The grasps returned by the ``detect_object`` service contain a flag ``collision_checked``, indicating whether the grasp was checked for collisions,
+and the field ``gripper_id``. If ``collision_checked`` is true, the returned ``gripper_id`` contains the ID of the gripper that was used for the collision check.
+That is the ID of the gripper defined for that specific grasp, or, if empty, the gripper that was given in the
+``collision_detection`` argument of the request. If ``collision_checked`` is false, the returned ``gripper_id``
+is the gripper ID that was defined for that grasp.
+
+In :doc:`silhouettematch`:latex:`, Section \ref{silhouettematch:sect-silhouettematch}`, collisions between
+the gripper and the base plane can be checked, if ``check_collisions_with_base_plane`` is enabled in SilhouetteMatch.
+
+Collisions between the gripper and a watertight version of the point cloud can be checked in |match_modules|
+if ``check_collisions_with_point_cloud`` is enabled in the respective module.
+
+.. Warning::
+
+ Collisions are checked only between the load carrier and the gripper, not the robot itself, the flange or other objects.
+ Only in combination with |match_modules|,
+ and only in case the selected template contains a collision
+ geometry and ``check_collisions_with_matches`` is enabled in the respective detection module,
+ also collisions between the gripper and other *detected* objects are checked.
+ Collisions with objects that cannot be detected will not be checked.
+ Only in combination with |match_modules|, and
+ only if ``check_collisions_with_point_cloud`` is enabled, collisions between the gripper and a watertight version of the point cloud are checked.
+
+ .. only:: rc_cube
+
+ Only in combination with :doc:`cadmatch`:latex:`, Section \ref{cadmatch:sect-cadmatch}` and
+ only if ``check_collisions_during_retraction`` is enabled
+ in CADMatch and a load carrier and a pre-grasp offset are given, collisions between the object in the
+ gripper and the walls of the given load carrier are checked along the linear
+ trajectory from the grasp point to the pre-grasp pose.
+
+The collision-check results are affected by run-time parameters, which are listed
+and explained further below.
+
+Parameters
+----------
+
+The CollisionCheck module is called ``rc_collision_check``
+in the |rest-api| and is represented in the
+:ref:`Web GUI`:latex:`\:(Section \ref{webgui:sect-web-gui})`
+:cubeonly:`in the desired pipeline` under :menuselection:`Configuration --> CollisionCheck`.
+The user can explore and configure the ``rc_collision_check``
+module's run-time parameters, e.g. for development and testing, using the |webgui| or the
+:doc:`rest_api`:latex:`\:(Section \ref{rest_api:sect-rest-api})`.
+
+.. _sect-collisioncheck-parameters:
+
+Parameter overview
+^^^^^^^^^^^^^^^^^^
+
+.. include:: _gen/nodes/params/rc_collision_check.txt
+
+
+Description of run-time parameters
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Each run-time parameter is represented by a row in the |webgui|'s
+*Settings* section :cubeonly:`in the desired pipeline` under
+:menuselection:`Configuration --> CollisionCheck`.
+The name in the |webgui| is given in brackets behind the parameter name:
+
+.. _expl-collisioncheck-collision-dist:
+
+``collision_dist`` (*Collision Distance*)
+'''''''''''''''''''''''''''''''''''''''''
+ Minimal distance in meters between any part of the gripper and the load carrier and/or the base plane (only SilhouetteMatch)
+ for a grasp to be considered collision free.
+
+ .. note::
+ The collision distance is not applied when checking collisions between :cubeonly:`the
+ gripper and the point cloud, or` the gripper and other detected objects. It is not applied
+ when checking if the flange is inside the load carrier (``check_flange``), either.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_collision_check/parameters?collision_dist=
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_collision_check/parameters?collision_dist=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_collision_check/parameters?collision_dist=
+
+.. _expl-collisioncheck-check-flange:
+
+``check_flange`` (*Check Flange*)
+'''''''''''''''''''''''''''''''''
+ Performs an additional safety check as described in
+ :ref:`sect-collisioncheck-flange`:latex:`\:(Section \ref{gripper_db:sect-collisioncheck-flange})`.
+ If this parameter is set, all grasps in which any part of the robot's flange is inside the load carrier are marked as colliding.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_collision_check/parameters?check_flange=
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_collision_check/parameters?check_flange=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_collision_check/parameters?check_flange=
+
+.. _expl-collisioncheck-check-bottom:
+
+``check_bottom`` (*Check Bottom*)
+'''''''''''''''''''''''''''''''''
+ When this check is enabled the collisions will be checked not only with the side walls of the load carrier but also with its bottom.
+ It might be necessary to disable this check if the TCP is inside the collision geometry (e.g. is defined inside a suction cup).
+
+ .. only:: rc_cube
+
+ The load carrier bottom will always be excluded for the collision check between the object in the gripper and the load carrier
+ during retraction in combination with :doc:`cadmatch`:latex:`, Section \ref{cadmatch:sect-cadmatch}` when
+ ``check_collisions_during_retraction`` is enabled.
+
+ Via the |restapi|, this parameter can be set as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_collision_check/parameters?check_bottom=
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_collision_check/parameters?check_bottom=
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_collision_check/parameters?check_bottom=
+
+.. _sect-collisioncheck-status-values:
+
+Status values
+-------------
+
+The ``rc_collision_check`` module reports the following status values:
+
+.. tabularcolumns:: |l|L|
+.. csv-table:: The ``rc_collision_check`` module status values
+ :header: Name, Description
+
+ "``last_evaluated_grasps``","Number of evaluated grasps"
+ "``last_collision_free_grasps``","Number of collision-free grasps"
+ "``collision_check_time``","Collision checking runtime"
+
+.. _sect-collisioncheck-services:
+
+Services
+--------
+
+The user can explore and call the ``rc_collision_check`` module's services,
+e.g. for development and testing, using
+:doc:`rest_api`:latex:`\:(Section \ref{rest_api:sect-rest-api})` or
+the |rc_xxx|
+:ref:`sect-web-gui`:latex:`\:(Section \ref{webgui:sect-web-gui})`.
+
+The CollisionCheck module offers the following services.
+
+.. _expl-collisioncheck-srv-reset-params:
+
+``reset_defaults``
+^^^^^^^^^^^^^^^^^^
+
+ Resets all parameters of the module to its default values,
+ as listed in above table.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_collision_check/services/reset_defaults
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_collision_check/services/reset_defaults
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_collision_check/services/reset_defaults
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ .. include:: _gen/nodes/services/rc_collision_check_reset_defaults_request.txt
+
+ .. tab:: **Response**
+
+ .. include:: _gen/nodes/services/rc_collision_check_reset_defaults_response.txt
+
+
+.. _expl-collisioncheck-srv-check-collision:
+
+``check_collisions`` (deprecated)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Triggers a collision check between a gripper and a load carrier.
+
+ .. toggle-header::
+ :header: **Details**
+
+ This service can be called as follows.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ .. only:: rc_visard or rc_visard_ng
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/0/nodes/rc_collision_check/services/check_collisions
+
+ .. only:: rc_cube
+
+ .. code-block:: bash
+
+ PUT http:///api/v2/pipelines/<0,1,2,3>/nodes/rc_collision_check/services/check_collisions
+
+ .. tab:: **API version 1 (deprecated)**
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_collision_check/services/check_collisions
+
+ .. tabs::
+
+ .. tab:: **Request**
+
+ Required arguments:
+
+ ``grasps``: list of grasps that should be checked.
+
+ ``load_carriers``: list of load carriers against which the collision should be checked.
+ The fields of the load carrier definition are described in
+ :ref:`sect-loadcarrier-detect-lc`:latex:`\:(Section \ref{loadcarrier:sect-loadcarrier-detect-lc})`.
+ The position frame of the grasps and load carriers has to be the same.
+
+ ``gripper_id``: the id of the gripper that is used to check the collisions. The gripper has to be configured beforehand.
+
+ Optional arguments:
+
+ ``pre_grasp_offset``: the offset in meters from the grasp position to the pre-grasp position in the grasp frame.
+ If this argument is set, the collisions will not only be checked in the grasp point, but also on the path from the
+ pre-grasp position to the grasp position (assuming a linear movement).
+
+ .. include:: _gen/nodes/services/rc_collision_check_check_collisions_request.txt
+
+ .. tab:: **Response**
+
+ ``colliding_grasps``: list of grasps in collision with one or more load carriers.
+
+ ``collision_free_grasps``: list of collision-free grasps.
+
+ ``return_code``: holds possible warnings or error codes and messages.
+
+ .. include:: _gen/nodes/services/rc_collision_check_check_collisions_response.txt
+
+
+.. _expl-collisioncheck-srv-set-grippers:
+
+``set_gripper`` (deprecated)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Persistently stores a gripper on the |rc_xxx|.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ This service is not available in API version 2.
+ Use :ref:`expl-gripper-db-srv-set-gripper`:latex:`\:(Section \ref{gripper_db:expl-gripper-db-srv-set-gripper})`
+ in ``rc_gripper_db`` instead.
+
+ .. tab:: **API version 1 (deprecated)**
+
+ This service can be called as follows.
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_collision_check/services/set_gripper
+
+ The definitions of the request and response are the same as described in
+ :ref:`expl-gripper-db-srv-set-gripper`:latex:`\:(Section \ref{gripper_db:expl-gripper-db-srv-set-gripper})`
+ in ``rc_gripper_db``.
+
+.. _expl-collisioncheck-srv-get-grippers:
+
+``get_grippers`` (deprecated)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Returns the configured grippers with the requested ``gripper_ids``.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ This service is not available in API version 2.
+ Use :ref:`expl-gripper-db-srv-get-grippers`:latex:`\:(Section \ref{gripper_db:expl-gripper-db-srv-get-grippers})`
+ in ``rc_gripper_db`` instead.
+
+ .. tab:: **API version 1 (deprecated)**
+
+ This service can be called as follows.
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_collision_check/services/get_grippers
+
+ The definitions of the request and response are the same as described in
+ :ref:`expl-gripper-db-srv-get-grippers`:latex:`\:(Section \ref{gripper_db:expl-gripper-db-srv-get-grippers})`
+ in ``rc_gripper_db``.
+
+.. _expl-collisioncheck-srv-delete-grippers:
+
+``delete_grippers`` (deprecated)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Deletes the configured grippers with the requested ``gripper_ids``.
+
+ .. tabs::
+
+ .. tab:: **API version 2**
+
+ This service is not available in API version 2.
+ Use :ref:`expl-gripper-db-srv-delete-grippers`:latex:`\:(Section \ref{gripper_db:expl-gripper-db-srv-delete-grippers})`
+ in ``rc_gripper_db`` instead.
+
+ .. tab:: **API version 1 (deprecated)**
+
+ This service can be called as follows.
+
+ .. code-block:: bash
+
+ PUT http:///api/v1/nodes/rc_collision_check/services/delete_grippers
+
+ The definitions of the request and response are the same as described in
+ :ref:`expl-gripper-db-srv-delete-grippers`:latex:`\:(Section \ref{gripper_db:expl-gripper-db-srv-delete-grippers})`
+ in ``rc_gripper_db``.
+
+
+.. _sect-collisioncheck-return-codes:
+
+Return codes
+------------
+
+.. index::
+ pair: CollisionCheck; return codes
+
+Each service response contains a ``return_code``,
+which consists of a ``value`` plus an optional ``message``.
+A successful service returns with a ``return_code`` value of ``0``.
+Negative ``return_code`` values indicate that the service failed.
+Positive ``return_code`` values indicate that the service succeeded with additional information.
+The smaller value is selected in case a service has multiple ``return_code`` values,
+but all messages are appended in the ``return_code`` message.
+
+The following table contains a list of common codes:
+
+.. tabularcolumns:: |c|L|
+.. _tab-collisioncheck-return-codes:
+.. csv-table:: Return codes of the CollisionCheck services
+ :header: Code, Description
+
+ "0", "Success"
+ "-1", "An invalid argument was provided"
+ "-7", "Data could not be read or written to persistent storage"
+ "-9", "No valid license for the module"
+ "-10", "New gripper could not be added as the maximum storage capacity of grippers has been exceeded"
+ "10", "The maximum storage capacity of grippers has been reached"
+ "11", "Existing gripper was overwritten"
diff --git a/v24.04/de/_raw_sources/concept_stereo.rst.txt b/v24.04/de/_raw_sources/concept_stereo.rst.txt
new file mode 100644
index 0000000..9722af1
--- /dev/null
+++ b/v24.04/de/_raw_sources/concept_stereo.rst.txt
@@ -0,0 +1,55 @@
+.. include:: global_rst.glb
+
+.. _sect-concepts-stereo:
+
+Stereo vision
+-------------
+
+.. index::
+ single: stereo matching
+ single: SGM
+ single: disparity
+ single: disparity image
+
+In *stereo vision*, 3D information about a scene can be extracted by comparing two images taken from different
+viewpoints. The main idea behind using a camera pair for measuring depth is the fact that object points appear at different
+positions in the two camera images depending on their distance from the camera pair. Very distant object points
+appear at approximately the same position in both images, whereas very close object points occupy different positions
+in the left and right camera image. The object points' displacement in the two images is called *disparity*. The
+larger the disparity, the closer the object is to the camera. The principle is illustrated in :numref:`fig-stereo_vision`.
+
+.. _fig-stereo_vision:
+.. figure:: images/stereo_sketch_v2.*
+ :width: 70 %
+ :align: center
+
+ Sketch of the stereo-vision principle: The more distant object (black) exhibits a smaller disparity :math:`d_2`
+ than that of the close object (gray), :math:`d_1`.
+
+Stereo vision is a form of passive sensing, meaning that it emits neither light nor other signals to measure distances, but
+uses only light that the environment emits or reflects. Thus, the |company| products utilizing this sensing principle
+can work indoors and outdoors and multiple devices can work together without interferences.
+
+To compute the 3D information, the
+stereo matching algorithm must be able to find corresponding object points in the left and right camera images.
+For this, the algorithm requires texture, meaning changes in image intensity values due to
+patterns or the objects' surface structure, in the images. Stereo matching is not possible for completely untextured regions,
+such as a flat white wall without any visible surface structure. The stereo matching method used
+by the |rc_xxx| is |sgm|, which provides the best trade-off between runtime and accuracy, even for fine structures.
+
+The following software modules are required to compute 3D information:
+
+- :ref:`sect-stereo-camera`: This module is responsible for capturing synchronized image pairs and transforming them
+ into images approaching those taken by an ideal camera (rectification).
+- :ref:`sect-stereo-matching`: This module computes disparities for the rectified stereo image pair
+ using |sgm-short|\ :latex:`\:(Section \ref{stereo_matching:sect-stereo-matching})`.
+
+.. only:: rc_visard or rc_visard_ng
+
+ For stereo matching, the position and orientation of the left and right cameras relative to each other has to be known with
+ very high accuracy. This is achieved by calibration. The |rc_xxx|'s cameras are pre-calibrated during production.
+ However, if the |rc_xxx| has been decalibrated, during transport for example, then the user has
+ to recalibrate the stereo camera:
+
+ - :ref:`sect-camera-calibration`: This module enables the user to recalibrate the |rc_xxx|'s stereo camera\ :latex:`\:(Section \ref{camera_calibration:sect-camera-calibration})`.
+
diff --git a/v24.04/de/_raw_sources/concepts.rst.txt b/v24.04/de/_raw_sources/concepts.rst.txt
new file mode 100644
index 0000000..ed7c75c
--- /dev/null
+++ b/v24.04/de/_raw_sources/concepts.rst.txt
@@ -0,0 +1,30 @@
+.. include:: global_rst.glb
+
+.. _sect-concepts:
+
+Measurement principles
+======================
+
+.. only:: rc_visard or rc_visard_ng
+
+ The |rc_xxx| is a self-registering 3D camera. It provides rectified camera,
+ disparity, confidence, and error images, which enable the viewed scene's depth values along
+ with their uncertainties to be computed. Furthermore, the motion of visual features in the
+ images is combined with acceleration and turn-rate measurements at a high rate, which
+ enables the sensor to provide real-time estimates of its current pose, velocity, and acceleration.
+
+.. only:: rc_cube
+
+ The |rc_xxx| is a high-performance 3D-image-processing device that is used
+ in combination one or more 3D cameras such as |company|'s 3D camera |rc_visard|.
+ Together, they provide rectified camera,
+ disparity, confidence, and error images, which allow the viewed scene's depth values along
+ with their uncertainties to be computed.
+
+In the following, the underlying measurement principles are explained in more detail.
+
+.. toctree-filt::
+ :maxdepth: 2
+
+ concept_stereo
+ :rc_cube_exclude:concept_dynamics
diff --git a/v24.04/de/_raw_sources/configuration_modules.rst.txt b/v24.04/de/_raw_sources/configuration_modules.rst.txt
new file mode 100644
index 0000000..6c1cce0
--- /dev/null
+++ b/v24.04/de/_raw_sources/configuration_modules.rst.txt
@@ -0,0 +1,44 @@
+.. include:: global_rst.glb
+
+.. _sect-configuration-modules:
+
+Configuration modules
+=====================
+
+The |rc_xxx| provides several configuration modules which enable the user to configure
+the |rc_xxx| for specific applications.
+
+The configuration modules are:
+
+- :doc:`handeye_calibration` (``rc_hand_eye_calibration``:latex:`, Section \ref{handeye_calibration:sect-handeye-calibration}`)
+ enables the user to calibrate the camera with respect to a robot,
+ either via the |webgui| or the |restapi|.
+
+- :doc:`collisioncheck` (``rc_collision_check``:latex:`, Section \ref{collisioncheck:sect-collision}`)
+ provides an easy way to check if a gripper is in collision.
+
+- :doc:`camera_calibration` (``rc_stereocalib``:latex:`, Section \ref{camera_calibration:sect-camera-calibration}`)
+ enables the user to check and perform camera calibration via the
+ :ref:`WEB GUI`:latex:`\:(Section \ref{webgui:sect-web-gui})`.
+
+- :doc:`iocontrol` (``rc_iocontrol``:latex:`, Section \ref{iocontrol:sect-iocontrol}`)
+ provides control over the sensor's general purpose inputs and outputs with special modes
+ for controlling an external random dot projector.
+
+
+.. only:: rc_cube
+
+ These modules are pipeline specific, which means that they run inside each
+ camera pipeline. Changes to their settings or parameters
+ only affect the corresponding pipeline and have no influence on the other
+ camera pipelines running on the |rc_cube|.
+
+.. toctree-filt::
+ :maxdepth: 2
+ :hidden:
+
+ handeye_calibration
+ collisioncheck
+ camera_calibration
+ iocontrol
+
diff --git a/v24.04/de/_raw_sources/contact.rst.txt b/v24.04/de/_raw_sources/contact.rst.txt
new file mode 100644
index 0000000..ced614e
--- /dev/null
+++ b/v24.04/de/_raw_sources/contact.rst.txt
@@ -0,0 +1,116 @@
+.. include:: global_rst.glb
+
+.. _sect-contact:
+
+Contact
+=======
+
+Support
+^^^^^^^
+
+.. only:: roboception
+
+ For support issues, please see http://www.roboception.com/support or contact support@roboception.de.
+
+.. only:: matrixvision
+
+ For support issues, please see https://www.balluff.com.
+
+.. only:: schunk
+
+ For support issues, please contact service.greifsysteme@de.schunk.com, or call +49 7133-103-2333.
+
+.. only:: basler
+
+ For support issues, please see https://www.baslerweb.com/en/sales-support/support-contact/ or contact
+
+ | **Technical Support Team**
+ |
+ | Europe, Middle East, Africa
+ | +49 4102 463 515
+ | support.europe@baslerweb.com
+ |
+ | The Americas
+ | +1 610 280 0171
+ | support.usa@baslerweb.com
+ |
+ | Asia-Pacific
+ | +65 6367 1355
+ | support.asia@baslerweb.com
+ |
+
+Downloads
+^^^^^^^^^
+
+.. only:: roboception or schunk or matrixvision
+
+ Software SDKs, etc. can be downloaded from http://www.roboception.com/download.
+
+.. only:: basler
+
+ Software SDKs, etc. can be downloaded from https://www.baslerweb.com/3d-software.
+
+Address
+^^^^^^^
+
+.. only:: roboception
+
+ | Roboception GmbH
+ | Kaflerstrasse 2
+ | 81241 Munich
+ | Germany
+ |
+ | Web: http://www.roboception.com
+ | Email: info@roboception.de
+ | Phone: +49 89 889 50 79-0
+ |
+
+.. only:: matrixvision
+
+ | Balluff GmbH
+ | Schurwaldstrasse 9
+ | D-73765 Neuhausen a.d.F.
+ | Germany
+ |
+ | Web: https://www.balluff.com
+ | Email: balluff@balluff.de
+ | Phone: +49 7158 173-0
+ |
+
+.. only:: schunk
+
+ | **Manufacturer:**
+ | Roboception GmbH
+ | Kaflerstrasse 2
+ | 81241 Munich
+ | Germany
+ |
+ | Web: http://www.roboception.com
+ | Email: info@roboception.de
+ | Phone: +49 89 889 50 79-0
+ |
+ |
+ | **Distributor:**
+ | SCHUNK GmbH & Co. KG
+ | Spann- und Greiftechnik
+ | Bahnhofstr. 106 - 134
+ | D-74348 Lauffen/Neckar
+ | Germany
+ |
+ | Web: http://www.schunk.com
+ | Email: info@de.schunk.com
+ | Phone: +49-7133-103-0
+ |
+
+.. only:: basler
+
+ | Basler AG
+ | An der Strusbek 60-62
+ | 22926 Ahrensburg
+ | Germany
+ |
+ | Web: http://www.baslerweb.com
+ | Email: info@baslerweb.com
+ | Phone: +49 4102 463 0
+ |
+
diff --git a/v24.04/de/_raw_sources/database_modules.rst.txt b/v24.04/de/_raw_sources/database_modules.rst.txt
new file mode 100644
index 0000000..264ac6a
--- /dev/null
+++ b/v24.04/de/_raw_sources/database_modules.rst.txt
@@ -0,0 +1,36 @@
+.. include:: global_rst.glb
+
+.. _sect-database-modules:
+
+Database modules
+================
+
+The |rc_xxx| provides several database modules which enable the user to configure
+global data which is used in many detection modules, such as load carriers and regions of interest.
+Via the :doc:`rest_api`:latex:`\:(Section \ref{rest_api:sect-rest-api})` the database modules are
+only available in API version 2.
+
+The database modules are:
+
+- :doc:`loadcarrier_db` (``rc_load_carrier_db``:latex:`, Section \ref{loadcarrier_db:sect-loadcarrier-db}`)
+ allows setting, retrieving and deleting load carriers.
+
+- :doc:`roi` (``rc_roi_db``:latex:`\:, Section \ref{roi:sect-roi})`
+ allows setting, retrieving and deleting 2D and 3D regions of interest.
+
+- :doc:`gripper_db` (``rc_gripper_db``:latex:`, Section \ref{gripper_db:sect-gripper-db}`)
+ allows setting, retrieving and deleting grippers for collision checking.
+
+.. only:: rc_cube
+
+ These modules are global on the |rc_cube|, which means that they run outside the camera pipelines.
+ Changes to their settings or parameters affect all pipelines running on the |rc_cube|.
+
+.. toctree-filt::
+ :maxdepth: 2
+ :hidden:
+
+ loadcarrier_db
+ roi
+ gripper_db
+
diff --git a/v24.04/de/_raw_sources/detection_modules.rst.txt b/v24.04/de/_raw_sources/detection_modules.rst.txt
new file mode 100644
index 0000000..6337d12
--- /dev/null
+++ b/v24.04/de/_raw_sources/detection_modules.rst.txt
@@ -0,0 +1,47 @@
+.. include:: global_rst.glb
+
+.. _sect-detection-modules:
+
+Detection modules
+=================
+
+The |rc_xxx| offers software modules for different detection applications:
+
+- :doc:`loadcarrier` (``rc_load_carrier``:latex:`, Section \ref{loadcarrier:sect-loadcarrier}`)
+ allows detecting load carriers and their filling levels.
+
+- :doc:`tagdetect` (``rc_april_tag_detect`` and ``rc_qr_code_detect``:latex:`, Section \ref{tagdetect:sect-tag-detection}`)
+ allows the detection of AprilTags and QR codes, as well as the estimation of their poses.
+
+- :doc:`itempick` (``rc_itempick`` and ``rc_boxpick``:latex:`, Section \ref{itempick:sect-itempick}`)
+ provides an out-of-the-box perception solution for robotic pick-and-place
+ applications of unknown objects or boxes.
+
+- :doc:`silhouettematch` (``rc_silhouettematch``:latex:`, Section \ref{silhouettematch:sect-silhouettematch}`)
+ provides an object detection solution for objects placed on a plane or stacked planar objects.
+
+.. only:: rc_cube
+
+ - :doc:`cadmatch` (``rc_cadmatch``:latex:`, Section \ref{cadmatch:sect-cadmatch}`)
+ provides an object detection solution for 3D objects.
+
+.. only:: rc_cube
+
+ These modules are pipeline specific, which means that they run inside each
+ camera pipeline. Changes to their settings or parameters
+ only affect the corresponding pipeline and have no influence on the other
+ camera pipelines running on the |rc_cube|.
+
+These modules are optional and can be activated by
+purchasing a separate
+:ref:`license`:latex:`\:(Section \ref{maintenance:sect-updating-license})`.
+
+.. toctree-filt::
+ :maxdepth: 2
+ :hidden:
+
+ loadcarrier
+ tagdetect
+ itempick
+ silhouettematch
+ :rc_cube_only:cadmatch
diff --git a/v24.04/de/_raw_sources/disposal.rst.txt b/v24.04/de/_raw_sources/disposal.rst.txt
new file mode 100644
index 0000000..37dbb76
--- /dev/null
+++ b/v24.04/de/_raw_sources/disposal.rst.txt
@@ -0,0 +1,65 @@
+.. include:: global_rst.glb
+
+.. _sect-disposal:
+
+Information on disposal
+=======================
+
+.. image:: images/weee-mark_small.*
+ :width: 200
+
+#. **Disposal of Waste Electrical & Electronic Equipment**
+
+ This symbol on the product(s) and / or accompanying documents means that used electrical and electronic products
+ should not be mixed with general household waste. For proper treatment, recovery and recycling, please contact
+ your supplier or the manufacturer. Disposing of this product correctly will help save valuable resources and
+ prevent any potential negative effects on human health and the environment, which could otherwise arise from
+ inappropriate waste handling.
+
+
+#. **Removal of batteries**
+
+ If the products contain batteries and accumulators that can be removed from the product without destruction,
+ these must be removed before disposal and disposed of separately as batteries.
+
+ The following batteries or accumulators are contained in the rc_visard: None
+
+
+#. **Options for returning old equipment**
+
+ Owners of old devices can return them to the manufacturer to ensure proper disposal.
+
+ Please :ref:`contact support`:latex:`\:(Section \ref{contact:sect-contact})` about returning the device for disposal.
+
+
+#. **Data protection**
+
+ End users of Electrical & Electronic Equipment are responsible for deleting personal data on the waste equipment to be disposed of.
+
+
+#. **WEEE registration number**
+
+ .. only:: roboception or schunk or matrixvision
+
+ |manufacturer| is registered under the registration number DE 33323989 at the stiftung elektro-altgeräte register,
+ Nordostpark 72, 90411 Nuremberg, Germany, as a producer of electrical and/or electronic equipment.
+
+ .. only:: basler
+
+ |manufacturer| is registered under the registration number DE 83888045 at the stiftung elektro-altgeräte register,
+ Nordostpark 72, 90411 Nuremberg, Germany, as a producer of electrical and/or electronic equipment.
+
+
+#. **Collection and recovery quotas**
+
+ According to the WEEE Directive, EU member states are obliged to collect data on waste electrical and electronic
+ equipment and to transmit this data to the European Commission. Further information can be found on the German
+ Ministry for the Environment website.
+
+
+**Information on Disposal outside the European Union**
+
+This symbol is valid only in the European Union. If you wish to discard this product please contact
+your local authorities or dealer and ask for the correct method of disposal.
+
+
\ No newline at end of file
diff --git a/v24.04/de/_raw_sources/eki.rst.txt b/v24.04/de/_raw_sources/eki.rst.txt
new file mode 100644
index 0000000..0d9d7e0
--- /dev/null
+++ b/v24.04/de/_raw_sources/eki.rst.txt
@@ -0,0 +1,606 @@
+.. include:: global_rst.glb
+
+.. _sect-eki:
+
+KUKA Ethernet KRL Interface
+===========================
+
+.. index::
+ single: eki
+
+The |rc_xxx| provides an Ethernet KRL Interface (|eki-bridge|),
+which allows communicating with the |rc_xxx| from KUKA KRL via
+KUKA.EthernetKRL XML.
+
+.. Note::
+
+ The component is optional and requires a separate |company|'s EKIBridge
+ :ref:`license ` :latex:`(Section \ref{maintenance:sect-updating-license})`
+ to be purchased.
+
+.. Note::
+
+ The KUKA.EthernetKRL add-on software package version 2.2 or newer must be
+ activated on the robot controller to use this component.
+
+The |eki-bridge| can be used to programmatically
+
+* do service calls, e.g. to start and stop individual computational nodes,
+ or to use offered services such as the hand-eye calibration or the
+ computation of grasp poses;
+* set and get run-time parameters of computation nodes,
+ e.g. of the camera, or disparity calculation.
+
+.. Note::
+
+ A known limitation of the |eki-bridge| is that strings representing valid numbers will be converted to int/float.
+ Hence user-defined names (like ROI IDs, etc.) should always contain at least one letter so they can be used in service call arguments.
+
+Ethernet connection configuration
+---------------------------------
+
+The |eki-bridge| listens on port 7000 for EKI XML messages and transparently
+bridges the |rc_xxx|'s :doc:`REST-API v2`:latex:`\:(Section \ref{rest_api:sect-rest-api})`.
+The received EKI messages are transformed to JSON and forwarded to the
+|rc_xxx|'s |rest-api|.
+The response from the |rest-api| is transformed back to EKI XML.
+
+The |eki-bridge| gives access to run-time parameters and offered services
+of all computational nodes described in
+:doc:`modules`:latex:`\:(Section \ref{modules:sect-modules})`.
+
+.. only:: latex
+
+ The Ethernet connection to the |rc_xxx| on the robot controller is configured
+ using XML configuration files.
+
+ .. only:: roboception or schunk or matrixvision
+
+ The EKI XML configuration files of all nodes running on the |rc_xxx| are
+ available for download at:
+
+ :latex:`\begin{center}\url{https://doc.rc-visard.com/latest/en/eki.html#eki-xml-configuration-files}\end{center}`
+
+.. only:: html
+
+ The Ethernet connection to the |rc_xxx| on the robot controller is configured
+ using XML configuration files.
+ The EKI XML configuration files of all nodes running on the |rc_xxx| are
+ listed at :ref:`sect-eki-configs`.
+
+Each node offering run-time parameters has an XML configuration file
+for setting and getting its parameters.
+These are named following the scheme ``-parameters.xml``.
+Each node's service has its own XML configuration file.
+These are named following the scheme ``-.xml``.
+
+The IP of the |rc_xxx| in the network needs to be filled in the XML file.
+
+.. only:: rc_cube
+
+ The port is already set to 7000, which corresponds to pipeline 0.
+ This needs to be adjusted if a different pipeline should be used.
+ The port number is 7000 + pipeline number, so 7001 for pipeline 1, etc.
+
+These files must be stored in the directory
+``C:\KRC\ROBOTER\Config\User\Common\EthernetKRL``
+of the robot controller and they are read in when a connection is initialized.
+
+As an example, an Ethernet connection to configure the ``rc_stereomatching``
+parameters is established with the following KRL code.
+
+ .. code-block:: c
+
+ DECL EKI_Status RET
+ RET = EKI_INIT("rc_stereomatching-parameters")
+ RET = EKI_Open("rc_stereomatching-parameters")
+
+ ; ----------- Desired operation -----------
+
+ RET = EKI_Close("rc_stereomatching-parameters")
+
+.. note:: The |eki-bridge| automatically terminates the connection to the client
+ if the received XML telegram is invalid.
+
+Generic XML structure
+---------------------
+
+For data transmission, the |eki-bridge| uses ```` as root XML element
+(short for request).
+
+The root tag always includes the following elements.
+
+* ````. This includes a child XML element used by the |eki-bridge|
+ to identify the target node.
+ The node name is already included in the XML configuration file.
+* ````. End of request flag that triggers the request.
+
+The following listing shows the generic XML structure for data transmission.
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+For data reception, the |eki-bridge| uses ```` as root XML element
+(short for response).
+The root tag always includes a ```` child element.
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+.. note:: By default the XML configuration files uses 998 as flag to notify KRL
+ that the response data record has been received. If this value is already
+ in use, it should be changed in the corresponding XML configuration file.
+
+Return code
+^^^^^^^^^^^
+
+The ```` element consists of a ``value`` and a ``message`` attribute.
+
+As for all other components, a successful request returns with a
+``res/return_code/@value`` of 0.
+Negative values indicate that the request failed.
+The error message is contained in ``res/return_code/@message``.
+Positive values indicate that the request succeeded with additional information,
+contained in ``res/return_code/@message`` as well.
+
+The following codes can be issued by the |eki-bridge| component.
+
+.. tabularcolumns:: |c|L|
+.. _tab-eki-return-codes:
+.. csv-table:: Return codes of the |eki-bridge| component
+ :header: Code, Description
+
+ "0", "Success"
+ "-1", "Parsing error in the conversion from XML to JSON"
+ "-2", "Internal error "
+ "-5", "Connection error from the |rest-api|"
+ "-9", "Missing or invalid license for |eki-bridge| component"
+
+.. note:: The |eki-bridge| can also return return code values specific
+ to individual nodes. They are documented in the respective
+ :ref:`software module `:latex:`\:(Section \ref{modules:sect-modules})`.
+
+.. note:: Due to limitations in KRL, the maximum length of a string returned
+ by the |eki-bridge| is 512 characters. All messages larger than this value
+ are truncated.
+
+Services
+--------
+
+For the nodes' services, the XML schema is generated from the service's
+arguments and response in JavaScript Object Notation (JSON) described in
+:doc:`modules`:latex:`\:(Section \ref{modules:sect-modules})`.
+The conversion is done transparently, except for the conversion rules
+described below.
+
+Conversions of poses:
+
+ A pose is a JSON object that includes ``position`` and ``orientation`` keys.
+
+ .. code-block:: json
+
+ {
+ "pose": {
+ "position": {
+ "x": "float64",
+ "y": "float64",
+ "z": "float64",
+ },
+ "orientation": {
+ "x": "float64",
+ "y": "float64",
+ "z": "float64",
+ "w": "float64",
+ }
+ }
+ }
+
+ This JSON object is converted to a KRL ``FRAME`` in the XML message.
+
+ .. code-block:: xml
+
+
+
+ Positions are converted from meters to millimeters and orientations are
+ converted from quaternions to KUKA ABC (in degrees).
+
+ .. note:: No other unit conversions are included in the |eki-bridge|.
+ All dimensions and 3D coordinates that don't belong to a pose are
+ expected and returned in meters.
+
+Arrays:
+
+ Arrays are identified by adding the child element ````
+ (short for list element) to the list name. As an example, the JSON object
+
+ .. code-block:: json
+
+ {
+ "rectangles": [
+ {
+ "x": "float64",
+ "y": "float64"
+ }
+ ]
+ }
+
+ is converted to the XML fragment
+
+ .. code-block:: xml
+
+
+
+ ...
+ ...
+
+
+
+Use of XML attributes:
+
+ All JSON keys whose values are a primitive data type and don't belong to an
+ array are stored in attributes. As an example, the JSON object
+
+ .. code-block:: json
+
+ {
+ "item": {
+ "uuid": "string",
+ "confidence": "float64",
+ "rectangle": {
+ "x": "float64",
+ "y": "float64"
+ }
+ }
+ }
+
+ is converted to the XML fragment
+
+ .. code-block:: xml
+
+
+
+
+
+
+Request XML structure
+^^^^^^^^^^^^^^^^^^^^^
+
+The ```` element in the XML configuration file for a generic
+service follows the specification below.
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+The ```` element includes a child XML element that is used by the
+|eki-bridge| to identify the target service from the XML telegram.
+The service name is already included in the configuration file.
+
+The ```` element includes the service arguments and should be configured
+with ``EKI_Set`` KRL instructions.
+
+As an example, the ```` element of the ``rc_load_carrier_db``'s
+``get_load_carriers`` service
+(see :ref:`sect-loadcarrier-db`:latex:`, Section \ref{loadcarrier_db:sect-loadcarrier-db}`) is:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+The ```` element allows to have arrays in the request.
+For configuring an array, the request is split into as many
+packages as the size of the array.
+The last telegram contains all tags, including the ````
+flag, while all other telegrams contain one array element each.
+
+As an example, for requesting two load carrier models to the ``rc_load_carrier_db``'s
+``get_load_carriers`` service, the user needs to send two XML messages.
+The first XML telegram is:
+
+ .. code-block:: xml
+
+
+
+
+ load_carrier1
+
+
+
+
+This telegram can be sent from KRL with the ``EKI_Send`` command,
+by specifying the list element as path:
+
+ .. code-block:: c
+
+ DECL EKI_STATUS RET
+ RET = EKI_SetString("rc_load_carrier_db-get_load_carriers", "req/args/load_carrier_ids/le", "load_carrier1")
+ RET = EKI_Send("rc_load_carrier_db-get_load_carriers", "req/args/load_carrier_ids/le")
+
+The second telegram includes all tags and triggers the request to the
+``rc_load_carrier_db`` node:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+ load_carrier2
+
+
+
+
+
+This telegram can be sent from KRL by specifying ``req`` as path for ``EKI_Send``:
+
+ .. code-block:: c
+
+ DECL EKI_STATUS RET
+ RET = EKI_SetString("rc_load_carrier_db-get_load_carriers", "req/args/load_carrier_ids/le", "load_carrier2")
+ RET = EKI_Send("rc_load_carrier_db-get_load_carriers", "req")
+
+Response XML structure
+^^^^^^^^^^^^^^^^^^^^^^
+
+The ```` element in the XML configuration file for a generic
+service follows the specification below:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+As an example, the ```` element of the ``rc_april_tag_detect``'s
+``detect`` service
+(see :ref:`sect-tag-detection`:latex:`, Section \ref{tagdetect:sect-tag-detection}`) is:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+For arrays, the response includes multiple instances of the same XML element.
+Each element is written into a separate buffer within EKI and can be read
+from the buffer with KRL instructions.
+The number of instances can be requested with ``EKI_CheckBuffer`` and each
+instance can then be read by calling ``EKI_Get``.
+
+As an example, the tag poses received after a call to the
+``rc_april_tag_detect``'s ``detect`` service can be read in KRL using the
+following code:
+
+ .. code-block:: c
+
+ DECL EKI_STATUS RET
+ DECL INT i
+ DECL INT num_instances
+ DECL FRAME poses[32]
+
+ DECL FRAME pose = {X 0.0, Y 0.0, Z 0.0, A 0.0, B 0.0, C 0.0}
+
+ RET = EKI_CheckBuffer("rc_april_tag_detect-detect", "res/tags/le/pose")
+ num_instances = RET.Buff
+ for i=1 to num_instances
+ RET = EKI_GetFrame("rc_april_tag_detect-detect", "res/tags/le/pose", pose)
+ poses[i] = pose
+ endfor
+ RET = EKI_ClearBuffer("rc_april_tag_detect-detect", "res")
+
+.. note:: Before each request from EKI to the |rc_xxx|, all buffers should
+ be cleared in order to store only the current response in the EKI buffers.
+
+Parameters
+----------
+
+All nodes' parameters can be set and queried from the |eki-bridge|.
+The XML configuration file for a generic node follows the specification below:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The request is interpreted as a *get* request if all parameter's
+``value`` attributes are empty.
+If any ``value`` attribute is non-empty, it is interpreted as *set* request
+of the non-empty parameters.
+
+As an example, the current value of all parameters of ``rc_stereomatching``
+can be queried using the XML telegram:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+This XML telegram can be sent out with Ethernet KRL using:
+
+ .. code-block:: c
+
+ DECL EKI_STATUS RET
+ RET = EKI_Send("rc_stereomatching-parameters", "req")
+
+The response from the |eki-bridge| contains all parameters:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The ``quality`` parameter of ``rc_stereomatching`` can be set to ``Low``
+by the XML telegram:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+
+
+This XML telegram can be sent out with Ethernet KRL using:
+
+ .. code-block:: c
+
+ DECL EKI_STATUS RET
+ RET = EKI_SetString("rc_stereomatching-parameters", "req/parameters/quality/@value", "Low")
+ RET = EKI_Send("rc_stereomatching-parameters", "req")
+
+
+In this case, only the applied value of ``quality`` is returned by the
+|eki-bridge|:
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+.. only:: html
+
+ .. include:: eki_configs.rst_incl
+
+
+.. only:: rc_visard or rc_cube
+
+ Migration to firmware version 22.01
+ -----------------------------------
+
+ From firmware version 22.01 on the |eki-bridge| reflects |rc_xxx|'s :doc:`REST-API v2`:latex:`\:(Section \ref{rest_api:sect-rest-api})`.
+
+ This requires the following changes:
+
+ * Configuring load carriers, grippers and regions of interest is now only accessible in the global database modules:
+
+ + Use the ``rc_load_carrier_db`` XML files for getting, setting and deleting of load carriers.
+ + Use the ``rc_gripper_db`` XML files for getting, setting and deleting of grippers.
+ + Use the ``rc_roi_db`` XML files for getting, setting and deleting of regions of interest.
+
+ * Load carrier detection and filling level detection is now only accessible via the ``rc_load_carrier`` node.
+
+ + Use the ``rc_load_carrier`` XML files for ``detect_load_carriers`` and ``detect_filling_level`` services.
+
+.. only:: roboception or matrixvision or schunk
+
+ Example applications
+ --------------------
+
+ More detailed robot application examples can be found at https://github.com/roboception/eki_examples.
+
+
+Troubleshooting
+---------------
+
+**SmartPad error message: Limit of element memory reached**
+
+This error may occur if the number of matches exceeds the memory limit.
+
+- Increase BUFFERING and set BUFFSIZE in EKI config files. Adapt these settings to your particular KRC.
+- Decrease the 'Maximum Matches' parameter in the detection module
+- Even if the total memory limit (BUFFSIZE) of a message is not reached, the KRC might not
+ be able to parse the number of child elements in the XML tree if the
+ BUFFERING limit is too small. For example, if your application proposes 50
+ different grasps, the BUFFERING limit needs to be 50 too.
diff --git a/v24.04/de/_raw_sources/general.rst.txt b/v24.04/de/_raw_sources/general.rst.txt
new file mode 100644
index 0000000..1d75127
--- /dev/null
+++ b/v24.04/de/_raw_sources/general.rst.txt
@@ -0,0 +1,170 @@
+.. include:: global_rst.glb
+
+.. _sect-general:
+
+Overview
+========
+
+.. only:: rc_cube
+
+
+ The |rc_xxx| is a high-performance 3D-image-processing device.
+ It enhances the computing capabilities of the |company| stereo camera |rc_visard| and
+ supports :mvexclude:`the Basler blaze camera in an RGB-D setup and` the |rc_viscore|.
+
+ .. only:: roboception or basler
+
+ Information about the supported devices are provided in
+
+ .. only:: roboception
+
+ * |rc_visard|: https://doc.rc-visard.com
+ * |rc_viscore|: https://doc.rc-viscore.com
+ * |blaze|: https://www.baslerweb.com/en/products/cameras/3d-cameras/blaze-rgb-d.
+
+ .. only:: basler
+
+ * https://www.baslerweb.com/en/products/cameras/3d-cameras/.
+
+ .. NOTE:: Unless specified, the information provided in this manual applies to both the |rc_visard| 65 and |rc_visard| 160
+ versions of the |company| |rc_visard| sensor, as well as the |rc_visard_ng|.
+
+ .. only:: roboception or schunk or basler
+
+ .. NOTE:: The term "blaze" used throughout the manual always refers to the Basler blaze camera in an RGB-D setup, i.e. the blaze
+ Time-of-Flight camera in combination with the Basler aceA1300 color camera.
+
+.. only:: rc_visard or rc_visard_ng
+
+ The 3D sensor |rc_xxx| is an IP54-protected :visardonly:`, self-registering` stereo-camera
+ with on-board computing capabilities.
+
+The |rc_xxx| provides real-time camera images and depth images, which can
+be used to compute 3D point clouds. Additionally, it provides
+confidence and error images as quality measures for each image acquisition.
+It offers an intuitive web UI (user interface) and a standardized
+GenICam interface, making it compatible with all major image processing
+libraries.
+
+With optionally available software modules the |rc_xxx| provides out-of-the-box solutions
+for object detection and robotic pick-and-place applications.
+
+.. only:: rc_cube
+
+ The |rc_cube| is offered in two versions: *rc_cube S* and *rc_cube I*.
+
+ The *rc_cube S* is suitable for research, development and testing environments. It supports one |rc_visard| without additional hardware.
+ A separate 2.5Gbit switch (not part of the product scope) enables the support of two |rc_visard| devices at a time or allows to connect
+ an |rc_viscore| :mvexclude:`or a Basler blaze` device.
+
+ The *rc_cube I* is intended for operational use in an industrial environment. It supports four |rc_visard| cameras, or two |rc_viscore|
+ :mvexclude:`or Basler blaze` devices without additional hardware.
+
+ .. only:: basler
+
+ .. figure:: images/cube_overview_basler.*
+ :width: 80 %
+ :align: center
+
+ Schematic representation of the |rc_cube| and the connected 3D cameras.
+ Unless only a single |rc_visard| is connected to the *rc_cube S*, a separate 2.5Gbit switch is required.
+
+ .. only:: matrixvision
+
+ .. figure:: images/cube_overview_mv.*
+ :width: 80 %
+ :align: center
+
+ Schematic representation of the |rc_cube| and the connected 3D cameras.
+ Unless only a single |rc_visard| is connected to the *rc_cube S*, a separate 2.5Gbit switch is required.
+
+ .. only:: schunk
+
+ .. figure:: images/cube_overview_schunk.*
+ :width: 80 %
+ :align: center
+
+ Schematic representation of the |rc_cube| and the connected 3D cameras.
+ Unless only a single |rc_visard| is connected to the *rc_cube S*, a separate 2.5Gbit switch is required.
+
+ .. only:: roboception
+
+ .. figure:: images/cube_overview.*
+ :width: 80 %
+ :align: center
+
+ Schematic representation of the |rc_cube| and the connected 3D cameras.
+ Unless only a single |rc_visard| is connected to the *rc_cube S*, a separate 2.5Gbit switch is required.
+
+.. only:: rc_visard
+
+ The |rc_visard| also provides self-localization based on image and inertial data.
+ A mobile navigation solution can be established with the optional on-board SLAM module.
+
+ The |rc_visard| is offered with two different stereo baselines: The |rc_visard| 65
+ is optimally suited for mounting on robotic manipulators, whereas the |rc_visard| 160 can be
+ employed as a navigation or as externally-fixed sensor.
+
+.. only:: rc_visard or rc_visard_ng
+
+ The |rc_xxx|'s intuitive calibration, configuration, and use enable 3D vision for everyone.
+
+ .. only:: roboception and rc_visard
+
+ .. figure:: images/sensor.png
+ :width: 40 %
+ :align: center
+
+ |rc_visard| 65 and |rc_visard| 160
+
+ .. only:: roboception and rc_visard_ng
+
+ .. figure:: images/sensor_ng.png
+ :width: 40 %
+ :align: center
+
+ |rc_visard_ng| 160
+
+ .. only:: matrixvision
+
+ .. figure:: images/sensor_mv.png
+ :width: 40 %
+ :align: center
+
+ |rc_visard| 65 and |rc_visard| 160
+
+ .. only:: basler
+
+ .. figure:: images/sensor_basler.png
+ :width: 40 %
+ :align: center
+
+ |manufacturer| |rc_visard| 65 and |rc_visard| 160
+
+ .. only:: schunk
+
+ .. figure:: images/sensor_schunk.png
+ :width: 40 %
+ :align: center
+
+ |manufacturer| |rc_visard| 65 and |rc_visard| 160
+
+
+.. only:: rc_visard
+
+ The terms "sensor," "|rc_visard| 65," and "|rc_visard| 160" used throughout the manual all refer to the |company| |rc_visard| family of self-registering cameras.
+ Installation and control for all sensors are exactly the same, and all use the same mounting base.
+
+ .. NOTE:: Unless specified, the information provided in this manual applies to both the |rc_visard| 65 and |rc_visard| 160 versions of the |company| |rc_visard| sensor.
+
+.. only:: rc_visard_ng
+
+ The terms "sensor" and "|rc_xxx|" used throughout the manual all refer to the |company| |rc_visard_ng|.
+
+.. only:: rc_cube
+
+ .. NOTE:: Unless specified, the information provided in this manual applies to both the *rc_cube S* and *rc_cube I* versions of the |rc_cube|.
+
+.. NOTE:: This manual uses the metric system and mostly uses the units meter and
+ millimeter. Unless otherwise specified, all dimensions in technical drawings are
+ in millimeters.
diff --git a/v24.04/de/_raw_sources/gigevision.rst.txt b/v24.04/de/_raw_sources/gigevision.rst.txt
new file mode 100644
index 0000000..f20c037
--- /dev/null
+++ b/v24.04/de/_raw_sources/gigevision.rst.txt
@@ -0,0 +1,771 @@
+.. include:: global_rst.glb
+
+.. _sect-genicam:
+
+GigE Vision 2.0/GenICam image interface
+-----------------------------------------
+
+.. index::
+ see: GigE Vision; GenICam
+
+Gigabit Ethernet for Machine Vision ("GigE Vision\ |reg|" for short) is an industrial camera interface standard based on UDP/IP
+(see http://www.gigevision.com).
+The |rc_xxx| is a GigE Vision\ |reg| version 2.0 device and is hence compatible with all GigE Vision\ |reg| 2.0 compliant frameworks and libraries.
+
+GigE Vision\ |reg| uses GenICam to describe the camera/device features. For more information about this *Generic Interface for Cameras* see http://www.genicam.org/.
+
+Via this interface the |rc_xxx| provides features such as
+
+* discovery,
+* IP configuration,
+* configuration of camera related parameters,
+* image grabbing, and
+* time synchronization via IEEE 1588-2008 PrecisionTimeProtocol (PTPv2).
+
+.. note:: The |rc_xxx| supports jumbo frames of up to 9000 bytes. Setting an MTU of 9000
+ on your GigE Vision client side is recommended for best performance.
+
+.. only:: roboception or schunk or matrixvision
+
+ .. note:: |manufacturer| provides tools and a C++ API with examples for discovery, configuration, and image
+ streaming via the GigE Vision/GenICam interface. See http://www.roboception.com/download.
+
+.. _sect-gev-ports:
+
+GigE Vision ports
+^^^^^^^^^^^^^^^^^
+
+GigE Vision is a UDP based protocol. On the |rc_xxx| the UDP ports are fixed and known:
+
+* UDP port 3956: GigE Vision Control Protocol (GVCP). Used for discovery, control and configuration.
+* UDP port 50010: Stream channel source port for GigE Vision Stream Protocol (GVSP) used for image streaming.
+
+.. _sect-genicam-params:
+
+Important GenICam parameters
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following list gives an overview of the relevant GenICam features of
+the |rc_xxx| that can be read and/or changed
+via the GenICam interface. In addition to the standard parameters, which are defined in
+the Standard Feature Naming Convention (SFNC, see
+http://www.emva.org/standards-technology/genicam/genicam-downloads/),
+|rc_xxx| devices also offer custom parameters that account for special
+features of the
+:ref:`sect-stereo-camera`:latex:`\:(Section \ref{stereo_camera:sect-stereo-camera})`
+and the
+:ref:`sect-stereo-matching`:latex:`\:(Section \ref{stereo_matching:sect-stereo-matching})`
+module.
+
+Important standard GenICam features
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Category: ImageFormatControl
+++++++++++++++++++++++++++++
+
+.. index::
+ pair: ComponentSelector; GenICam
+
+``ComponentSelector``
+ - type: Enumeration, one of ``Intensity``, ``IntensityCombined``, ``Disparity``, ``Confidence``, or ``Error``
+ - default: -
+ - description: Allows the user to select one of the five image streams for configuration (see :ref:`sect-provided-image-streams`:latex:`, \:Section \ref{gigevision:sect-provided-image-streams}`).
+
+.. index::
+ pair: ComponentIDValue; GenICam
+
+``ComponentIDValue`` (read-only)
+ - type: Integer
+ - description: The ID of the image stream selected by the ``ComponentSelector``.
+
+.. index::
+ pair: ComponentEnable; GenICam
+
+``ComponentEnable``
+ - type: Boolean
+ - default: -
+ - description: If set to ``true``, it enables the image stream selected by ``ComponentSelector``; otherwise, it disables the stream.
+ Using ``ComponentSelector`` and ``ComponentEnable``, individual image streams can be switched on and off.
+
+.. index::
+ pair: Width; GenICam
+
+``Width`` (read-only)
+ - type: Integer
+ - description: Image width in pixel of image stream that is currently selected by ``ComponentSelector``.
+
+.. index::
+ pair: Height; GenICam
+
+``Height`` (read-only)
+ - type: Integer
+ - description: Image height in pixel of image stream that is currently selected by ``ComponentSelector``.
+
+.. index::
+ pair: WidthMax; GenICam
+
+``WidthMax`` (read-only)
+ - type: Integer
+ - description: Maximum width of an image.
+
+.. index::
+ pair: HeightMax; GenICam
+
+``HeightMax`` (read-only)
+ - type: Integer
+ - description: Maximum height of an image in the streams. This is always 1920 pixels due to the
+ stacked left and right images in the ``IntensityCombined`` stream (see :ref:`sect-provided-image-streams`:latex:`, Section \ref{gigevision:sect-provided-image-streams}`).
+
+.. index::
+ pair: PixelFormat; GenICam
+
+``PixelFormat``
+ - type: Enumeration, one of ``Mono8``, ``YCbCr411_8`` (color cameras only), ``Coord3D_C16``, ``Confidence8`` and ``Error8``
+ - description: Pixel format of the selected component. The enumeration only permits to choose the format
+ among the possibly formats for the selected component. For a color camera, ``Mono8`` or ``YCbCr411_8``
+ can be chosen for the ``Intensity`` and ``IntensityCombined`` component.
+
+Category: AcquisitionControl
+++++++++++++++++++++++++++++
+
+.. index::
+ pair: AcquisitionFrameRate; GenICam
+ pair: frame rate; GenICam
+
+``AcquisitionFrameRate``
+ - type: Float, ranges from 1 Hz to 25 Hz
+ - default: 25 Hz
+ - description: Frame rate of the camera
+ (:ref:`FPS `:latex:`, Section \ref{stereo_camera:sect-cam-params}`).
+
+.. index::
+ pair: ExposureAuto; GenICam
+
+``ExposureAuto``
+ - type: Enumeration, one of ``Continuous``, ``Out1High``, ``AdaptiveOut1``, ``HDR`` or ``Off``
+ - default: ``Continuous``
+ - description: Combines ``exp_control`` (:ref:`exposure control `:latex:`, Section \ref{stereo_camera:expl-exp-control}`)
+ and ``exp_auto_mode`` (:ref:`auto exposure mode `:latex:`, Section \ref{stereo_camera:expl-exp-auto-mode}`).
+ ``Off`` maps to `Manual` :ref:`exposure control `.
+ ``Continuous``, ``Out1High`` or ``AdaptiveOut1`` enable `Auto` :ref:`exposure control `
+ with the respective :ref:`auto exposure mode ` where ``Continuous`` maps to the `Normal` ``exp_auto_mode``.
+ ``HDR`` enables high-dynamic-range exposure control.
+
+.. index::
+ pair: ExposureTime; GenICam
+
+``ExposureTime``
+ - type: Float, ranges from 66 µs to 18000 µs
+ - default: 5000 µs
+ - description: The cameras' exposure time in microseconds for the manual exposure mode
+ (:ref:`Exposure `:latex:`, Section \ref{stereo_camera:expl-exp-value}`).
+
+Category: AnalogControl
++++++++++++++++++++++++
+
+``GainSelector`` (read-only)
+ - type: Enumeration, is always ``All``
+ - default: ``All``
+ - description: The |rc_xxx| currently supports only one overall gain setting.
+
+.. index::
+ pair: Gain; GenICam
+
+``Gain``
+ - type: Float, ranges from 0 dB to 18 dB
+ - default: 0 dB
+ - description: The cameras' gain value in decibel that is used in manual exposure mode
+ (:ref:`Gain `:latex:`, Section \ref{stereo_camera:expl-gain-value}`).
+
+.. index::
+ pair: BalanceWhiteAuto; GenICam
+
+``BalanceWhiteAuto`` (color cameras only)
+ - type: Enumeration, one of ``Continuous`` or ``Off``
+ - default: ``Continuous``
+ - description: Can be set to ``Off`` for manual white balancing mode or to ``Continuous``
+ for auto white balancing. This feature is only available on color cameras
+ (:ref:`wb_auto `:latex:`, Section \ref{stereo_camera:expl-wb-auto}`).
+
+.. index::
+ pair: BalanceRatioSelector; GenICam
+
+``BalanceRatioSelector`` (color cameras only)
+ - type: Enumeration, one of ``Red`` or ``Blue``
+ - default: ``Red``
+ - description: Selects ratio to be modified by ``BalanceRatio``. ``Red`` means red to green
+ ratio and ``Blue`` means blue to green ratio. This feature is only available on color cameras.
+
+.. index::
+ pair: BalanceRatio; GenICam
+
+``BalanceRatio`` (color cameras only)
+ - type: Float, ranges from 0.125 to 8
+ - default: 1.2 if ``Red`` and 2.4 if ``Blue`` is selected in ``BalanceRatioSelector``
+ - description: Weighting of red or blue to green color channel. This feature is only available
+ on color cameras
+ (:ref:`wb_ratio `:latex:`, Section \ref{stereo_camera:expl-wb-ratio}`).
+
+.. _sect-genicam-iocontrol:
+
+Category: DigitalIOControl
+++++++++++++++++++++++++++
+
+.. index::
+ pair: LineSelector; GenICam
+
+``LineSelector``
+ - type: Enumeration, one of ``Out1``, ``Out2``, ``In1`` or ``In2``
+ - default: ``Out1``
+ - description: Selects the input or output line for getting the current status or setting
+ the source.
+
+.. index::
+ pair: LineStatus; GenICam
+
+``LineStatus`` (read-only)
+ - type: Boolean
+ - description: Current status of the line selected by ``LineSelector``.
+
+.. index::
+ pair: LineStatusAll; GenICam
+
+``LineStatusAll`` (read-only)
+ - type: Integer
+ - description: Current status of GPIO inputs and outputs represented in the lowest four bits.
+
+ .. table:: Meaning of bits of ``LineStatusAll`` field.
+
+ +------+------+------+-------+-------+
+ | Bit | 4 | 3 | 2 | 1 |
+ +======+======+======+=======+=======+
+ | GPIO | In 2 | In 1 | Out 2 | Out 1 |
+ +------+------+------+-------+-------+
+
+.. index::
+ pair: LineSource; GenICam
+
+``LineSource``
+ - type: Enumeration, one of ``ExposureActive``, ``ExposureAlternateActive``, ``Low`` or ``High``
+ - default: ``Low``
+ - description: Mode for output line selected by ``LineSelector`` as described in the IOControl
+ module (:ref:`out1_mode and out2_mode`:latex:`,
+ Section \ref{iocontrol:sect-iocontrol-params}`). See also parameter
+ ``AcquisitionAlternateFilter`` for filtering images in ``ExposureAlternateActive`` mode.
+
+Category: TransportLayerControl / PtpControl
+++++++++++++++++++++++++++++++++++++++++++++
+
+.. index::
+ pair: PtpEnable; GenICam
+ pair: PTP; synchronization
+ pair: time; synchronization
+
+``PtpEnable``
+ - type: Boolean
+ - default: ``false``
+ - description: Switches PTP synchronization on and off.
+
+Category: Scan3dControl
++++++++++++++++++++++++
+
+.. index::
+ pair: Scan3dDistanceUnit; GenICam
+
+``Scan3dDistanceUnit`` (read-only)
+ - type: Enumeration, is always ``Pixel``
+ - description: Unit for the disparity measurements, which is always ``Pixel``.
+
+.. index::
+ pair: Scan3dOutputMode; GenICam
+
+``Scan3dOutputMode`` (read-only)
+ - type: Enumeration, is always ``DisparityC``
+ - description: Mode for the depth measurements, which is always ``DisparityC``.
+
+.. index::
+ pair: Scan3dFocalLength; GenICam
+
+``Scan3dFocalLength`` (read-only)
+ - type: Float
+ - description: Focal length in pixel of image stream selected by ``ComponentSelector``. In case of
+ the component ``Disparity``, ``Confidence`` and ``Error``, the value also depends on the
+ resolution that is implicitly selected by ``DepthQuality``.
+
+.. index::
+ pair: Scan3dBaseline; GenICam
+
+``Scan3dBaseline`` (read-only)
+ - type: Float
+ - description: Baseline of the stereo camera in meters.
+
+.. index::
+ pair: Scan3dPrinciplePointU; GenICam
+
+``Scan3dPrinciplePointU`` (read-only)
+ - type: Float
+ - description: Horizontal location of the principle point in pixel of image stream selected by
+ ``ComponentSelector``. In case of the component ``Disparity``, ``Confidence`` and ``Error``,
+ the value also depends on the resolution that is implicitly selected by ``DepthQuality``.
+
+.. index::
+ pair: Scan3dPrinciplePointV; GenICam
+
+``Scan3dPrinciplePointV`` (read-only)
+ - type: Float
+ - description: Vertical location of the principle point in pixel of image stream selected by
+ ``ComponentSelector``. In case of the component ``Disparity``, ``Confidence`` and ``Error``,
+ the value also depends on the resolution that is implicitly selected by ``DepthQuality``.
+
+.. index::
+ pair: Scan3dCoordinateScale; GenICam
+
+``Scan3dCoordinateScale`` (read-only)
+ - type: Float
+ - description: The scale factor that has to be multiplied with the disparity values in the disparity
+ image stream to get the actual disparity measurements. This value is always 0.0625.
+
+.. index::
+ pair: Scan3dCoordinateOffset; GenICam
+
+``Scan3dCoordinateOffset`` (read-only)
+ - type: Float
+ - description: The offset that has to be added to the disparity values in the disparity
+ image stream to get the actual disparity measurements. For the |rc_xxx|, this value
+ is always 0 and can therefore be disregarded.
+
+.. index::
+ pair: Scan3dInvalidDataFlag; GenICam
+
+``Scan3dInvalidDataFlag`` (read-only)
+ - type: Boolean
+ - description: Is always ``true``, which means that invalid data in the
+ disparity image is marked by a specific value defined by the
+ ``Scan3dInvalidDataValue`` parameter.
+
+.. index::
+ pair: Scan3dInvalidDataValue; GenICam
+
+``Scan3dInvalidDataValue`` (read-only)
+ - type: Float
+ - description: Is the value which stands for invalid disparity. This value is always 0, which means that
+ disparity values of 0 correspond to invalid measurements. To distinguish between invalid disparity measurements and
+ disparity measurements of 0 for objects which are infinitely far away, the |rc_xxx| sets the disparity value for the latter
+ to the smallest possible disparity value of 0.0625. This still corresponds to an object distance of several hundred meters.
+
+Category: ChunkDataControl
+++++++++++++++++++++++++++
+
+.. index::
+ pair: Chunk data; GenICam
+
+``ChunkModeActive``
+ - type: Boolean
+ - default: False
+ - description: Enables chunk data that is delivered with every image.
+
+.. _sect-custom-genicam-params:
+
+Custom GenICam features of the |rc_xxx|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Category: DeviceControl
++++++++++++++++++++++++
+
+.. index::
+ pair: system ready; GenICam
+
+``RcSystemReady`` (read-only)
+ - type: Boolean
+ - description: Returns whether the device's boot process has completed and all modules are running.
+
+.. index::
+ pair: disable parameter lock; GenICam
+
+``RcParamLockDisable``
+ - type: Boolean
+ - default: False
+ - description: If set to true, the camera and depth image parameters are not locked when a GigE Vision
+ client is connected to the device. Please note that depending on the connected GigE Vision client,
+ parameter changes by other applications (e.g. the |webgui|) might not be noticed by the GigE Vision client,
+ which could lead to unwanted results.
+
+Category: AcquisitionControl
+++++++++++++++++++++++++++++
+
+.. index::
+ pair: AcquisitionAlternateFilter; GenICam
+
+``AcquisitionAlternateFilter``
+ - type: Enumeration, one of ``Off``, ``OnlyHigh`` or ``OnlyLow``
+ - default: ``Off``
+ - description: If this parameter is set to ``OnlyHigh`` (or ``OnlyLow``) and the ``LineSource``
+ is set to ``ExposureAlternateActive`` for any output, then only camera images are delivered
+ that are captured while the output is high, i.e. a potentially connected projector is on (or
+ low, i.e. a potentially connected projector is off). This parameter is a simple means for only
+ getting images without projected pattern. The minimal time difference between camera and
+ disparity images will be about 40 ms in this case
+ (see :ref:`IOControl`:latex:`, Section \ref{iocontrol:sect-iocontrol-params}`).
+
+.. index::
+ pair: AcquisitionMultiPartMode; GenICam
+
+``AcquisitionMultiPartMode``
+ - type: Enumeration, one of ``SingleComponent`` or ``SynchronizedComponents``
+ - default: ``SingleComponent``
+ - description: Only effective in MultiPart mode. If this parameter is set to ``SingleComponent``
+ the images are sent immediately as a single component per frame/buffer when they become available.
+ This is the same behavior as when MultiPart is not supported by the client.
+ If set to ``SynchronizedComponents`` all enabled components are time synchronized on the |rc_xxx|
+ and only sent (in one frame/buffer) when they are all available for that timestamp.
+
+.. index::
+ pair: ExposureTimeAutoMax; GenICam
+
+``ExposureTimeAutoMax``
+ - type: Float, ranges from 66 µs to 18000 µs
+ - default: 18000 µs
+ - description: Maximal exposure time in auto exposure mode
+ (:ref:`Max Exposure `:latex:`, Section \ref{stereo_camera:expl-exp-max}`).
+
+.. index::
+ pair: ExposureRegionOffsetX; GenICam
+
+``ExposureRegionOffsetX``
+ - type: Integer in the range of 0 to the maximum image width
+ - default: 0
+ - description: Horizontal offset of :ref:`exposure region`:latex:`\:(Section \ref{stereo_camera:expl-exp-region})` in pixel.
+
+.. index::
+ pair: ExposureRegionOffsetY; GenICam
+
+``ExposureRegionOffsetY``
+ - type: Integer in the range of 0 to the maximum image height
+ - default: 0
+ - description: Vertical offset of :ref:`exposure region`:latex:`\:(Section \ref{stereo_camera:expl-exp-region})` in pixel.
+
+.. index::
+ pair: ExposureRegionWidth; GenICam
+
+``ExposureRegionWidth``
+ - type: Integer in the range of 0 to the maximum image width
+ - default: 0
+ - description: Width of :ref:`exposure region