导航功能包入门2
为了能和读者进一步讨论问题,建立了一个微信群,方便给大家解答问题,也可以一起讨论问题。
加群链接
注意:
- 再学习本系列教程时,应该已经安装过ROS了并且需要有一些ROS的基本知识
- 本章节需要安装两个功能包
- 安装amcl:在已有的地图内定位机器人
- 安装方法1:
在catkin_ws/src下$ git clone https://github.com/ros-planning/navigation.git - 安装方法2
$ sudo apt-get update $ sudo apt-get install ros-melodic-amcl
- 安装方法1:
- 安装gmapping:由激光雷达数据生成地图(或者深度相机数据)
- 安装方法1:
在catkin_ws/src下$ git clone https://github.com/ros-perception/slam_gmapping.git - 安装方法2:
$ sudo apt-get update $ sudo apt-get install ros-melodic-gmapping
- 安装方法1:
- 安装move_base:导航功能包
- 安装方法:
$ sudo apt-get update $ sudo apt-get install ros-melodic-move-base
- 安装方法:
- 安装amcl:在已有的地图内定位机器人
webots版本:2020b rev1
ros版本:melodic
在前面几章中分别介绍了在webots中如何创建自己的机器人、添加传感器以及使用手柄或键盘驱动它在仿真环境中移动。在本章中,你会学习到ROS系统最强大的特性之一,它能够让你的机器人自主导航和运动。
1.使用ROS创建地图
创建地图本身是一个很麻烦的工作,必须选择正确的工具来简化这项工作。在ROS中就提供了这样的工具能够帮助我们使用激光雷达和机器人的里程信息创建地图。这个工具是map_server地图服务器(http://wiki.ros.org/map_server)。在本示例中,你将会学到如何使用我们在webots中创建的机器人来创建、保存和加载地图。
我们将会使用一个launch文件来简化创建的过程。在webots_demo/launch文件夹下以slam.launch为名称创建一个新文件,然后添加以下代码:
<launch>
<!-- 打开webots -->
<include file="$(find webots_demo)/launch/webots.launch" />
<arg name="model" />
<arg name="gui" default="false" />
<param name="use_gui" value="$(arg gui)" />
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
<node name="robot_broadcaster" pkg="webots_demo" type="robot_broadcaster" />
<!-- 打开rviz -->
<node name="rviz" pkg="rviz" type="rviz" />
<!-- Gmapping建图算法,接收传感器数据建立地图 -->
<node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen" clear_params="true">
<param name="odom_frame" value="odom" />
<param name="base_frame" value="base_link" />
<param name="map_update_interval" value="0.75" />
<!-- Set maxUrange < actual maximum range of the Laser -->
<param name="maxRange" value="4.5" />
<param name="maxUrange" value="3.5" />
<param name="sigma" value="0.05" />
<param name="kernelSize" value="1" />
<param name="lstep" value="0.05" />
<param name="astep" value="0.05" />
<param name="iterations" value="5" />
<param name

本文介绍ROS导航功能包入门知识。需安装amcl、gmapping、move_base等功能包,使用ROS创建地图,借助map_server保存地图。还介绍了全局和局部代价地图的配置、启动文件配置、slam.launch改动,进行运行测试,编写指定点导航运动程序并最终运行,实现机器人自主导航。
最低0.47元/天 解锁文章
5333

被折叠的 条评论
为什么被折叠?



