diff --git a/docs/_ext/__pycache__/language_switch.cpython-310.pyc b/docs/_ext/__pycache__/language_switch.cpython-310.pyc index 9e90d8bd..2038967a 100644 Binary files a/docs/_ext/__pycache__/language_switch.cpython-310.pyc and b/docs/_ext/__pycache__/language_switch.cpython-310.pyc differ diff --git a/docs/en/index.rst b/docs/en/index.rst index fa3c229b..00e0c096 100644 --- a/docs/en/index.rst +++ b/docs/en/index.rst @@ -10,11 +10,5 @@ OrbbecSDK V2 ROS2 Wrapper documentation :maxdepth: 3 :numbered: - source/1_overview/overview.rst - source/2_installation/installation.rst - source/3_quickstarts/quickstarts.rst - source/4_application_guide/application_guide.rst - source/5_advanced_guide/advanced_guide.rst - source/6_benchmark/benchmark.rst - source/7_developer_guide/developer_guide.rst - source/8_FAQ/FAQ.rst + source/camera_devices/index.rst + source/lidar_devices/index.rst diff --git a/docs/en/source/1_overview/introduction.md b/docs/en/source/camera_devices/1_overview/introduction.md similarity index 100% rename from docs/en/source/1_overview/introduction.md rename to docs/en/source/camera_devices/1_overview/introduction.md diff --git a/docs/en/source/1_overview/orbbecsdk_overview.md b/docs/en/source/camera_devices/1_overview/orbbecsdk_overview.md similarity index 100% rename from docs/en/source/1_overview/orbbecsdk_overview.md rename to docs/en/source/camera_devices/1_overview/orbbecsdk_overview.md diff --git a/docs/en/source/1_overview/overview.rst b/docs/en/source/camera_devices/1_overview/overview.rst similarity index 100% rename from docs/en/source/1_overview/overview.rst rename to docs/en/source/camera_devices/1_overview/overview.rst diff --git a/docs/en/source/2_installation/build_the_package.md b/docs/en/source/camera_devices/2_installation/build_the_package.md similarity index 100% rename from docs/en/source/2_installation/build_the_package.md rename to docs/en/source/camera_devices/2_installation/build_the_package.md diff --git a/docs/en/source/2_installation/installation.rst b/docs/en/source/camera_devices/2_installation/installation.rst similarity index 100% rename from docs/en/source/2_installation/installation.rst rename to docs/en/source/camera_devices/2_installation/installation.rst diff --git a/docs/en/source/2_installation/registration_script.md b/docs/en/source/camera_devices/2_installation/registration_script.md similarity index 100% rename from docs/en/source/2_installation/registration_script.md rename to docs/en/source/camera_devices/2_installation/registration_script.md diff --git a/docs/en/source/3_quickstarts/orbbecviewer.md b/docs/en/source/camera_devices/3_quickstarts/orbbecviewer.md similarity index 100% rename from docs/en/source/3_quickstarts/orbbecviewer.md rename to docs/en/source/camera_devices/3_quickstarts/orbbecviewer.md diff --git a/docs/en/source/3_quickstarts/quickstart.md b/docs/en/source/camera_devices/3_quickstarts/quickstart.md similarity index 100% rename from docs/en/source/3_quickstarts/quickstart.md rename to docs/en/source/camera_devices/3_quickstarts/quickstart.md diff --git a/docs/en/source/3_quickstarts/quickstarts.rst b/docs/en/source/camera_devices/3_quickstarts/quickstarts.rst similarity index 100% rename from docs/en/source/3_quickstarts/quickstarts.rst rename to docs/en/source/camera_devices/3_quickstarts/quickstarts.rst diff --git a/docs/en/source/4_application_guide/application_guide.rst b/docs/en/source/camera_devices/4_application_guide/application_guide.rst similarity index 100% rename from docs/en/source/4_application_guide/application_guide.rst rename to docs/en/source/camera_devices/4_application_guide/application_guide.rst diff --git a/docs/en/source/4_application_guide/compressed_image.md b/docs/en/source/camera_devices/4_application_guide/compressed_image.md similarity index 100% rename from docs/en/source/4_application_guide/compressed_image.md rename to docs/en/source/camera_devices/4_application_guide/compressed_image.md diff --git a/docs/en/source/4_application_guide/coordinate_and_tf.md b/docs/en/source/camera_devices/4_application_guide/coordinate_and_tf.md similarity index 100% rename from docs/en/source/4_application_guide/coordinate_and_tf.md rename to docs/en/source/camera_devices/4_application_guide/coordinate_and_tf.md diff --git a/docs/en/source/4_application_guide/launch_parameters.md b/docs/en/source/camera_devices/4_application_guide/launch_parameters.md similarity index 100% rename from docs/en/source/4_application_guide/launch_parameters.md rename to docs/en/source/camera_devices/4_application_guide/launch_parameters.md diff --git a/docs/en/source/4_application_guide/point_cloud.md b/docs/en/source/camera_devices/4_application_guide/point_cloud.md similarity index 100% rename from docs/en/source/4_application_guide/point_cloud.md rename to docs/en/source/camera_devices/4_application_guide/point_cloud.md diff --git a/docs/en/source/4_application_guide/services.md b/docs/en/source/camera_devices/4_application_guide/services.md similarity index 100% rename from docs/en/source/4_application_guide/services.md rename to docs/en/source/camera_devices/4_application_guide/services.md diff --git a/docs/en/source/4_application_guide/topics.md b/docs/en/source/camera_devices/4_application_guide/topics.md similarity index 100% rename from docs/en/source/4_application_guide/topics.md rename to docs/en/source/camera_devices/4_application_guide/topics.md diff --git a/docs/en/source/5_advanced_guide/advanced_guide.rst b/docs/en/source/camera_devices/5_advanced_guide/advanced_guide.rst similarity index 100% rename from docs/en/source/5_advanced_guide/advanced_guide.rst rename to docs/en/source/camera_devices/5_advanced_guide/advanced_guide.rst diff --git a/docs/en/source/5_advanced_guide/configuration/align_depth_color.md b/docs/en/source/camera_devices/5_advanced_guide/configuration/align_depth_color.md similarity index 100% rename from docs/en/source/5_advanced_guide/configuration/align_depth_color.md rename to docs/en/source/camera_devices/5_advanced_guide/configuration/align_depth_color.md diff --git a/docs/en/source/5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.md b/docs/en/source/camera_devices/5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.md similarity index 100% rename from docs/en/source/5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.md rename to docs/en/source/camera_devices/5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.md diff --git a/docs/en/source/5_advanced_guide/configuration/depth_work_mode_switch.md b/docs/en/source/camera_devices/5_advanced_guide/configuration/depth_work_mode_switch.md similarity index 100% rename from docs/en/source/5_advanced_guide/configuration/depth_work_mode_switch.md rename to docs/en/source/camera_devices/5_advanced_guide/configuration/depth_work_mode_switch.md diff --git a/docs/en/source/5_advanced_guide/configuration/disparity_search_offset.md b/docs/en/source/camera_devices/5_advanced_guide/configuration/disparity_search_offset.md similarity index 100% rename from docs/en/source/5_advanced_guide/configuration/disparity_search_offset.md rename to docs/en/source/camera_devices/5_advanced_guide/configuration/disparity_search_offset.md diff --git a/docs/en/source/5_advanced_guide/configuration/interleave_ae_mode.md b/docs/en/source/camera_devices/5_advanced_guide/configuration/interleave_ae_mode.md similarity index 100% rename from docs/en/source/5_advanced_guide/configuration/interleave_ae_mode.md rename to docs/en/source/camera_devices/5_advanced_guide/configuration/interleave_ae_mode.md diff --git a/docs/en/source/5_advanced_guide/configuration/net_camera.md b/docs/en/source/camera_devices/5_advanced_guide/configuration/net_camera.md similarity index 100% rename from docs/en/source/5_advanced_guide/configuration/net_camera.md rename to docs/en/source/camera_devices/5_advanced_guide/configuration/net_camera.md diff --git a/docs/en/source/5_advanced_guide/configuration/predefined_presets.md b/docs/en/source/camera_devices/5_advanced_guide/configuration/predefined_presets.md similarity index 100% rename from docs/en/source/5_advanced_guide/configuration/predefined_presets.md rename to docs/en/source/camera_devices/5_advanced_guide/configuration/predefined_presets.md diff --git a/docs/en/source/5_advanced_guide/multi_camera/gmsl_camera.md b/docs/en/source/camera_devices/5_advanced_guide/multi_camera/gmsl_camera.md similarity index 100% rename from docs/en/source/5_advanced_guide/multi_camera/gmsl_camera.md rename to docs/en/source/camera_devices/5_advanced_guide/multi_camera/gmsl_camera.md diff --git a/docs/en/source/5_advanced_guide/multi_camera/multi_camera.md b/docs/en/source/camera_devices/5_advanced_guide/multi_camera/multi_camera.md similarity index 100% rename from docs/en/source/5_advanced_guide/multi_camera/multi_camera.md rename to docs/en/source/camera_devices/5_advanced_guide/multi_camera/multi_camera.md diff --git a/docs/en/source/5_advanced_guide/multi_camera/multi_camera_synced.md b/docs/en/source/camera_devices/5_advanced_guide/multi_camera/multi_camera_synced.md similarity index 100% rename from docs/en/source/5_advanced_guide/multi_camera/multi_camera_synced.md rename to docs/en/source/camera_devices/5_advanced_guide/multi_camera/multi_camera_synced.md diff --git a/docs/en/source/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md b/docs/en/source/camera_devices/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md similarity index 100% rename from docs/en/source/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md rename to docs/en/source/camera_devices/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md diff --git a/docs/en/source/5_advanced_guide/performance/efficient_intra_process_communication.md b/docs/en/source/camera_devices/5_advanced_guide/performance/efficient_intra_process_communication.md similarity index 100% rename from docs/en/source/5_advanced_guide/performance/efficient_intra_process_communication.md rename to docs/en/source/camera_devices/5_advanced_guide/performance/efficient_intra_process_communication.md diff --git a/docs/en/source/5_advanced_guide/performance/fastdds_tuning.md b/docs/en/source/camera_devices/5_advanced_guide/performance/fastdds_tuning.md similarity index 100% rename from docs/en/source/5_advanced_guide/performance/fastdds_tuning.md rename to docs/en/source/camera_devices/5_advanced_guide/performance/fastdds_tuning.md diff --git a/docs/en/source/5_advanced_guide/performance/lower_cpu_usage.md b/docs/en/source/camera_devices/5_advanced_guide/performance/lower_cpu_usage.md similarity index 100% rename from docs/en/source/5_advanced_guide/performance/lower_cpu_usage.md rename to docs/en/source/camera_devices/5_advanced_guide/performance/lower_cpu_usage.md diff --git a/docs/en/source/6_benchmark/benchmark.rst b/docs/en/source/camera_devices/6_benchmark/benchmark.rst similarity index 100% rename from docs/en/source/6_benchmark/benchmark.rst rename to docs/en/source/camera_devices/6_benchmark/benchmark.rst diff --git a/docs/en/source/6_benchmark/benchmark_data.md b/docs/en/source/camera_devices/6_benchmark/benchmark_data.md similarity index 100% rename from docs/en/source/6_benchmark/benchmark_data.md rename to docs/en/source/camera_devices/6_benchmark/benchmark_data.md diff --git a/docs/en/source/6_benchmark/benchmark_usage.md b/docs/en/source/camera_devices/6_benchmark/benchmark_usage.md similarity index 100% rename from docs/en/source/6_benchmark/benchmark_usage.md rename to docs/en/source/camera_devices/6_benchmark/benchmark_usage.md diff --git a/docs/en/source/6_benchmark/introduction.md b/docs/en/source/camera_devices/6_benchmark/introduction.md similarity index 100% rename from docs/en/source/6_benchmark/introduction.md rename to docs/en/source/camera_devices/6_benchmark/introduction.md diff --git a/docs/en/source/6_benchmark/othertools.md b/docs/en/source/camera_devices/6_benchmark/othertools.md similarity index 100% rename from docs/en/source/6_benchmark/othertools.md rename to docs/en/source/camera_devices/6_benchmark/othertools.md diff --git a/docs/en/source/7_developer_guide/building_a_Debian_Package.md b/docs/en/source/camera_devices/7_developer_guide/building_a_Debian_Package.md similarity index 100% rename from docs/en/source/7_developer_guide/building_a_Debian_Package.md rename to docs/en/source/camera_devices/7_developer_guide/building_a_Debian_Package.md diff --git a/docs/en/source/7_developer_guide/developer_guide.rst b/docs/en/source/camera_devices/7_developer_guide/developer_guide.rst similarity index 100% rename from docs/en/source/7_developer_guide/developer_guide.rst rename to docs/en/source/camera_devices/7_developer_guide/developer_guide.rst diff --git a/docs/en/source/7_developer_guide/migration_guide.md b/docs/en/source/camera_devices/7_developer_guide/migration_guide.md similarity index 100% rename from docs/en/source/7_developer_guide/migration_guide.md rename to docs/en/source/camera_devices/7_developer_guide/migration_guide.md diff --git a/docs/en/source/8_FAQ/FAQ.md b/docs/en/source/camera_devices/8_FAQ/FAQ.md similarity index 100% rename from docs/en/source/8_FAQ/FAQ.md rename to docs/en/source/camera_devices/8_FAQ/FAQ.md diff --git a/docs/en/source/8_FAQ/FAQ.rst b/docs/en/source/camera_devices/8_FAQ/FAQ.rst similarity index 100% rename from docs/en/source/8_FAQ/FAQ.rst rename to docs/en/source/camera_devices/8_FAQ/FAQ.rst diff --git a/docs/en/source/image/Default_Flowchart.png b/docs/en/source/camera_devices/image/Default_Flowchart.png similarity index 100% rename from docs/en/source/image/Default_Flowchart.png rename to docs/en/source/camera_devices/image/Default_Flowchart.png diff --git a/docs/en/source/image/Soft_Architecture.png b/docs/en/source/camera_devices/image/Soft_Architecture.png similarity index 100% rename from docs/en/source/image/Soft_Architecture.png rename to docs/en/source/camera_devices/image/Soft_Architecture.png diff --git a/docs/en/source/image/Standard_Flowchart.png b/docs/en/source/camera_devices/image/Standard_Flowchart.png similarity index 100% rename from docs/en/source/image/Standard_Flowchart.png rename to docs/en/source/camera_devices/image/Standard_Flowchart.png diff --git a/docs/en/source/image/Win_Config_image1.png b/docs/en/source/camera_devices/image/Win_Config_image1.png similarity index 100% rename from docs/en/source/image/Win_Config_image1.png rename to docs/en/source/camera_devices/image/Win_Config_image1.png diff --git a/docs/en/source/image/Win_Config_image10.png b/docs/en/source/camera_devices/image/Win_Config_image10.png similarity index 100% rename from docs/en/source/image/Win_Config_image10.png rename to docs/en/source/camera_devices/image/Win_Config_image10.png diff --git a/docs/en/source/image/Win_Config_image11.png b/docs/en/source/camera_devices/image/Win_Config_image11.png similarity index 100% rename from docs/en/source/image/Win_Config_image11.png rename to docs/en/source/camera_devices/image/Win_Config_image11.png diff --git a/docs/en/source/image/Win_Config_image2.png b/docs/en/source/camera_devices/image/Win_Config_image2.png similarity index 100% rename from docs/en/source/image/Win_Config_image2.png rename to docs/en/source/camera_devices/image/Win_Config_image2.png diff --git a/docs/en/source/image/Win_Config_image3.png b/docs/en/source/camera_devices/image/Win_Config_image3.png similarity index 100% rename from docs/en/source/image/Win_Config_image3.png rename to docs/en/source/camera_devices/image/Win_Config_image3.png diff --git a/docs/en/source/image/Win_Config_image4.png b/docs/en/source/camera_devices/image/Win_Config_image4.png similarity index 100% rename from docs/en/source/image/Win_Config_image4.png rename to docs/en/source/camera_devices/image/Win_Config_image4.png diff --git a/docs/en/source/image/Win_Config_image5.png b/docs/en/source/camera_devices/image/Win_Config_image5.png similarity index 100% rename from docs/en/source/image/Win_Config_image5.png rename to docs/en/source/camera_devices/image/Win_Config_image5.png diff --git a/docs/en/source/image/Win_Config_image6.png b/docs/en/source/camera_devices/image/Win_Config_image6.png similarity index 100% rename from docs/en/source/image/Win_Config_image6.png rename to docs/en/source/camera_devices/image/Win_Config_image6.png diff --git a/docs/en/source/image/Win_Config_image7.png b/docs/en/source/camera_devices/image/Win_Config_image7.png similarity index 100% rename from docs/en/source/image/Win_Config_image7.png rename to docs/en/source/camera_devices/image/Win_Config_image7.png diff --git a/docs/en/source/image/Win_Config_image8.png b/docs/en/source/camera_devices/image/Win_Config_image8.png similarity index 100% rename from docs/en/source/image/Win_Config_image8.png rename to docs/en/source/camera_devices/image/Win_Config_image8.png diff --git a/docs/en/source/image/Win_Config_image9.png b/docs/en/source/camera_devices/image/Win_Config_image9.png similarity index 100% rename from docs/en/source/image/Win_Config_image9.png rename to docs/en/source/camera_devices/image/Win_Config_image9.png diff --git a/docs/en/source/image/align_depth_color/image3.png b/docs/en/source/camera_devices/image/align_depth_color/image3.png similarity index 100% rename from docs/en/source/image/align_depth_color/image3.png rename to docs/en/source/camera_devices/image/align_depth_color/image3.png diff --git a/docs/en/source/image/align_depth_color/image4.jpg b/docs/en/source/camera_devices/image/align_depth_color/image4.jpg similarity index 100% rename from docs/en/source/image/align_depth_color/image4.jpg rename to docs/en/source/camera_devices/image/align_depth_color/image4.jpg diff --git a/docs/en/source/image/application_guide/image0.png b/docs/en/source/camera_devices/image/application_guide/image0.png similarity index 100% rename from docs/en/source/image/application_guide/image0.png rename to docs/en/source/camera_devices/image/application_guide/image0.png diff --git a/docs/en/source/image/application_guide/image1.png b/docs/en/source/camera_devices/image/application_guide/image1.png similarity index 100% rename from docs/en/source/image/application_guide/image1.png rename to docs/en/source/camera_devices/image/application_guide/image1.png diff --git a/docs/en/source/image/application_guide/image2.png b/docs/en/source/camera_devices/image/application_guide/image2.png similarity index 100% rename from docs/en/source/image/application_guide/image2.png rename to docs/en/source/camera_devices/image/application_guide/image2.png diff --git a/docs/en/source/image/application_guide/image3.png b/docs/en/source/camera_devices/image/application_guide/image3.png similarity index 100% rename from docs/en/source/image/application_guide/image3.png rename to docs/en/source/camera_devices/image/application_guide/image3.png diff --git a/docs/en/source/image/application_guide/image4.png b/docs/en/source/camera_devices/image/application_guide/image4.png similarity index 100% rename from docs/en/source/image/application_guide/image4.png rename to docs/en/source/camera_devices/image/application_guide/image4.png diff --git a/docs/en/source/image/application_guide/image5.png b/docs/en/source/camera_devices/image/application_guide/image5.png similarity index 100% rename from docs/en/source/image/application_guide/image5.png rename to docs/en/source/camera_devices/image/application_guide/image5.png diff --git a/docs/en/source/image/benchmark_images/common_benchmark.png b/docs/en/source/camera_devices/image/benchmark_images/common_benchmark.png similarity index 100% rename from docs/en/source/image/benchmark_images/common_benchmark.png rename to docs/en/source/camera_devices/image/benchmark_images/common_benchmark.png diff --git a/docs/en/source/image/benchmark_images/common_benchmark_ros1.png b/docs/en/source/camera_devices/image/benchmark_images/common_benchmark_ros1.png similarity index 100% rename from docs/en/source/image/benchmark_images/common_benchmark_ros1.png rename to docs/en/source/camera_devices/image/benchmark_images/common_benchmark_ros1.png diff --git a/docs/en/source/image/benchmark_images/common_benchmark_ros2.png b/docs/en/source/camera_devices/image/benchmark_images/common_benchmark_ros2.png similarity index 100% rename from docs/en/source/image/benchmark_images/common_benchmark_ros2.png rename to docs/en/source/camera_devices/image/benchmark_images/common_benchmark_ros2.png diff --git a/docs/en/source/image/benchmark_images/service_benchmark.png b/docs/en/source/camera_devices/image/benchmark_images/service_benchmark.png similarity index 100% rename from docs/en/source/image/benchmark_images/service_benchmark.png rename to docs/en/source/camera_devices/image/benchmark_images/service_benchmark.png diff --git a/docs/en/source/image/disparity_search_offset/search_offset0.png b/docs/en/source/camera_devices/image/disparity_search_offset/search_offset0.png similarity index 100% rename from docs/en/source/image/disparity_search_offset/search_offset0.png rename to docs/en/source/camera_devices/image/disparity_search_offset/search_offset0.png diff --git a/docs/en/source/image/interleave_ae_mode/interleave_ae0.jpeg b/docs/en/source/camera_devices/image/interleave_ae_mode/interleave_ae0.jpeg similarity index 100% rename from docs/en/source/image/interleave_ae_mode/interleave_ae0.jpeg rename to docs/en/source/camera_devices/image/interleave_ae_mode/interleave_ae0.jpeg diff --git a/docs/en/source/image/interleave_ae_mode/interleave_ae1.jpeg b/docs/en/source/camera_devices/image/interleave_ae_mode/interleave_ae1.jpeg similarity index 100% rename from docs/en/source/image/interleave_ae_mode/interleave_ae1.jpeg rename to docs/en/source/camera_devices/image/interleave_ae_mode/interleave_ae1.jpeg diff --git a/docs/en/source/image/multi_camera_synced/multi_camera_synced1.png b/docs/en/source/camera_devices/image/multi_camera_synced/multi_camera_synced1.png similarity index 100% rename from docs/en/source/image/multi_camera_synced/multi_camera_synced1.png rename to docs/en/source/camera_devices/image/multi_camera_synced/multi_camera_synced1.png diff --git a/docs/en/source/image/multi_camera_synced/multi_camera_synced2.png b/docs/en/source/camera_devices/image/multi_camera_synced/multi_camera_synced2.png similarity index 100% rename from docs/en/source/image/multi_camera_synced/multi_camera_synced2.png rename to docs/en/source/camera_devices/image/multi_camera_synced/multi_camera_synced2.png diff --git a/docs/en/source/image/multi_sync.png b/docs/en/source/camera_devices/image/multi_sync.png similarity index 100% rename from docs/en/source/image/multi_sync.png rename to docs/en/source/camera_devices/image/multi_sync.png diff --git a/docs/en/source/image/orbbecviewer1.png b/docs/en/source/camera_devices/image/orbbecviewer1.png similarity index 100% rename from docs/en/source/image/orbbecviewer1.png rename to docs/en/source/camera_devices/image/orbbecviewer1.png diff --git a/docs/en/source/image/orbbecviewer2.png b/docs/en/source/camera_devices/image/orbbecviewer2.png similarity index 100% rename from docs/en/source/image/orbbecviewer2.png rename to docs/en/source/camera_devices/image/orbbecviewer2.png diff --git a/docs/en/source/image/orbbecviewer3.png b/docs/en/source/camera_devices/image/orbbecviewer3.png similarity index 100% rename from docs/en/source/image/orbbecviewer3.png rename to docs/en/source/camera_devices/image/orbbecviewer3.png diff --git a/docs/en/source/image/orbbecviewer4.png b/docs/en/source/camera_devices/image/orbbecviewer4.png similarity index 100% rename from docs/en/source/image/orbbecviewer4.png rename to docs/en/source/camera_devices/image/orbbecviewer4.png diff --git a/docs/en/source/image/point_cloud/image5.jpg b/docs/en/source/camera_devices/image/point_cloud/image5.jpg similarity index 100% rename from docs/en/source/image/point_cloud/image5.jpg rename to docs/en/source/camera_devices/image/point_cloud/image5.jpg diff --git a/docs/en/source/image/point_cloud/image6.jpg b/docs/en/source/camera_devices/image/point_cloud/image6.jpg similarity index 100% rename from docs/en/source/image/point_cloud/image6.jpg rename to docs/en/source/camera_devices/image/point_cloud/image6.jpg diff --git a/docs/en/source/image/python_principle.png b/docs/en/source/camera_devices/image/python_principle.png similarity index 100% rename from docs/en/source/image/python_principle.png rename to docs/en/source/camera_devices/image/python_principle.png diff --git a/docs/en/source/image/quick_start.png b/docs/en/source/camera_devices/image/quick_start.png similarity index 100% rename from docs/en/source/image/quick_start.png rename to docs/en/source/camera_devices/image/quick_start.png diff --git a/docs/en/source/image/quick_start_result.png b/docs/en/source/camera_devices/image/quick_start_result.png similarity index 100% rename from docs/en/source/image/quick_start_result.png rename to docs/en/source/camera_devices/image/quick_start_result.png diff --git a/docs/en/source/camera_devices/index.rst b/docs/en/source/camera_devices/index.rst new file mode 100644 index 00000000..7f738071 --- /dev/null +++ b/docs/en/source/camera_devices/index.rst @@ -0,0 +1,16 @@ +Camera Devices +======================================= + +.. toctree:: + :maxdepth: 3 + :numbered: + + 1_overview/overview.rst + 2_installation/installation.rst + 3_quickstarts/quickstarts.rst + 4_application_guide/application_guide.rst + 5_advanced_guide/advanced_guide.rst + 6_benchmark/benchmark.rst + 7_developer_guide/developer_guide.rst + 8_FAQ/FAQ.rst + diff --git a/docs/en/source/lidar_devices/index.rst b/docs/en/source/lidar_devices/index.rst new file mode 100644 index 00000000..e5877489 --- /dev/null +++ b/docs/en/source/lidar_devices/index.rst @@ -0,0 +1,8 @@ +Lidar Devices +======================================= + +.. toctree:: + :maxdepth: 1 + :numbered: + + lidar.md diff --git a/docs/en/source/lidar_devices/lidar.md b/docs/en/source/lidar_devices/lidar.md new file mode 100644 index 00000000..1c587504 --- /dev/null +++ b/docs/en/source/lidar_devices/lidar.md @@ -0,0 +1,208 @@ +This ROS2 driver supports your use of Orbbec single-line/multi-line LiDAR. This document provides installation instructions## 4. IMU Data + +## Installation + +### Prerequisites + +Before using the OrbbecSDK ROS2 LiDAR driver, please ensure that the following dependencies are installed on your system: + +- **ROS2**: A valid installation of ROS2 (Humble, Jazzy, or other supported distributions). + - If you need help, please refer to the [ROS2 Installation Guide](https://docs.ros.org/en/foxy/Installation.html). + +### Install deb Dependencies + +```bash +# assume you have sourced ROS environment, same blow +sudo apt install libgflags-dev nlohmann-json3-dev \ +ros-$ROS_DISTRO-image-transport ros-${ROS_DISTRO}-image-transport-plugins ros-${ROS_DISTRO}-compressed-image-transport \ +ros-$ROS_DISTRO-image-publisher ros-$ROS_DISTRO-camera-info-manager \ +ros-$ROS_DISTRO-diagnostic-updater ros-$ROS_DISTRO-diagnostic-msgs ros-$ROS_DISTRO-statistics-msgs \ +ros-$ROS_DISTRO-backward-ros libdw-dev +``` + +### Install udev Rules + +```bash +cd ~/ros2_ws/src/OrbbecSDK_ROS2/orbbec_camera/scripts +sudo bash install_udev_rules.sh +sudo udevadm control --reload-rules && sudo udevadm trigger +``` + +### Build the Package + +```bash +cd ~/ros2_ws/ +# Build release version, default is Debug +colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_BUILD_TYPE=Release +``` + +### Launch the LiDAR Node + +* First terminal + +```bash +. ./install/setup.bash +ros2 launch orbbec_camera lidar.launch.py +``` + +* Second terminal + +```bash +. ./install/setup.bash +rviz2 +``` + +1. Open Rviz2. +2. Add a `PointCloud2` or `LaserScan` display. +3. For `PointCloud2`, select the `/lidar/cloud/points` topic; for `LaserScan`, select the `/lidar/scan/points` topic. +4. Set the `Fixed Frame` to `lidar_lidar_frame` to properly align the data. + +* `PointCloud2` visualization example: + +![module in rviz2](./docs/images/lidar0.jpg) + +* `LaserScan` visualization example: + +![module in rviz2](./docs/images/lidar1.png) + +## Usage + +### Running the Driver + +To start the driver, launch the provided ROS2 launch file: + +```bash +source install/setup.bash +# Launch the driver with point cloud data +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_POINT +# Launch the driver with sphere point cloud data +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_SPHERE_POINT +# Launch the driver with laser scan data +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_SCAN +# Launch the driver with IMU enabled +ros2 launch orbbec_camera lidar.launch.py enable_imu:=true imu_rate:=50hz +# Launch the driver with both point cloud and IMU data +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_POINT enable_imu:=true imu_rate:=100hz +``` + +This command will start the node that interfaces with the Orbbec LiDAR device. Please ensure that the LiDAR hardware is properly connected before running this command. + +### Get Device Information for Connected LiDARs + +```bash +ros2 run orbbec_camera list_devices_node +``` + +This command will list the connected LiDAR devices and display their respective IP addresses and ports. You can use this information to configure the driver to connect to specific devices. + +### Check Which Configurations the LiDAR Supports + +```bash +ros2 run orbbec_camera list_camera_profile_mode_node +``` + +### Parameters and Configuration + +The `lidar.launch.py` file contains default parameters for the driver. You can customize these settings by modifying the launch file or creating a custom configuration file. Key parameters include: + +- **device_type**: The type of device to launch. Optional values: `lidar`, `camera`. Setting this parameter to `lidar` launches the LiDAR device, setting it to `camera` launches the camera device. +- **camera_name**: Launch node namespace. +- **device_num**: Number of devices. This must be filled if you need to launch multiple devices. +- **upgrade_firmware**: Firmware upgrade function. The input parameter is the firmware path. +- **connection_delay**: Delay time (in milliseconds) for reopening the device. Immediately reopening the device during hot-plugging may cause firmware crashes. +- **publish_tf**: Enable TF publishing. +- **tf_publish_rate**: TF publishing frequency. +- **lidar_format**: Data format for the LiDAR. Optional values: `LIDAR_POINT`, `LIDAR_SPHERE_POINT`, `LIDAR_SCAN` +- **lidar_rate**: Scan rate of the LiDAR. +- **publish_n_pkts**: Number of frames to accumulate before publishing merged point cloud. Range: 1-12000. Only effective when lidar_format is `LIDAR_POINT` or `LIDAR_SPHERE_POINT`, used to merge specified number of frames before publishing. Default value: `1` +- **enable_scan_to_point**: Enable conversion of scan data to point cloud data, publishing PointCloud2 data type topics. +- **repetitive_scan_mode**: Repetitive scan mode parameter. +- **filter_level**: Add filter level parameter. +- **vertical_fov**: Vertical angle parameter. +- **min_angle**: Minimum angle of the LiDAR scan range in degrees (e.g., `-135.0`). Default value: `-135.0`. +- **max_angle**: Maximum angle of the LiDAR scan range in degrees (e.g., `135.0`). Default value: `135.0`. +- **min_range**: Minimum distance the LiDAR can measure in meters. Default value: `0.05`. +- **max_range**: Maximum distance the LiDAR can measure in meters. Default value: `30.0`. +- **echo_mode**: Echo mode of the LiDAR. Optional values: `Last Echo`, `First Echo` +- **point_cloud_qos**: ROS 2 message Quality of Service (QoS) settings. Possible values include `SYSTEM_DEFAULT`, `DEFAULT`, `PARAMETER_EVENTS`, `SERVICES_DEFAULT`, `PARAMETERS`, and `SENSOR_DATA`, and are case-insensitive. These values correspond to `rmw_qos_profile_system_default`, `rmw_qos_profile_default`, `rmw_qos_profile_parameter_events`, `rmw_qos_profile_services_default`, `rmw_qos_profile_parameters`, and `SENSOR_DATA` respectively. +- **enumerate_net_device**: Enable automatic enumeration of network devices. +- **net_device_ip**: IP address of the network device. +- **net_device_port**: Port number on the network side. +- **log_level**: SDK log level, default value is `none`, optional values are `debug`, `info`, `warn`, `error`, `fatal` +- **time_domain**: Timestamp type of the device. Optional values are `device`, `global`, `system` +- **config_file_path**: Path to the YAML configuration file. Default value is "". If no configuration file is specified, default parameters from the launch file will be used. +- **enable_heartbeat**: Enable heartbeat function, default is `false`. If set to `true`, the camera node will send heartbeat signals to the firmware; this should also be set to `true` if hardware logging is required. +- **enable_imu**: Enable IMU (accelerometer + gyroscope) and output unified IMU topic data. +- **imu_rate**: Unified frequency of the IMU (both accelerometer and gyroscope). +- **accel_range**: Range of the accelerometer. +- **gyro_range**: Range of the gyroscope. +- **linear_accel_cov**: Linear acceleration covariance value, default is `0.0001`. +- **angular_vel_cov**: Angular velocity covariance value, default is `0.0001`. + +## Point Cloud Data Details + +### Point Cloud Format + +PointCloud2 (PointXYZITO) point cloud format is as follows: + +``` +float32 x # X axis, unit: meters +float32 y # Y axis, unit: meters +float32 z # Z axis, unit: meters +uint8 intensity # LiDAR intensity +uint8 tag # LiDAR tag +uint32 offset_time # Point cloud offset relative to topic time, unit nanoseconds +``` + +### Point Cloud Aggregation Functionality + +The `publish_n_pkts` parameter enables point cloud aggregation functionality, which allows the LiDAR to accumulate a specified number of frames before publishing, then merge these frames into a larger point cloud data package for publishing. + +#### Features: + +- **Parameter Range**: 1-12000 frames +- **Applicable Formats**: Only effective when lidar format is `LIDAR_POINT` or `LIDAR_SPHERE_POINT` +- **Default Value**: 1 (no aggregation, each frame published individually) +- **Purpose**: Improve point cloud density, suitable for applications requiring denser point cloud data + +#### Usage Examples: + +```bash +# Aggregate 10 frames before publishing +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_POINT publish_n_pkts:=10 + +# Aggregate 100 frames before publishing +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_SPHERE_POINT publish_n_pkts:=100 +``` + +**Note**: Increasing the `publish_n_pkts` value will improve point cloud density but will also increase latency and memory usage. Please adjust according to actual application requirements. + +## IMU Data + +### IMU Topics + +When IMU is enabled, the following topics will be published: + +- **`/lidar/imu/sample`**: Unified IMU topic containing synchronized accelerometer and gyroscope data in `sensor_msgs/Imu` format. +- **`/lidar/lidar_to_imu`**: Transform from LiDAR frame to IMU frame. + +### Using IMU Data + +To enable IMU data collection: + +```bash +# Launch with IMU enabled +ros2 launch orbbec_camera lidar.launch.py enable_imu:=true imu_rate:=50hz + +# Check IMU topics +ros2 topic list | grep imu + +# View IMU data +ros2 topic echo /lidar/imu/sample +``` + +The IMU data includes: + +- **linear_acceleration**: 3D acceleration data (x, y, z) in m/s² +- **angular_velocity**: 3D angular velocity data (x, y, z) in rad/s +- **orientation**: Quaternion orientation (not provided by hardware, set to zero) diff --git a/docs/zh/source/1_overview/introduction.md b/docs/zh/source/camera_devices/1_overview/introduction.md similarity index 100% rename from docs/zh/source/1_overview/introduction.md rename to docs/zh/source/camera_devices/1_overview/introduction.md diff --git a/docs/zh/source/1_overview/orbbecsdk_overview.md b/docs/zh/source/camera_devices/1_overview/orbbecsdk_overview.md similarity index 100% rename from docs/zh/source/1_overview/orbbecsdk_overview.md rename to docs/zh/source/camera_devices/1_overview/orbbecsdk_overview.md diff --git a/docs/zh/source/1_overview/overview.rst b/docs/zh/source/camera_devices/1_overview/overview.rst similarity index 100% rename from docs/zh/source/1_overview/overview.rst rename to docs/zh/source/camera_devices/1_overview/overview.rst diff --git a/docs/zh/source/2_installation/build_the_package.md b/docs/zh/source/camera_devices/2_installation/build_the_package.md similarity index 100% rename from docs/zh/source/2_installation/build_the_package.md rename to docs/zh/source/camera_devices/2_installation/build_the_package.md diff --git a/docs/zh/source/2_installation/installation.rst b/docs/zh/source/camera_devices/2_installation/installation.rst similarity index 100% rename from docs/zh/source/2_installation/installation.rst rename to docs/zh/source/camera_devices/2_installation/installation.rst diff --git a/docs/zh/source/2_installation/registration_script.md b/docs/zh/source/camera_devices/2_installation/registration_script.md similarity index 100% rename from docs/zh/source/2_installation/registration_script.md rename to docs/zh/source/camera_devices/2_installation/registration_script.md diff --git a/docs/zh/source/3_quickstarts/orbbecviewer.md b/docs/zh/source/camera_devices/3_quickstarts/orbbecviewer.md similarity index 100% rename from docs/zh/source/3_quickstarts/orbbecviewer.md rename to docs/zh/source/camera_devices/3_quickstarts/orbbecviewer.md diff --git a/docs/zh/source/3_quickstarts/quickstart.md b/docs/zh/source/camera_devices/3_quickstarts/quickstart.md similarity index 100% rename from docs/zh/source/3_quickstarts/quickstart.md rename to docs/zh/source/camera_devices/3_quickstarts/quickstart.md diff --git a/docs/zh/source/3_quickstarts/quickstarts.rst b/docs/zh/source/camera_devices/3_quickstarts/quickstarts.rst similarity index 100% rename from docs/zh/source/3_quickstarts/quickstarts.rst rename to docs/zh/source/camera_devices/3_quickstarts/quickstarts.rst diff --git a/docs/zh/source/4_application_guide/application_guide.rst b/docs/zh/source/camera_devices/4_application_guide/application_guide.rst similarity index 100% rename from docs/zh/source/4_application_guide/application_guide.rst rename to docs/zh/source/camera_devices/4_application_guide/application_guide.rst diff --git a/docs/zh/source/4_application_guide/compressed_image.md b/docs/zh/source/camera_devices/4_application_guide/compressed_image.md similarity index 100% rename from docs/zh/source/4_application_guide/compressed_image.md rename to docs/zh/source/camera_devices/4_application_guide/compressed_image.md diff --git a/docs/zh/source/4_application_guide/coordinate_and_tf.md b/docs/zh/source/camera_devices/4_application_guide/coordinate_and_tf.md similarity index 100% rename from docs/zh/source/4_application_guide/coordinate_and_tf.md rename to docs/zh/source/camera_devices/4_application_guide/coordinate_and_tf.md diff --git a/docs/zh/source/4_application_guide/launch_parameters.md b/docs/zh/source/camera_devices/4_application_guide/launch_parameters.md similarity index 100% rename from docs/zh/source/4_application_guide/launch_parameters.md rename to docs/zh/source/camera_devices/4_application_guide/launch_parameters.md diff --git a/docs/zh/source/4_application_guide/point_cloud.md b/docs/zh/source/camera_devices/4_application_guide/point_cloud.md similarity index 100% rename from docs/zh/source/4_application_guide/point_cloud.md rename to docs/zh/source/camera_devices/4_application_guide/point_cloud.md diff --git a/docs/zh/source/4_application_guide/services.md b/docs/zh/source/camera_devices/4_application_guide/services.md similarity index 100% rename from docs/zh/source/4_application_guide/services.md rename to docs/zh/source/camera_devices/4_application_guide/services.md diff --git a/docs/zh/source/4_application_guide/topics.md b/docs/zh/source/camera_devices/4_application_guide/topics.md similarity index 100% rename from docs/zh/source/4_application_guide/topics.md rename to docs/zh/source/camera_devices/4_application_guide/topics.md diff --git a/docs/zh/source/5_advanced_guide/advanced_guide.rst b/docs/zh/source/camera_devices/5_advanced_guide/advanced_guide.rst similarity index 100% rename from docs/zh/source/5_advanced_guide/advanced_guide.rst rename to docs/zh/source/camera_devices/5_advanced_guide/advanced_guide.rst diff --git a/docs/zh/source/5_advanced_guide/configuration/align_depth_color.md b/docs/zh/source/camera_devices/5_advanced_guide/configuration/align_depth_color.md similarity index 100% rename from docs/zh/source/5_advanced_guide/configuration/align_depth_color.md rename to docs/zh/source/camera_devices/5_advanced_guide/configuration/align_depth_color.md diff --git a/docs/zh/source/5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.md b/docs/zh/source/camera_devices/5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.md similarity index 100% rename from docs/zh/source/5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.md rename to docs/zh/source/camera_devices/5_advanced_guide/configuration/configuration_of_depth_NFOV_and_WFOV_modes.md diff --git a/docs/zh/source/5_advanced_guide/configuration/depth_work_mode_switch.md b/docs/zh/source/camera_devices/5_advanced_guide/configuration/depth_work_mode_switch.md similarity index 100% rename from docs/zh/source/5_advanced_guide/configuration/depth_work_mode_switch.md rename to docs/zh/source/camera_devices/5_advanced_guide/configuration/depth_work_mode_switch.md diff --git a/docs/zh/source/5_advanced_guide/configuration/disparity_search_offset.md b/docs/zh/source/camera_devices/5_advanced_guide/configuration/disparity_search_offset.md similarity index 100% rename from docs/zh/source/5_advanced_guide/configuration/disparity_search_offset.md rename to docs/zh/source/camera_devices/5_advanced_guide/configuration/disparity_search_offset.md diff --git a/docs/zh/source/5_advanced_guide/configuration/interleave_ae_mode.md b/docs/zh/source/camera_devices/5_advanced_guide/configuration/interleave_ae_mode.md similarity index 100% rename from docs/zh/source/5_advanced_guide/configuration/interleave_ae_mode.md rename to docs/zh/source/camera_devices/5_advanced_guide/configuration/interleave_ae_mode.md diff --git a/docs/zh/source/5_advanced_guide/configuration/net_camera.md b/docs/zh/source/camera_devices/5_advanced_guide/configuration/net_camera.md similarity index 100% rename from docs/zh/source/5_advanced_guide/configuration/net_camera.md rename to docs/zh/source/camera_devices/5_advanced_guide/configuration/net_camera.md diff --git a/docs/zh/source/5_advanced_guide/configuration/predefined_presets.md b/docs/zh/source/camera_devices/5_advanced_guide/configuration/predefined_presets.md similarity index 100% rename from docs/zh/source/5_advanced_guide/configuration/predefined_presets.md rename to docs/zh/source/camera_devices/5_advanced_guide/configuration/predefined_presets.md diff --git a/docs/zh/source/5_advanced_guide/multi_camera/gmsl_camera.md b/docs/zh/source/camera_devices/5_advanced_guide/multi_camera/gmsl_camera.md similarity index 100% rename from docs/zh/source/5_advanced_guide/multi_camera/gmsl_camera.md rename to docs/zh/source/camera_devices/5_advanced_guide/multi_camera/gmsl_camera.md diff --git a/docs/zh/source/5_advanced_guide/multi_camera/multi_camera.md b/docs/zh/source/camera_devices/5_advanced_guide/multi_camera/multi_camera.md similarity index 100% rename from docs/zh/source/5_advanced_guide/multi_camera/multi_camera.md rename to docs/zh/source/camera_devices/5_advanced_guide/multi_camera/multi_camera.md diff --git a/docs/zh/source/5_advanced_guide/multi_camera/multi_camera_synced.md b/docs/zh/source/camera_devices/5_advanced_guide/multi_camera/multi_camera_synced.md similarity index 100% rename from docs/zh/source/5_advanced_guide/multi_camera/multi_camera_synced.md rename to docs/zh/source/camera_devices/5_advanced_guide/multi_camera/multi_camera_synced.md diff --git a/docs/zh/source/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md b/docs/zh/source/camera_devices/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md similarity index 100% rename from docs/zh/source/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md rename to docs/zh/source/camera_devices/5_advanced_guide/multi_camera/multi_camera_synced_verification_tool.md diff --git a/docs/zh/source/5_advanced_guide/performance/efficient_intra_process_communication.md b/docs/zh/source/camera_devices/5_advanced_guide/performance/efficient_intra_process_communication.md similarity index 100% rename from docs/zh/source/5_advanced_guide/performance/efficient_intra_process_communication.md rename to docs/zh/source/camera_devices/5_advanced_guide/performance/efficient_intra_process_communication.md diff --git a/docs/zh/source/5_advanced_guide/performance/fastdds_tuning.md b/docs/zh/source/camera_devices/5_advanced_guide/performance/fastdds_tuning.md similarity index 100% rename from docs/zh/source/5_advanced_guide/performance/fastdds_tuning.md rename to docs/zh/source/camera_devices/5_advanced_guide/performance/fastdds_tuning.md diff --git a/docs/zh/source/5_advanced_guide/performance/lower_cpu_usage.md b/docs/zh/source/camera_devices/5_advanced_guide/performance/lower_cpu_usage.md similarity index 100% rename from docs/zh/source/5_advanced_guide/performance/lower_cpu_usage.md rename to docs/zh/source/camera_devices/5_advanced_guide/performance/lower_cpu_usage.md diff --git a/docs/zh/source/6_benchmark/benchmark.rst b/docs/zh/source/camera_devices/6_benchmark/benchmark.rst similarity index 100% rename from docs/zh/source/6_benchmark/benchmark.rst rename to docs/zh/source/camera_devices/6_benchmark/benchmark.rst diff --git a/docs/zh/source/6_benchmark/benchmark_data.md b/docs/zh/source/camera_devices/6_benchmark/benchmark_data.md similarity index 100% rename from docs/zh/source/6_benchmark/benchmark_data.md rename to docs/zh/source/camera_devices/6_benchmark/benchmark_data.md diff --git a/docs/zh/source/6_benchmark/benchmark_usage.md b/docs/zh/source/camera_devices/6_benchmark/benchmark_usage.md similarity index 100% rename from docs/zh/source/6_benchmark/benchmark_usage.md rename to docs/zh/source/camera_devices/6_benchmark/benchmark_usage.md diff --git a/docs/zh/source/6_benchmark/introduction.md b/docs/zh/source/camera_devices/6_benchmark/introduction.md similarity index 100% rename from docs/zh/source/6_benchmark/introduction.md rename to docs/zh/source/camera_devices/6_benchmark/introduction.md diff --git a/docs/zh/source/6_benchmark/othertools.md b/docs/zh/source/camera_devices/6_benchmark/othertools.md similarity index 100% rename from docs/zh/source/6_benchmark/othertools.md rename to docs/zh/source/camera_devices/6_benchmark/othertools.md diff --git a/docs/zh/source/7_developer_guide/building_a_Debian_Package.md b/docs/zh/source/camera_devices/7_developer_guide/building_a_Debian_Package.md similarity index 100% rename from docs/zh/source/7_developer_guide/building_a_Debian_Package.md rename to docs/zh/source/camera_devices/7_developer_guide/building_a_Debian_Package.md diff --git a/docs/zh/source/7_developer_guide/developer_guide.rst b/docs/zh/source/camera_devices/7_developer_guide/developer_guide.rst similarity index 100% rename from docs/zh/source/7_developer_guide/developer_guide.rst rename to docs/zh/source/camera_devices/7_developer_guide/developer_guide.rst diff --git a/docs/zh/source/7_developer_guide/migration_guide.md b/docs/zh/source/camera_devices/7_developer_guide/migration_guide.md similarity index 100% rename from docs/zh/source/7_developer_guide/migration_guide.md rename to docs/zh/source/camera_devices/7_developer_guide/migration_guide.md diff --git a/docs/zh/source/8_FAQ/FAQ.md b/docs/zh/source/camera_devices/8_FAQ/FAQ.md similarity index 100% rename from docs/zh/source/8_FAQ/FAQ.md rename to docs/zh/source/camera_devices/8_FAQ/FAQ.md diff --git a/docs/zh/source/8_FAQ/FAQ.rst b/docs/zh/source/camera_devices/8_FAQ/FAQ.rst similarity index 100% rename from docs/zh/source/8_FAQ/FAQ.rst rename to docs/zh/source/camera_devices/8_FAQ/FAQ.rst diff --git a/docs/zh/source/image/Default_Flowchart.png b/docs/zh/source/camera_devices/image/Default_Flowchart.png similarity index 100% rename from docs/zh/source/image/Default_Flowchart.png rename to docs/zh/source/camera_devices/image/Default_Flowchart.png diff --git a/docs/zh/source/image/Soft_Architecture.png b/docs/zh/source/camera_devices/image/Soft_Architecture.png similarity index 100% rename from docs/zh/source/image/Soft_Architecture.png rename to docs/zh/source/camera_devices/image/Soft_Architecture.png diff --git a/docs/zh/source/image/Standard_Flowchart.png b/docs/zh/source/camera_devices/image/Standard_Flowchart.png similarity index 100% rename from docs/zh/source/image/Standard_Flowchart.png rename to docs/zh/source/camera_devices/image/Standard_Flowchart.png diff --git a/docs/zh/source/image/Win_Config_image1.png b/docs/zh/source/camera_devices/image/Win_Config_image1.png similarity index 100% rename from docs/zh/source/image/Win_Config_image1.png rename to docs/zh/source/camera_devices/image/Win_Config_image1.png diff --git a/docs/zh/source/image/Win_Config_image10.png b/docs/zh/source/camera_devices/image/Win_Config_image10.png similarity index 100% rename from docs/zh/source/image/Win_Config_image10.png rename to docs/zh/source/camera_devices/image/Win_Config_image10.png diff --git a/docs/zh/source/image/Win_Config_image11.png b/docs/zh/source/camera_devices/image/Win_Config_image11.png similarity index 100% rename from docs/zh/source/image/Win_Config_image11.png rename to docs/zh/source/camera_devices/image/Win_Config_image11.png diff --git a/docs/zh/source/image/Win_Config_image2.png b/docs/zh/source/camera_devices/image/Win_Config_image2.png similarity index 100% rename from docs/zh/source/image/Win_Config_image2.png rename to docs/zh/source/camera_devices/image/Win_Config_image2.png diff --git a/docs/zh/source/image/Win_Config_image3.png b/docs/zh/source/camera_devices/image/Win_Config_image3.png similarity index 100% rename from docs/zh/source/image/Win_Config_image3.png rename to docs/zh/source/camera_devices/image/Win_Config_image3.png diff --git a/docs/zh/source/image/Win_Config_image4.png b/docs/zh/source/camera_devices/image/Win_Config_image4.png similarity index 100% rename from docs/zh/source/image/Win_Config_image4.png rename to docs/zh/source/camera_devices/image/Win_Config_image4.png diff --git a/docs/zh/source/image/Win_Config_image5.png b/docs/zh/source/camera_devices/image/Win_Config_image5.png similarity index 100% rename from docs/zh/source/image/Win_Config_image5.png rename to docs/zh/source/camera_devices/image/Win_Config_image5.png diff --git a/docs/zh/source/image/Win_Config_image6.png b/docs/zh/source/camera_devices/image/Win_Config_image6.png similarity index 100% rename from docs/zh/source/image/Win_Config_image6.png rename to docs/zh/source/camera_devices/image/Win_Config_image6.png diff --git a/docs/zh/source/image/Win_Config_image7.png b/docs/zh/source/camera_devices/image/Win_Config_image7.png similarity index 100% rename from docs/zh/source/image/Win_Config_image7.png rename to docs/zh/source/camera_devices/image/Win_Config_image7.png diff --git a/docs/zh/source/image/Win_Config_image8.png b/docs/zh/source/camera_devices/image/Win_Config_image8.png similarity index 100% rename from docs/zh/source/image/Win_Config_image8.png rename to docs/zh/source/camera_devices/image/Win_Config_image8.png diff --git a/docs/zh/source/image/Win_Config_image9.png b/docs/zh/source/camera_devices/image/Win_Config_image9.png similarity index 100% rename from docs/zh/source/image/Win_Config_image9.png rename to docs/zh/source/camera_devices/image/Win_Config_image9.png diff --git a/docs/zh/source/image/align_depth_color/image3.png b/docs/zh/source/camera_devices/image/align_depth_color/image3.png similarity index 100% rename from docs/zh/source/image/align_depth_color/image3.png rename to docs/zh/source/camera_devices/image/align_depth_color/image3.png diff --git a/docs/zh/source/image/align_depth_color/image4.jpg b/docs/zh/source/camera_devices/image/align_depth_color/image4.jpg similarity index 100% rename from docs/zh/source/image/align_depth_color/image4.jpg rename to docs/zh/source/camera_devices/image/align_depth_color/image4.jpg diff --git a/docs/zh/source/image/application_guide/image0.png b/docs/zh/source/camera_devices/image/application_guide/image0.png similarity index 100% rename from docs/zh/source/image/application_guide/image0.png rename to docs/zh/source/camera_devices/image/application_guide/image0.png diff --git a/docs/zh/source/image/application_guide/image1.png b/docs/zh/source/camera_devices/image/application_guide/image1.png similarity index 100% rename from docs/zh/source/image/application_guide/image1.png rename to docs/zh/source/camera_devices/image/application_guide/image1.png diff --git a/docs/zh/source/image/application_guide/image2.png b/docs/zh/source/camera_devices/image/application_guide/image2.png similarity index 100% rename from docs/zh/source/image/application_guide/image2.png rename to docs/zh/source/camera_devices/image/application_guide/image2.png diff --git a/docs/zh/source/image/application_guide/image3.png b/docs/zh/source/camera_devices/image/application_guide/image3.png similarity index 100% rename from docs/zh/source/image/application_guide/image3.png rename to docs/zh/source/camera_devices/image/application_guide/image3.png diff --git a/docs/zh/source/image/application_guide/image4.png b/docs/zh/source/camera_devices/image/application_guide/image4.png similarity index 100% rename from docs/zh/source/image/application_guide/image4.png rename to docs/zh/source/camera_devices/image/application_guide/image4.png diff --git a/docs/zh/source/image/application_guide/image5.png b/docs/zh/source/camera_devices/image/application_guide/image5.png similarity index 100% rename from docs/zh/source/image/application_guide/image5.png rename to docs/zh/source/camera_devices/image/application_guide/image5.png diff --git a/docs/zh/source/image/benchmark_images/common_benchmark.png b/docs/zh/source/camera_devices/image/benchmark_images/common_benchmark.png similarity index 100% rename from docs/zh/source/image/benchmark_images/common_benchmark.png rename to docs/zh/source/camera_devices/image/benchmark_images/common_benchmark.png diff --git a/docs/zh/source/image/benchmark_images/common_benchmark_ros1.png b/docs/zh/source/camera_devices/image/benchmark_images/common_benchmark_ros1.png similarity index 100% rename from docs/zh/source/image/benchmark_images/common_benchmark_ros1.png rename to docs/zh/source/camera_devices/image/benchmark_images/common_benchmark_ros1.png diff --git a/docs/zh/source/image/benchmark_images/common_benchmark_ros2.png b/docs/zh/source/camera_devices/image/benchmark_images/common_benchmark_ros2.png similarity index 100% rename from docs/zh/source/image/benchmark_images/common_benchmark_ros2.png rename to docs/zh/source/camera_devices/image/benchmark_images/common_benchmark_ros2.png diff --git a/docs/zh/source/image/benchmark_images/service_benchmark.png b/docs/zh/source/camera_devices/image/benchmark_images/service_benchmark.png similarity index 100% rename from docs/zh/source/image/benchmark_images/service_benchmark.png rename to docs/zh/source/camera_devices/image/benchmark_images/service_benchmark.png diff --git a/docs/zh/source/image/disparity_search_offset/search_offset0.png b/docs/zh/source/camera_devices/image/disparity_search_offset/search_offset0.png similarity index 100% rename from docs/zh/source/image/disparity_search_offset/search_offset0.png rename to docs/zh/source/camera_devices/image/disparity_search_offset/search_offset0.png diff --git a/docs/zh/source/image/interleave_ae_mode/interleave_ae0.jpeg b/docs/zh/source/camera_devices/image/interleave_ae_mode/interleave_ae0.jpeg similarity index 100% rename from docs/zh/source/image/interleave_ae_mode/interleave_ae0.jpeg rename to docs/zh/source/camera_devices/image/interleave_ae_mode/interleave_ae0.jpeg diff --git a/docs/zh/source/image/interleave_ae_mode/interleave_ae1.jpeg b/docs/zh/source/camera_devices/image/interleave_ae_mode/interleave_ae1.jpeg similarity index 100% rename from docs/zh/source/image/interleave_ae_mode/interleave_ae1.jpeg rename to docs/zh/source/camera_devices/image/interleave_ae_mode/interleave_ae1.jpeg diff --git a/docs/zh/source/image/multi_camera_synced/multi_camera_synced1.png b/docs/zh/source/camera_devices/image/multi_camera_synced/multi_camera_synced1.png similarity index 100% rename from docs/zh/source/image/multi_camera_synced/multi_camera_synced1.png rename to docs/zh/source/camera_devices/image/multi_camera_synced/multi_camera_synced1.png diff --git a/docs/zh/source/image/multi_camera_synced/multi_camera_synced2.png b/docs/zh/source/camera_devices/image/multi_camera_synced/multi_camera_synced2.png similarity index 100% rename from docs/zh/source/image/multi_camera_synced/multi_camera_synced2.png rename to docs/zh/source/camera_devices/image/multi_camera_synced/multi_camera_synced2.png diff --git a/docs/zh/source/image/multi_sync.png b/docs/zh/source/camera_devices/image/multi_sync.png similarity index 100% rename from docs/zh/source/image/multi_sync.png rename to docs/zh/source/camera_devices/image/multi_sync.png diff --git a/docs/zh/source/image/orbbecviewer1.png b/docs/zh/source/camera_devices/image/orbbecviewer1.png similarity index 100% rename from docs/zh/source/image/orbbecviewer1.png rename to docs/zh/source/camera_devices/image/orbbecviewer1.png diff --git a/docs/zh/source/image/orbbecviewer2.png b/docs/zh/source/camera_devices/image/orbbecviewer2.png similarity index 100% rename from docs/zh/source/image/orbbecviewer2.png rename to docs/zh/source/camera_devices/image/orbbecviewer2.png diff --git a/docs/zh/source/image/orbbecviewer3.png b/docs/zh/source/camera_devices/image/orbbecviewer3.png similarity index 100% rename from docs/zh/source/image/orbbecviewer3.png rename to docs/zh/source/camera_devices/image/orbbecviewer3.png diff --git a/docs/zh/source/image/orbbecviewer4.png b/docs/zh/source/camera_devices/image/orbbecviewer4.png similarity index 100% rename from docs/zh/source/image/orbbecviewer4.png rename to docs/zh/source/camera_devices/image/orbbecviewer4.png diff --git a/docs/zh/source/image/point_cloud/image5.jpg b/docs/zh/source/camera_devices/image/point_cloud/image5.jpg similarity index 100% rename from docs/zh/source/image/point_cloud/image5.jpg rename to docs/zh/source/camera_devices/image/point_cloud/image5.jpg diff --git a/docs/zh/source/image/point_cloud/image6.jpg b/docs/zh/source/camera_devices/image/point_cloud/image6.jpg similarity index 100% rename from docs/zh/source/image/point_cloud/image6.jpg rename to docs/zh/source/camera_devices/image/point_cloud/image6.jpg diff --git a/docs/zh/source/image/python_principle.png b/docs/zh/source/camera_devices/image/python_principle.png similarity index 100% rename from docs/zh/source/image/python_principle.png rename to docs/zh/source/camera_devices/image/python_principle.png diff --git a/docs/zh/source/image/quick_start.png b/docs/zh/source/camera_devices/image/quick_start.png similarity index 100% rename from docs/zh/source/image/quick_start.png rename to docs/zh/source/camera_devices/image/quick_start.png diff --git a/docs/zh/source/image/quick_start_result.png b/docs/zh/source/camera_devices/image/quick_start_result.png similarity index 100% rename from docs/zh/source/image/quick_start_result.png rename to docs/zh/source/camera_devices/image/quick_start_result.png diff --git a/docs/zh/source/camera_devices/index.rst b/docs/zh/source/camera_devices/index.rst new file mode 100644 index 00000000..b3e14b09 --- /dev/null +++ b/docs/zh/source/camera_devices/index.rst @@ -0,0 +1,16 @@ +Camera Devices +======================================= + +.. toctree:: + :maxdepth: 3 + :numbered: + + source/1_overview/overview.rst + source/2_installation/installation.rst + source/3_quickstarts/quickstarts.rst + source/4_application_guide/application_guide.rst + source/5_advanced_guide/advanced_guide.rst + source/6_benchmark/benchmark.rst + source/7_developer_guide/developer_guide.rst + source/8_FAQ/FAQ.rst + diff --git a/docs/zh/source/lidar_devices/index.rst b/docs/zh/source/lidar_devices/index.rst new file mode 100644 index 00000000..e5877489 --- /dev/null +++ b/docs/zh/source/lidar_devices/index.rst @@ -0,0 +1,8 @@ +Lidar Devices +======================================= + +.. toctree:: + :maxdepth: 1 + :numbered: + + lidar.md diff --git a/docs/zh/source/lidar_devices/lidar.md b/docs/zh/source/lidar_devices/lidar.md new file mode 100644 index 00000000..312fec6f --- /dev/null +++ b/docs/zh/source/lidar_devices/lidar.md @@ -0,0 +1,208 @@ +本ROS2驱动支持您使用奥比中光单线/多线激光雷达。本文档提供安装说明、使用指南和其他重要信息,帮助您快速开始使用此驱动。 + +## 安装 + +### 先决条件 + +在使用OrbbecSDK ROS2 LiDAR驱动程序之前,请确保您的系统上安装了以下依赖项: + +- **ROS2**:Humble、Jazzy 或其他受支持的发行版。 + - 如果您需要帮助,请参阅[ROS2安装指南](https://docs.ros.org/en/foxy/Installation.html)。 + +### 安装deb依赖项 + +```bash +# 假设您已经配置了ROS环境,下同 +sudo apt install libgflags-dev nlohmann-json3-dev \ +ros-$ROS_DISTRO-image-transport ros-${ROS_DISTRO}-image-transport-plugins ros-${ROS_DISTRO}-compressed-image-transport \ +ros-$ROS_DISTRO-image-publisher ros-$ROS_DISTRO-camera-info-manager \ +ros-$ROS_DISTRO-diagnostic-updater ros-$ROS_DISTRO-diagnostic-msgs ros-$ROS_DISTRO-statistics-msgs \ +ros-$ROS_DISTRO-backward-ros libdw-dev +``` + +### 安装udev规则 + +```bash +cd ~/ros2_ws/src/OrbbecSDK_ROS2/orbbec_camera/scripts +sudo bash install_udev_rules.sh +sudo udevadm control --reload-rules && sudo udevadm trigger +``` + +### 构建包 + +```bash +cd ~/ros2_ws/ +# 构建发布版本,默认为调试版本 +colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_BUILD_TYPE=Release +``` + +### 启动激光雷达节点 + +* 第一个终端 + +```bash +. ./install/setup.bash +ros2 launch orbbec_camera lidar.launch.py +``` + +* 第二个终端 + +```bash +. ./install/setup.bash +rviz2 +``` + +1. 打开Rviz2。 +2. 添加 `PointCloud2`或 `LaserScan`显示。 +3. 对于 `PointCloud2`,选择 `/lidar/cloud/points`话题;对于 `LaserScan`,选择 `/lidar/scan/points`话题。 +4. 将 `Fixed Frame`设置为 `lidar_lidar_frame`以正确对齐数据。 + +* `PointCloud2`可视化示例: + +![rviz2中的模块](./docs/images/lidar0.jpg) + +* `LaserScan`可视化示例: + +![rviz2中的模块](./docs/images/lidar1.png) + +## 使用方法 + +### 运行驱动 + +要启动驱动,请启动提供的ROS2启动文件: + +```bash +source install/setup.bash +# 启动带有点云数据的驱动 +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_POINT +# 启动带有球面点云数据的驱动 +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_SPHERE_POINT +# 启动带有激光扫描数据的驱动 +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_SCAN +# 启动启用IMU的驱动 +ros2 launch orbbec_camera lidar.launch.py enable_imu:=true imu_rate:=50hz +# 启动同时包含点云和IMU数据的驱动 +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_POINT enable_imu:=true imu_rate:=100hz +``` + +此命令将启动与奥比中光激光雷达设备接口的节点。请确保在运行此命令之前正确连接激光雷达硬件。 + +### 获取已连接激光雷达的设备信息 + +```bash +ros2 run orbbec_camera list_devices_node +``` + +此命令将列出已连接的激光雷达设备并显示其各自的IP地址和端口。您可以使用此信息配置驱动以连接到特定设备。 + +### 检查激光雷达支持的配置 + +```bash +ros2 run orbbec_camera list_camera_profile_mode_node +``` + +### 2.4 参数和配置 + +`lidar.launch.py`文件包含驱动的默认参数。您可以通过修改启动文件或创建自定义配置文件来自定义这些设置。关键参数包括: + +- **device_type**: 要启动的设备类型。可选值:`lidar`、`camera`。将此参数设置为 `lidar`启动激光雷达设备,设置为 `camera`启动摄像头设备。 +- **camera_name**: 启动节点命名空间。 +- **device_num**: 设备数量。如果需要启动多个设备,则必须填写此项。 +- **upgrade_firmware**: 固件升级功能。输入参数是固件路径。 +- **connection_delay**: 重新打开设备的延迟时间(毫秒)。在热插拔期间立即重新打开设备可能导致固件崩溃。 +- **publish_tf**: 启用TF发布。 +- **tf_publish_rate**: TF发布频率。 +- **lidar_format**: 激光雷达的数据格式。可选值:`LIDAR_POINT`、`LIDAR_SPHERE_POINT`、`LIDAR_SCAN` +- **lidar_rate**: 激光雷达的扫描频率。 +- **publish_n_pkts**: 多帧数据合并发布的帧数量。范围:1-12000。仅在激光雷达格式为 `LIDAR_POINT` 或 `LIDAR_SPHERE_POINT` 时生效,用于累积指定数量的帧后再发布合并的点云数据。默认值:`1` +- **enable_scan_to_point**: 启用扫描数据到点云数据的转换,发布PointCloud2数据类型话题。 +- **repetitive_scan_mode**: 重复扫描模式参数。 +- **filter_level**: 添加过滤级别参数。 +- **vertical_fov**: 垂直角度参数。 +- **min_angle**: 激光雷达扫描范围的最小角度(度)(例如,`-135.0`)。默认值:`-135.0` +- **max_angle**: 激光雷达扫描范围的最大角度(度)(例如,`135.0`)。默认值:`135.0` +- **min_range**: 激光雷达可测量的最小距离(米)。默认值:`0.05` +- **max_range**: 激光雷达可测量的最大距离(米)。默认值:`30.0` +- **echo_mode**: 激光雷达的回波模式。可选值:`Last Echo`、`First Echo` +- **point_cloud_qos**: ROS 2消息服务质量(QoS)设置。可能的值包括 `SYSTEM_DEFAULT`、`DEFAULT`、`PARAMETER_EVENTS`、`SERVICES_DEFAULT`、`PARAMETERS`和 `SENSOR_DATA`,不区分大小写。这些值分别对应 `rmw_qos_profile_system_default`、`rmw_qos_profile_default`、`rmw_qos_profile_parameter_events`、`rmw_qos_profile_services_default`、`rmw_qos_profile_parameters`和 `SENSOR_DATA`。 +- **enumerate_net_device**: 启用网络设备的自动枚举。 +- **net_device_ip**: 网络设备的IP地址。 +- **net_device_port**: 网络端的端口号。 +- **log_level**: SDK日志级别,默认值为 `none`,可选值为 `debug`、`info`、`warn`、`error`、`fatal` +- **time_domain**: 设备的时间戳类型。可选值为 `device`、`global`、`system` +- **config_file_path**: YAML配置文件的路径。默认值为""。如果未指定配置文件,将使用启动文件中的默认参数。 +- **enable_heartbeat**: 启用心跳功能,默认为 `false`。如果设置为 `true`,相机节点将向固件发送心跳信号;如果需要硬件日志记录,也应将其设置为 `true`。 +- **enable_imu**: 启用IMU(加速度计+陀螺仪)并输出统一的IMU话题数据。 +- **imu_rate**: IMU的统一频率(加速度计和陀螺仪)。 +- **accel_range**: 加速度计的量程。 +- **gyro_range**: 陀螺仪的量程。 +- **linear_accel_cov**: 线性加速度协方差值,默认为 `0.0001`。 +- **angular_vel_cov**: 角速度协方差值,默认为 `0.0001`。 + +## 点云数据详细说明 + +### 点云格式 + +PointCloud2 (PointXYZITO) 点云格式如下: + +``` +float32 x # X轴,单位:米 +float32 y # Y轴,单位:米 +float32 z # Z轴,单位:米 +uint8 intensity # 激光雷达强度 +uint8 tag # 激光雷达标签 +uint32 offset_time # 点云相对话题时间的偏移量,单位纳秒 +``` + +### 点云聚合功能 + +通过 `publish_n_pkts` 参数可以开启点云聚合功能,该功能允许激光雷达在发布数据前累积指定数量的帧,然后将这些帧合并为一个更大的点云数据包进行发布。 + +#### 功能特点: + +- **参数范围**: 1-12000 帧 +- **适用格式**: 仅在激光雷达格式为 `LIDAR_POINT` 或 `LIDAR_SPHERE_POINT` 时有效 +- **默认值**: 1(即不聚合,每帧单独发布) +- **用途**: 提高点云密度,适用于需要更密集点云数据的应用场景 + +#### 使用示例: + +```bash +# 聚合10帧数据后发布 +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_POINT publish_n_pkts:=10 + +# 聚合100帧数据后发布 +ros2 launch orbbec_camera lidar.launch.py lidar_format:=LIDAR_SPHERE_POINT publish_n_pkts:=100 +``` + +**注意**: 增加 `publish_n_pkts` 值会提高点云密度,但同时会增加延迟和内存使用量,请根据实际应用需求进行调整。 + +## IMU数据 + +### IMU话题 + +启用IMU时,将发布以下话题: + +- **`/lidar/imu/sample`**: 统一的IMU话题,包含 `sensor_msgs/Imu`格式的同步加速度计和陀螺仪数据。 +- **`/lidar/lidar_to_imu`**: 从激光雷达坐标系到IMU坐标系的变换。 + +### 使用IMU数据 + +要启用IMU数据采集: + +```bash +# 启动并启用IMU +ros2 launch orbbec_camera lidar.launch.py enable_imu:=true imu_rate:=50hz + +# 检查IMU话题 +ros2 topic list | grep imu + +# 查看IMU数据 +ros2 topic echo /lidar/imu/sample +``` + +IMU数据包括: + +- **linear_acceleration**: 3D加速度数据(x、y、z),单位:m/s² +- **angular_velocity**: 3D角速度数据(x、y、z),单位:rad/s +- **orientation**: 四元数方向(硬件不提供,设置为零)