教程 | 阿克曼结构移动机器人的gazebo仿真(八)

本文详细介绍了如何在gazebo仿真环境中配置AMCL和move_base,实现阿克曼结构移动机器人的自主导航。通过配置相关参数文件,如costmap_common_param.yaml、global_costmap_param.yaml等,使得小车能在未知环境中进行建图与导航。最终,创建launch文件实现一键启动导航,并展示了小车在2D nav goal下进行导航的过程。
摘要由CSDN通过智能技术生成

01 前言

上一节通过配置小车的里程计,用gmapping算法建了房间的二维栅格地图;这一节通过配置AMCL定位以及move_base实现小车在房间中的自主导航。在mini小车仿真的章节讲到导航主要分为机器人定位和路径规划两大部分。ROS分别提供了功能包

1、move_base:实现机器人导航中的最优路径规划。

2、amcl:实现二维地图中的机器人定位。

首先安装导航的功能包:

 sudo apt-get install ros-melodic-navigation

02 配置AMCL

在racebot_gazebo中创建amcl.launch文件,与里程计定位不同的是,amcl定位可以估算机器人在地图坐标系/map下的位姿信息,提供/base_footprint、/odom、/map之间的TF变换,因此关于上述话题的名称要与launch文件中对应。代码如下:

<launch>
    <arg name="scan_topic" default="scan"/>
    <arg name="initial_pose_x" default="0.0"/>
    <arg name="initial_pose_y" default="0.0"/>
    <arg name="initial_pose_a" default="0.0"/>
    <node pkg="amcl" type="amcl" name="amcl" clear_params="true">
        <param name="min_particles"             value="500"/>
        <param name="max_particles"             value="3000"/>
        <param name="kld_err"                   value="0.02"/>
        <param name="update_min_d"              value="0.20"/>
        <param name="update_min_a"              value="0.20"/>
        <param name="resample_interval"         value="1"/>
        <param name="transform_tolerance"       value="0.5"/>
        <param name="recovery_alpha_slow"       value="0.00"/>
        <param name="recovery_alpha_fast"       value="0.00"/>
        <param name="initial_pose_x"            value="$(arg initial_pose_x)"/>
        <param name="initial_pose_y"            value="$(arg initial_pose_y)"/>
        <param name="initial_pose_a"            value="$(arg initial_pose_a)"/>
        <param name="gui_publish_rate"          value="50.0"/>
        <remap from="scan"                      to="$(arg scan_topic)"/>
        <param name="laser_max_range"           value="3.5"/>
        <param name="laser_max_beams"           value="180"/>
        <param name="laser_z_hit"               value="0.5"/>
        <param name="laser_z_short"             value="0.05"/>
        <param name="laser_z_max"               value="0.05"/>
        <param name="laser_z_rand"              value="0.5"/>
        <param name="laser_sigma_hit"           value="0.2"/>
        <param name="laser_lambda_short"        value&
  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值