ros的基础架构
ROS 项目在部署运行的过程中,大致分为4个部分:
- 环境
- 软件环境
- 硬件环境
- 执行器
- 给操作系统发送一些指令,以此来控制硬件执行相应操作
- 传感器
- 传感器接收外部环境给的输出,反馈给相应的软件
- 软件结构
- ros 一个可执行程序,就是一个节点
- ros master用来管理各个节点
软件结构的组成
ROS Master
- 管理每个节点间的通信
- 每个节点都需要到
ROS Master
中进行注册
通过roscore
命令启动ROS Master
,而且在节点开始前必须启动ROS Master
ROS Node
- 具备单一的功能的可执行程序
- 可以单独编译,可执行,可管理
- 存放在
package
中 - 一个节点就是一个可执行程序
ros客户端库
ROS 客户端允许使用不同的编程语言编写的节点之间相互通信
- rospy = python 客户端库
- roscpp = c++ 客户端库
使用 rosnode
1 |
rosnode -h |
通过 -h 可以快速查询对应的命令和用法,这里只提取常用的
常用方法
runnode list
查看当前开启的节点rosnode info [node]
查看节点的信息rosnode cleanup
清除无用的节点信息
使用 rosrun
1 |
rosrun -h |
一般该命令在输入 package 和 executable 的时候使用 tab 键都会有提示,如果没有提示,尝试
source
当前工作空间下devel/setup.bash
或devel/setup.zsh
(如果你用zsh的话)
注意:如果写python
程序,需要给 python
的入口python
文件一个可执行的权限,例如:
1 |
chmod a+x main.py |