Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

基于上期的投票结果,本期介绍“如何使用模拟器来实现机器人路径规划与障碍物避障”,下期将介绍关注度同样高的“模拟器源代码包介绍”。

准备工作:

  • 环境:Ubuntu16.04、ROS Kinetic
  • 程序:Autolabor Simulation源码包

AS模拟器是基于ROS开发的,在使用模拟器之前需要先启动ROS的工作环境。其工作流程如下:

Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

步骤如下:

  1. 打开Ubuntu系统下的终端(Terminal)(快捷键Ctrl+Alt+T),然后进入工作空间目录~/catkin_ws /
    $ cd catkin_ws/

    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

  2. 编译目录下的文件

    $ catkin_make
    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

  3. 启动~/catkin_ws/devel目录下的setup.bash文件。每次打开一个新的终端(Terminal)时都需要启动它

    $ source devel/setup.bash
    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

  4. 启动模拟器。

    启动模拟器中的运动规划的launch文件,该文件是simulation_launch包下
    move_base_simulation.launch文件,运行下面的命令,启动模拟器的窗口程序

    $ roslaunch simulation_launch move_base_simulation.launch
    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

    将弹出RViz的窗口
    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

  5. 在模拟器的可视化窗口程序中,选择2D Nav Goal选项,将鼠标移到动迷宫地图中白色区域的任意一点,然后点击确定目标位置,释放鼠标,就能设定机器人小车将要行驶的目标点,机器人小车就会自动规划一条路径,并按照规划的路线行驶。

    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障
    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

  6. 动态障碍物得设置。点击左下角的Add选项,弹出添加topic的对话框,然后选择By topic下面的/obstacle下的interactiveMarkers,点击OK,即可将障碍物添加到其中,选中障碍物右键将Apply的复选框的勾选上即可。

    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障
    此时就能在图上看到显示障碍物的信息

    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

  7. 用鼠标左键选中动态障碍物,拖拽并移动到你需要放置的地方,当机器人小车运动到障碍物附近时,机器人小车上的激光雷达会采集它的信息并进行判断,进而重新规划路径。

    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

  8. 当然,对模拟器中需要展示的Topic,可以根据需要进行选择、添加、删除等。其中:

    • Grid 显示网格
    • RobotModel 机器人模型小车
    • Map Global_costmap
    • Map local_costmap
    • Path 全局的路径规划GlobalPlanner
    • Path 局部路径规划LocalPlanner
    • Map 获取的地图

    小伙伴可以自行添加查看不同的效果。(tip:将鼠标点击地图不放,拖拽地图可以变换不同的视角,滑动鼠标滚珠,进行放大缩小,按住Shift拖动地图,将地图进行平移,以便观看。)
    Autolabor Simulation(AS)实现机器人路径规划与障碍物避障

公众号回复【模拟器镜像】即可获得Autolabor模拟器的镜像文件及配套的模拟器镜像的安装教程。

小伙伴们可以下载镜像,按照模拟器镜像的安装教程进行一步步操作,结合本期讲解就可以自己实现移动机器人的路径规划与动态障碍物避障了,还不赶快试一试哦!学习过程中遇到任何问题可以在本文后面留言。


Autolabor Simulation(AS)实现机器人路径规划与障碍物避障