ROS有没有利用三维数据导航的package?用velodyne三维雷达建好地图后如何定位和路径规划?

ROS有没有利用三维数据导航的package?用velodyne三维雷达建好地图后如何定位和路径规划?

原标题:ROS有没有利用三维数据导航的package?用velodyne三维雷达建好地图后如何定位和路径规划?

关键字:路线规划,机器人操作平台 (ROS),光学雷达(Lidar)

最佳回答:fly qq

回答字数:485字

这个没太关注过。只是之前跟ROS的其他开发者讨论SBPL的时候见过他们在PR2上做的。可以看看这个

3d_navigation

简单地说,就是只是利用3D点云生成的octomap来做碰撞检测;然后利用SBPL来做路径规划(全局规划器)。他们的论文在这里:

http://hrl.informatik.uni-freiburg.de/papers/hornung12icra_3Dnav.pdf

ROS上的源码好像是打不开了。但是自己要做的话应该也容易,就是用FCL做碰撞检测,写个A*来做路径规划就好了。为了加快碰撞检测速度,可以将机器人模型做适当简化。

本文链接:

联系作者

回答作者:fly qq

0

评论0

  1. 一. 前言
    前面我们创建了地图,本节我们基于上节创建的地图,介绍ROS加载地图,如何实现定位以及导航。

    二. 启动建图导航环境
    1. 加载机器人模型

    roslaunch my_robot description.launch

    2. 启动gazebo

    roslaunch my_robot turtlebot3_house.launch

    3. 启动rviz

    roslaunch my_robot turtlebot3_gazebo_rviz.launch

    4. 启动控制台

    roslaunch my_robot turtlebot3_teleop_key.launch

    三. 加载地图

    cd catkin_ws/src/simulator/my_robot/maprosrun map_server map_server my_map.yaml

    使用map_server节点,以及上节生成的地图配置文件。

    四. 启动定位节点

    roslaunch my_robot amcl.launch

    如果报错如下:

    说明没有安装navigation,使用指令安装:

    sudo apt install ros-melodic-navigation

    五. 启动导航节点

    roslaunch my_robot move_base.launch

    六. rivz配置
    启动后,添加定位和map两个topic,可以看到地图和定位输出的当前位置,如图:

    另外需要将固定参考系设为map,否则在使用rviz设置初始位置或者发布导航位置时,会报错:

    七. 自主导航
    在rviz中,使用2D NAV GOAL,可以设置导航点,设置后,会看到move_base.launch有log输出,当机器人到达导航点时,会出现Goal reached。同时可以观察rviz和gazebo中机器人位置是否匹配,如图:

    八. 数据流
    本节包含两个数据流:定位和导航;定位又分为两种定位:里程计定位和地图定位,里程计定位由gazebo里面的运动插件负责,表现为odom参考系下base_link的位姿,是一种连续的、存在漂移误差的定位; 而map定位,是通过激光雷达与地图点云匹配实现,是一种离散的、没有漂移误差的定位,由amcl节点负责,表现为map参考系下base_link位姿。导航由节点move_base节点负责,此节点接受导航点,然后根据自己 当前位置,计算全局路径和局部路径,控制机器人运动。

    九. 小结

    节点map_server: 负责加载地图数据。 节点amcl: 实现激光雷达实时定位。 节点move_base: 实现路径规划和导航控制。amcl.launch和move_base.launch有很多节点配置参数,与定位和导航算法相关,感兴趣的可以自行调试学习。

    hjl4am 2023-09-27 0 回复
没有账号?注册  忘记密码?