ROS学习笔记(2)——基础整理
MASTER AND NODE
MASTER:节点管理器
每个node启动时需要向MASTER注册
管理着node之间的通信:提供点对点之间的通信
启动 ros master
$ roscore
master:节点管理器
rosout:日志输出,ERROR.WORRING等记录
paramenter server:参数服务器,参数配置
node:节点
ROS的进程
pkg里可执行文件(c++\.py\.sh)运行的实例
按功能划分
启动方法:启动一个node
$rosrun[pkg_name][node_name]
列出当前运行的node信息
$ rosnode list
显示某个node的详细信息
$ rosnode info [node_name]
结束某个node
$ rosnode kill [node_name]
roslaunch
启动master和多个node
$ roslaunch [pkg_name][file_name.launch]
launch文件配置好了启动规则,会检测系统有没有运行roscore,如果没有,会先启动master,然后按master的规则执行。
launch文件的写法参考其他人的,理解意思即可
通信方式
Topic
ROS中的异步通信方式
对于发送者publish:只需发送消息,不用等待返回状态结果
对于接收者(可多个subscribers同时订阅topic):有接收则处理,未接收则可处理其他事情
Node间通过publish-subscribe机制通信
Node A 发送 /Topic 订阅 node B
Message(类/结构体)
Topic内容的数据类型(格式标准)
定义在pkg/msg/*.msg
基本msg包括
Bool,int8,int16,int64(以及uint)
Float32,float64,string
Time,duration,header
可变数组array[]非常常见,固定长度数组array[C]
Service
Parameter service
actionlib
|
创建工作空间 |
创建功能包 |