创建工作空间
##创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace ##初始化
#编译工作空间
cd ~/catkin_ws/
catkin_make
##设置环境变量
source devel/setup.bash
##检查环境变量
echo $ROS_PACKAGE_PATH
创建功能包
catkin_create_pkg <package name> [depend 1] [depend 2]......
##创建功能包
cd ~/catkin_ws/src
catkin_create_pkg learning_communication std_msgs rospy roscpp
##编译功能包
cd ~/catkin_ws/
catkin_make
source ~/catkin_ws/devel/setup.bash
功能包文件结构
文件名 | 功能 |
---|
config | 放置功能包中的配置文件,由用户创建,文件名可不同 |
include | 放置功能包中需要用到的头文件 |
scripts | 放置可直接运行的python脚本 |
src | 放置需要编译的C++代码 |
launch | 放置功能包中的所有启动文件 |
msg | 放置功能包自定义的消息类型 |
srv | 放置功能包自定义的服务类型 |
action | 放置功能包自定义的动作指令 |
CMakelists.txt | 编译器编译功能包的规则 |
package.xml | 功能包清单 |
Catkin编译系统下的工作空间结构
文件名 | 功能 |
---|
src | 代码空间,用来存储所有ROS功能包的源码文件 |
build | 编译空间,用来存储工作空间编译过程中产生的缓存信息和中间文件 |
devel | 开发空间,用来放置编译生成的可执行文件 |
install | 安装空间,用make install命令将可执行文件安装到该空间中 |
话题编程(msg)/服务编程(srv)/动作编程(action)
节点(Node)——消息(message)通信:
话题(发布talker/订阅listener)Publish/Subscribe
服务(客户端/服务器通信)Client/Server
ROS常用命令大全(持续更新)
命令 | 功能 |
---|
catkin_create_pkg | 创建功能包 |
rospack | 获取功能包信息 |
catkin_make | 编译工作空间的功能包 |
rosdep | 自动安装功能包依赖的其他包 |
roscd | 功能包目录转跳 |
roscp | 拷贝功能包中的文件 |
rosed | 编辑功能包中的文件 |
rosrun | 运行功能包中的可执行文件 |
roslaunch | 运行启动文件 |
env竖线grep ros | 查看所有ros相关的环境变量 |
ctrl h | 隐藏文件可视 |
rqt_graph | 查看系统的节点关系图 |
rosservice list | 查看系统中的服务列表 |
tf_monitor | 打印TF树中所有坐标系的发布状态 |
tf_echo | 查看指定坐标系之间的变换关系 |
static_transform_publisher | 发布两个坐标系之间的静态坐标变换 |
rqt_console | 图形化显示和过滤所有日志消息 |
rqt_graph | 图形化显示当前ROS系统中的计算图 |
rqt_plot | 二维数值曲线绘制工具 |
rostopic list | 话题列表 |
check_urdf+xxx.urdf | 对urdf文件进行检查 |
urdf_to_graphiz+xxx.urdf | 查看urdf模型的整体结构 |