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

news2024/9/25 5:22:35

概念

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 <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 文件中的模块 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/31988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Clion学习

看看Cmake是个什么&#xff1f; 他是个构建管理工具 一个比较OK的图 cmake_minimum_required(VERSION 3.15)#指定了最小的Cmake版本 project(jcdd)#指定了项目名称 set(CMAKE_CXX_STANDARD 14) add_executable(jcdd main.cpp)#输出可执行文件的名称安装第三方库&#xff…

图解来啦!机器学习工业部署最佳实践!10分钟上手机器学习部署与大规模扩展 ⛵

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; 机器学习实战系列&#xff1a;https://www.showmeai.tech/tutorials/41 &#x1f4d8; 深度学习实战系列&#xff1a;https://www.showmeai.tech/tutorials/42 &#x1f4d8; 本文地址&#xff1a;https://www.sho…

【MyBatis】动态SQL

if标签 CarMapper.java /*** 多条件查询* param brand 品牌* param guidePrice 指导价* param carType 汽车类型* return*/List<Car> selectByMultiCondition(Param("brand") String brand,Param("guidePrice") Double guidePrice,Param("car…

MySQL基础篇之MySQL概述

01、MySQL概述 1.1、数据库相关概念 1、数据库相关概念 名称解释说明简称数据库存储数据的仓库&#xff0c;数据是有组织的进行存储DataBase&#xff08;DB&#xff09;数据库管理系统操纵和管理数据库的大型软件DataBase Management System&#xff08;DBMS&#xff09;SQL…

ky使用教程(基于fetch的小巧优雅js的http客服端)

1.前言 react项目更加倾向于使用原生的fetch请求方式&#xff0c;而ky正是底层使用fetch的api做请求。github星数是8.2K&#xff0c;源码地址是&#xff1a;GitHub - sindresorhus/ky: &#x1f333; Tiny & elegant JavaScript HTTP client based on the browser Fetch A…

树上背包dp

“我们终其一生不过是为了一个AC罢了” 软件安装 嗯…这个题又调了一个下午&#xff0c;不过俺的确对dp方程有了一些理解 这个题没啥难的&#xff0c;不过是这个转移方程不太好想&#xff0c;过于抽象了&#xff0c;之前一直不理解树上背包是啥&#xff0c;现在理解了&#xff…

Xftp 无法连接 Debian

Xftp 无法连接 Debian检查网络是否配置有问题检查是不是防火墙没有关闭首先检查主机防火墙检查Debian防火墙启动SSH服务检查网络是否配置有问题 发现主机和Debian在一个网段。说明配置没有问题。 检查是不是防火墙没有关闭 首先检查主机防火墙 检查Debian防火墙 显然都没有开…

并行多核体系结构基础知识

目录分类MIMD计算机分类并行编程并行编程模型共享存储并行模型针对LDS的并行编程存储层次结构缓存一致性和同步原语缓存一致性基础对同步的硬件支持存储一致性模型和缓存一致性解决方案存储一致性模型高级缓存一致性设计互连网络体系结构分布式操作系统SIMT体系结构分类 根据Fl…

MCE | 磁珠 VS 琼脂糖珠

琼脂糖珠 长久以来&#xff0c;多孔的琼脂糖珠 (也称琼脂糖树脂) 作为免疫沉淀实验中的固相支持物常用的材料。琼脂糖珠海绵状的结构 (直径 50-150 μm) 可以结合抗体 (继而结合靶蛋白)&#xff0c;它能够直接高效、快速结合抗体&#xff0c;而不需借助特殊的专业设备。 图 1.…

【.Net Core】上传文件-IFormFile

文章目录安全注意事项存储方案文件上传方案.NET Core Web APi FormData多文件上传&#xff0c;IFormFile强类型文件灵活绑定验证内容验证文件扩展名验证文件签名验证文件名安全大小验证使名称属性值与 POST 方法的参数名称匹配来源安全注意事项 向用户提供向服务器上传文件的功…

openfeign调用文件服务的文件上传接口报错:Current request is not a multipart request

今天在用Swagger测试项目中文件服务的文件上传接口时发现接口调用异常。 异常展示 笔者这里罗列下Swagger上的错误显示、文件服务的异常以及服务调用方的异常。 【Swagger的异常】 【服务调用方的控制台异常】 【文件服务的控制台异常】 代码展示 【服务调用方的Controller…

KMP算法(求解字符串匹配)

提示&#xff1a;可搭配B站比特大博哥视频学习&#xff1a;传送门 &#xff08;点击&#xff09; 目录 前言 图解 代码 前言 KMP算法是一种改进的字符串匹配算法&#xff0c;由D.E.Knuth&#xff0c;J.H.Morris和V.R.Pratt提出的&#xff0c;因此人们称它为克努特一莫里斯―…

如何实现办公自动化?

办公自动化&#xff08;OA&#xff09;允许数据在没有人工干预的情况下流动。由于人工操作被排除在外&#xff0c;所以没有人为错误的风险。如今&#xff0c;办公自动化已经发展成无数的自动化和电子工具&#xff0c;改变了人们的工作方式。 办公自动化的好处 企业或多或少依…

jar包的一些事儿

在咱们日常的搬砖过程中&#xff0c;只要你涉及到Java的项目&#xff0c;就不可避免地接触到jar包。而实际开发中&#xff0c;maven等项目管理工具为我们自动地管理jar包以及相关的依赖&#xff0c;让jar包的调用看起来如黑盒一般"密不透风"。今天&#xff0c;让我们…

做音视频开发要掌握哪些知识?

最近有读者留言&#xff0c;说“想转行音视频开发&#xff0c;怎么做”&#xff0c;正巧&#xff0c;前几天我还在某乎上&#xff0c;看到有人在问音视频的学习资料&#xff0c;还是个大一的学生。 想说一句&#xff1a;真有眼光。 如今这个时代&#xff0c;想赚钱&#xff0c;…

前端开发——HTML5新增加的表单属性

1.formactiom属性 对于<input type"submit">、<button type"submit"></button>、<input type"image">元素&#xff0c;都可以指定formcation属性&#xff0c;该属性可以提交到不同的URL。 代码如下&#xff1a; <f…

自动化平台测试开发方案(详解自动化平台开发)

目录&#xff1a;导读 前言 自动化平台开发方案自动化平台开发 功能需求 技术知识点 技术知识点如表所示 自动化平台开发技术栈如图所示。 开发时间计划 投资回报率可视化 后期优化计划 登录功能实现 退出功能实现 使用Django 内置用户认证退出函数logout。 权限功…

Word控件Spire.Doc 【图像形状】教程(4) 用 C# 中的文本替换 Word 中的图像

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

元宇宙|世界人工智能大会之元宇宙论坛:设计篇

Hello&#xff0c;大家好~ 这里是壹脑云科研圈&#xff0c;我是鲤鱼~ 世界人工智能大会&#xff08;WAIC&#xff09;由国家发展和改革委员会、工业和信息化部、科学技术部、国家互联网信息办公室、中国科学院、中国工程院、中国科学技术协会和上海市人民政府共同主办。 大会…

宝宝喝奶粉过敏怎么办?

为了确保喂养过程安全&#xff0c;我们仍然需要首先了解婴儿奶粉过敏的症状&#xff0c;母亲利用这些基本症状来判断婴儿是否对奶粉过敏&#xff0c;以便及时发现婴儿奶粉过敏&#xff0c;找到相应的策略。婴儿奶粉过敏婴儿奶粉过敏&#xff0c;是指婴儿喝配方奶粉后&#xff0…