Apollo ROS 基于 ros indigo 版本, 实现了共享内存读取, 去中心化 的结构, 使用protobuf 的消息格式. 具体优点主要加快了消息传输速度, 去中心化的结构似的节点可以不依赖于roscore 而单独运行, 介绍请看
http://www.sohu.com/a/161448234_795622
如何使用Apollo ROS 做为自己的ROS平台呢,
第一步 首先 安装 ros indigo 版本
http://wiki.ros.org/indigo/Installation/Ubuntu
第二步 下载 Apollo platform 编译好的 ros 系统, 然后解压
https://github.com/ApolloAuto/apollo-platform/releases
第三步 将 Apollo platform 中的ros 文件夹重新命名为indigo ,将 这个文件夹中的文件 覆盖到已经安装好的ros目录中 示例
$cp -rf indigo/ /opt/ros/
第四步 安装 protobuf
$pip install protobuf
第五步 更新 catkin_pkg 包 不然 不能创建包 因为 apollo 用的版本比较高 下载catkin-pkg 0.4.2
https://pypi.org/project/catkin_pkg/#files
解压进入该目录 执行编译安装的命令
$python setup.py build
$sudo python setup.py install
最后 Apollo ROS 已经布置好了
这个时候已经可以用 下面 按照ros 教程 创建包 然后创建 talker.cpp 和 listener.cpp 编译好可执行文件 运行如下图
此时roscore 并未执行 而两个节点就可以通信, 随时关闭哪一个节点,另外一个节点也不会死掉. 同事测试rostopic ,显示并不能连接master, 因为roscore 的主要功能此时为参数服务器, 如需要显示topic 还需要打开 roscore