1.编译程序包
记得事先source你的环境配置(setup)文件,在Ubuntu中的操作指令如下:
$ source /opt/ros/groovy/setup.bash
$ cd ~/catkin_ws/
$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...
2.图概念概述
Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。
Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。
Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。
Master:节点管理器,ROS名称服务 (比如帮助节点找到彼此)。
rosout: ROS中相当于stdout/stderr。
roscore: 主机+ rosout + 参数服务器 (参数服务器会在后面介绍)。
3.使用ROS
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosnode info /turtlesim
$ rosrun turtlesim turtle_teleop_key
现在你可以使用键盘上的方向键来控制turtle运动了。如果不能控制,请选中turtle_teleop_key所在的终端窗口以确保你的按键输入能够被捕获。
1.rqt_graph能够创建一个显示当前系统运行情况的动态图形。
$ rosrun rqt_graph rqt_graph
2.rqt_plot命令可以实时显示一个发布到某个话题上的数据变化图形。
$ rosrun rqt_plot rqt_plot
3.rostopic主题
$ rostopic echo /turtle1/cmd_vel
$ rostopic type /turtle1/cmd_vel
geometry_msgs/Twist
$ rosmsg show geometry_msgs/Twist
geometry_msgs/Vector3 linearfloat64 x
float64 y
float64 z
geometry_msgs/Vector3 angular
float64 x
float64 y
float64 z
$ rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
$ rostopic hz /turtle1/pose
4.rosservice服务
rosservice list 输出可用服务的信息
rosservice call 调用带参数的服务
rosservice type 输出服务类型
rosservice find 依据类型寻找服务find services by service type
rosservice uri 输出服务的ROSRPC uri
$ rosservice call clear
5.rosparam参数服务器
rosparam set 设置参数
rosparam get 获取参数
rosparam load 从文件读取参数
rosparam dump 向文件中写入参数
rosparam delete 删除参数
rosparam list 列出参数名
$ rosparam list
$ rosparam set [param_name]
$ rosparam get [param_name]
$ rosparam set background_r 150
$ rosparam get background_g
86
我们可以使用rosparam get /来显示参数服务器上的所有内容:
$ rosparam get /
background_b: 255
background_g: 86
background_r: 150
roslaunch:
uris: {'aqy:51932': 'http://aqy:51932/'}
run_id: e07ea71e-98df-11de-8875-001b21201aa8
$ rosparam dump [file_name]
$ rosparam load [file_name] [namespace]