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所示。
暂无评论内容