Config : Controller - MaxL

Overview

MaxL Planner is a package that is used to drive the robot. It issues the linear and angular velocity commands that are needed to reach the goal.

Robot Parameter Description

1. Robot Configuration Parameters

Parameter Units Description
use_laser true/false If true, the robot uses the rpLidar Sensor otherwise uses velodyn Sensor for planning
pathFolder File path The relative path to the path folder
pathFile String The name of the path
autonomyMode true/false If true, calculates the relative goal for the robot to follow

2. Linear speed and acceleration

Parameter Units Description
maxSpeed S.I (m/s) Maximum possible linear velocity
maxAccel S.I (m/s^2) Maximum possible linear acceleration

3. Turning Parameters

Parameter Units Description
yaw_gain (Numeric) eg.2.5 Yaw gain used when robot is in motion
stop_yaw_gain (Numeric) eg. 0.6 Yaw gain used when robot is stopped/almost stopped
max_yaw_rate S.I (rad/s) Maximum angular velocity for the robot

4. Inflation

Parameter Units Description
x_inflate S.I (m) Obstacle Inflation in the x direction
y_inflate S.I (m) Obstacle Inflation in the y direction

5. Frame Names

Parameter Units Description
map_frame String Name of the map frame
robot_frame String Name of the robot base frame
velodyne_frame String Name of the velodyn Sensor frame
laser_frame String Name of the rpLidar Sensor frame

6. Topic Names

Parameter Units Description
odomTopic String The topic name which publishes the odometry
velodyneTopic String The topic name which publishes the velodyn sensor data
scanTopic String The topic name which publishes the rpLidar sensor data

7. Robot Footprint

Parameter Units Description
vehicleLength S.I (m) Length of the vehicle
vehicleWidth S.I (m) Width of the vehicle

8. Obstacle Ranges

Parameter Units Description
obstacle_horizon S.I (m) Parameter used for cropping the pointcloud
min_path_range S.I (m) Minimum path range for finding the path
initial_path_scale (Numeric) eg. 1.0 Initial path scale value. Path Scales scale the paths and distances. Low pathScale means path elongation and vice-versa.
min_path_scale (Numeric) eg. 0.75 Minimum path scale value. For particular local goal, pathScale starts with initial value, finds a path, then value of path scale is decreased to find a longer solution path, till it hits the minPathScale.
path_scale_step (Numeric) eg. 0.25 Path Scale step value

9. Pure Pursuit Parameters

Parameter Units Description
min_lookahead S.I (m) The minimum lookahead on the global path for the robot
max_lookahead S.I (m) The minimum lookahead on the global path for the robot
closest_point_index_search (Numeric) eg. 10 Search for closest point index within this range of previous closest point
min_radius S.I (m) Minimum radius the robot can take from current to goal pose
max_radius S.I (m) Maximum radius the robot can take from current to goal pose
max_omega_radius S.I (m) Radius set when condition for straight line is satisfied
max_y_deviation S.I (m) Maximum deviation in the lateral direction
lookahead_point_distance S.I (m) Used to find the point in the global path to follow
lookahead_factor_val (Numeric) eg. 0.088 Controls the senstivity of movement of lookahead goal. Lower the value lower the change in the postion of lookahead goal.
lookahead_jump_threshold S.I (m) If the change in the position of lookahead goal is greater than this value, it would be considered a jump (oscillation)

10. MaxL Miscellaneous Parameters

Parameter Units Description
direction_threshold (degrees) eg. 120 The fan size (in degrees) on either side of robot wrt relative goal
high_accuracy_multiplier (Numeric) eg. 0.4 High accuracy multiplier for reaching the goal (0,1]
vis_pointcloud true/false Parameter to enable visualisation of detailed data (pointcloud data)
use_odom_velocity true/false Parameter to take velocity from odom messages
reverse_enabled true/false Parameter to enable reverse motion for the robot
truncated_fan_angle (degrees) eg. 10 The fan size (in degrees) on either side of robot wrt relative goal when there is no obstacle detected by the robot

11. Parameters for Oscillation Detection by Path Index

Parameter Units Description
pi_osc_senstivity (Numeric) eg. 5 Controls the senstivity of jump detection. If this value is high, even small changes in the value of selected path index are considered an oscillation and vice-versa
pi_osc_threshold (Numeric) eg. 10 Everytime an oscillation is detected, a count is increased. If this count goes above this threshold, oscillations are considered true and not just an error in detection
osc_det_by_score_path true/false Flag to switch on/off the critic/method of oscillation detectino by path index. If false, the above mentioned params would be rendered ineffective.

12. Parameters for Oscillation Detection by Angular Velocity

Parameter Units Description
av_osc_sample_window S.I (s) Time period/window over which frequency of oscillation is calculated
av_osc_freq_threshold (Numeric) eg. 3.5 If the frequency of change in angular velocity direction per av_osc_sample_window is more than this value, it is considered an oscillation
osc_det_by_ang_vel true/false A flag which gives user the choice to use this method of oscillation detection. If false, oscillation detection by this method will stop

13. Scoring Parameters

Parameter Units Description
scoring_algo_index (Numeric) eg. 1 This parameter decides which scoring algorithm will be used to score paths. Currently, we have 4 different scoring algoritms to chose from
scoring_algo_four_senstivity_factor (Numeric) eg. 0 This parameter is used only by scoring algo number four. It controls the amount of time for which oscillation mitiagtion will last. The larger the value, the longer the oscillation mitigation will work to remove oscillation
in_place_rotation_penalty (Numeric) eg. 0.05 Higher value penalises in place rotation more
goal_direction_preference (Numeric) eg. 0.2 Higher value means controller prefers paths oriented towards the goal