Penalize trajectories with move backwards and/or turn too much Scores trajectories based on how far along the global path they end up. Scores trajectories based on how far from the global path the front of the robot ends up. Scores trajectories based on whether the robot ends up pointing toward the eventual goal Scores trajectories based on how far from the global path they end up. Checks to see whether the sign of the commanded velocity flips frequently Forces the commanded trajectories to only be rotations if within a certain distance window Uses costmap 2d to assign negative costs if a circular robot would collide at any point of the trajectory. Uses costmap 2d to assign negative costs if robot footprint is in obstacle on any point of the trajectory. Penalize trajectories with rotational velocities