Skip to content
This repository has been archived by the owner on Dec 13, 2024. It is now read-only.

Updates from meeting / new command requirements #8

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 23 additions & 19 deletions Top-Level Requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,23 @@
## List of Terms
* East **shall** be defined as the direction perpendicular and away to the face of the designated mining receptacle.
## Requirements
### 1. Executive System
* 1.1 The executive system **shall** process mission control commands.
* 1.2 The executive system **shall** start and manage autonomous operation.
* 1.3 The executive system **shall** monitor and delegate system responsibilities and state in between mission subsystems.
* 1.4 The executive system **shall** support two classes of commands:
* 1.4.1 The Autonomous Command: Commences the main mission phases and tracks autonomous mission state.
* 1.4.2 Teleop Commands: A lightweight command processing mode which contains user commands to be fed to control systems.
* 1.5 The executive system **shall** track mission progress and mission time elapsed.
* 1.6 The executive system **shall** be able to preempt all subsystem.
* 1.7 The executive system **shall** return the system to a safe state upon failure.
### 1. Executive System
* 1.1 The executive system **shall** process mission control commands.
* 1.2 The executive system **shall** monitor and delegate system responsibilities and state in between mission subsystems.
* 1.3 The executive system **shall** support two modes of operation:
* 1.3.1 *Autonomous* Commences the main mission phases and tracks autonomous mission state.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Content looks good, but the phrasing between 1.3.1 and 1.3.2 is inconsistent ("commences ..." vs. the more fragmented "lightweight user ...."). This isn't super important, but if we're looking for formality I think this is something to be addressed and it can help make it more obvious what the specific differences are between them.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

easy fix

* 1.3.2 *Teleop* lightweight user command processing and subsystem control.
* 1.4 The executive system **shall** track mission progress and mission time elapsed.
* 1.5 The executive system **shall** be able to preempt all subsystems.
* 1.6 The executive system **shall** attempt to return the system to a safe state upon failure.
### 2. Mission Control Interface
* 2.1 The control interface **shall** have commands to:
* 2.1.1 Start autonomous operation.
* 2.1.2 Halt autonomous operation.
* 2.1.3 Manually input directional instructions for driving
* 2.1.4 Execute a digging procedure
* 2.1.2 Halt autonomous operation.
* 2.1.3 Send directional driving commands.
* 2.1.4 Execute a digging procedure.
* 2.1.5 Perform an emergency stop.
* 2.1.6 Test the system motors and mining arm after a stop.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this may actually supposed to be "Reset"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you are right

### 3. Communication Subsystem
* 3.1 The communication subsystem **shall** monitor all top level diagnostic communications, and display them in the command center.
* 3.2 The communication subsystem **shall** render necessary and sufficient data to the command center to control the mission.
Expand All @@ -42,6 +43,7 @@
* 5.2 The subsystem **shall** have a control subsystem for base movement.
* 5.3 The subsystem **shall** have a control subsystem for arm movement.
* 5.4 The subsystem **shall** have a control subsystem for dumping bin movement.
* 5.5 The subsystem **shall** expose a toggle mechanism to stop all motors and manually disable motor movement, and turn them on again.
### 6. Localization Subsystem
* 6.1 Localization **shall** be defined as: detecting a fiducial marker and determining the robot’s current position based on that detection.
* 6.2 Until the subsystem has localized the robot, the localization subsystem **shall**:
Expand Down Expand Up @@ -70,10 +72,12 @@
* 8.8 Upon completing the mining procedure, the mining subsystem **shall**:
* 8.8.1 Define an “obstacle” representing the digging hole and send it to the navigation subsystem.
* 8.8.2 Return the mining arm to the starting position.
* 8.9 The mining subsystem **shall** expose a mechanism to reset arm postition.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in "postition". Also, we should specify exactly what kind of position it's resetting to: is it the position in the bin? Position where it doesn't interfere with the bin? Both? Something else?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kind of left that ambiguous because we didn't know then

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But I can clarify

### 9. Dumping Subsystem
* 9.1 As a precondition the rover **shall** be facing east, relatively close to the dumping receptacle.
* 9.2 The dumping subsystem **shall** perform the localization procedure prior to the start of the dumping procedure.
* 9.3 The dumping procedure **shall**:
* 9.3.1 Orient itself and turn to face east.
* 9.3.2 Back up to within a set tolerance of the wall, maintaining eastern orientation.
* 9.3.3 Raise the mining bin and dump the regolith at a set speed.
* 9.1 As a precondition the rover **shall** be facing west, relatively close to the dumping receptacle.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it East or West?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

East I think we start east and end navigation facing east

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, whatever it is it should be consistent with the definition at the very top.

* 9.2 The dumping subsystem **shall** define a goal called the dumping position, defined as touching the mining receptable facing west.
* 9.3 To reach the dumping postion the dumping subsystem **shall**:
* 9.3.1 Orient itself towards the center of the bin.
* 9.3.2 Back up towards the center of the receptacle using sensor data.
* 9.3.3 In the event of data loss back up at it's last know heading.
* 10.4 Upon reaching the dumping position the dumping subsystem **shall** raise the dumping bin.