What is the purpose of the static layer in a ROS costmap?
The static layer represents the fixed environment map, usually loaded from a map server. It shows known obstacles that do not change, like walls or furniture.
Click to reveal answer
beginner
How does the obstacle layer in a ROS costmap work?
The obstacle layer detects and updates obstacles dynamically using sensor data like laser scans or depth cameras. It helps the robot avoid moving or new obstacles.
Click to reveal answer
beginner
What is the inflation layer in a ROS costmap and why is it important?
The inflation layer adds a safety buffer around obstacles by increasing their size in the costmap. This helps the robot keep a safe distance and avoid collisions.
Click to reveal answer
intermediate
Which parameter controls how far the inflation layer extends around obstacles?
The 'inflation_radius' parameter sets the distance around obstacles where the cost is increased to create a safety buffer.
Click to reveal answer
intermediate
Why is it important to configure the obstacle layer's sensor sources correctly?
Correct sensor configuration ensures the obstacle layer accurately detects obstacles in real time, preventing collisions and enabling safe navigation.
Click to reveal answer
What does the static layer in a ROS costmap represent?
AFixed obstacles from a map
BDynamic obstacles detected by sensors
CSafety buffer around obstacles
DRobot's current position
✗ Incorrect
The static layer shows fixed obstacles loaded from a map, like walls.
Which layer updates in real-time using sensor data?
AStatic layer
BGlobal planner
CInflation layer
DObstacle layer
✗ Incorrect
The obstacle layer uses sensors to detect dynamic obstacles.
What is the main role of the inflation layer?
ALoad static maps
BAdd safety distance around obstacles
CDetect obstacles
DPlan robot path
✗ Incorrect
The inflation layer creates a safety buffer around obstacles.
Which parameter sets how far the inflation extends?
Ainflation_radius
Bobstacle_range
Cmap_resolution
Drobot_radius
✗ Incorrect
The inflation_radius controls the safety buffer size.
Why must sensor sources be configured correctly for the obstacle layer?
ATo load static maps
BTo increase inflation radius
CTo detect obstacles accurately
DTo control robot speed
✗ Incorrect
Correct sensor setup ensures accurate obstacle detection.
Explain the roles of the static, obstacle, and inflation layers in a ROS costmap.
Think about how each layer helps the robot understand and avoid obstacles.
You got /3 concepts.
Describe how you would configure the inflation layer to keep the robot safe.
Focus on parameters that control the size and effect of the inflation.
You got /3 concepts.
Practice
(1/5)
1. Which costmap layer in ROS is responsible for marking fixed obstacles from a pre-existing map?
easy
A. Obstacle layer
B. Inflation layer
C. Static layer
D. Sensor layer
Solution
Step 1: Understand the role of the static layer
The static layer uses a pre-built map to mark fixed obstacles that do not change over time.
Step 2: Compare with other layers
The obstacle layer updates obstacles dynamically from sensors, and the inflation layer adds safety buffers, so they do not mark fixed obstacles directly.
Final Answer:
Static layer -> Option C
Quick Check:
Fixed obstacles = Static layer [OK]
Hint: Static layer = fixed map obstacles [OK]
Common Mistakes:
Confusing obstacle layer with static layer
Thinking inflation layer marks obstacles
Assuming sensor data is static
2. Which of the following YAML snippets correctly enables the inflation layer in a ROS costmap configuration?
easy
A. inflation:
enable: true
radius: 0.5
B. inflation_layer:
active: yes
radius: 1.0
C. inflation_layer:
enabled: false
inflation_radius: 0.5
D. inflation_layer:
enabled: true
inflation_radius: 0.5
Solution
Step 1: Check correct keys for inflation layer
The correct keys are 'inflation_layer' with 'enabled' and 'inflation_radius' as parameters.
Step 2: Validate values and syntax
inflation_layer:
enabled: true
inflation_radius: 0.5 uses 'enabled: true' and 'inflation_radius: 0.5', which is correct YAML syntax and valid keys.
Final Answer:
inflation_layer:
enabled: true
inflation_radius: 0.5 -> Option D
A. inflation_radius must be an integer, not a float
B. Negative cost_scaling_factor is invalid and causes inflation errors
C. Missing 'enabled: true' disables inflation layer
D. cost_scaling_factor should be zero to disable inflation
Solution
Step 1: Check cost_scaling_factor value
The cost_scaling_factor controls how quickly costs drop off from obstacles. It must be positive; negative values are invalid.
Step 2: Understand impact of negative value
A negative cost_scaling_factor causes errors or unexpected inflation behavior in the costmap.
Final Answer:
Negative cost_scaling_factor is invalid and causes inflation errors -> Option B
Quick Check:
cost_scaling_factor < 0 = error [OK]
Hint: cost_scaling_factor must be positive [OK]
Common Mistakes:
Thinking inflation_radius must be integer
Assuming missing enabled disables inflation
Believing zero cost_scaling_factor disables inflation
5. You want to configure a ROS costmap that uses a static map, detects obstacles with a laser scanner, and inflates obstacles with a radius of 0.8 meters. Which of the following combined configurations is correct?