Nav2 Performance for Safety Scenarios ===================================== .. list-table:: Performance Summary :header-rows: 1 :widths: 30 20 20 20 20 20 * - **Global Planner + Local Controller** - **Straight-Line Movement** - **Static Obstacles** - **Dynamic Obstacles** - **Obstacle Clearance** - **Dynamic Obstacle Handling** * - **NavFn + DWB** - ✅ - ✅ - ⌠- Good - Moderate responsiveness * - **NavFn + MPPI** - ✅ - ✅ - ✅ - Excellent - Highly responsive * - **NavFn + RPP** - ✅ - ⌠- ⌠- Average (struggles in gaps) - Slow * - **Theta_* + RPP** - ✅ - ✅ - ⌠- Excellent - Slow * - **Smac Planner Hybrid + MPPI** - ✅ - ✅ - ⌠- Bad - Moderate responsiveness .. note:: - **✅**: Suitable - **âŒ**: Not Suitable - **Obstacle Clearance**: Describes the ability to navigate close proximities without collisions (e.g., Excellent, Good, Bad). - **Dynamic Obstacle Handling**: Describes the responsiveness to moving obstacles (e.g., Highly responsive, Moderate, Slow). .. important:: Controllers perform differently based on drive types (e.g., differential, Ackermann), impacting navigation results. Proper pairing and tuning are crucial for optimal performance. .. note:: Different drives may give varying results. Nav2 Suitability for Different Robots ===================================== .. list-table:: Planner Suitability for Robot Types :header-rows: 1 :widths: 20 20 20 20 20 20 20 * - **Planner Name** - **Circular Differential** - **Circular Omnidirectional** - **Non-Circular Ackermann** - **Non-Circular Legged** - **Non-Circular Differential/Omnidirectional** - **Arbitrary** * - **NavFn Planner** - ✅ - ✅ - ⌠- ⌠- ⌠- ⌠* - **Smac Planner 2D** - ✅ - ✅ - ⌠- ⌠- ⌠- ⌠* - **Theta* Planner** - ✅ - ✅ - ⌠- ⌠- ⌠- ⌠* - **Smac Hybrid-A* Planner** - ✅ - ✅ - ✅ - ✅ - ✅ - ⌠* - **Smac Lattice Planner** - ⌠- ⌠- ✅ - ✅ - ✅ - ✅ .. note:: - **✅**: Suitable for this type of robot. - **âŒ**: Not suitable for this type of robot. This table provides a clear summary of which planner is best suited for each type of robot, helping users make informed decisions based on their robot's design and operational needs. .. note:: Not all controllers are suitable for all robot tasks; it depends on the type of robot as well as the task being performed. Nav2 Controller Suitability for Different Robots ================================================ .. list-table:: Controller Suitability for Robot Types and Tasks :header-rows: 1 :widths: 20 20 20 20 20 40 * - **Controller Name** - **Differential** - **Omnidirectional** - **Ackermann** - **Legged** - **Primary Task** * - **DWB Controller** - ✅ - ✅ - ⌠- ⌠- Dynamic obstacle avoidance * - **MPPI Controller** - ✅ - ✅ - ✅ - ✅ - Dynamic obstacle avoidance * - **RPP Controller** - ✅ - ⌠- ✅ - ✅ - Exact path following * - **Rotation Shim** - ✅ - ✅ - ⌠- ⌠- Rotate to rough heading * - **VP Controller** - ✅ - ⌠- ✅ - ✅ - High-speed path tracking .. note:: - **✅**: Suitable for this type of robot. - **âŒ**: Not suitable for this type of robot. This table offers a clear summary of controller suitability based on robot type and primary tasks, helping users make informed decisions about their controller configuration.