Filepath: catkin_ws/movel_ai/config/movel/config/File to modify: base_local_planner_params.yaml
movelpackage. In the yaml file itself, you see there are actually 3 local planners included. But we will only use one of them. Uncomment the entire long section under
Filepath: catkin_ws/movel_ai/config/velocity_setter/config/File to modify: velocity_setter.yaml
local_plannermatch the name of the planner in the base local planner configuration. You are configuring the maximum velocities to be the maximum velocities you specified in teb planner.
rostopic listin terminal to check you have
Filepath: catkin_ws/movel_ai/config/movel/config/amcl.yamlFile to modify: amcl.yaml
max_particlesto adjust the precision.
velparameters limits how fast the robot can move.
accparameters limits how fast robot can accelerate.
_xspecifies linear kinematics whereas
_thetaspecifies angular kinematics.
footprint_modelshould be configured with respects to the robot's measurements.
typeof the robot footprint. Different types include
pointetc. For simplicity sake, footprints are usually circular or polygon. Click here for more footprint information.
radiusis required for
verticesis required for
xy_goal_toleranceis the acceptable linear distance away from the goal, in meters.
yaw_goal_toleranceis the deviation in the robot's orientation. i.e. Goal specifies that the robot should face directly in front of the wall but in actual, the robot faces slightly to the left.
min_obstacle_distis the minimum distance you want to maintain away from obstacles.
inflation_distis the buffer zone to add around obstacles.
Filepath: catkin_ws/movel_ai/config/movel/config/File to modify: costmap_common_params.yaml
footprintmust match the measurements specified in base_local_planner_params.yaml.
local_costmap_params.yamlas plugins. Click here for more information on the difference between global and local costmaps.
inflation_radiusis the radius, in meters, to which the map inflates obstacle cost value. Usually it is the width of the bot, plus some extra space.
cost_scaling_factorsis the scaling factor to apply to cost values during inflation.
inflation_radiusis actually the radius to which the cost scaling function is applied, not a parameter of the cost scaling function. Inside the inflation radius, the cost scaling function is applied, but outside the inflation radius, the cost of a cell is not inflated using the cost function.You'll have to make sure to set the inflation radius large enough that it includes the distance you need the cost function to be applied out to, as anything outside the inflation_radius will not have the cost function applied.For the correct
cost_scaling_factor, solve the equation there ( exp(-1.0 * cost_scaling_factor * (distance_from_obstacle - inscribed_radius)) * (costmap_2d::INSCRIBED_INFLATED_OBSTACLE - 1)), using your distance from obstacle and the cost value you want that cell to have.
laser_scan_sensormust be selected.
obstacle_rangeis the maximum distance from the robot that an obstacle will be inserted into the costmap. A value of 10 means the costmap will mark out obstacles that are within 10 meters from the robot.
raytrace_rangeis the range in meters at which to raytrace out obstacles. The value must be set with respects to your sensors.
max_obstacle_heightis the maximum height of obstacles to be added to the costmap. Increase this number if you have very tall obstacles. The value must be set with respects to your sensors.
origin_zis the z-origin of the map (meters)
z_resolutionis the height of the cube
z_resolutioncontrols how dense the voxels is on the z-axis. If it is higher, the voxel layers are denser. If the value is too low (e.g. 0.01), you won’t get useful costmap information. If you set z resolution to a higher value, your intention should be to obtain obstacles better, therefore you need to increase
z_voxelsparameter which controls how many voxels in each vertical column. It is also useless if you have too many voxels in a column but not enough resolution, because each vertical column has a limit in height.
z_voxelsis the number of voxels
observation_sourcesto the topic that you want to take in data from.
obs_cloudif you want a PointCloud (3D) or
mock_scanif you want a LaserScan (2D). Or you can specify your own method.
min_obstacle_heightis the height of the obstacle below the base of the robot. Examples includes stairs. Specify this param so that the robot can detect obstacles below its base link and prevent it from falling into the pit...
max_obstacle_heightis the maximum height of obstacle. It is usually specified as the height of the robot.
rosrun rqt_reconfigure rqt_reconfigure
inflation_radiusin both costmaps so that it does not cover the corridor. (Right figure) Noted with observation that if the radius covers the entire corridor, robot may refuse to move.