ROS—进行建图或者move_base路径规划时出现打滑现象(雷达匹配不上地图)的解决方法—本人多次实验的出的结论

之前我的车会经常出现打滑现象,图也建不了,就算勉强建好了图,在进行路径规划的时候也是匹配不上,然后不停的进行行为恢复,很是苦恼。但后来我用我学长的车的时候发现他的匹配程度可以说是99%,基本不动,这就给建图和导航提供了很大的帮助,后来在抠他源码和不断实验之后发现他在运行算法之前通过调节线速度和角速度,使线速度和角速度达到标准,然后再运行算法精度非常高,这会我去测试自己线速度和imu精度的时候发现根本就是一坨屎,误差达到60%,这才缓过来,各种pid调,然后就是各种imu滤波,才达到了90%以上的精度,随后雷达的匹配程度也同样上来了,现在建图和导航基本无压力。很开心,在这里我也简单分析一下原因吧:

经过测试得知,打滑现象的产生都是因为里程计数据和陀螺仪数据的误差所造成的。
里程计的误差是因为cmd_vel数据或者键盘操作给出时如果机器人的线速度达不到给定的线速度就会产生里程计误差。
比如给liner线速度为0.3m/s,但实际却跑了0.1m,那么这0.1m/s的线速度通过你底盘算出来之后就会往ROS发,
但实际地图更新是根据你下发给32的线速度为准,而雷达坐标系和底盘坐标系却是和上层给的线速度为准,
所以在地图上一秒会更新0.3m,而车上雷达却只走了0.1m,
所以上下就产生了0.2m的误差在图上,所以就会出现坐标往前走了0.3m,而图却只走了0.1m,但雷达会尽力去匹配,
但误差太过大的话就匹配不回来。
解决方法就是pid调好,在32模拟给定线速度为0.3,然后要走到0.3误差才最小,而且要走直线。

角速度的话就是imu的问题,只要角度正确,发送角速度下去可以转指定角度就好。

再分享一份我自己的gmapping建图配置参数:

<launch><node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen"><param name="base_frame" value="base_link"/> <!--机器人底盘坐标系基框架,附带在移动底盘的框架,原点--><param name="odom_frame" value="odom"/> <!--里程计坐标系里程计框架,附带在里程计的框架--><param name="map_frame" value="map"/> <!--地图坐标系地图框架,附带在地图上的框架--><param name="map_update_interval" value="0.01"/><!--地图更新速度,秒0.01--><param name="maxUrange" value="10.0"/><!--jiguang zuida keyongjuli,  danwei:mi ,dayu jiu buyong--><param name="maxRange" value="12.0"/><!--zuida juli-->   <param name="sigma" value="0.05"/><param name="kernelSize" value="3"/><!--moren:1--><param name="lstep" value="0.05"/><param name="astep" value="0.05"/><param name="iterations" value="5"/><param name="lsigma" value="0.075"/><param name="ogain" value="3.0"/><param name="lskip" value="0"/><param name="srr" value="0.1"/><param name="srt" value="0.2"/><param name="str" value="0.1"/><param name="stt" value="0.2"/><param name="minimumScore" value="0"/><param name="linearUpdate" value="0.05"/><!--线速度角速度在地图的更新--><param name="angularUpdate" value="0.0436"/><param name="temporalUpdate" value="-1"/><!--moren:-1--><param name="resampleThreshold" value="0.5"/><param name="particles" value="8"/><!--moren:30 gaicheng:8--><param name="xmin" value="-50.0"/><param name="ymin" value="-50.0"/><param name="xmax" value="50.0"/><param name="ymax" value="50.0"/><param name="delta" value="0.05"/><param name="llsamplerange" value="0.01"/> <param name="llsamplestep" value="0.01"/><param name="lasamplerange" value="0.005"/><param name="lasamplestep" value="0.005"/><!--param name="transform_publish_period" value="0.01"/--></node>
</launch>

希望可以帮到跟我遇到同样问题的同学。

