找回密码
 立即注册
搜索
查看: 10206|回复: 9

在rviz导航时,车子原地打转,是什么原因?我把小车已经放在建图的起点了。

[复制链接]

72

主题

72

帖子

154

积分

注册会员

Rank: 2

积分
154
发表于 2021-3-3 17:56:29 | 显示全部楼层 |阅读模式
在rviz导航时,车子原地打转,是什么原因?我把小车已经放在建图的起点了。
回复

使用道具 举报

0

主题

72

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2021-3-3 18:40:14 | 显示全部楼层
1、小车是否离障碍物很近?一般起点尽量在比较空旷的位置,方便小车规划路径,
若没有及时找到路径,小车原地打转是在更新周围障碍物信息。
2、导航时候的膨胀半径不要设置得太大。
解决办法.png

回复

使用道具 举报

14

主题

66

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2021-7-30 17:05:51 | 显示全部楼层
yijuncheng 发表于 2021-3-3 18:40
1、小车是否离障碍物很近?一般起点尽量在比较空旷的位置,方便小车规划路径,若没有及时找到路径,小车原 ...

对于差速机器人来说,半径是0.23m的机器人,通常膨胀半径设置为多大,并且代价系数要怎样确定呢?
回复

使用道具 举报

0

主题

354

帖子

639

积分

高级会员

Rank: 4

积分
639
发表于 2021-7-30 18:48:33 | 显示全部楼层
jumingyue 发表于 2021-7-30 17:05
对于差速机器人来说,半径是0.23m的机器人,通常膨胀半径设置为多大,并且代价系数要怎样确定呢?

一般膨胀半径大小至少为小车外接圆的半径,越大越安全
回复

使用道具 举报

14

主题

66

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2021-8-5 18:28:52 | 显示全部楼层
本帖最后由 jumingyue 于 2021-8-5 18:58 编辑
WHEELTEC-iris 发表于 2021-7-30 18:48
一般膨胀半径大小至少为小车外接圆的半径,越大越安全

我的机器人到达目标点后转圈,不能够及时停住,这是什么情况?我使用的DWA算法,完全是按照咱们的DWA内的参数上进行修改,我修改了加速度,角加速度,路径的权重,但是依旧无法停止
  1. DWAPlannerROS:
  2. # Robot Configuration Parameters
  3.   max_vel_x: 0.5  #0.45  #x方向最大线速度绝对值,单位:米/秒
  4.   min_vel_x: 0.0  #x方向最小线速度绝对值,负数代表可后退,单位:米/秒
  5.   max_vel_y: 0.0  # #y方向最大线速度绝对值,单位:米/秒。差分驱动机器人为0   
  6.   min_vel_y: 0.0  # #y方向最小线速度绝对值,单位:米/秒。差分驱动机器人为0   
  7.   max_vel_trans: 0.5 #   #机器人最大平移速度的绝对值,单位为 m/s
  8.   min_vel_trans: 0.1  # #机器人最小平移速度的绝对值,单位为 m/s 不可为零  
  9.   #trans_stopped_vel: 0.1  #机器人被认属于“停止”状态时的平移速度。如果机器人的速度低于该值,则认为机器人已停止。单位为 m/s
  10.   max_vel_theta: 0.5  #机器人的最大旋转角速度的绝对值,单位为 rad/s
  11.   min_vel_theta: 0.1  # 器人的最小旋转角速度的绝对值,单位为 rad/s
  12.   #theta_stopped_vel : 0.2 #机器人被认属于“停止”状态时的旋转速度。单位为 rad/s  
  13.   acc_lim_x: 2.2 # 机器人在x方向的极限加速度,单位为 meters/sec^2
  14.   acc_lim_theta:  1.5 #3.0 #机器人的极限旋转加速度,单位为 rad/sec^2
  15.   acc_lim_y: 0.0      #  机器人在y方向的极限加速度,对于差分机器人来说当然是0
  16. # Goal Tolerance Parameters目标距离公差参数
  17.   meter_scoring: true         # 按距离来评定
  18.   yaw_goal_tolerance: 0.1 #到达目标点时,控制器在偏航/旋转时的弧度容差(tolerance)。即:到达目标点时偏行角允许的误差,单位弧度
  19.   xy_goal_tolerance: 0.1  # 到到目标点时,控制器在x和y方向上的容差(tolerence)(米)。即:到达目标点时,在xy平面内与目标点的距离误差
  20.   # latch_xy_goal_tolerance: false #设置为true时表示:如果到达容错距离内,机器人就会原地旋转;即使转动是会跑出容错距离外。

  21. # Forward Simulation Parameters前向模拟参数
  22.   sim_time: 1.5      # 前向模拟轨迹的时间,单位为s(seconds)
  23.   vx_samples: 6       # x方向速度空间的采样点数
  24.   vy_samples: 0.0       # y方向速度空间采样点数.。差分驱动机器人y方向永远只有1个值(0.0)
  25.   vtheta_samples: 60  # 旋转方向的速度空间采样点数

  26. # Trajectory Scoring Parameters
  27.   path_distance_bias: 64 #32 #64.0      #控制器与给定路径接近程度的权重
  28.   goal_distance_bias: 24 #20   #控制器与局部目标点的接近程度的权重,也用于速度控制
  29.   occdist_scale: 0.5            # 控制器躲避障碍物的程度
  30.   forward_point_distance: 0.325 #以机器人为中心,额外放置一个计分点的距离
  31.   stop_time_buffer: 0.2         #机器人在碰撞发生前必须拥有的最少时间量。该时间内所采用的轨迹仍视为有效。即:为防止碰撞,机器人必须提前停止的时间长度
  32.   scaling_speed: 0.25           #开始缩放机器人足迹时的速度的绝对值,单位为m/s。
  33.   max_scaling_factor: 0.2       #最大缩放因子。max_scaling_factor为上式的值的大小。

  34. # Oscillation Prevention Parameters
  35.   oscillation_reset_dist: 0.05  # 0.05   #机器人必须运动多少米远后才能复位震荡标记(机器人运动多远距离才会重置振荡标记)

  36. # Debugging调试参数
  37.   publish_traj_pc : true #将规划的轨迹在RVIZ上进行可视化
  38.   publish_cost_grid_pc: true   #将代价值进行可视化显示
  39.   global_frame_id:  map #base_link #map     # odom_combined #全局参考坐标系

  40. # Differential-drive robot configuration - necessary?
  41.   holonomic_robot: false
