Skip to content

System Requirements

Trevor Decker edited this page Dec 10, 2015 · 20 revisions

Robobuggy may be referred to as buggy

#Definitions

#Requirements

  • R1 The buggy shall drive around the sweepstakes course.
  • R2 The buggy shall e-stop as soon as the operator press a stop button
  • R3 The buggy shall e-stop as soon as it has detected that the operator controller is not present
  • R4 The buggy shall follow all sweepstakes rules
  • R5 The buggy shall be drivable by a human off board
  • R6 The buggy shall be drivable by a onboard computer
  • R7 The buggy shall e-stop if it ever loses connection to the driving computer if in autonomous mode
  • R8 The buggy shall e-stop if the buggy ever thinks it is outside of a safe location.
  • R9 The buggy shall attempt to stay inside the safe operation zone
  • R10 The buggy shall deploy brakes if it ever loses power
  • R11 The buggy shall deploy brakes if it ever loses pneumatic pressure

#Features

  • F1 The buggy should indicate to those around it before it makes a major change in state
  • F2 The buggy should be able to replay the sensor data it received during any run
  • F3 The buggy should warn the user if a sensor is not operating properly

#Scenarios

##Scenario S1: Remote Stop EStop

Preconditions

  1. Buggy is operating as expected (correctly)
  2. Remote is on and in communication with the buggy
  3. Buggy is moving
  4. Brakes are up

###Scenario

  1. Driver flips Estop button
  2. Radio receives Estop
  3. Radio signal is sent to control Arduino
  4. Arduino decodes signal as EStop
  5. Arduino command solenoids to deploy brakes
  6. Brakes deploy
  7. Buggy stops because of friction

Postconditions

brakes are down Buggy is not moving

sequence digram of remote Estop

##Scenario S2: Autonomous is turned on

###Pre Conditions TODO ###Scenario TODO ###Post Conditions TODO

##Scenario S3: Autonomous is turned off

###Pre Conditions TODO ###Scenario TODO ###Post Conditions TODO

Component Requirements

Software

Hardware

High Level Computer

  • Be able to run Java
  • Be able to connect to sensors (USB)
  • Have an easy to use user interface

Low Level Computer

Mechanical