ROS---进行建图或者move_base路径规划时出现打滑现象(雷达匹配不上地图)的解决方法 附gmapping建图配置参数相关推荐

  1. 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 1618期】

    ⛄一.蚁群算法及栅格地图简介 1 蚁群算法 1.1 蚁群算法的提出 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来寻找优化路径的机率型算法.它由Marc ...

  2. IIS6.0发布后对路径“D:\xxx\xxxx\web.config”的访问被拒绝问题的解决方法

    IIS6.0发布后对路径"D:\xxx\xxxx\web.config"的访问被拒绝问题的解决方法 参考文章: (1)IIS6.0发布后对路径"D:\xxx\xxxx\w ...

  3. 在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的值的解决方法

    在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的值的解决方法 参考文章: (1)在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的 ...

  4. 【论文阅读记录】基于视觉SLAM建图的无人机路径规划 作者:王海

    目录 一.论文前瞻问题 二.论文内容概述 1.SLAM建图与路径规划综述 2.关键问题 3.SLAM中前后端设计部分 4.三维路径规划 三.拓展 一.论文前瞻问题 智能体在陌生环境中的一次自主导航任务 ...

  5. ROS导航系列(四):全局路径规划器的参数配置分析

    全局路径规划器global_planner的参数配置与分析 一.global_planner相关参数 二.测试 nav_core中提供了对应的全局路径规划接口.要想使用机器人move_base提供的便 ...

  6. 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 119期】

    ⛄一.简介 路径规划是实现移动机器人自主导航的关键技术,是指在有障碍物的环境中,按照一定的评价标准(如距离.时间.能耗等),寻找到一条从起始点到目标点的无碰撞路径,这里选取最短距离路径规划的评价标准, ...

  7. 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 1580期】

    ⛄一.简介 路径规划是实现移动机器人自主导航的关键技术,是指在有障碍物的环境中,按照一定的评价标准(如距离.时间.能耗等),寻找到一条从起始点到目标点的无碰撞路径,这里选取最短距离路径规划的评价标准, ...

  8. 【路径规划】基于蚁群算法求解机器人栅格地图路径规划matlab代码

    1 简介 通过栅格法建立栅格地图作为机器人路径规划的工作环境,采用蚁群算法作为机器人路径搜索的规则.将所有机器人放置于初始位置.经过NC次无碰撞迭代运动找到最优路径.到达目标位置.为防止机器人在路径搜 ...

  9. 【路径规划-TSP问题】基于粒子群结合蚁群算法求解旅行商问题附matlab代码

    1 内容介绍 一种基于粒子群优化的蚁群算法求解TSP问题的方法.该方法在求解TSP问题时,利用粒子群优化的思想,对蚁群算法的参数取值进行优化并选择.在粒子群算法中,将蚁群算法的5个参数(q,α,β,ρ ...

最新文章

  1. python实现简易版成绩管理系统_Python 实现简易版成绩管理系统!
  2. 【CentOS Linux 7】实验6【web服务器搭建与管理】
  3. VTK:Rendering之Model
  4. TensorFlow 2.0 - 自定义模型、训练过程
  5. python 异常处理 变量_Python基础入门:从变量到异常处理
  6. 玩玩机器学习1——ubuntu16.04 64位安装TensorFlow GPU+python3+cuda8.0+cudnn8.0
  7. Python3.6 deep learning first step
  8. python实现字符串匹配算法BF,BF改,KMP
  9. Python重写C语言程序100例--Part6
  10. 除自身以外数组的乘积leetcode 238
  11. Rulo扫地机器人app_扫地机器人扫不干净 为什么我还推荐大家买?
  12. 编码器的历史以及未来发展前景
  13. 上传附件,附件类型问题
  14. 运营事故的处理及预防
  15. 90%的人都不知道的Node.js 依赖关系管理(上)
  16. Git——版本控制为王
  17. iOS14 系统 YBImageBrowser显示图片黑屏问题
  18. arm poky linux,交叉编译iMX6 contex-A9 arm-poky 一些坑
  19. halcon已知多点拟合圆_5.2 halcon实现图像圆的拟合与提取
  20. IDEA自动格式化代码插件

热门文章

  1. 拯救剪辑师,这款转码神器让专业制作提速增效!
  2. 高中英语复杂语句分析
  3. 解决Lombok版本过低导致的编译出错问题(You aren‘t using a compiler supported by lombok)
  4. VIVADO的差分转单端IBUFDS的使用
  5. 一场打工人革命即将来临?微软发布 Copilot
  6. i.mx6ul开发板移植openwrt系统
  7. nag在逆向中是什么意思_【实验心理学】【题库+答案】
  8. 在#if #else条件编译时候用枚举变量做条件对比易出错,建议#if #else条件编译结合宏#define使用
  9. html5赛车小游戏,H5赛车游戏大全_h5赛车小游戏大全_好玩的赛车h5游戏_爱手游网...
  10. 高速多通道误码测试仪BERT