概念
cyberRT包括一个可视化工具cyber_visualizer和两个命令行工具cyber_monitor和cyber_recorder。
注意:使用这些工具需要apollo docker环境
并且Cyber RT 中提供了一些命令工具,可以方便快捷的解决上述问题,本部分内容就主要介绍这些命令的使用,常用的通信相关命令如下:
- cyber_node;
- cyber_channel;
- cyber_service;
- cyber_launch。
cyber_visualizer
概念
一个可视化仿真工具,用于在cyberRT中显示通道数据。
使用方法
username@computername:~$: source /your-path-to-apollo-install-dir/cyber/setup.bash username@computername:~$: cyber_visualizer
与Cyber_visualizer 交互
- 启动cyber_visualizer后,您将看到以下界面:
- 当数据通过Cyber RT中的通道时,所有通道的列表都显示在ChannelNames,如下图所示。例如,您可以使用Cyber RT的记录工具(cyber_recorder)从另一个终端重播数据,然后cyber_visualizer将接收所有活动频道(来自重播数据)的信息并显示它。
- 通过单击工具栏中的选项,您可以同时启用参考网格、显示点云、添加图像或显示多个相机的数据。如果您启用了ShowGrid选项,您可以通过双击ChannelNames下方Grid列表Color项来设置网格的颜色。默认颜色是灰色。您还可以编辑CellCount的值,以调整网格中的单元格数量。至于点云或图像,您可以通过其ChannelName子项和Action子项选择源通道,以播放或停止来自相应通道的数据。如下图所示,按钮部分的三个摄像头通道数据和顶部部分的一点云通道数据同时显示。
- 要调整三维点云场景中的虚拟摄像头,您可以右键单击点云显示部分。将弹出一个对话框,如下图所示。 点云场景支持两种类型的相机:Free和Target。(从上面的弹出式对话框中选择类型)您还可以直接在对话框中修改相机信息,以更改相机在点云场景中的观察状态。“步骤”项是对话框中的步进值。将鼠标放在相机通道的图像上,您可以双击左侧按钮以突出显示左侧菜单栏上的相应数据通道。右键单击图像以调出删除相机通道的菜单。播放和暂停按钮:单击Play按钮时,将显示所有频道。点按“Pause”按钮时,所有通道都将停止显示在工具上。
-
- 免费类型相机:对于点云场景中的此类相机,您可以通过按住鼠标左键或右键并移动它来更改相机的姿势。要更改相机的音高,您可以滚动鼠标滚轮。
- 目标类型相机:对于点云场景中的这种类型的相机,要更改相机的视角,您可以按住鼠标左键,然后移动它。要更改相机与观测点的距离(默认观察点是坐标系原点(0,0,0)),您可以滚动鼠标滚轮。
cyber_monitor
启动命令行工具后,您会注意到它与cyber_visualizer相似。它通过拓扑自动收集所有通道的信息,并将其显示在两列(通道名称、通道数据类型)。
通道信息的默认显示为红色。但是,如果有数据流过通道,则通道的相应行将以绿色显示。如下图所示:
cyber_recorder
概念
Apollo Cyber RT提供的记录/播放工具。它提供了许多有用的功能,包括录制记录文件、播放记录文件、拆分记录文件、检查记录文件信息等。
运行
$ source /your-path-to-apollo-install-dir/cyber/setup.bash $ cyber_recorder usage: cyber_recorder <command>> [<args>] The cyber_recorder commands are: info Show information of an exist record. play Play an exist record. record Record same topic. split Split an exist record. recover Recover an exist record.
播放文件
$ cyber_recorder play -h usage: cyber_recorder play [options] -f, --file <file> input record file -a, --all play all -c, --white-channel <name> only play the specified channel -k, --black-channel <name> not play the specified channel -l, --loop loop play -r, --rate <1.0> multiply the play rate by FACTOR -b, --begin <2018-07-01 00:00:00> play the record begin at -e, --end <2018-07-01 00:01:00> play the record end at -s, --start <seconds> play started at n seconds -d, --delay <seconds> play delayed n seconds -p, --preload <seconds> play after trying to preload n second(s) -h, --help show help message
rosbag_to_record
一个可以将rosbag转换为Apollo Cyber RT提供的记录文件的工具。现在,该工具支持以下通道:
/apollo/perception/obstacles /apollo/planning /apollo/prediction /apollo/canbus/chassis /apollo/control /apollo/guardian /apollo/localization/pose /apollo/perception/traffic_light /apollo/drive_event /apollo/sensor/gnss/odometry /apollo/monitor/static_info /apollo/monitor /apollo/canbus/chassis_detail /apollo/control/pad /apollo/navigation /apollo/routing_request /apollo/routing_response /tf /tf_static /apollo/sensor/conti_radar /apollo/sensor/delphi_esr /apollo/sensor/gnss/best_pose /apollo/sensor/gnss/imu /apollo/sensor/gnss/ins_stat /apollo/sensor/gnss/rtk_eph /apollo/sensor/gnss/rtk_obs /apollo/sensor/velodyne64/compensator/PointCloud2
cyber_node
用于获取 Cyber RT 中运行的节点的相关信息。
cyber_node list 列出所有运行中的节点 cyber_node info xxx 输出某个节点或所有节点信息
cyber_channel
获取关于话题的相关信息。
cyber_channel list 列出所有运行中的话题 cyber_channel info 输出话题相关信息(发布者、订阅者、消息类型....) cyber_channel echo 输出话题消息 cyber_channel hz 输出话题消息的发布频率 cyber_channel bw 输出消息发布所占用带宽 cyber_channel type 输出话题消息类型
cyber_service
获取关于服务的相关信息。
cyber_service list 列出所有运行中的服务 cyber_service info 输出某个服务的相关信息
cyber_launch
用于 launch 文件的启动与关闭。
cyber_launch start 启动 launch 文件 cyber_launch stop 关闭 launch 文件中的模块