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

 

 

创建工作空间

创建功能包