您的位置:首页 > 其它

ROS学习(二)ROS入门简介

2015-07-17 17:11 190 查看
(在ubuntu下编辑可能效果不太好)

构建一个包必须包含两个文件:

package.xml

CMakeLists.txt

步骤:

cd ~/catkin_ws/src


使用catkin_create_pkg脚本来创建新的包(beginner_tutorials)

catkin_create_pkg beginner_tutorials std_msgs rospy roscpp


在工作空间build:

cd ~/catkin_ws
catkin_make


将工作空间添加到ROS环境中

. ~/catkin_ws/devel/setup.bash


安装示例包(后面的示例程序将会用到)

sudo apt-get install ros-indigo-ros-tutorials


正式运行示例之前必须了解ROS的术语

---------------------------------------------------------------------------------------------------------

Nodes: 使用ROS与其他节点进行通信

Messages:订阅和发布时的一种数据类型

Topics:节点可以发布消息到一个话题也可以订阅一个话题来接收消息

Master:ROS名称服务

rosout:ROS输出相当于stdout/stderr

roscore:ROS的服务集合(Master+rosout+parameter server):使用ROS必须先运行

----------------------------------------------------------------------------------------------------------

下面介绍示例程序运行:

首先在终端运行roscore,并可以通过rosnode list 来查看活跃的节点

接下来运行之前下载安装到系统中的例子:

在新的终端运行

rosrun turtlesim turtlesim_node


此时屏幕出现一只小乌龟,再打开一个终端输入:

rosnode list


将会看到新增加一个/turtlesim节点

上述例子中,可以使用__name属性将节点重命名例如:

rosrun turtlesim turtlesim_node __name:my_turtle


此时使用rosnode list将看到重命名后的节点名称。

通过示例程序进一步了解ROS 话题(topic)的概念:

打开新的终端执行:

rosrun turtlesim turtle_teleop_key


此时通过键盘的方向键可以来驱动小乌龟的移动和方向。

整个过程本质来说如下:

两个节点通过ROS话题进行通信,turtle_teleop_key节点发布(Publish)一系列的方向键操作(Message)到一个话题(Topic)中

而对于turtlesim节点来说也刚好订阅(Subscribe)了相同的话题来接收上述操作

对于整个操作流程可以通过使用

sudo apt-get install ros-indigo-rqt
sudo apt-get install ros-indigo-rqt-common-plugins
rosrun rqt_gragh rqt_graph


来查看节点通过话题通信的交互图。

另外:rostopic 命令也可以获取话题的一些信息可以通过rostopic -h或者查阅官方wiki来获取更多操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: