网站首页  词典首页

请输入您要查询的论文:

 

标题 基于ROS的移动机器人多目标路径规划
范文

    周兰兰

    

    摘要:机器人越来越受到广泛应用,而机器人巡检、执行配送等都不可或缺的需要移动机器人自主实现多目标导航规划。首先建立其运动学和动力学模型;在建模的基础上,分析A*算法并将其应用于导航任务中;针对多目标点导航,研究ROS系统中自主导航平台,搭建多目标点导航平台,并在平台上完成多目标点自主导航任务。实验表明,程序给定多个导航目标点时,通过A*算法能够实现多目标导航规划,为移动机器人进行多目标点导航提供了可行性方案。

    关键词:移动机器人;多目标点;A*算法

    中图分类号: TP311? ? ? ? 文献标识码:A

    文章编号:1009-3044(2019)21-0176-02

    开放科学(资源服务)标识码(OSID):

    Abstract: Robot is more and more widely application, the inspection robot, execution, delivery are indispensable to mobile robot autonomous navigation realize multi-objective planning. Firstly, the kinematics and dynamics models are established. On the basis of modeling, A* algorithm is analyzed and applied to navigation tasks. Aiming at multi-target point navigation, the autonomous navigation platform in ROS system is studied to build a multi-target point navigation platform and complete multi-target point autonomous navigation tasks on the platform. The experiment shows that when the program is given multiple navigation target points, the multi-objective navigation planning can be realized through A* algorithm, which provides A feasible scheme for mobile robot to conduct multi-objective navigation.

    Key words: mobile robot;mutil-targets;A* algorithm.

    近幾年,随着计算机技术的快速发展,移动机器人在诸多生活领域发挥着越来越重要的作用,特别是在航空航天、工业、灾难救援等方面。随着硬件技术和机器人平台的复杂化,为了提高软件代码的复用性和模块化需求,斯坦福大学人工智能实验室与机器人技术公司Willow Garage于2007年在合作的个人机器人项目中产生了ROS(Robot Operating System)[1]。ROS被设计为分布式框架,集成了大量的工具、库、协议,提供了硬件抽象、底层驱动、消息传递、程序管理和机制帮助用户完成机器人应用的建立、编写和多机集成[2]。

    ROS中功能模块都封装独立的功能包,便于进行共享和分发。ROS功能包主要包含gmapping、cartographer、导航功能包等。其中,路径规划技术是机器人自主导航的核心技术,受到了国内外学者的广泛关注。机器人路径规划主要是指机器人能够在静态环境或动态环境均能规划出一条最优的抵达目标点的无碰撞路径[3];它主要包括环境信息已知的全局规划和信息未知的局部路径规划。常见的局部路径规划主要包括人工势场法、动态窗口法等。全局路径规划方法包括可视图法、拓扑图法、A*等方法。针对多目标导航,本文建立四轮全向移动机器人模型,并在搭建的ROS的平台上完成基于A*的多目标点导航任务。实验结果证明,基于ROS的多目标导航平台能够完成从起始点依次到达设定的各个目标点任务。

    1全向移动机器人模型

    1.1? 运动学模型

    在建立移动机器人运动学模型时,假设机器人满足如下条件:

    (1) 机器人自身参数通常不会改变,如车轮半径、轮间距等;

    (2) 机器人在水平地面上运动且不会与地面发生严重的摩擦;

    (3) 机器人仅在运动方向上滚动且不会发生侧滑现象。

    图1所示为四轮全向移动机器人的运动学关系图。机器人导航中存在三大坐标系:世界坐标系、传感器坐标系及机器人坐标系,图中,XwOYw表示机器人世界坐标系,xroyr表示机器人自身的坐标系,[w1]、[w2]、[w3]、[w4]分别表示机器人的四个车轮。

    图中,[θ]为机器人的前进方向,[ω]为机器人的角速度,[v1]、[v2]、[v3]、[v4]分别为[w1]、[w2]、[w3]、[w4]车轮的线速度,[δ1]、[δ2]、[δ3]、[δ4]分别为四个车轮与机器人坐标系中X轴的夹角,且[δ=δ1=δ2=δ3=δ4],四个车轮到车体中心距离相等, [L]为全向轮到机器人车体中心的距离。

    通过分析图1的几何关系可知,机器人四个车轮的线速度与车体质心速度间的关系,即其运动学方程为[4]:

    式中,令[q=(xw,yw,θw)T],[q]为世界坐标系下的机器人的位姿,[v=(v1,v2,v3,v4)T]为四轮全向移动机器人的车轮线速度,转换矩阵为

    假设[S(q)=J-1(θ)],则机器人运动学模型简化如下:

    1.2 动力学模型

    将图1中四个车轮线速度[v1]、[v2]、[v3]、[v4]分别替换为四个车轮所受的力[f1]、[f2]、[f3]、[f4]形成四轮全向移动机器人动力学示意图。假设机器人总质量为[m],[I]为移动机器人绕底座中心旋转的转动惯量,而机器人所受摩擦等其他干扰条件不被考虑,分析图1中的受力情况可知,四轮全向移动机器人的加速度与各力的关系为:

    2 A*算法

    A*算法是一种启发式搜索算法,会评估在状态空间中对当前点附近的每个搜索位置,得到最佳位置,在依次搜索直至目标[6]。A*算法的基本思想是:引入当前节点n的代价函数[f(n)],其定义为:

    其中,[g(n)]、[h(n)]分别为在状态空间中从起点到节点n的真实值、节点n到目标点的最佳路径的估值,[h(n)]通常为节点n到目标点间的欧几里得距离或曼哈顿距离来估计。本文中的[h(n)]是当前节点[(xn,yn)]与目标节点[(xG,yG)]间的欧几里得距离:

    在栅格地图中应用A*算法路径规划时,移动机器人根据车体大小被视为地图中与单个栅格尺寸匹配的质点。

    3 实验平台

    在基于Ubuntu Kinetic的系统下安装ROS。ROS系统自主导航主要包有三个功能包:gmapping、amcl和move_base包[6]。Gammping包会根据激光雷达获取环境信息结合里程计数据完成基于概率的二维栅格地图的创建;amcl包会根据已知的环境地图信息自主定位与导航;move_base包会根据激光获取的环境信息和机器人自身的运动信息来规划机器人的下一步运动轨迹,最终完成抵达目标位置的任务。本文假定环境信息是已知的,因此主要用到amcl包和move_base包。

    在移动机器人的自主导航中,tf包用于转换三个坐标系信息。在导航中,将激光获取的信息和里程计数据通过tf转换传输到move_base包,然后结合栅格地图信息依据目标点将经过move_base包处理后形成的速度和角速度信息驱动机器人运动。

    针对多目标点导航,需要在一次导航完成后,将下一个目标点的信息自动发布到move_base包中。目标点位姿包括位置信息和航向四元数,位置信息为目标点坐标值,航向四元数为该点后机器人朝向信息。每到达一个目标点,会显示“RESULT SUCCEED”,然后机器人接收到下一目标点后开始下一次导航。

    4 仿真实验

    实验中机器人车体长宽高分别为0.25m,0.16m,0.05m,车轮半径为0.025m,车轮宽度为0.02m。整个机器人由四个全向轮支撑,可以使机器人在原地360°旋转。地图长为31.2米,宽为23米,移动机器人起始点为(-5.0,-4.0,0),导航目标点共四个,位置信息分别为(10.155,11.605)、(11.881,14.532)、(16.761,15.211)、(18.470,11.730)。在move_base.launch文件中配置移动机器人、激光雷达等相关参数,并在终端通过命令roslaunch simulation_launch move_base.launch打开rviz可视化窗口,为后续多目标点导航做准备。重新打开终端,由 rosrun mutil_navigation_goals mutil_navigation_goal发布多个目标点到导航系统,然后机器人便可以根据程序给出的目标点开始自主导航。

    机器人导航中rviz界面显示的导航过程如图2所示。(a)(b)分别为移动机器人基于A*算法对第一个目标点、第四点的路径规划图。

    5 结论

    本文针对多目标导航,分析并建立了四轮全向移动机器人运动学、动力学模型;搭建了基于ROS的多目标导航仿真平台,将A*算法应用于多目标自主导航中。为了实现多目标点自主导航,将多个目标点信息写入单独的ROS的程序包中,在导航规划开始之前,发布多目标信息到导航平台中,依次进行导航规划任务。仿真实验结果表明,在发布多个目标点信息之后,移动机器人能够利用A*算法依次成功到达程序设定的所有目标点。实验验证了A*算法在ROS平台上进行多目标导航规划的可行性。

    参考文献:

    [1] 胡春旭.ROS机器人开发实践[M].北京:机械工业出版社,2018.

    [2] 高民东,张雅妮,朱凌云.基于ROS的机器人室内巡检技术仿真[J].重庆理工大学学报(自然科学),2018(7).

    [3] 王殿君.基于改进A*算法的室内移动机器人路径规划[J].清华大学学报(自然科学版), 2012(8):1085-1089.

    [4] 王国胜,夏凡,吕强,等.基于动力学与运动学的四轮全向移动机器人轨迹跟踪控制[J].装甲兵工程學院学报,2015(1):54-59.

    [5] 周晶,曹国华,翟娟.基于A*算法的智能轮椅的路径规划[J].电子技术, 2014(4).

    [6] 吴梦珂,任工昌,刘朋.基于ROS的移动机器人多目标点导航的实现[J].电子技术,2018,47(7):28,32-35.

    【通联编辑:唐一东】

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/17 1:12:56