What is the main purpose of a local planner in ROS navigation?
A local planner generates short-term velocity commands to safely guide the robot around obstacles and towards the goal within the robot's immediate surroundings.
Click to reveal answer
beginner
What does DWA stand for in the context of ROS local planners?
DWA stands for Dynamic Window Approach, a local planner that samples possible velocities and selects the best one based on robot dynamics and obstacle avoidance.
Click to reveal answer
intermediate
How does the TEB local planner differ from DWA in ROS?
TEB (Timed Elastic Band) optimizes the robot's trajectory as a sequence of poses over time, considering kinematic constraints and dynamic obstacles, while DWA samples velocities without explicit trajectory optimization.
Click to reveal answer
intermediate
Which local planner is better for dynamic environments with moving obstacles: DWA or TEB?
TEB is generally better for dynamic environments because it optimizes the trajectory over time and can better handle moving obstacles and complex maneuvers.
Click to reveal answer
beginner
What inputs do local planners like DWA and TEB require to compute velocity commands?
They require the robot's current pose, the global plan or goal, the local costmap showing obstacles, and the robot's velocity and kinematic constraints.
Click to reveal answer
What does the DWA local planner primarily sample to decide the next move?
APossible velocity commands
BGlobal paths
CSensor data
DMap landmarks
✗ Incorrect
DWA samples possible velocity commands within the robot's dynamic limits to select the best safe velocity.
Which local planner uses trajectory optimization over time?
ADWA
BTEB
CA*
DRRT
✗ Incorrect
TEB optimizes a timed sequence of poses, refining the trajectory considering time and kinematics.
In ROS, what is the local costmap used for by local planners?
ATo plan long-distance routes
BTo store the global map
CTo detect obstacles near the robot
DTo control robot speed
✗ Incorrect
The local costmap shows obstacles around the robot to help local planners avoid collisions.
Which local planner is more suitable for robots with complex kinematic constraints?
ATEB
BDWA
CGlobal planner
DNone
✗ Incorrect
TEB explicitly considers kinematic constraints during trajectory optimization.
What is a key advantage of using TEB over DWA?
AFaster computation
BWorks without a map
CSimpler implementation
DBetter handling of dynamic obstacles and smoother trajectories
✗ Incorrect
TEB produces smoother, time-optimized trajectories and adapts better to moving obstacles.
Explain how the Dynamic Window Approach (DWA) local planner works in ROS.
Think about how the planner tests different speeds and picks the safest and most efficient one.
You got /4 concepts.
Describe the main differences between the DWA and TEB local planners and when you might choose each.
Compare how each planner plans movement and their strengths.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of a local planner like DWA or TEB in ROS?
easy
A. To control the robot's battery usage
B. To map the entire environment for the robot
C. To help the robot navigate safely around obstacles nearby
D. To communicate with other robots
Solution
Step 1: Understand the role of local planners
Local planners focus on immediate surroundings to avoid obstacles and plan short paths.
Step 2: Compare options
Mapping the environment is done by global planners or mapping nodes, not local planners.
Final Answer:
To help the robot navigate safely around obstacles nearby -> Option C
Quick Check:
Local planner = safe nearby navigation [OK]
Hint: Local planners handle nearby obstacles, not mapping or communication [OK]
Common Mistakes:
Confusing local planner with global planner
Thinking local planner maps environment
Assuming local planner manages robot hardware
2. Which of the following is the correct way to enable the DWA local planner in a ROS navigation stack configuration file?
easy
A. base_local_planner: "dwa_local_planner/DWAPlannerROS"
B. base_local_planner: "teb_local_planner/TEBPlanner"
C. planner: "global_planner/GlobalPlanner"
D. planner: "dwa_local_planner/DWAPlannerROS"
Solution
Step 1: Identify the correct parameter name for local planner
The parameter to specify the local planner plugin is usually 'base_local_planner'.
Step 2: Match the correct plugin name for DWA
DWA local planner plugin is 'dwa_local_planner/DWAPlannerROS'. base_local_planner: "dwa_local_planner/DWAPlannerROS" matches this exactly.
Final Answer:
base_local_planner: "dwa_local_planner/DWAPlannerROS" -> Option A
Quick Check:
Correct plugin name and parameter = base_local_planner: "dwa_local_planner/DWAPlannerROS" [OK]
Hint: Look for 'base_local_planner' key with DWA plugin name [OK]
Common Mistakes:
Using 'planner' instead of 'base_local_planner'
Confusing DWA and TEB plugin names
Using global planner plugin name for local planner
3. Given the following ROS parameter snippet for TEB local planner:
DWA uses parameters like obstacle distance to decide when to start avoiding obstacles.
Step 2: Analyze effect of low obstacle distance
If set too low, the planner reacts too late, causing collisions.
Final Answer:
The obstacle distance parameter is set too low, causing late avoidance -> Option A
Quick Check:
Late avoidance due to low obstacle distance = The obstacle distance parameter is set too low, causing late avoidance [OK]
Hint: Check obstacle distance parameter if collisions occur [OK]
Common Mistakes:
Blaming global planner for local planner issues
Ignoring parameter tuning for obstacle avoidance
Assuming hardware issues cause collisions without evidence
5. You want your robot to navigate a narrow corridor smoothly using the TEB local planner. Which combination of parameters should you adjust to improve smooth turning and obstacle clearance?
hard
A. Increase min_turning_radius and decrease obstacle_avoidance_force
B. Increase max_vel_x and decrease max_vel_theta
C. Decrease max_vel_x and disable obstacle avoidance
D. Decrease min_turning_radius and increase obstacle_avoidance_force
Solution
Step 1: Understand min_turning_radius effect
Decreasing min_turning_radius allows tighter turns, useful in narrow corridors.