This package is a Model Predictive Control based Local Planner for ROS Melodic.
It is a plugin to base_local_planner
of the 2D ROS Navigation stack.
It wraps the library surajRathi/mpc_lib.
Forked from project-TARIV/mpc_local_planner to add documentation.
The package should be built within a catkin workspace. Dependencies are defined in package.xml
.
The package has two steps of note.
- Converting ROS global path and costmap structures to polynomials in the local frame suitable for MPC.
- Invoking the
mpc_lib
MPC formulation.
frequency
: Frequency at which points are sampled in the vehicles predicted trajectory, intreference/velocity
: The target velocity for the vehicle, floatlimits/vel/low
: Hard limit on velocity, floatlimits/vel/high
: Hard limit on velocity, floatlimits/acc/low
: Hard limit on acceleration, floatlimits/acc/high
: Hard limit on acceleration, floatweights/cte
: Cross track error weight, floatweights/etheta
: Yaw error weight, floatweights/vel
: Linear velocity error weight, floatweights/omega
: Angular velocity error weight, floatweights/acc
: Acceleration minimizing weight, floatweights/obs
: Obstacle distance weight, float
Modified (bending) recursive shadow casting to get useful obstacle boundaries in the correct order.
38 outline points.
'@' is the robot.
'.' is empty space.
'=' is obstacle in the map.
'#' is an outline point.
. . . . . . . . . . = = = = = = = = = .
. . . . . . . . . V = = = = = = = = = .
. . . . . . . . . U = = = = = = = = = .
. . . . . . . . . T = = = = = = = = = .
. . . . . . . . . . S R Q = = = = = = .
. . . . . . . . . . . . P O N = = = . .
. . . . . . . . . . . . . . M L = . . .
. . . . . . . . . . . . . . . K J . . .
. . . . . . . . . . . . . . . . . . . .
. . . W X . . . . . . . . . . . . . . .
. . = = Y Z . . . . @ . . . . I = = . .
. . = = = [ . . . . . . . . . H = = = .
. . = = = \ . . . . . . . . F G = = . .
. . = = = ] . . . . . . . . E = = = . .
. . . = ^ . . . . . . . . . . D = . . .
. . . . . . . ` a . . . . . . . . . . .
. . . . . . _ = b . . . . . . . . . . .
. . . . . . = = c . f A B . . . . . . .
. . . . . . . . . . e = C . . . . . . .
. . . . . . . . . . d = = . . . . . . .
An example of the path and obstacle boundaries represented as polynomials.