/viobot
节点该节点开机自启。节点自启后,相机和 IMU 硬件数据读取会自动完成,并以 ROS 话题的形式输出
发布话题名 | 类型 | 含义 | 频率 |
/viobot/algo_status |
system_ctrl:: algo_status |
输出算法状态 | 1Hz |
/viobot/sys_status |
system_ctrl:: viobot_ctrl |
输出设备状态 | 1Hz |
/viobot/imu |
sensor_msgs::Imu |
IMU 加速度和角速度 | 200Hz |
/viobot/image_left |
sensor_msgs::Image |
左目图像(黑白) | 25Hz |
/viobot/image_right |
sensor_msgs::Image |
右目图像(黑白) | 25Hz |
/viobot /camera_left_info |
sensor_msgs:: CameraInfo |
左目相机参数 | 2Hz |
/viobot /camear_right_info |
sensor_msgs:: CameraInfo |
右目相机参数 | 2Hz |
/viobot/imu_temp |
sensor_msgs:: Temperature |
IMU 温度 | 1Hz |
/viobot /reset_vocabulary |
std_msgs::Bool |
词袋清空 | \ |
/viobot /pr_loop/PCD_Save |
std_msgs::Char |
保存点云 | \ |
/viobot/pr_loop /global_consistency |
std_msgs::Char |
\ | |
/viobot/pr_loop /keyframe_action/cancel |
actionlib_msgs:: GoalID |
添加关键帧和保存关键帧相关的操作 | \ |
/viobot/pr_loop /keyframe_action/goal |
loop_action::KeyFrameHandleActionGoal |
添加关键帧和保存关键帧相关的操作 | \ |
/viobot/stereo2/restart |
std_msgs::Bool |
算法重启 | \ |
订阅话题名 | 类型 | 含义 | 频率 |
/viobot/stereo2_ctrl |
system_ctrl:: algo_ctrl |
对对应的算法进行操作 | \ |
system_ctrl:: algo_status
(设备自定义话题)
Header header
string algo_status
上电连接后,变量 algo_status 的取值默认为 ready,当算法启动后会进入初始化状态(如:stereo2_initializing),初始化完成后会进入运行状态(如:stereo2_running)
typedef enum{
ready = 0,
stereo1_initializing,
stereo1_running,
stereo2_initializing,
stereo2_running,
mono_initializing,
mono_running,
}system_status;
system_ctrl:: viobot_ctrl
(设备自定义话题)
Header header
## 0:无图像通过流数据输出;1:左目;2:右目;3:双目图像通过流数据输出
int32 image_select
## IMU原始数据是否输出,raw_data输出设置是设置到http流输出的,默认是关的,如果使用ROS开发也不需要开,一直都是false就行
bool imu_raw
## 是否开启tof
bool tof_enable
## tof深度图是否发布?
bool tof_depth
## tof幅度图是否发布?
bool tof_amp
## 是否开启补光灯
bool light
system_ctrl:: algo_ctrl
(设备自定义话题)
Header header
## 算法启动/停止
bool algo_enable
## 算法重启
bool algo_reboot
## 算法重置
bool algo_reset
/stereo2
节点发布话题名 | 类型 | 含义 | 频率 |
/viobot/pr_loop /odometry_rect |
nav_msgs::Odometry |
算法输出的位姿和速度 | 25Hz |
/viobot/pr_loop /base_path |
nav_msgs::Path |
词袋地图路径,用于 rviz 显示 | \ |
/viobot/pr_loop /camera_pose_visual |
visualization_msgs:: MarkerArray |
相机框可视化,用于 rviz 显示 | 25Hz |
/viobot/pr_loop /keyframe_action /feedback |
loop_action::KeyFrameHandleActionFeedback |
添加关键帧和保存关键帧相关的操作 | \ |
/viobot/pr_loop /keyframe_action /result |
loop_action::KeyFrameHandleActionResult |
添加关键帧和保存关键帧相关的操作 | \ |
/viobot/pr_loop /keyframe_action /status |
actionlib_msgs:: GoalStatusArray |
添加关键帧和保存关键帧相关的操作 | 5Hz |
/viobot/pr_loop /match_image |
sensor_msgs::Image |
回环匹配的图片 | \ |
/viobot/pr_loop /odometry_adjusted |
nav_msgs::Odometry |
回环触发后计算得到的全局一致里程计信息,一次性全部发布 | \ |
/viobot/pr_loop /odometry_loop |
nav_msgs::Odometry |
回环触发后计算得到在词袋地图中的位姿 | \ |
/viobot/pr_loop /points_adjust |
sensor_msgs:: PointCloud2 |
回环触发后计算得到的全局一致点云信息,一次性全部发布 | \ |
/viobot/pr_loop /pose_graph |
visualization_msgs:: MarkerArray |
关键帧的位置,用于 rviz 显示 | \ |
/viobot/pr_loop /pose_graph_path |
nav_msgs::Path |
关键帧的轨迹,用于 rviz 显示 | \ |
/viobot/pr_loop /points |
sensor_msgs:: PointCloud2 |
原生点云 (点云生成是在关键帧产生时) | \ |
/viobot/pr_loop /rdf_points |
sensor_msgs:: PointCloud2 |
RDF 点云 对原生点云进行滤波和补点(增加稠密度)得到,其杂点更少且更稠密(非增量式点云,坐标定义同 odom) | \ |
/viobot/stereo2 /feature_image |
sensor_msgs::Image |
算法输出的带梯度点图片(双目数据经过处理后的合成图) | 25Hz |
/viobot/stereo2 /imu_propagate |
nav_msgs::Odometry |
IMU 预积分 | 200Hz |
/viobot/stereo2 /camera_pose |
geometry_msgs:: PoseStamped |
相机的位姿,不触发回环的位置 | 25Hz |
/viobot/stereo2 /odometry_path |
nav_msgs::Path |
25Hz | |
/viobot/stereo2 /odometry |
nav_msgs::Odometry |
25Hz |