ROS学习笔记(三)编译软件包

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 linear

  float64 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]

你可能感兴趣的:(ROS学习笔记(三)编译软件包)