Skip to content

Commit

Permalink
Merge pull request #1 from mkhansen-intel/init_docs
Browse files Browse the repository at this point in the history
Feedback requested - Initial design documents templates
  • Loading branch information
Matt Hansen authored Jun 5, 2018
2 parents 786eedf + ff3df8b commit 6ba99d6
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 2 deletions.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# navigation2
# Navigation2

ROS2 navigation
ROS2 Navigation

# Contributing
Currently we are in the design phase, and are accepting input and requirements. To contribute, see the [design README.md](design/README.md)
15 changes: 15 additions & 0 deletions design/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# ROS2 Navigation design documentation
This is where the ROS2 Navigation design documentation is being collected and vetted

# Use Cases
These are for defining how the user interacts with the system

See the [use case template](use_cases/_template_use_case.md)

# Requirements
These are for defining the technical requirements

See the [requirement template](requirements/_template_requirement.md)

# Contributing
To submit a request for a use case or requirement, copy and modify the template and submit a pull request for review
19 changes: 19 additions & 0 deletions design/requirements/_template_requirement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Requirement Title
The \<navigation system> should be able to \<shall> \<do something>

## More details
- Why is this needed?
- What is the expected user interaction?
- What use case does this map to?
- Are there any non-functional requirements (build system, tools, performance, etc)


# Example:

# Warehouse Navigation
The navigation system should include a modular collision avoidance algorithm that can be replaced with a new algorithm at run time

## More details
- I want to be able to write or use my own collision avoidance algorithm without having to re-compile the entire stack from source
- Ideally I can just change out a node using a custom launch file
- This maps to the "Collision Avoidance" use case
16 changes: 16 additions & 0 deletions design/use_cases/_template_use_case.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 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:

# Warehouse Navigation
As a warehouse robot operator, I want the robot to navigate without colliding into people or objects so that it doesn't hurt anyone or damage anything

## More details
- I want this so that I know the robot won't damage itself, damage property or hurt anyone
- I shouldn't have to interact with the robot to prevent it from crashing into people or things

0 comments on commit 6ba99d6

Please sign in to comment.