一、工作空间与编译系统
目录结构 工作空间 catkin_ws
catkin_ws
├── build
├── devel
└── src
├── package1
└── package2
├── CMakeLists.txt
├── include
│ └── xx.h
├── launch
│ └── xx.launch
├── msg
│ └── xx.msg
├── package.xml
├── scripts
│ ├── xx.py
│ └── xx.sh
├── src
│ └── xx.cpp
└── srv
└── xx.srv
建立工作空间 catkin_ws
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
编译 catkin_make
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
#source 刷新环境
二、Package
catkin编译的基本单元 package
package
├── CMakeLists.txt #编译规则
└── package.xml #属性、依赖
其余还包括可执行代码(src,scripts)或通信设置(srv,msg,action),launch文件,配置文件 config yaml
基本指令
#查找软件包地址
rospack find package_name
#列出所有软件包
rospack list
#跳转到某个pkg下
roscd package_name
#列出pkg下的文件
rosls package_name
#创建一个package
catkin_create_pkg <package_name> [deps]
#安装某个pkg的依赖
rosdep install [pkg_name]
三、核心命令
#运行基于ros的必需的节点和程序的集合
roscore
#显示消息或者服务的数据结构定义
rosmsg/rossrv
rosmsg show pose
rosmsg package nav_msgs
#执行可执行文件
rosrun
rosrun package executable
#显示关于ros节点的信息
rosnode
rosnode ping#测试节点连通性rosnode ping --all
rosnode list#列出活动的节点
rosnode info#打印节点信息
rosnode kill#结束一个正在运行的节点rosnode kill -a
#通过ssh和参数服务器上设置参数来局部和远程启动ros节点
roslaunch
roslaunch package filename.launch
#显示ros调试信息
rostopic
rostopic bw#显示带宽
rostopic echo#输出主题信息
rostopic hz#发布频率
rostopic list
rostopic pub [topic] [msg_type] [args]
#参数服务器
rosparam set [param_name]
rosparam get [param_name]
...