| dwb_critics::BaseObstacleCritic | Uses costmap to assign negative costs if a circular robot would collide at any point of the trajectory | 
| dwb_critics::OscillationCritic::CommandTrend | Helper class for performing the same logic on the x,y and theta dimensions | 
| dwb_critics::GoalAlignCritic | Scores trajectories based on whether the robot ends up pointing toward the eventual goal | 
| dwb_critics::GoalDistCritic | Scores trajectories based on how far along the global path they end up | 
| dwb_critics::MapGridCritic | Breadth-first scoring of all the cells in the costmap | 
| dwb_critics::MapGridCritic::MapGridQueue | Subclass of CostmapQueue that avoids Obstacles and Unknown Values | 
| dwb_critics::ObstacleFootprintCritic | Uses costmap 2d to assign negative costs if robot footprint is in obstacle on any point of the trajectory | 
| dwb_critics::OscillationCritic | Checks to see whether the sign of the commanded velocity flips frequently | 
| dwb_critics::PathAlignCritic | Scores trajectories based on how far from the global path the front of the robot ends up | 
| dwb_critics::PathDistCritic | Scores trajectories based on how far from the global path they end up | 
| dwb_critics::PreferForwardCritic | Penalize trajectories with move backwards and/or turn too much | 
| dwb_critics::RotateToGoalCritic | Forces the commanded trajectories to only be rotations if within a certain distance window | 
| dwb_critics::TwirlingCritic | Penalize trajectories with rotational velocities |