Add reference timeout to get robot moving quicker, and switch to pose progress checker
This commit is contained in:
@@ -86,7 +86,8 @@
|
|||||||
<surface>
|
<surface>
|
||||||
<friction>
|
<friction>
|
||||||
<ode>
|
<ode>
|
||||||
<mu>1.0</mu>
|
|
||||||
|
<mu>5.0</mu>
|
||||||
<mu2>0.0</mu2>
|
<mu2>0.0</mu2>
|
||||||
<xacro:if value="${reflect}">
|
<xacro:if value="${reflect}">
|
||||||
<fdir1
|
<fdir1
|
||||||
@@ -98,12 +99,6 @@
|
|||||||
</xacro:unless>
|
</xacro:unless>
|
||||||
</ode>
|
</ode>
|
||||||
</friction>
|
</friction>
|
||||||
<contact>
|
|
||||||
<ode>
|
|
||||||
<kp>100000.0</kp>
|
|
||||||
<kd>10.0</kd>
|
|
||||||
</ode>
|
|
||||||
</contact>
|
|
||||||
</surface>
|
</surface>
|
||||||
</collision>
|
</collision>
|
||||||
</gazebo>
|
</gazebo>
|
||||||
|
|||||||
@@ -29,6 +29,13 @@ mecanum_drive_controller:
|
|||||||
base_frame_id: base_footprint
|
base_frame_id: base_footprint
|
||||||
enable_odom_tf: true
|
enable_odom_tf: true
|
||||||
|
|
||||||
|
# How long a /cmd_vel (reference) command stays valid, in seconds. The
|
||||||
|
# controller default is 0.0, which treats every command as instantly expired
|
||||||
|
# and so mostly halts between messages — the wheels only reached ~16-31% of
|
||||||
|
# the commanded speed and the robot crawled. 0.5 s holds the last command
|
||||||
|
# between messages (standard cmd_vel behaviour) so the wheels run at speed.
|
||||||
|
reference_timeout: 0.5
|
||||||
|
|
||||||
kinematics:
|
kinematics:
|
||||||
wheels_radius: 0.072 # 轮子半径 (wheel centre height above ground)
|
wheels_radius: 0.072 # 轮子半径 (wheel centre height above ground)
|
||||||
# sum_of_robot_center_projection_on_X_Y_axis = lx + ly (0.172 + 0.180)
|
# sum_of_robot_center_projection_on_X_Y_axis = lx + ly (0.172 + 0.180)
|
||||||
|
|||||||
@@ -81,9 +81,15 @@ controller_server:
|
|||||||
use_realtime_priority: false
|
use_realtime_priority: false
|
||||||
|
|
||||||
# Progress checker parameters
|
# Progress checker parameters
|
||||||
|
# PoseProgressChecker (not SimpleProgressChecker) so that in-place rotation
|
||||||
|
# counts as progress. At the goal the holonomic base often must rotate to
|
||||||
|
# meet yaw_goal_tolerance; SimpleProgressChecker only credits *translation*
|
||||||
|
# (required_movement_radius) so that final yaw alignment tripped "Failed to
|
||||||
|
# make progress" -> recovery spin -> rotated further off goal -> Goal failed.
|
||||||
progress_checker:
|
progress_checker:
|
||||||
plugin: "nav2_controller::SimpleProgressChecker"
|
plugin: "nav2_controller::PoseProgressChecker"
|
||||||
required_movement_radius: 0.5
|
required_movement_radius: 0.5
|
||||||
|
required_movement_angle: 0.5
|
||||||
movement_time_allowance: 10.0
|
movement_time_allowance: 10.0
|
||||||
# Goal checker parameters
|
# Goal checker parameters
|
||||||
#precise_goal_checker:
|
#precise_goal_checker:
|
||||||
|
|||||||
Reference in New Issue
Block a user