arm的智能机器人与rosarmbaseembedded robotics with ros(源码)
机器人导航。作为人工智能发展最快的领域之一,它已经获得了大量的应用,比如,餐厅服务员机器人,超市购物导航机器人,高效的机器人导航问题成为“人工智能研究界”的一个突出话题。机器人导航可以被认为是一个个问题的集合,主要的导航问题可以划分为许多较小的一些与机器人导航相关联的一些问题 - 路径规划,碰撞预防,搜索算法和特定环境的地图表示。路径规划为我们提供了最优的路径寻找方法,防碰撞检测技术可确保机器人安全到达目的地,而不会与环境中存在的任何物体相撞。当空间中的物体数量很多时,碰撞预防技术将大大增加。搜索算法是导航技术中最基本的功能模块,因为它们确定了机器人在到达目的地前所遵循的路径。由于环境能够极大地影响其他的所有任务。关键词 机器人,导航,路径规划,碰撞检测
目 录
1 引言 1
1.1 课题研究背景及意义 1
1.2 国内外研究与发展现状 2
2 移动机器人导航相关技术 2
2.1 SLAM即时定位与地图构建 2
2.2 扩展卡尔曼滤波器(EKF) 5
3 软件设计 8
3.1 开发环境简介 8
3.2 N2830双网千兆主板 8
3.3 turtlebot 9
3.4 软件运行流程 10
4 系统功能测试 10
4.1 安装ubuntu系统 10
4.2 安装ROS系统 12
4.3 工作站网络的配置 13
4.4 测试ROS系统是否安装成功 13
4.5 测试3D传感器 16
4.6 运行简单脚本程序 16
4.7 键盘控制构造地图 19
5 实验验证 22
5.1 机器人自动导航行驶 22
5.2 编码实现定点自主导航 24
结 论 28
致 谢 29
参 考 文 献 31
1 引言
1.1 课题研究背景及意义
导航技术是机器人技术中的核心技术之一,1991年Leonard & DurrantWhite,提出 *好棒文|www.hbsrm.com +Q: ^351916072#
导航技术的相关问题可以简单地定义为这三个问题[1],我在哪里,我要去哪里和我如何到达那里,前两个问题可以通过完善的传感器系统解决,而第三个问题则需要一个有效的规划系统解决。
机器人导航意味着机器人能够在给定的环境中能够定位自己的位置,然后计算出朝向某个目标位置的路径。为了在给定的环境中导航,机器人或任何其他移动设备都具备解析环境地图的能力。导航可以定义为三个基本能力的组合,分别是自定位,路径规划,地图制作和地图解析。
机器人定位表示机器人在给定的环境中定位自己的位置和确定所其在方向的能力。路径规划实际上就是机器人根据自身传感器对环境感知,自行规划处一条最佳的运行路线,其中包括从初始点运动到目标点,避开各种障碍物,在完成以上任务的前提下,能够最大限度地优化机器人的运行轨迹。
基于视觉的定位依赖于光学传感器,最常见的光学传感器包括基于激光的测距仪和使用CCD阵列的测光相机[2]。然而,由于它们提供的数据量过载,所以提取用于定位的视觉特征信息是非常非常复杂的。普通的计算机会因为过载的数据量而造成卡顿的现象。因此,相较而言,运行光学传感器需要一个好的硬件配置环境。
其中,视觉感测可以为机器人提供相当准确的关于其周边环境的信息。视觉传感器是迄今为止所有传感器中最强大的信息源。因此,目前看来,光学传感器对于移动机器人的定位和导航可能是最佳的选择。
1.2 国内外研究与发展现状
1960年,美国海军投入运输基于卫星的卫星导航系统,用于协助船舶航行。从1960年到1982年间,美军不断改进和完善卫星导航技术和卫星系统。1973年,美军开始计划制作一个全球性的全球导航系统,被称为GPS(全球定位系统)。 1983年,由于导航路线计算错误,导致韩国航空公司007号飞机坠毁,美国里根总统宣布,现有军事GPS系统的导航功能是可以提供双重民用。
GPS系统的民用化进一步推动了机器人导航技术的开发,并在二十世纪初期进展到基于地标的三角测量。20世纪80年代,当前的商业机器人几乎都是基于感知自然特征自主地导航。实现这一导航功能的第一个商业机器人是Pyxus的HelpMate医院机器人和Cyber Motion防护机器人[3]。这些机器人最初通过手动创建的CAD平面图,声纳感测周遭环境变化来导航建筑物。MobileRobots的PatrolBot和自主轮椅,于2004年推出,其有能力利用传感器构造地图并实现自主避障功能。自主导航是基于平面传感器,如激光测距仪。
2 移动机器人导航相关技术
2.1 SLAM即时定位与地图构建
SLAM全称Simultaneous Localization And Mapping,即并发建图与定位,SLAM技术致力于利用移动机器人建立未知环境的地图,同时使用地图来导航环境。SLAM适用于2D和3D运动[4]。
SLAM利用范围传感器(如激光传感器,三维传感器,超声波传感器)来构建地图。范围传感器是用来检测障碍物至机器人的距离并将估计的位置将被存储到一个数据结构(e.g/二维数组),当机器人移动时,它不断更新这个数据结构。通常,这一过程中使用的过滤技术和颗粒过滤器是Kalman滤波器。
2.1.1 SLAM处理过程
SLAM的处理过程由若干步骤组成。这个过程的目标是使用环境来更新机器人的位置。由于机器人的里程计往往是错误的,我们不能直接依靠里程计(里程计用于给定机器人的位置)。我们可以利用激光扫描的环境来更新机器人的位置。定位是随着机器人的移动而根据机器人移动后的环境变化而改变[5]。EKF(扩展卡尔曼滤波)是SLAM处理过程中一个重要的环节。它负责更新机器人认为它自身所处的位置。
如图2.1表示出SLAM的处理流程
图 2.1 SLAM处理流程
当机器人移动到新的位置时,其里程计将会发生变化[6]。与此同时,机器人将提取新的特征点,然后机器人通过将提取的新的特征点与之前的特征点相互结合之后对机器人当前位置和当前环境信息进行重新估计。如图2.2解释SLAM的详细处理过程
目 录
1 引言 1
1.1 课题研究背景及意义 1
1.2 国内外研究与发展现状 2
2 移动机器人导航相关技术 2
2.1 SLAM即时定位与地图构建 2
2.2 扩展卡尔曼滤波器(EKF) 5
3 软件设计 8
3.1 开发环境简介 8
3.2 N2830双网千兆主板 8
3.3 turtlebot 9
3.4 软件运行流程 10
4 系统功能测试 10
4.1 安装ubuntu系统 10
4.2 安装ROS系统 12
4.3 工作站网络的配置 13
4.4 测试ROS系统是否安装成功 13
4.5 测试3D传感器 16
4.6 运行简单脚本程序 16
4.7 键盘控制构造地图 19
5 实验验证 22
5.1 机器人自动导航行驶 22
5.2 编码实现定点自主导航 24
结 论 28
致 谢 29
参 考 文 献 31
1 引言
1.1 课题研究背景及意义
导航技术是机器人技术中的核心技术之一,1991年Leonard & DurrantWhite,提出 *好棒文|www.hbsrm.com +Q: ^351916072#
导航技术的相关问题可以简单地定义为这三个问题[1],我在哪里,我要去哪里和我如何到达那里,前两个问题可以通过完善的传感器系统解决,而第三个问题则需要一个有效的规划系统解决。
机器人导航意味着机器人能够在给定的环境中能够定位自己的位置,然后计算出朝向某个目标位置的路径。为了在给定的环境中导航,机器人或任何其他移动设备都具备解析环境地图的能力。导航可以定义为三个基本能力的组合,分别是自定位,路径规划,地图制作和地图解析。
机器人定位表示机器人在给定的环境中定位自己的位置和确定所其在方向的能力。路径规划实际上就是机器人根据自身传感器对环境感知,自行规划处一条最佳的运行路线,其中包括从初始点运动到目标点,避开各种障碍物,在完成以上任务的前提下,能够最大限度地优化机器人的运行轨迹。
基于视觉的定位依赖于光学传感器,最常见的光学传感器包括基于激光的测距仪和使用CCD阵列的测光相机[2]。然而,由于它们提供的数据量过载,所以提取用于定位的视觉特征信息是非常非常复杂的。普通的计算机会因为过载的数据量而造成卡顿的现象。因此,相较而言,运行光学传感器需要一个好的硬件配置环境。
其中,视觉感测可以为机器人提供相当准确的关于其周边环境的信息。视觉传感器是迄今为止所有传感器中最强大的信息源。因此,目前看来,光学传感器对于移动机器人的定位和导航可能是最佳的选择。
1.2 国内外研究与发展现状
1960年,美国海军投入运输基于卫星的卫星导航系统,用于协助船舶航行。从1960年到1982年间,美军不断改进和完善卫星导航技术和卫星系统。1973年,美军开始计划制作一个全球性的全球导航系统,被称为GPS(全球定位系统)。 1983年,由于导航路线计算错误,导致韩国航空公司007号飞机坠毁,美国里根总统宣布,现有军事GPS系统的导航功能是可以提供双重民用。
GPS系统的民用化进一步推动了机器人导航技术的开发,并在二十世纪初期进展到基于地标的三角测量。20世纪80年代,当前的商业机器人几乎都是基于感知自然特征自主地导航。实现这一导航功能的第一个商业机器人是Pyxus的HelpMate医院机器人和Cyber Motion防护机器人[3]。这些机器人最初通过手动创建的CAD平面图,声纳感测周遭环境变化来导航建筑物。MobileRobots的PatrolBot和自主轮椅,于2004年推出,其有能力利用传感器构造地图并实现自主避障功能。自主导航是基于平面传感器,如激光测距仪。
2 移动机器人导航相关技术
2.1 SLAM即时定位与地图构建
SLAM全称Simultaneous Localization And Mapping,即并发建图与定位,SLAM技术致力于利用移动机器人建立未知环境的地图,同时使用地图来导航环境。SLAM适用于2D和3D运动[4]。
SLAM利用范围传感器(如激光传感器,三维传感器,超声波传感器)来构建地图。范围传感器是用来检测障碍物至机器人的距离并将估计的位置将被存储到一个数据结构(e.g/二维数组),当机器人移动时,它不断更新这个数据结构。通常,这一过程中使用的过滤技术和颗粒过滤器是Kalman滤波器。
2.1.1 SLAM处理过程
SLAM的处理过程由若干步骤组成。这个过程的目标是使用环境来更新机器人的位置。由于机器人的里程计往往是错误的,我们不能直接依靠里程计(里程计用于给定机器人的位置)。我们可以利用激光扫描的环境来更新机器人的位置。定位是随着机器人的移动而根据机器人移动后的环境变化而改变[5]。EKF(扩展卡尔曼滤波)是SLAM处理过程中一个重要的环节。它负责更新机器人认为它自身所处的位置。
如图2.1表示出SLAM的处理流程
图 2.1 SLAM处理流程
当机器人移动到新的位置时,其里程计将会发生变化[6]。与此同时,机器人将提取新的特征点,然后机器人通过将提取的新的特征点与之前的特征点相互结合之后对机器人当前位置和当前环境信息进行重新估计。如图2.2解释SLAM的详细处理过程
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1446.html