SLAM学习:使用move_base无法动态实现实时避障

前言

首先我使用的机器人模型是自己用solidworks制作然后转出为urdf模型的,然后在我用AMCL+Move_base算法的时候发现机器人无法躲避实时障碍物,也就是当你突然放一个物体在机器人面前,激光雷达是可以扫描到前方有物体而且会在rviz中的显示红色的点云信息但是却没有膨胀区域(也就是Move_base功能包中所设定的一个安全+可能危险+危险区域蓝色的一块)

一、问题描述
首先呈上问题的图片
在这里插入图片描述
可以看到上面的情况,在小车的面前有个正方体,但是却无法描述它的膨胀区域,最刚开始的时候我一直以为是我的move_base功能包出现了问题然后我就重新的去安装一遍功能包然后发现还是没有用,但是很奇怪的是当我用别人的一个小车模型但是同样的move_base包的时候却意外的发现是可以出现膨胀区域,那这下子问题就是我的小车模型上了。

二、问题解决
在我努力排除可能问题的努力下,终于发现问题所在,那就是我的激光雷达所设置的一个水平高度比较高,然后又因为move_base的配置文件costmap_common_params.yaml里面有一个设置障碍物最小和最大高度的选项;很巧的是两个错开了,就是雷达所在高度扫描过去是可以扫描到但是我move_base配置文件里面设置的识别到的障碍物高度如果在那个范围就直接过滤掉,所以最终原因就是costmap_common_params.yaml中的max_obstacle_height和min_obstacle_height参数设置问题,一般的min_obstacle_height设置为地面高度也就是0,max_obstacle_height设置成高于机器人的高度(我就是设置太低了引发的问题),至此就可以解决问题。
这是修改之后的图片
在这里插入图片描述
三、总结
这里要推荐给大家的参考网站
ROS_wiki
Costmap_2d
obstacle层参数配置

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: cartographer 是一款常用的地图建图和定位系统,常用于机器人导航和路径规划中。它主要包含两个模块:建图模块和定位模块。 建图模块使用传感器数据(如激光数据或RGB-D数据)进行实时地图构建。它通过在机器人移动过程中,利用传感器测量的环境信息,将这些信息转化为二维或三维地图。这些地图可以被用于机器人的后续操作,如导航、避障等。 定位模块则提供了机器人在地图中确定自身姿态(位置和朝向)的功能。通过与先前建立的地图进行匹配,定位模块可以估计机器人当前的位置,并提供这些信息给其他模块使用。例如,在路径规划中,定位模块可以提供机器人当前所在位置,从而使得路径规划系统能够生成适合该位置的有效路径。 move_base 是一款用于机器人路径规划和导航的功能包。它与 cartographer 结合使用时,可以将 cartographer 提供的地图数据作为输入,同时利用定位模块提供的位置信息,为机器人生成路径规划。move_base 可以考虑机器人的动态环境,并生成安全有效的路径。在导航过程中,move_base 还可以进行障碍物避障,以确保机器人安全到达目标位置。 所以,cartographer 和 move_base 的结合可以为机器人提供强大的地图建图和路径规划导航功能,使得机器人能够在复杂的环境中进行自主移动和导航。 ### 回答2: Cartographer是一种用于建图和定位的SLAM算法。它通过结合激光扫描数据和传感器信息来生成高质量的地图和机器人的定位。而move_base是一个ROS软件包,用于规划和控制机器人在已知地图上的导航。 使用Cartographer和move_base,机器人可以先通过激光传感器获取周围环境的扫描数据,并利用Cartographer算法将这些数据进行处理,生成一个准确的地图。然后,机器人可以使用move_base的规划器来根据地图和目标位置,计算出一个可行的导航路径。 在导航过程中,move_base还会实时更新机器人的定位信息,通过Cartographer提供的定位算法,精确计算机器人的位置和姿态。一旦导航路径完成规划,move_base会将路径上的目标点发送给底层的控制器,控制机器人沿着路径移动。 整个过程中,Cartographer为move_base提供了建图和定位的支持,使得机器人能够在已知的环境中实现精确的导航。这种结合可以广泛应用于机器人自主导航、自主探索和作业执行等领域。通过使用Cartographer和move_base,机器人可以在复杂的环境中高效地进行导航任务,实现自主决策和行动。 ### 回答3: cartographer move_base是一种使用于机器人导航的软件系统。它结合了cartographer和move_base两个功能模块,提供了高效的实时建图和路径规划功能。 首先,cartographer模块是一个先进的2D和3D实时建图算法库。它使用激光雷达或深度相机等传感器数据,将机器人周围环境进行高精度建模。它能够实时定位,地图存储和传输。因此,当机器人在未知环境中移动时,cartographer能够快速创建地图,并在机器人移动过程中对其进行更新。 而move_base模块是ROS(机器人操作系统)中的一个核心导航功能包。它基于全局规划和局部规划两个模块,为机器人提供路径规划和导航控制。全局规划使用地图信息和用户指定的目标位置,计算出机器人的最优导航路径。局部规划根据机器人当前位姿、感知信息和全局规划路径,实时生成机器人的局部规划路径,并控制机器人移动。 cartographer move_base结合了这两个功能模块。它能够通过cartographer实时建图获取机器人周围环境的精确信息,并结合move_base进行路径规划和导航控制。因此,机器人可以在未知环境中实时感知自己的位置,根据目标位置规划最优路径,并通过move_base进行实时控制,从而实现高效、精确的导航。 综上所述,cartographer move_base是一种能够结合实时建图和路径规划功能的软件系统。它为机器人导航提供了强大的功能支持,并广泛应用于自主机器人、无人车等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值