ROS 如何使用

按照 ROS Wrapper 安装 ,编译再运行节点。

小技巧

使用下面命令前需要先在另一个命令行窗口运行ROS节点

rostopic list 可以列出发布的节点:

$ rostopic list
/mynteye/depth/image_raw
/mynteye/disparity/image_norm
/mynteye/disparity/image_raw
/mynteye/imu/data_raw
/mynteye/left/camera_info
/mynteye/left/image_raw
/mynteye/left/image_rect
/mynteye/points/data_raw
/mynteye/right/camera_info
/mynteye/right/image_raw
/mynteye/right/image_rect
/mynteye/temp/data_raw
...

rostopic hz <topic> 可以检查是否有数据:

$ rostopic hz /mynteye/imu/data_raw
subscribed to [/mynteye/imu/data_raw]
average rate: 505.953
  min: 0.000s max: 0.018s std dev: 0.00324s window: 478
average rate: 500.901
  min: 0.000s max: 0.018s std dev: 0.00327s window: 975
average rate: 500.375
  min: 0.000s max: 0.019s std dev: 0.00329s window: 1468
...

rostopic echo <topic> 可以打印发布数据等。了解更多,请阅读 rostopic

ROS 封装的文件结构,如下所示:

<sdk>/wrappers/ros/
├─src/
│  └─mynt_eye_ros_wrapper/
│     ├─config/
│     │  ├─device/
│     │     ├─standard.yaml   # S1030
│     │     └─standard2.yaml  # S21X0/S210A
│     │  ├─laserscan/
│     │  ├─process/
│     │  └─...
│     ├─launch/
│     │  ├─display.launch
│     │  └─mynteye.launch
│     │  └─...
│     ├─mesh/
│     ├─rviz/
│     ├─src/
|     |  ├─configuru.hpp
│     │  ├─wrapper_node.cc
│     │  └─wrapper_nodelet.cc
│     ├─srv/
|     |  └─GetInfo.srv
│     ├─CMakeLists.txt
│     ├─nodelet_plugins.xml
│     └─package.xml
└─README.md

其中 mynteye.launch 里,可以配置发布的 topics 与 frame_ids 、决定启用哪些数据, standard.yaml (standard2.yaml为S2100/S210A的配置文件) 中可以设定控制选项等。其中,gravity 请配置成当地重力加速度。

standard.yaml/standard2.yaml:

# s21X0/s210a 修改分辨率/帧率参数
standard2/request_index: 2

# s1030 修改帧率/imu频率等
# standard/frame_rate range: {10,15,20,25,30,35,40,45,50,55,60}
standard/frame_rate: -1
# standard/frame_rate: 25

# standard/imu_frequency range: {100,200,250,333,500}
standard/imu_frequency: -1
# standard/imu_frequency: 200

# s21X0 修改曝光时间等
# standard2/brightness range: [1,255]
standard2/brightness: -1
# standard2/brightness: 120
...

# s210a 修改曝光时间等
# standard210a/brightness range: [1,255]
standard210a/brightness: -1
# standard210a/brightness: 120
...

mynteye.launch:

<arg name="gravity" default="9.8" />

如果想要打印调试信息,请编辑 wrapper_node.cc ,修改 InfoDebug 即可:

ros::console::set_logger_level(
    ROSCONSOLE_DEFAULT_NAME, ros::console::levels::Info);