创建工作空间
##创建工作空间
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模型的整体结构 |