• Apollo 应用与源码分析:CyberRT-工具与命令


    概念

    cyberRT包括一个可视化工具cyber_visualizer和两个命令行工具cyber_monitor和cyber_recorder。

    注意:使用这些工具需要apollo docker环境

    并且Cyber RT 中提供了一些命令工具,可以方便快捷的解决上述问题,本部分内容就主要介绍这些命令的使用,常用的通信相关命令如下:

    1. cyber_node;
    2. cyber_channel;
    3. cyber_service;
    4. 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 > []
    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 			input record file
        -a, --all				play all
        -c, --white-channel 		only play the specified channel
        -k, --black-channel 		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 		play started at n seconds
        -d, --delay 		play delayed n seconds
        -p, --preload 		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 文件中的模块 

     

  • 相关阅读:
    研发效能行业发展趋势及人才认证的重要性丨IDCF
    MySQL高可用
    面试高频的ES6中的Map和Set数据结构详解
    【Leetcode】python回溯算法结果出现[[], [], []](列表深拷贝 浅拷贝问题)
    金仓数据库 KingbaseES 插件参考手册(20. dbms_random)
    CSS中calc(80vw - 100px)为什么不加空格会不生效?
    腾讯内容结算下一代系统探索实践
    redis之如何存储时间序列数据
    未来互联网人才还稀缺吗?哪些技术方向热门?
    OpenCV(十四):ROI区域截取
  • 原文地址:https://blog.csdn.net/qq_32378713/article/details/128012084