复制代码


回复

使用道具 举报

66

主题

263

帖子

533

积分

高级会员

Rank: 4

积分
533

热心会员

发表于 2021-8-6 08:51:44 | 显示全部楼层
jumingyue 发表于 2021-8-5 18:28
我的机器人到达目标点后转圈,不能够及时停住,这是什么情况?我使用的DWA算法,完全是按照咱们的DWA内 ...

建议您修改合适的膨胀半径,小车放置空旷的地方再尝试导航。参数的设置可以自己多实验多尝试。
回复

使用道具 举报

14

主题

66

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2021-8-6 11:10:21 | 显示全部楼层
testttt 发表于 2021-8-6 08:51
建议您修改合适的膨胀半径,小车放置空旷的地方再尝试导航。参数的设置可以自己多实验多尝试。

您好,对于膨胀半径和代价值的修改,我现在找不到任何方法,对于这两个参数您能指导我i一下怎样修改吗?
或者说这两个参数之间存在着怎样的关系,我需要根据什么来去调试,或者调试到什么样子才是最好的状态
回复

使用道具 举报

66

主题

263

帖子

533

积分

高级会员

Rank: 4

积分
533

热心会员

发表于 2021-8-6 11:47:35 | 显示全部楼层
jumingyue 发表于 2021-8-6 11:10
您好,对于膨胀半径和代价值的修改,我现在找不到任何方法,对于这两个参数您能指导我i一下怎样修改吗?
...

您好,建议您根据膨胀半径的规律去调,越大越安全但靠近障碍物小车可能过不去。还有你说的代价值具体指哪个参数呢?
小车到达目标点后你可以查看是否在中断有打印已经到达目标点的信息,如果没有打印,说明还没有到达目标点,机器人在调整自己的状态。
您说的“及时停止”,机器人到达目标点前也是需要一点时间来调整状态的,建议您尽量去尝试不同的参数值,达到您觉得满意的效果就可以了。
回复

使用道具 举报

14

主题

66

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2021-8-6 11:54:08 | 显示全部楼层
testttt 发表于 2021-8-6 11:47
您好,建议您根据膨胀半径的规律去调,越大越安全但靠近障碍物小车可能过不去。还有你说的代价值具体指哪 ...

地图代价值的参数是cost_scaling_factor :2.58   目前我小车的底盘直径是0.5,我设定的膨胀半径是1.75
回复

使用道具 举报

66

主题

263

帖子

533

积分

高级会员

Rank: 4

积分
533

热心会员

发表于 2021-8-6 14:01:34 | 显示全部楼层
jumingyue 发表于 2021-8-6 11:54
地图代价值的参数是cost_scaling_factor :2.58   目前我小车的底盘直径是0.5,我设定的膨胀半径是1.75

cost_scaling_factor  这个是梯度下降的速率,写入默认值就可以了。
建议您去看导航相关的一些视频:https://space.bilibili.com/556393812/channel/detail?cid=190615
您参考一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

粤ICP备20017043号|小黑屋|手机版|Archiver|轮趣科技(东莞)有限公司  

GMT+8, 2024-4-26 21:52 , Processed in 0.076161 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表