机器人操作系统ROS教程(十三) 导航与定位框架

导航与定位是机器人研究中的重要部分。

一般机器人在陌生的环境下需要使用激光传感器(或者深度传 感器转换成激光数据),先进行地图建模,然后在根据建立的地图进行导航、定位。在ROS中也有很多完善的 包可以直接使用。

在ROS中,进行导航需要使用到的三个包是:

(1)move_base:根据参照的消息进行 路径规划,使移动机器人到达指定的位置;

(2)gmapping:根据激光数据(或者深度数据模拟的激光数据 )建立地图;

(3)amcl:根据已经有的地图进行定位。

参考链接: http://www.ros.org/wiki/navigation/Tutorials/RobotSetup

http://www.ros.org/wiki/navigation /Tutorials

整体导航包的格局如下图所示:

其中白色框内的是ROS已经为我们准备好的必须使用的组件,灰色框内的是ROS中可选的组件,蓝色的是用 户需要提供的机器人平台上的组件。

时间: 2024-10-05 04:28:38

机器人操作系统ROS教程(十三) 导航与定位框架的相关文章

机器人操作系统ROS教程(一) ROS简介

一.历史 随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已 有的开源机器人系统又不能很好的适应需求.2010年Willow Garage公司发布了开源机器人操作系统ROS (robot operating system),很快在机器人研究领域展开了学习和使用ROS的热潮. ROS系统是起源于2007年斯坦福大学人工智能实验室的项目与机器人技术公司Willow Garage的个人机器人项目 (Personal Robots Program)之间的合作,2008年之后就由

机器人操作系统ROS教程(八) 键盘控制

如果尝试过前面的例子,有没有感觉每次让机器人移动还要在终端里输入指令,这也太麻烦了,有没有办 法通过键盘来控制机器人的移动呢?答案室当然的了.我研究了其他几个机器人键盘控制的代码,还是有所收 获的,最后移植到了smartcar上,实验成功. 一.创建控制包 首先,我们为键盘控制单独建立 一个包: roscreate-pkg smartcar_teleop rospy geometry_msgs std_msgs roscpp rosmake 如果你已经忘记了怎么建立包,请参考: http://w

机器人操作系统ROS教程(六) 使用smartcar进行仿真

之前的博客中,我们使用rviz进行了TurtleBot的仿真,而且使用urdf文件建立了自己的机器人smartcar, 本篇博客是将两者进行结合,使用smartcar机器人在rviz中进行仿真. 一.模型完善 之前我们 使用的都是urdf文件格式的模型,在很多情况下,ROS对urdf文件的支持并不是很好,使用宏定义的.xacro文 件兼容性更好,扩展性也更好.所以我们把之前的urdf文件重新整理编写成.xacro文件. .xacro文件主要 分为三部分: 1.机器人主体 <?xml versio

机器人操作系统ROS教程(十) 语音控制

如今语音识别在PC机和智能手机上炒的火热,ROS走在技术的最前沿当然也不会错过这么帅的技术.ROS中 使用了CMU Sphinx和Festival开源项目中的代码,发布了独立的语音识别包,而且可以将识别出来的语音转换 成文字,然后让机器人智能处理后说话. 一.语音识别包 1.安装 安装很简单,直接使用ubuntu命令即可,首先安装依赖库: $ sudo apt-get install gstreamer0.10-pocketsphinx $ sudo apt-get install ros-fu

机器人操作系统ROS教程(十四) move_base(路径规划)

在上一篇的博客中,我们一起学习了ROS定位于导航的总体框架,这一篇我们主要研究其中最重要的 move_base包. 在总体框架图中可以看到,move_base提供了ROS导航的配置.运行.交互接口,它主要包括两个部分: (1)全局路径规划(global planner):根据给定的目标位置进行总体路径的规划: (2)本地实时规 划(local planner):根据附近的障碍物进行躲避路线规划. 一.数据结构 ROS中定义了 MoveBaseActionGoal数据结构来存储导航的目标位置数据,

机器人操作系统ROS教程(五) 创建简单的机器人模型smartcar

前面我们使用的是已有的机器人模型进行仿真,这一节我们将建立一个简单的智能车机器人smartcar,为 后面建立复杂机器人打下基础. 一.创建硬件描述包 roscreat-pkg  smartcar_description  urdf 二.智能车尺寸数据 因为建立的是一个非常简单的 机器人,所以我们尽量使用简单的元素:使用长方体代替车模,使用圆柱代替车轮,具体尺寸如下: 三.建立urdf文件 在smartcar_description文件夹下建立urdf文件夹,创建智能车的描述文 件smartca

机器人操作系统ROS教程(三) ROS新手教程

前面我们介绍了ROS的特点和结构,接下来就要开始准备动手感受一下ROS的强大了.ROS官网的wiki上针对 新手的教程很详细,最好把所有的新手教程都搞清楚,这是后面开发最基础的东西.尽管如此,ROS对于新手 来说还是很难上手,这里,我就来总结一下我当时学习的历程,也为其他新手作为一个参考. 一.ROS 的安装 ROS的安装当然是我们开始动手的第一步了,这里我们使用的操作系统是ubuntu,因为ROS在ubuntu上的支 持是最好的. 如果是新手,我建议使用"apt-get"的方法进行安

机器人操作系统ROS教程(七) smartcar源码上传

看到前面写的博客还是帮助了很多ROS的学习者,我感到非常荣幸.其实我也是一名ROS的新手,ROS的相关 资料少,上手难度大,我现在也在摸索着学习,还希望大家都将自己的学习成果在网上或者ROS群里分享. 我看到有些人在运行我前面写的smartcar程序,为了方便大家的学习,我这两天整理了一下代码,已 经上传到csdn上,下载请见: http://download.csdn.net/detail/hcx25909/5487985 代码的内 容主要是前边用到的机器人smartcar的urdf文件,已经

机器人操作系统ROS教程(四) 简单的机器人仿真

前边我们已经介绍了ROS的基本情况,以及新手入门ROS的初级教程,现在就要真正的使用ROS进入机器人世 界了.接下来我们涉及到的很多例程都是<ROS by Example>这本书的内容,我是和群里的几个人一起从国外 的亚马逊上买到的,还是很有参考价值的,不过前提是你已经熟悉之前的新手教程了. 一.ROS by Example