Apollo Cyber RT操作系统

Apollo Cyber RT操作系统

前言
一、基本概念
二、开发工具

  1. Cyber Monitor
  2. Cyber Visualizer
  3. Cyber Recorder
  4. rosbag_to_record
    三、常用操作命令
    在这里插入图片描述

前言

Apollo Cyber RT 是一个开源、高性能的运行时框架,专为自动驾驶场景而设计。针对自动驾驶的高并发、低延迟、高吞吐量进行了大幅优化。

使用 Apollo Cyber RT 的主要好处:

一、 基本概念

在这里插入图片描述
在这里插入图片描述

Cyber架构
在这里插入图片描述

从下到上依次为:

基础库:高性能,无锁队列;
通信层:Publish/Subscribe机制,Service/Client机制,服务自发现,自适应的通信机制(共享内存、Socket、进程内);
数据层:数据缓存与融合。多路传感器之间数据需要融合,而且算法可能需要缓存一定的数据。比如典型的仿真应用,不同算法模块之间需要有一个数据桥梁,数据层起到了这个模块间通信的桥梁的作用;
计算层:计算模型,任务以及任务调度;

二、 开发工具

CyberRT框架同时也提供了一系列实用的工具用来辅助日常开发, 包括可视化工具cyber_visualizer以及命令行工具cyber_monitor和cyber_recorder等。

  1. Cyber Monitor
    cyber_monitor提供了终端中实时显示channel信息列表的功能。
    进入Apollo Docker环境后执行如下命令运行cyber_monitor。
    cyber_monitor

cyber_monitor会自动从拓扑中收集所有channel的信息并分两列显示(channel名称,数据频率)。
channel信息默认显示为红色,当有数据流经channel时,对应的行就会显示成绿色,如下图所示:

在这里插入图片描述

可以通过-h选项来获取帮助信息:

cyber_monitor -h
在这里插入图片描述

使用-c选项,可以让cyber_monitor只监测一个指定的channel信息:
cyber_monitor -c ChannelName

  1. Cyber Visualizer
    在Apollo Docker环境中执行如下命令运行cyebr_visualizer:
    cyber_visualizer

在启动cyber_visualizer后,你会看到如下界面:
在这里插入图片描述

当有数据流经channel时,在ChannelNames下会像下图一样显示channel列表。
在这里插入图片描述

实际车辆在道路上运行过程中的 cyber visualizer 画面。

在这里插入图片描述

  1. Cyber Recorder
    cyber_recorder是 Apollo Cyber RT 提供的录制/播放工具。它提供了许多有用的功能,包括录制record文件、播放record文件、拆分record文件、查看record文件信息等。

启动cyber_recorder: cyber_recorder > []

查看record文件的信息:
$ cyber_recorder info -h
usage: cyber_recorder info [options]
-h, --help show help message

录制record文件
$ cyber_recorder record -h
usage: cyber_recorder record [options]
-o, --output output record file
-a, --all all channels
-c, --channel channel name
-i, --segment-interval record segmented every n second(s)
-m, --segment-size record segmented every n megabyte(s)
-h, --help

                                                      show help message

要拆分record文件
$ cyber_recorder split -h
usage: cyber_recorder split [options]
-f, --file input record file
-o, --output output record file
-a, --all all channels
-c, --channel channel name
-b, --begin <2018-07-01 00:00:00> begin at assigned time
-e, --end <2018-07-01 01:00:00> end at assigned time

修复record文件
$ cyber_recorder recover -h
usage: cyber_recorder recover [options]
-f, --file input record file
-o, --output output record file

播放记录
cyber_record play -f data

显示记录信息
cyber_record info data

  1. rosbag_to_record
    rosbag_to_record是 Apollo Cyber RT 提供的一个可以将 rosbag 转换为record文件的工具。现在该工具支持以下channel:

/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

使用教程

$ source /your-path-to-apollo-install-dir/cyber/setup.bash
$ rosbag_to_record
Usage:
rosbag_to_record input.bag output.record

三、 常用操作命令

1.编译

cd /apollo
bash apollo.sh build

2.查看运行的节点

cyber_node list :显示所有在运行的节点
cyber_node info “节点名”:可以查看该节点所有订阅和发布的消息

3.启动,关闭节点

3.1 启动:cyber_launch start “对应路径”+launch 文件
如cyber_launch start modules/localization/launch/ekf_localization.launch

3.2 关闭:cyber_launch stop “对应路径”+launch 文件

cyber_channel:该命令行工具用于打印Cyber RT通道信息。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值