add humble-navigation2

This commit is contained in:
X-lanni
2025-05-27 19:03:40 +08:00
parent 974abb5e1e
commit e74ec539c2
1280 changed files with 204114 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
# Target Use Cases
The Nav2 system is targeting the following use cases:
[2D Indoor Navigation](indoor_navigation_use_case.md) - example: Warehouse / Logistics robot
2D Navigation with Elevation - example: rescue robot navigating building with ramps and stairways
2D Navigation with Elevators - example: Room service robot
[Outdoor Navigation](outdoor_navigation_use_case.md)
## Stretch Target
3D Navigation - Drones
@@ -0,0 +1,21 @@
# Use Case Title
As a \<Developer, Researcher, Technician, etc.> I want the robot to \<action> so that \<I, the robot, etc.> can \<do something important>
## More details
- Why is this needed?
- What is the expected user interaction?
- Are there any non-functional requirements? (build system, tools, performance, etc)
# Example:
# Collision Avoidance
As a robot user, I want the robot to navigate without colliding into people or objects so that it doesn't hurt anyone or damage anything
## More details
- Why is this needed?
- I want this so that I know the robot won't damage itself, damage property or hurt anyone
- Example: a logistics robot in a warehouse must avoid shelves, people, forklifts, and other robots
- What is the expected user interaction?
- I shouldn't have to interact with the robot to prevent it from crashing into people or things
- Are there any non-functional requirements? (build system, tools, performance, etc)
- The performance needs to be fast enough to avoid moving objects such as people walking or other moving robots
@@ -0,0 +1,14 @@
# Collision Avoidance
As a Robot user I want to my robot to avoid colliding with people or objects so that it won't damage anything or hurt anyone
## More details
- Why is this needed?
- This is needed for indoor and outdoor robot navigation in most (all?) cases
- Example: a robot in a warehouse should avoid colliding into the walls or shelving, and dynamically avoid people that cross its path
- What is the expected user interaction?
- The user should be able to walk in front of a robot and it should avoid crashing into that person
- Are there any non-functional requirements? (build system, tools, performance, etc)
@@ -0,0 +1,15 @@
# Indoor Localization
As a Robot user I want my robot to know its location on a given map of an indoor area so that it can move around the area
## More details
- Why is this needed?
- This is needed for indoor robot navigation in most (all?) cases
- Example: a courier robot in a logistics warehouse
- What is the expected user interaction?
- The user should be able to specify a map to use and a location on that map for the robot
- The robot should be able to deduce it's own position on a map autonomously
- Are there any non-functional requirements? (build system, tools, performance, etc)
@@ -0,0 +1,14 @@
# Indoor Navigation
As a Robot user I want my robot to autonomously navigate to a given location on a given map so that it can help me at that location
## More details
- Why is this needed?
- This is needed for indoor robot navigation in most (all?) cases
- Example: a courier robot in a logistics warehouse
- What is the expected user interaction?
- The user should be able to specify a map to use and a location on that map for the robot to move to.
- Are there any non-functional requirements? (build system, tools, performance, etc)
@@ -0,0 +1,14 @@
# Keep Out Zones
As a Robot user I want to be able to designate keep-out zones or areas on a map so that my robot will go around those areas instead of through them
## More details
- Why is this needed?
- This is needed for indoor/outdoor robot navigation in areas where there may be safety issues or hazards
- Example: a courier robot in a logistics warehouse may be required to avoid areas where the forklift is unloading pallets from trucks
- What is the expected user interaction?
- The user should be able to specify keep out zones for the robot to avoid
- Are there any non-functional requirements? (build system, tools, performance, etc)
@@ -0,0 +1,15 @@
# Multi-story Building Navigation (2D+)
As a Robot user I want my robot to be able to navigate stairways, ramps or elevators to move to another portion of the multi-story building so that it can do something useful
## More details
- Why is this needed?
- Example: a delivery robot in an office building
- What is the expected user interaction?
- The user should be able to specify stairways, ramps and elevators on a map for a robot to use or not use
- via a GUI
- via a config file or API so that it can be done by another program
- Are there any non-functional requirements? (build system, tools, performance, etc)
@@ -0,0 +1,15 @@
# Outdoor Localization
As a Robot user I want my robot to know its location on a given map of an outdoor area, such as a street or college campus, so that it can move around the area
## More details
- Why is this needed?
- This is needed for outdoor robot navigation in most (all?) cases
- Example: a delivery robot on a college campus
- What is the expected user interaction?
- The user should be able to specify a map to use and a location on that map for the robot
- The robot should be able to deduce it's own position on a map autonomously
- Are there any non-functional requirements? (build system, tools, performance, etc)
@@ -0,0 +1,14 @@
# Outdoor Navigation
As a Robot user I want my robot to autonomously navigate to a given location on a given outdoor map, such as a college campus or street, so that it can do something useful at that location
## More details
- Why is this needed?
- This is needed for outdoor robot navigation in most (all?) cases
- Example: a delivery robot on a college campus
- What is the expected user interaction?
- The user should be able to specify a map to use and a location on that map for the robot to move to.
- Are there any non-functional requirements? (build system, tools, performance, etc)