Apollo-ROS2*

课程提问:什么是TF坐标系转换和RQT用户接口?

在这里插入图片描述
原ROS中心化的优势:(P2P拓扑网络)

  1. 节点之间相互独立,容错性强
  2. 节点之间通信不用关注对方用什么语言开发
  3. 节点之间解耦合(只用定义好topic/service/param,就可以开发自己的模块)
    缺陷:
  4. 通信过于依赖中心节点
  5. 没有异常恢复机制(比如某一个节点挂掉,其他节点并不知道,尤其是主节点挂掉后更为严重)

Apollo ROS

去中心化拓扑

在这里插入图片描述

RTPS服务发现协议

一个新节点加入与退出,RTPS都会告知所有节点。

这些改动是在ROS底层进行的修改,用户在原生ROS上写的节点程序可以直接迁移到Apollo的ROS上来,因为接口都是没变的。

数据兼容性拓展

接受者收到信息后会进行md5的信息校验,看是否是自己真正想要的信息。

模块更新,节点提供的信息会发生改变(比如多加了一项数据)

原本:下游的节点会无法识别这个信息,使得整个信息都不可用。

Apollo:
Protobuf通过optional告知下游哪些是新增的数据。

在这里插入图片描述

TF坐标系转换

每一个节点都有自己的XYZ坐标系,但我们需要将这些坐标转换到一个统一的坐标系里。

RQT

R:ROS
QT:图像化展示工具

用户接口

在这里插入图片描述
在这里插入图片描述
可以将数据画在XY二维坐标系中

在这里插入图片描述
将整个网络拓扑图形化展示。

在这里插入图片描述
将日志信息可视化出来。
五种类型的日志:
在这里插入图片描述
以及分模块。(每个模块会在某个时刻产生大量信息)

在这里插入图片描述
可以选择特定级别的日志。

ROS Service
在这里插入图片描述

在这里插入图片描述

数据融合、消息对齐

RViz:一个可视化工具

In file included from /home/acceler/code/apollo_ros/apollo_ros/src/apollo.ros-1.0.0-master/apollo_common/include/apollo_common/apollo_app.h:46:0, from /home/acceler/code/apollo_ros/apollo_ros/src/apollo.ros-1.0.0-master/apollo_common/src/apollo_app.cc:33: /home/acceler/code/apollo_ros/apollo_ros/src/apollo.ros-1.0.0-master/apollo_common/include/apollo_common/log.h:40:10: fatal error: glog/logging.h: No such file or directory #include <glog/logging.h> ^~~~~~~~~~~~~~~~ compilation terminated. apollo.ros-1.0.0-master/apollo_common/CMakeFiles/apollo_common.dir/build.make:62: recipe for target 'apollo.ros-1.0.0-master/apollo_common/CMakeFiles/apollo_common.dir/src/apollo_app.cc.o' failed make[2]: *** [apollo.ros-1.0.0-master/apollo_common/CMakeFiles/apollo_common.dir/src/apollo_app.cc.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /home/acceler/code/apollo_ros/apollo_ros/src/apollo.ros-1.0.0-master/apollo_common/include/apollo_common/adapters/adapter_manager.h:48:0, from /home/acceler/code/apollo_ros/apollo_ros/src/apollo.ros-1.0.0-master/apollo_common/src/adapters/adapter_manager.cc:33: /home/acceler/code/apollo_ros/apollo_ros/src/apollo.ros-1.0.0-master/apollo_common/include/apollo_common/adapters/adapter.h:49:10: fatal error: glog/logging.h: No such file or directory #include <glog/logging.h> ^~~~~~~~~~~~~~~~ compilation terminated. apollo.ros-1.0.0-master/apollo_common/CMakeFiles/apollo_common.dir/build.make:110: recipe for target 'apollo.ros-1.0.0-master/apollo_common/CMakeFiles/apollo_common.dir/src/adapters/adapter_manager.cc.o' failed make[2]: *** [apollo.ros-1.0.0-master/apollo_common/CMakeFiles/apollo_common.dir/src/adapters/adapter_manager.cc.o] Error 1 CMakeFiles/Makefile2:3894: recipe for target 'apollo.ros-1.0.0-master/apollo_common/CMakeFiles/apollo_common.dir/all' failed make[1]: *** [apollo.ros-1.0.0-master/apollo_common/CMakeFiles/apollo_common.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 54%] Linking CXX executable /home/acceler/code/apollo_ros/apollo_ros/devel/lib/IntegratedNavigation/IntegratedNavigation_node [ 54%] Built target IntegratedNavigation_node [ 55%] Linking CXX executable /home/acceler/code/apollo_ros/apollo_ros/devel/lib/TimeSynchronierProcess/timeSynchronierProcess_node [ 55%] Built target timeSynchronierProcess_node Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed
07-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值