目录
2.rosservice:显示系统中所有与服务相关消息的指令
6.rqt_graph:用图形表示当前活动中的节点与在ROS网络上传输的消息之间的相关性的工具
一、常用命令
1.rostopic :显示系统中所有与话题相关消息的指令
rostopic list #打印出当前所有话题的列表
rostopic pub 话题名 话题消息类型 话题消息内容 #向话题发布内容 输入话题名后可以使用Tab补齐
rostopic pub -r 频率 话题名 话题消息类型 话题消息内容 #-r:信号发布 频率:一分钟发布的次数
2.rosservice:显示系统中所有与服务相关消息的指令
rosservice list #打印出当前所有服务的列表
rosservice call 服务名 服务内容 #调用服务
/spawn #产生海龟的服务
/clear #刷新服务
3.rosnode:显示系统中所有与节点相关消息的指令
rosnode list #列出系统中所有节点
rosnode info /xxx #查看xxx节点信息
4.rosmsg:显示系统中所有与消息相关消息的指令
rosmsg show xxx #显示xxx的数据结构
5.rosparam::显示系统中所有与参数相关消息的指令
rosparam list #列出当前多有参数
rosparam get xxx #显示某个参数值
rosparam set xxx #设置某个参数值
rosparam dump xxx.xxx #保存参数到文件
rosparam load xxx.xxx #从文件读取参数
rosparam delete xxx #删除参数
6.rqt_graph:用图形表示当前活动中的节点与在ROS网络上传输的消息之间的相关性的工具
二、工作空间
工作空间(workspace)是一个存放工程开发相关文件的文件夹
- src:代码空间
- build:编译空间
- devel:开发空间
- install:安装空间
1)创建名为catkin_ws的工作空间
mkdir -p ~/catkin_ws/src
2)初始化工作空间
cd ~/catkin_ws/src
catkin_init_workspace
注:catkin_init_workspace:将这个文件夹初始化为ros当中的一个工作空间,在src文件下生成了一个CMakeList.txt文件,它是告诉系统这是ros的一个工作空间
3)编译工作空间
cd ~/catkin_ws
catkin_make
注:1.所有的cmake命令去完成编译的操作都是要在工作空间的根目录下也就是catkin_ws这样的根目录下操作的
2.catkin_make:在src文件下生成了bulid文件夹和devel文件夹
4)设置环境变量
source devel/setup.bash
注:这个命令是告诉系统我们功能包是放在catkin_ws这个工作空间下的,但是这个命令只能在当前终端下生效,如果重新打开一个终端,这个环境变量的设置就是没有任何效果的,需要重新执行这个命令
注:如果嫌麻烦可以:
- 在主目录下
- ctrl+h显示隐藏文件
- 找到".bashrc"文件,打开
- 在文件最后位置加上“source /home/xxx/catkin_ws/devel/setup.bash”
- 此处路径要全,xxx表示用户名
5)检查环境变量
echo $ROS_PACKAGE_PATH
三、创建功能包
1.在catkin_ws工作空间下创建xxx_pkg功能包
cd ~/catkin_ws/src
catkin_create_pkg xxx_pkg std_msgs rospy roscpp
注:std_msgs、rospy和roscpp是依赖包
std_msgs :标准ROS消息包---包括表示原始数据类型的通用消息类型和其他基本消息结构
rospy :是Python版本的ROS客户端库,提供了Python程序需要的接口
roscpp:ROS的C++库,是目前最广泛应用的ROS客户端库,执行效率高
2.编译
cd ~/catkin_ws
catkin_make
3.设置环境变量
设置环境变量,使功能包可以被找到。
source ~/catkin_ws/devel/setup.bash
注:
- 同一个工作空间下,不允许存在同名的功能包
- 不同工作空间下,允许存在同名的功能包
由于source ~/catkin_ws/devel/setup.bash只能使当前终端有效,下次使用还需再次设置,过于麻烦。一次性设置,使他长期有效
vi ~/.bashrc
在打开的配置文件最后面加上:source ~/catkin_ws/devel/setup.bash,按一下ESC键,输入:wq保存退出
source ~/.bashrc
让刚才的配置在当前终端中生效,这样再打开一个终端刚才的设置也是有效的
四、话题记录与复现
1.话题记录
rosbag record -a -O 压缩包名称
-a :记录所有
-O:保存成压缩包
默认保存在主目录下
2.话题复现
rosbag play 压缩包名称.bag