1.点对点设计
ROS = 通讯机制+开发工具+应用功能+生态系统
1.节点(node)--软件模块 执行任务的进程 2.节点管理器(ROS Master)控制中心,提供参数管理 记录每个节点信息 3.话题(topic)--异步通信机制,传输消息(Message)
Talker与Listener 先后顺序无关 一般需要如下七个步骤
双向同步通信机制,类似于常用的web服务器 一般需要如下五个步骤
类似与全局变量的概念 需要及时的更新参数:动态更新参数机制
这里主要介绍通过软件源的方式安装;如果是一些嵌入式设备可以通过编译源码的方式安装。 1.按照官网步骤安装:http://wiki.ros.org/kinetic/Installation/Ubuntu; 2.参考一下步骤: 将 ubuntu 的源设置为其自带的主服务器的源,并且将"restricted" "universe" 和"multiverse"都选上。 可能存在改完源仍更新不成功的情况,需要手动修改源 sudo gedit /etc/apt/source.list 把所有的末尾以 universe 的注释都取消然后执行 sudo apt-get update
roscore
命令启动rosmaster节点
ctrl + c
退出rosmaster
![](https://upload-images.jianshu.io/upload_images
/8789591-6065a9cf97ad21b6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
roscore // 启动ros master
rosrun turtlesim turtlesim_node //启动小海龟仿真器
rosrun turtlesim turtle_teleop_key //启动海龟控制节点
通过rqt_graph
打开计算图
rosnode info / 节点名
可以看见该节点发布的话题,订阅的信息以及提供的服务
rostopic info /话题名
话题信息
rostopic echo /话题名
监听话题具体信息
具体的消息开始发布,主要包含两个内容,小海龟的线速度和角速度。单位分别为m/s和度/秒。
在机器人开发的时候可能没有终端去发布消息:可以通过命令行去简单测试。
rostopic pub /...
但上述命令只能发送一次,可以在pub后面加上一个频率参数
nodelet API提供共享内存的机制,让运行更加高效。