移动机器人SLAM与路径规划在ROS框架下的实现

  • 移动机器人SLAM与路径规划在ROS框架下的实现已关闭评论
  • 63 views
  • A+
所属分类:AGV设计资料
摘要

目的:实现移动机器人的即时定位与地图构建(simultaneous localization and mapping,SLAM)和路径规划,解决移动过程中的数据关联实时性问题和更新状态协方差矩阵的计算复杂度问题。方法:建立SLAM问题的数学模型,通过分析对比,选用基于粒子滤波器的Fast Slam算法并结合A*和动态窗口法(dynamic window approach,DWA)在ROS(robot operating system)框架下编写gmapping功能包。结果:实现了移动机器人在ROS框架下的运动实验仿真、路径规划和动态避障。结论:利用ROS平台,移动机器人在完成自身定位和地图构建的同时能够实时、高效地完成路径轨迹规划。

0 引言

随着机器人智能化、无人化技术的快速发展移动机器人在卫勤保障中的应用愈发广泛。未来在面对战场复杂未知环境时,机器人要实现自主化和智能化需要完成3个任务第1个是定位(localization),第2个是制图(mapping),第3个是路径规划(pathplanning)。前2个任务是移动机器人即时定位与地图构建(simultaneous localization and mapping SLAM)",它被描述为在未知环境中机器人从一个未知位置开始移动,在移动过程中通过传感器反馈数据生成实时状态估计完成自身定位,同时在自身定位的基础上建造增量式地图。第3个任务是路径规划其目标是在有障碍物存在的工作空间内快速寻找一条无碰撞的运动路径,使机器人能安全、无碰撞地绕过所有障碍物到达目标点。

本文对移动机器人SLAM进行了数学建模并且详细分析了不同SLAM算法的优缺点最终选用基于粒子滤波器的FastSLAM算法实现并在机器人操作平台(robot operating system ROS)进行仿真实验。经过实验ROS能实现对移动机器人的精准定位与地图构建,也能解决传感器与机器人数据关联的实时性问题,并且由于ROS代码复用性好开发出的应用程序可移植性能强,可以用在不同机器人系统中。

1 SLAM问题定义

在SLAM问题中,用t表示时间,x1表示机器人位姿,对于移动机器人,xt通常是一个三维向量由二维平面位置坐标和一个表示朝向的旋转角组成,随时间推移,位姿序列或轨迹可表示为Xt={x0,x1,x2,...xT}其中初始位姿x0已知其他位姿不能直接感知。里程计提供2个连续位置之间的相对信息用ut表示t-1时刻到t时刻的运动里程这些数据可以从机器人轮子编码器或其电动机控制量处获得,序列Ut={u1 ,u2 ,u3 ,...uT }描述了机器人的相对运动。机器人周围环境地图用m表示,它由地标、物体和表面等组成m描述了它们的位姿通常假设环境地图是静态的。机器人测量建立了m中的特征与机器人位姿xt之间的关系,其测量序列表示为Zt={z1 ,z2 ,z3 ,...zT ,}。 SLAM问题就是根据里程计和测量数据恢复环境模型m和机器人位姿序列Xt

如上所述SLAM问题需要建立2个数学模型:(1)描述里程计测量ut与机器人位姿xt-1和xt间的数学模型(2)描述测量值zt与环境m和机器人位姿xt间关系的模型。这些模型通常被看作概率分布:p(xt|xt-1,ut)表示机器人从已知位姿xt-1出发且测得里程数据为ut,时位姿xt的概率分布p(zt|xt,m)表示在已知环境m中的已知位姿xt处测得zt的概率分布。然后可以通过贝叶斯准则(Bayes rule)根据测量数据饭复隐含变量的概率分布。贝叶斯网图描述SLAM问题如图1所示。

移动机器人SLAM与路径规划在ROS框架下的实现

图 1 贝叶斯网图描述 SLAM 问题


恭喜,此资源为免费资源,请先
注意:本站资源多为网络收集,如涉及版权问题请及时与站长联系QQ:2766242327,我们会在第一时间内与您协商解决。如非特殊说明,本站所有资源解压密码均为:agvba.com。
weinxin
微信公众号
agvba是一个分享AGV知识和agv案例视频的网站。