Files
OrbbecSDK_ROS2/en/.doctrees/source/6_benchmark/benchmark_usage.doctree
T

147 lines
14 KiB
Plaintext
Raw Normal View History

2025-10-22 03:11:03 +00:00
€•k8Œdocutils.nodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”hŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒBenchmark Usage”h]”hŒText”“”ŒBenchmark Usage”…”�”}”(Œparent”hŒ _document”hŒsource”NŒline”NubaŒ
attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”uŒtagname”hhKhh hŒ]/home/runner/work/OrbbecSDK_ROS2/OrbbecSDK_ROS2/docs/en/source/6_benchmark/benchmark_usage.md”ubhŒ paragraph”“”)�”}”(hŒyThis section introduces how to use the benchmark tool in C++ and Python, and provides an example YAML configuration file.”h]”hŒyThis section introduces how to use the benchmark tool in C++ and Python, and provides an example YAML configuration file.”…”�”}”(hh.hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhh hhhh+ubh
2025-09-25 13:04:20 +00:00
)�”}”(hhh]”(h)�”}”(hŒUsing common benchmark node”h]”hŒUsing common benchmark node”…”�”}”(hh?hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhh<hh+ubhŒ
literal_block”“”)�”}”(hŒnros2 run orbbec_camera common_benchmark_node.py \
    --run_time 2h \
    --csv_file /path/to/log.csv”h]”hŒnros2 run orbbec_camera common_benchmark_node.py \
    --run_time 2h \
    --csv_file /path/to/log.csv”…”�”}”hhOsbah}”(h ]”h"]”h$]”h&]”h(]”Œ xml:space”Œpreserve”uh*hMhh<hhhh+hKubhŒ bullet_list”“”)�”}”(hhh]”hŒ list_item”“”)�”}”(hhh]”(h-)�”}”(hŒ
