Skip to content

Potential MPPI Controller Improvements #3351

@SteveMacenski

Description

@SteveMacenski

General improvements

Improved smoothness options

  • Test using a Log-Normal sampling distribution as established in Log-MPPI paper. Handles less noise for similar exploration of space, reducing sampling noise needing to process.
  • Add in the derivative SMPPI term (mutually exclusive with 1% sampling). Attempts to smooth using differential changes in control
  • Use the described Tsallis VI variation described below to weight only the best samples in averaging
  • Mostly fine, just needs minorly better path post processing - increase the SG window size or order, recursively call it, or consider other options
  • MPPI: Low-frequency distribution sampling to create smoother trajectories MPPI: Low-frequency distribution sampling to create smoother trajectories #5973
  • Adding a low-pass filter on each iteration update
  • Add smoothness penalty function the penalizes large changes between iterations

Improvements in speed potentially

  • GPU for trajectory rollouts or critic analysis
  • Precomputation and otherwise optimization in a specialized collision checker object

Improved cost critic

  • Using the full cost of the footprint not just the center cost did not work out well due to the plateau of cost from inflated-inscribed 253 space. However, maybe we can integrate the cost across the footprint's border rather than using the single highest cost so that footprints that are "more" near obstacles are penalized more than those "sort of" near obstacles. This would involve using the Cost Critic to add the costs up. We may want to normalize this by the number of points or something & need to handle such cases when we're far from obstacles so we only need to use the center-point cost. This may address [MPPI] Cost Critic does not penalize for rear near-collision trajectories in a narrow spot for non-circular robot #5668
  • Using a full distance field rather than inflation layer so we know the instance to obstacle for a continuous potential field rather than having a plateau. Side effect of being able to score by any function you like (exponential, linear, etc) as well as set minimum distance constraints as well
  • Remove the Obstacle Critic as deprecated

New critics

  • Rate of change of wz to penalize noise |wz(i) - wz(i-1)|. Probably could be applied to translational velocities too in another way to incentivize commitment to the current action. Maybe not just 2 timesteps but looking at the next in the future and making sure it continues to accelerate / keep rough velocity and not slow down for jerky behavior. Probably actually look at derivatives then.
  • Add acceleration constraints to the constraint critic
  • Track path with time information to keep up with a trajectory Can MPPI follow the path with time stamps? #4155
  • Track discrete waypoints rather than a path for either stand-alone sparse routes or viapoints of particular interest to achieve accurately MPPI WaypointCritic? #5502
  • Get around lager obstacles blocking the route

(supporting std change over prediction horizon)

Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions