Skip to content

Instantly share code, notes, and snippets.

@jackersson
Last active July 6, 2020 09:38
Show Gist options
  • Save jackersson/ae9c43e2a360c535482f4770e1adaf29 to your computer and use it in GitHub Desktop.
Save jackersson/ae9c43e2a360c535482f4770e1adaf29 to your computer and use it in GitHub Desktop.
ROS navigation
footprint: [[-0.1,-0.16],[-0.1,0.16],[0.1,0.16],[0.1,-0.16]]
inflation_layer:
inflation_radius: 0.08
obstacle_layer:
max_obstacle_height: 0.80
map_type: costmap
# Params: http://wiki.ros.org/dwa_local_planner
# Dynamic Reconfigure:
# rosrun rqt_reconfigure rqt_reconfigure
DWAPlannerROS:
# Robot Configuration Parameters
# Velocity in X direction should be the same as translation velocity
# Use same values as in max/min_vel_trans
max_vel_x: 2.0 # m/s (2 m/s to be in target robot)
min_vel_x: -2.0
max_vel_y: 0.0 # m/s (only for holonomic robot)
min_vel_y: 0.0
# The velocity when robot is moving in a straight line
# Move the robot in straight line until speed becomes constant
max_vel_trans: 2.0 # 0.6 (m/s)
# Set the minimum translation velocity to negative value
# So the robot will backoff when stucks
min_vel_trans: -2.0 # 0.15
# Move the robot rotate 360 degreees until it reaches a constant speed
max_vel_theta: 0.6 # (rad/s)
# Set the minimum rotation velocity to negative value
# So robot can rotate in both directions
min_vel_theta: -0.6
# Obtain acceleration from:
# 1: Motors specs
# 2: Vmax/t_Vmax (time (t_Vmax) to reach translation velocity from 0 to Vmax) (Use odometry timestamp)
acc_lim_x: 1 # 2.0 (m/s^2)
acc_lim_y: 0.0 # only for holonomic robot
# Wmax/t_Wmax (time (t_Wmax) to reach angular velocity from 0 to Wmax) (Use odometry timestamp)
acc_lim_theta: 2.2 # 2 (rad/s^2)
# Goal Tolerance Parametes
# The tolerance in meters for the controller in the x & y distance when achieving a goal
xy_goal_tolerance: 0.1 # 0.1
# The tolerance in radians for the controller in yaw/rotation when achieving its goal
yaw_goal_tolerance: 0.1 # 0.05
# If goal tolerance is latched, if the robot ever reaches the goal xy location
# it will simply rotate in place,
# even if it ends up outside the goal tolerance while it is doing so. (true, false)
latch_xy_goal_tolerance: true
# Forward Simulation Parameters
# Time allowed for the robot to move with sampled velocity
# >= 5 -> heavy computations, longer path
# <= 2 -> light computations, problems finding path for narrow doorwat, gap between furniture
# 3-5 -> best fit
sim_time: 2.5 # default: 1.7
vx_samples: 20 # 20
vy_samples: 0
vth_samples: 30 # 40
controller_frequency: 10
# Trajectory Scoring Parameters
# Higher values makes robot to prefer local trajectory close to global path
path_distance_bias: 32.0 # meters, 32.0
# Penalizes trajectories that are far from goal location
# Higher values makes robot's local trajectory closer to goal than global path
goal_distance_bias: 20.0 # meters, 20.0
# Selects trajectories far from obstacles
# When increase -> far (stucks in tight places), too low -> too close to obstacles
occdist_scale: 0.02 # 0.02 (in range 0..255)
forward_point_distance: 0.325
stop_time_buffer: 0.2
scaling_speed: 0.25
max_scaling_factor: 0.2
# Oscillation Prevention Parameters
oscillation_reset_dist: 0.08
#Global Plan Perameters ______
prune_plan: true
# Debugging
publish_traj_pc : true
publish_cost_grid_pc: true
global_costmap:
global_frame: map
robot_base_frame: base_footprint
update_frequency: 5.0 #was 5.0
publish_frequency: 3.0
transform_tolerance: 0.3
static_map: true
rolling_window: false
local_costmap:
global_frame: map
robot_base_frame: base_footprint
update_frequency: 5.0
static_map: false
# The "publish_frequency" parameter determines the rate, in Hz, at which the costmap will publish visualization information
publish_frequency: 10.0
transform_tolerance: 0.5
# Setting the "rolling_window" parameter to true means that the costmap will remain centered around the robot as the robot moves through the world.
rolling_window: true
width: 2 # meters
height: 2 # meters
resolution: 0.05 # meters per cell
# Params: http://wiki.ros.org/move_base
shutdown_costmaps: false
controller_frequency: 5.0 # Hz, velocity commands to cmd_vel
planner_patience: 5.0 # sec
controller_patience: 10.0 # sec
conservative_reset_dist: 3.0 # distance from an obstacle at which it will unstuck itself (meters)
planner_frequency: 0.0 # Hz (if 0 -> run gp_loop when new goal is received), prev.: 8.0
oscillation_timeout: 10.0 # sec, oscillate before recovery behaviour
oscillation_distance: 0.2 # meters
recovery_behavior_enabled: true
recovery_behaviors:
- name: 'aggressive_reset'
type: 'clear_costmap_recovery/ClearCostmapRecovery'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment