使用move_base规划路径后,小车接近目的地后原地打转的原因分析

在实验过程中,计划使用move_base规划路径,让AGV小车到达指定的目标点,但小车“到达”目的地后不停的旋转,停不下来。对此,发现了导致这一现象的一个原因,仅供参考。
这里写图片描述
上图描述的就是这种现象,为了便于观察,rviz视图中隐藏了机器人,只保留了机器人的基座标。

图中,第一次指定目标时,小车到达了指定地点并停了下来,第二次指定目标时,小车也几乎到达了指定地点但没有停下来,而是不停的在原地旋转。

问题关键因素:move_base的四个参数文件中,有一个叫base_local_planner_params.yaml的配置文件,其中有个参数是min_vel_x,这个参数控制规划路径时发给机器人的最小x方向速度,这个速度不能太大,在我的测试条件下,min_vel_x:0.2 就有些大,导致机器人到了目的地后原地旋转,降低这个值后(大约0.1左右),原地旋转现象消失。

分析原因:

首先,需要理解一点:小车要到达一个目的地,需要经历一个加减速的过程,开始时加速,中间速度稳定,快到时要减速,否则会错过目标。

在这一基础上,我推测,min_vel_x这个值设置过大会导致有效的减速命令发不出来,比如,小车到达目标前需要减速到0.1m/s的速度,但min_vel_x为0.2,move_base发送指令时最小就只能发送0.2m/s的x方向线速度,按照0.2的速度只会错过目标,因此,move_base此时选择不再发送新的x方向线速度,x方向线速度会归为0,此时并没有到达目标点(一般还差一点,并且比能够容忍的误差要大),move_base就会为进一步接近目标做规划,但此时离目标又太近,因为最低速度的限制,线速度指令始终发不出来,而角速度指令则会另小车原地打转。

需要注意的一点:此时小车并没有真正到达它所认为的目标,只是很接近了,但还不能算到达。实际操作中还存在一种现象,就是有时候min_vel_x明明有些偏大,但小车也能到达终点并不旋转(图中第一次指定目标),这种意外往往发生在算法最近一次规划路径后,小车就很接近目标了,当小车已经走进目标范围内足够接近的区域时,算法就认为已经到目标了,此时也就不再规划了,因此,此时小车不会原地旋转,

以上原因属于个人推测,仅供参考。

  • 11
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
差速小车在仿真环境中的路径规划可通过ROS中的Cartographer和Move_base功能包来实现。 首先,我们需要将仿真环境的地图信息输入到Cartographer中,进行建图。Cartographer是一个实时SLAM(Simultaneous Localization and Mapping)系统,它能够使用激光雷达等传感器数据生成精确的环境地图。在启动Cartographer之前,需要先配置传感器参数和机器人模型等信息。然后在launch文件中指定map_publisher和trajectory_node,并连接激光雷达数据源。启动Cartographer后,它将不断地从传感器接收数据,并根据这些数据实时生成地图。 接下来,我们可以使用move_base功能包进行路径规划。move_base是ROS中的导航功能包,它可以根据Cartographer生成的地图信息,使用全局路径规划器(如global_planner)和局部路径规划器(如base_local_planner),实现差速小车路径导航。 在配置move_base之前,需要定义在规划过程中使用的局部和全局costmap(代表机器人周围的障碍物信息),并将Cartographer生成的地图信息传入costmap。同时,还要设置机器人的起点和目标点。 在launch文件中,需要加载move_base节点,并连接costmap和地图信息。move_base节点将使用全局路径规划器进行全局路径规划,然后将路径传递给局部规划器,以生成差速小车的速度和方向指令。 一旦配置完成,启动move_base节点后,差速小车将根据全局路径规划器生成的路径,实时导航并移动到目标点。 综上所述,通过Cartographer和Move_base功能包的配合,我们可以实现差速小车在仿真环境中的路径规划。通过Cartographer建图,生成地图信息,然后使用Move_base进行路径规划导航,使得差速小车可以自主地在仿真环境中移动和导航

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值