前言
本篇开始,我们正式进入ROS的相关练习,如何创建包、如何使用节点和参数服务器,如何通过Turtlesim移动仿真机器人等,重点学习ROS的相关的命令。
一、ROS文件系统导览
1、查找功能包的路径
rospack find turtlesim
2、查找元功能包的路径
rosstack find ros_com
3、获取功能包或元功能包下面的文件列表
rosls turtlesim
4、进入某个文件夹
roscd turtlesim
二、创建工作空间
1、查看正在使用的工作空间
echo $ROS_PACKAGE_PATH
2、创造工作空间
catkin_init_workspace
此时工作空间文件夹内,并没有功能包,只有CMakeList.txt文件。
3、编译工作空间
catkin_make
4、重新加载setup.bash文件
source devel/setup.bash
三、创建ROS功能包和元功能包
1、创建功能包
catkin_create_pkg chapter2_tutorials std_msgs roscpp
其中std_msgs和roscpp为依赖项。
std_msgs:包含常见消息类型,表示基本数据类型和其他基本的消息构造。
roscpp:使用C++实现ROS的各种功能。
2、通知用户ROS中新添加的内容
rospack profile
3、查看依赖关系
rospack depends chapter2_tutorials
四、编译ROS功能包
catkin_make
该命令必须在工作空间文件夹下运行,在功能包文件夹下无法运行。
编译单个功能包,使用:
catkin_make --pkg 功能包名
五、使用ROS节点
1、获取正在运行的所有节点
rosnode list
2、运行节点
rosrun 功能包名 节点名
3、查看节点信息
rosnode info /节点名
4、检查和某个节点之间的通信
rosnode ping
5、列出在特定计算机或列表计算机上运行的节点
rosnode machine
6、杀死正在运行的节点
rosnode kill
7、清除不可达节点的注册信息
rosnode cleanup
六、使用主题与节点交互
1、将消息输出到屏幕
rostopic echo TOPIC
2、查找主题
rostopic find TOPIC
3、列出所有活动主题
rostopic list TOPIC
4、将数据发布到主题
rostopic pubs TOPIC
5、查看主题发送的消息类型
rostopic type TOPIC
如果你想看到消息字段,使用:
rosmsg show 消息名