Parameters”h]”hŒstrong”“”)�”}”(hŒ
Parameters”h]”hŒ
Parameters”…”�”}”(hhohhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hmhhihhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhhfhhhh+ubh`)�”}”(hhh]”(he)�”}”(hhh]”h-)�”}”(hŒs--run_time: Duration for monitoring, specified as time strings like "10s", "5m", "1h", "2d". Default is 10 seconds.”h]”(hn)�”}”(hŒ
--run_time”h]”(hŒ–run”…”�”}”(hh�hhhNhNubhŒ_”…”�”}”(hh�hhhNhNubhŒtime”…”�”}”(hh�hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*hmhh‰hhhh+hKubhŒ:: Duration for monitoring, specified as time strings like ”…”�”}”(hh‰hhhNhNubhŒliteral”“”)�”}”(hŒ"10s"”h]”hŒ"10s"”…”�”}”(hh©hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h§hh‰hhhh+hKubhŒ, ”…”�”}”(hh‰hhhNhNubh¨)�”}”(hŒ"5m"”h]”hŒ"5m"”…”�”}”(hh»hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h§hh‰hhhh+hKubhŒ, ”…”�”}”(hh‰hhhh+hKubh¨)�”}”(hŒ"1h"”h]”hŒ"1h"”…”�”}”(hhÍhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h§hh‰hhhh+hKubhŒ, ”…”�”}”(hh‰hhhh+hKubh¨)�”}”(hŒ"2d"”h]”hŒ"2d"”…”�”}”(hhßhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h§hh‰hhhh+hKubhŒ. Default is 10 seconds.”…”�”}”(hh‰hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhh†hhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hdhKhhƒhhhh+ubhe)�”}”(hhh]”h-)�”}”(hŒƒ--csv_file: Path to the output CSV file. By default, it is saved in the workspace directory with the name "camera_monitor_log.csv".”h]”(hn)�”}”(hŒ
--csv_file”h]”(hŒ–csv”…”�”}”(hjhhhNhNubhŒ_”…”�”}”(hjhhhNhNubhŒfile”…”�”}”(hjhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*hmhjhhhh+hKubhŒ`: Path to the output CSV file. By default, it is saved in the workspace directory with the name ”…”�”}”(hjhhhNhNubhŒ“”…”�”}”(hjhhhNhNubhŒcamera”…”�”}”(hjhhhNhNubhŒ_”…”�”}”(hjhhhNhNubhŒmonitor”…”�”}”(hjhhhNhNubhŒ_”…”�”}”(hjhhhh+hKubhŒlog.csv”…”�”}”(hjhhhNhNubhŒâ€�”…”�”}”(hjhhhNhNubhŒ.”…”�”}”(hjhhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhhýhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hdhKhhƒhhhh+ubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h_hKhhfhhhh+ubeh}”(h ]”h"]”h$]”h&]”h(]”uh*hdhKhhahhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*h_hKhh<hhhh+ubeh}”(h ]”Œusing-common-benchmark-node”ah"]”h$]”Œusing common benchmark node”ah&]”h(]”uh*h hKhh hhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒUsing service benchmark node”h]”hŒUsing service benchmark node”…”�”}”(hjghhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhjdhh+ubh
)�”}”(hhh]”(h)�”}”(hŒROS2 C++”h]”hŒROS2 C++”…”�”}”(hjxhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhKhjuhh+ubh`)�”}”(hhh]”he)�”}”(hhh]”h-)�”}”(hŒSingle service benchmark”h]”hn)�”}”(hŒSingle service benchmark”h]”hŒSingle service benchmark”…”�”}”(hj�hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hmhjŒhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hKhj‰hhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hdhKhj†hhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*h_hKhjuhhhh+ubhN)�”}”(hŒÅros2 run orbbec_camera service_benchmark_node \
    --ros-args \
    -p service_name:=/camera/get_depth_gain \
   -p service_type:=orbbec_camera_msgs/srv/GetInt32 \
    -p count:=10”h]”hŒÅros2 run orbbec_camera service_benchmark_node \
    --ros-args \
    -p service_name:=/camera/get_depth_gain \
   -p service_type:=orbbec_camera_msgs/srv/GetInt32 \
    -p count:=10”…”�”}”hj°sbah}”(h ]”h"]”h$]”h&]”h(]”h]h^uh*hMhjuhhhh+hKubh`)�”}”(hhh]”he)�”}”(hhh]”h-)�”}”(hŒ)Multiple services benchmark (YAML config)”h]”hn)�”}”(hŒ)Multiple services benchmark (YAML config)”h]”hn)�”}”(hŒ)Multiple services benchmark (YAML config)”h]”hŒ)Multiple services benchmark (YAML config)”…”�”}”(hjÌhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hmhjÈhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hmhjÄhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK!hjÁhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hdhK!hj¾hhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*h_hK!hjuhhhh+ubhN)�”}”(hŒ|ros2 run orbbec_camera service_benchmark_node \
    --ros-args \
    -p yaml_file:=/path/to/default_service_cpp.yaml”h]”hŒ|ros2 run orbbec_camera service_benchmark_node \
    --ros-args \
    -p yaml_file:=/path/to/default_service_cpp.yaml”…”�”}”hjòsbah}”(h ]”h"]”h$]”h&]”h(]”h]h^uh*hMhjuhhhh+hKubeh}”(h ]”Œros2-c”ah"]”h$]”Œros2 c++”ah&]”h(]”uh*h hKhjdhhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒ ROS2 Python”h]”hŒ ROS2 Python”…”�”}”(hj hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhK)hjhh+ubh`)�”}”(hhh]”he)�”}”(hhh]”h-)�”}”(hŒSingle service benchmark”h]”hn)�”}”(hŒSingle service benchmark”h]”hŒSingle service benchmark”…”�”}”(hj#hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hmhjhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK+hjhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hdhK+hjhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*h_hK+hjhhhh+ubhN)�”}”(hŒ\ros2 run orbbec_camera service_benchmark_node.py --service /camera/get_depth_gain --count 10”h]”hŒ\ros2 run orbbec_camera service_benchmark_node.py --service /camera/get_depth_gain --count 10”…”�”}”hjCsbah}”(h ]”h"]”h$]”h&]”h(]”h]h^uh*hMhjhhhh+hKubh`)�”}”(hhh]”he)�”}”(hhh]”h-)�”}”(hŒ)Multiple services benchmark (YAML config)”h]”hn)�”}”(hŒ)Multiple services benchmark (YAML config)”h]”hn)�”}”(hŒ)Multiple services benchmark (YAML config)”h]”hŒ)Multiple services benchmark (YAML config)”…”�”}”(hj_hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hmhj[hhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hmhjWhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK1hjThhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*hdhK1hjQhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”uh*h_hK1hjhhhh+ubhN)�”}”(hŒZros2 run orbbec_camera service_benchmark_node.py --yaml_file /path/to/default_service.yaml”h]”hŒZros2 run orbbec_camera service_benchmark_node.py --yaml_file /path/to/default_service.yaml”…”�”}”hj…sbah}”(h ]”h"]”h$]”h&]”h(]”h]h^uh*hMhjhhhh+hKubeh}”(h ]”Œ ros2-python”ah"]”h$]”Œ ros2 python”ah&]”h(]”uh*h hK)hjdhhhh+ubh
)�”}”(hhh]”(h)�”}”(hŒExample YAML configuration”h]”hn)�”}”(hŒExample YAML configuration”h]”hŒExample YAML configuration”…”�”}”(hj¢hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*hmhjžhhhh+hKubah}”(h ]”h"]”h$]”h&]”h(]”uh*hhK9hj›hh+ubh-)�”}”(hŒcWe provide an example YAML configuration, located in the scripts directory as service_default.yaml.”h]”(hŒ9We provide an example YAML configuration, located in the ”…”�”}”(hj¶hhhNhNubh¨)�”}”(hŒscripts”h]”hŒscripts”…”�”}”(hj¾hhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h§hj¶hhhh+hKubhŒ directory as ”…”�”}”(hj¶hhhNhNubh¨)�”}”(hŒservice_default.yaml”h]”hŒservice_default.yaml”…”�”}”(hjÐhhhNhNubah}”(h ]”h"]”h$]”h&]”h(]”uh*h§hj¶hhhh+hKubhŒ.”…”�”}”(hj¶hhhNhNubeh}”(h ]”h"]”h$]”h&]”h(]”uh*h,hK;hj›hhhh+ubhN)�”}”(hXdefault_count: 50
services:
- name: /camera/get_auto_white_balance
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_color_exposure
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_color_gain
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_depth_exposure
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_depth_gain
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_device_info
type: orbbec_camera_msgs/srv/GetDeviceInfo
- name: /camera/send_software_trigger
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_auto_white_balance
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_color_ae_roi
type: orbbec_camera_msgs/srv/SetArrays
request: {data_param: [0,1279,0,719]}
- name: /camera/set_color_auto_exposure
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_color_exposure
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 30}
- name: /camera/set_color_flip
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_color_gain
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 20}
- name: /camera/set_color_mirror
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_color_rotation
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 90}
- name: /camera/set_depth_ae_roi
type: orbbec_camera_msgs/srv/SetArrays
request: {data_param: [0,1279,0,719]}
- name: /camera/set_depth_auto_exposure
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_depth_exposure
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 3000}
- name: /camera/set_depth_flip
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_depth_gain
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 200}”h]”hXdefault_count: 50
services:
- name: /camera/get_auto_white_balance
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_color_exposure
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_color_gain
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_depth_exposure
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_depth_gain
type: orbbec_camera_msgs/srv/GetInt32
- name: /camera/get_device_info
type: orbbec_camera_msgs/srv/GetDeviceInfo
- name: /camera/send_software_trigger
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_auto_white_balance
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_color_ae_roi
type: orbbec_camera_msgs/srv/SetArrays
request: {data_param: [0,1279,0,719]}
- name: /camera/set_color_auto_exposure
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_color_exposure
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 30}
- name: /camera/set_color_flip
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_color_gain
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 20}
- name: /camera/set_color_mirror
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_color_rotation
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 90}
- name: /camera/set_depth_ae_roi
type: orbbec_camera_msgs/srv/SetArrays
request: {data_param: [0,1279,0,719]}
- name: /camera/set_depth_auto_exposure
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_depth_exposure
type: orbbec_camera_msgs/srv/SetInt32
request: {data: 3000}
- name: /camera/set_depth_flip
type: std_srvs/srv/SetBool
request: {data: false}
- name: /camera/set_depth_gain
2025-10-22 03:11:03 +00:00
type: orbbec_camera_msgs/srv/SetInt32
2025-09-25 13:04:20 +00:00
request: {data: 200}”…”�”}”hjèsbah}”(h ]”h"]”h$]”h&]”h(]”Œlanguage”Œyaml”h]h^uh*hMhj›hhhh+hKubeh}”(h ]”Œexample-yaml-configuration”ah"]”h$]”Œexample yaml configuration”ah&]”h(]”uh*h hK9hjdhhhh+ubeh}”(h ]”Œusing-service-benchmark-node”ah"]”h$]”Œusing service benchmark node”ah&]”h(]”uh*h hKhh hhhh+ubeh}”(h ]”Œbenchmark-usage”ah"]”h$]”Œbenchmark usage”ah&]”h(]”uh*h hKhhhhhh+ubah}”(h ]”h"]”h$]”h&]”h(]”Œsource”h+Œtranslation_progress”}”(Œtotal”KŒ
translated”Kuuh*hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(Œoutput”NhNŒ generator”NŒ datestamp”NŒ root_prefix”Œ/”Œ source_link”NŒ
2025-10-22 03:11:03 +00:00
source_url”NŒ
toc_backlinks”Œentry”Œfootnote_backlinks”ˆŒ
sectnum_xform”ˆŒstrip_comments”NŒstrip_elements_with_classes”NŒ
strip_classes”NŒ report_level”KŒ
2025-09-25 13:04:20 +00:00
halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j:Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