一步步学ROS

最近因为看svo的代码,里面用到catkin决定要好好看ros,年前学会基本操作。

基本概念笔记:

1、节点管理器:roscore

2、节点

启动节点 rosrun package-name executable-name

查看节点 rosnode list

注:rosout 节点是一个特殊的节点,通过 roscore 自动启动

查看特定节点的信息 rosnode info node-name

终止节点 rosnode kill node-name

注:终止和重启节点通常不会对其他节点有较大影响;即使节点间正在相互交换消息( message),这些连接也会在节点终止时断开,在节点重启时重新连接。

也可以用ctrl-c终止节点,但是终止的节点仍在rosnode列表中。可以用rosnode cleanup删除列表中无效的节点。

3、软件包

软件包列表rospack list

每个程序包由一个清单文件( 文件名为 package.xml)定义该文件定义关于包的一些细节,包括其名称、 版本、 维护者和依赖关系。

定位软件包

要找到一个软件包的目录,使用 rospack find 命令
rospack find package-name

访问某软件包目录
roscd package-name

查看软件包目录下的文件:
rosls package-name

注:不用说明软件包的位置,直接由包名,ros系统能直接检索到包名所在位置。前提是必须将该路径加到环境设置中去 source /包的目录/devel/setup.bash

4、话题和消息

ros节点之间的通信最重要的是利用消息传递。消息有组织的放在话题里。当一个节点想要分享信息时,它就会发布(publish)消息到对应的一个或者多个话题;当一个节点想要接收信息时,它就会订阅(subscribe)它所需要的一个或者多个话题。
ROS节点管理器负责确保发布节点和订阅节点能找到对方;而且消息是直接地从发布节点传递到订阅节点,中间并不经过节点管理器转交。

查看节点之间的发布-订阅关系 rqt_graph

获取当前活跃的话题 rostopic list

打印消息内容 rostopic echo topic-name

测量发布频率 rostopic hz topic-name
rostopic bw topic-name

查看话题rostopic info topic-name
输出的是消息类型:数据类型理解消息的类型很重要,因为它决定了消息的内容。

查看消息类型rosmsg show message-type-name

常用的两种消息类型
geometry_msgs/Twist
turtlesim/Color

消息类型同样可以包含固定或可变长度的数组(用中括号[]表示)和常量(一般用来解析其他非常量的域)。

用命令行发布消息
rostopic pub –r rate-in-hz topic-name message-type message-content

注意:
这里写图片描述

这里写图片描述
这两个的区别是,上面的_ _name的意思是覆盖节点名称turtlesim_node,因为不允许节点重名。

多个发表者和多个订阅者可以共享一个话题。

5、问题检查 roswtf

主要参考资料:
http://wiki.ros.org/ROS/Tutorials
机器人操作系统(ROS)浅析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值