Professional Documents
Culture Documents
ENGR: D. Bloshkin
ENGR: M. Moffitt
ENGR: A. Heberger
ENGR: J. Baslow
MGR: D. Kaputa
Rev.
Description
Date
1.0
Initial
Specification
3-7-2016
1.1
Improvements
4-26-2016
Approved
Confidential
Table of Contents
1
Introduction.............................................................................................................................. 4
1.1 Overview................................................................................................................................ 4
1.2 Scope..................................................................................................................................... 4
1.3 Requiremen Marking.............................................................................................................. 4
Applicable documents............................................................................................................... 4
2.1 Standards............................................................................................................................... 4
2.2 Reference documents............................................................................................................ 4
Requirements............................................................................................................................ 5
3.1 Rover Description................................................................................................................... 5
3.1.1
Drawings...................................................................................................................... 5
3.2 Characteristics....................................................................................................................... 5
3.2.1
3.2.3
3.2.4
3.2.5
Operating Margins........................................................................................................ 7
3.2.6
Physical Characteristics............................................................................................... 7
3.2.7
Reliability..................................................................................................................... 7
3.2.8
Environmental conditions............................................................................................. 7
Structural/Mechanical Interface................................................................................... 7
3.4.2
Power Interface............................................................................................................ 8
3.4.3
3.4.4
Encoder Interface......................................................................................................... 9
3.4.5
Camera Interface......................................................................................................... 9
3.4.6
3.4.7
4
Confidential
Connector Interface...................................................................................................... 9
Verification................................................................................................................................ 9
4.1 Verification Conformance....................................................................................................... 9
4.1.1
Methods of Verification................................................................................................. 9
4.1.1.1 Analysis..................................................................................................................... 9
4.1.1.2 Inspection............................................................................................................... 10
4.1.1.3 Demonstration........................................................................................................ 10
4.1.1.4 Test......................................................................................................................... 10
4.1.2
Phases of Verification................................................................................................. 10
4.1.2.1 Qualification............................................................................................................ 10
4.1.2.2 Acceptance............................................................................................................. 11
4.2 Characteristics..................................................................................................................... 11
4.2.1
4.2.3
4.2.4
4.2.5
Operating Margins...................................................................................................... 13
4.2.6
Physical Characteristics............................................................................................. 13
4.2.7
Reliability................................................................................................................... 13
4.2.8
Environmental conditions........................................................................................... 13
4.4.1
Structural/Mechanical Interface.................................................................................13
4.4.2
Power Interface.......................................................................................................... 13
4.4.3
4.4.4
Encoder Interface....................................................................................................... 14
4.4.5
Camera Interface....................................................................................................... 15
4.4.6
4.4.7
Connector Interface.................................................................................................... 15
Definitions............................................................................................................................... 15
Confidential
5.1 Acronym List........................................................................................................................ 15
6
1 INTRODUCTION
This document is meant to capture the performance requirements and desirable physical
characteristics that Shallbot is to attain in its final design and operational state.
Confidential
1.1 OVERVIEW
Shallbot is a rover based upon the Rover 5 platform which is being designed to compete in the
Embedded Systems Design II class competition in the College of Applied Science and
Technology at the Rochester Institute of Technology. There are three phases to the competition
however this single system requirements document shall envelope all of those phases. If there
are any phase specific requirements they shall be clearly denoted as applying only to that
specific phase. For the competition the main body of the rover must be used for all phases
however different attachments can be added or removed as desired.
1.2 SCOPE
This specification defines the overall functionality and establishes the performance, design,
development, and test requirements which Shallbot must satisfy.
2 APPLICABLE DOCUMENTS
This section contains documents referenced in this specification. The revision listed is the
revision effective for this design effort. When no revision is listed, the latest issue in effect is
applicable.
Documents that do not have a specific revision specified may be
industry/government standards, etc. that when revised normally, do not directly impact the
design, development, or testing parameters of the item in question.
2.1 STANDARDS
2.2 REFERENCE DOCUMENTS
The documents listed herein are provided as background information for users of this
specification defining the source of the requirements in sections 3 and 4 of this specification.
The listing in this section does not levy new or relieve specific requirements which are imposed
by this specification or other contractual documents associated with procurement of this
specification.
Document Number
Document Title
Revision
Confidential
3 REQUIREMENTS
3.1 ROVER DESCRIPTION
Our rover Shallbot, will be designed using a Raspberry Pi, motor controller, and Rover 5
platform. It will be able to compete in various competitions where some will be controlled by the
user, and others will be autonomous. The plan to differentiate our rover from others is to use a
laptop 10.8V battery to power the motor drives. This will allow our group to have the fastest
rover, which will help us have the best time in the triumphant entrance challenge, and give us
the most power when it comes time for the sumo challenge. We will be working on the tennis
ball challenge the least, and will expect this tradeoff to help us perform better in the triumphant
entrance and sumo challenge.
3.1.1 DRAWINGS
3.2 CHARACTERISTICS
3.2.1 PERFORMANCE AND FUNCTIONAL CHARACTERISTICS
3.2.1.1 Controller Functional Requirements
[A functional requirement is a specific business need or behavior as seen by an external user of
the system.]
3.2.1.1.1 Inputs/Outputs
[R.ROV.30] Motor Encoders
Confidential
Each motor shall interface with a rotary encoder that will provide relative position feedback.
[R.ROV.31] Motor Encoders
The rover shall have a defined number of encoder ticks to measurement of 1 foot.
[R.ROV.32] Motor Encoders
The rover shall have a defined number of encoder ticks to measure a 90 degree +/- 1 degree
turn.
[R.ROV.33] Motor Encoders
The rover shall keep track of the encoder ticks so that they can be used later for movement
verification.
[R.ROV.40] Camera Module
The controller shall interface with a camera module by providing a digital command and
receiving a digital image.
[R.ROV.41] Camera Module
The camera shall be calibrated to be able to identify the colors: red, blue, and yellow.
[R.ROV.42] Camera Module
The camera shall be able to position the rover so that a tennis ball is in the center of the field of
view.
[R.ROV.50] Motor Driver
The controller shall interface with four motor drivers (one channel for each motor) by providing
a digital PWM signal.
[R.ROV.51] Motor Driver
The controller shall be able to receive the PWM signal to any of the four motors at all times.
[R.ROV.52] Motor Driver
The direction pins will be configurable so they can be changed at any time during operation.
[R.ROV.53] Motor Driver
The motor driver will provide feedback from the encoders.
[R.ROV.54] Motor Driver
The rover shall be able to stop instantaneously when preparing for making a turn.
Confidential
[R.ROV.60] Motor Driver Logic Power
The motor driver logic circuit shall interface with a +5 VDC +/- 100mV electrical power supply
from the Raspberry Pi.
[R.ROV.70] Motor Driver Output Power
The motor driver output circuit shall interface with a +10.8 VDC +/- 100mV laptop battery.
[R.ROV.80] Controller Power
The controller shall interface with a +5 VDC +/- 100mV electrical power supply from an external
power bank.
[R.ROV.90] Remote Desktop Interface
The controller shall interface with a remote PC via the built in WiFi peripheral on the Raspberry
Pi.
3.2.1.1.2 Functions
[R.ROV.100] Motor Driver
The motor controller shall communicate with the Raspberry Pi and receive and process
commands from the processor per the communications protocol defined in Appendix B.
3.2.1.1.3 Thermal
[R.ROV.110] Active Heating or Cooling
The rover shall not require active heating or cooling when operating within the environment.
3.2.1.1.4 Electrical Power
[R.ROV.120] Electrical Power Input
The rover shall have two battery packs that supply power to the digital and drive output
subsystems respectively.
[R.ROV.130] Power-up Sequence
The entire system will power up and be functional within 10 seconds of applying power.
3.2.1.2 Controller Performance Requirements
[A performance requirement specifies the speed or operational effectiveness of a capability that
must be delivered by the system architecture as seen by the technical layers within that system
architecture.]
[R.ROV.140] Camera Update Rate
Confidential
Camera shall update at a rate of 5 +/- 1 frames per second.
[R.ROV.150] Motor PWM Resolution
The motor command PWM shall have a resolution of 1000 ticks to have precision on the rover
speed.
[R.ROV.160] Motor Command Resolution
Motor command shall have a resolution of +/- 2 inches.
Confidential
[R.ROV.181] Operating States
There shall be a defined operating state for the tennis ball challenge.
[R.ROV.182] Operating States
There shall be a defined operating state for the sumo challenge.
3.2.6 RELIABILITY
[R.ROV.250] Triumphant Entrance Reliability
Confidential
The rover shall run the triumphant entrance challenge without failure with five consecutive
runs.
[R.ROV.251] Tennis Ball Challenge Reliability
The rover shall run the tennis ball challenge without failure with five consecutive runs.
[R.ROV.252] Sumo Entrance Reliability
The rover shall be able to push a five pound weight for at least a minute.
Confidential
Confidential
Confidential
4 VERIFICATION
Section 4 presents details of the verification approach, including verification requirements, the
definition of applicable terminology, and identified constraints imposed on verification
requirements.
The Verification Cross Reference Matrix (VCRM) is generated to show the requirement trace and
primary verification closure methods. The VCRM is located in Appendix A of this document.
Car: complete a series of tests which rev the engine at a specific rpm for a set length of
time, while monitoring engine vibration and temperature, to verify that the expected
results are achieve. Use this information to model the failure point of the engine, i.e. max
rpm sustained over a specific period of time.
Confidential
Software Application: complete a series of tests in which a specified number of users input
the characteristics of the car they are attempting to price and initiate the pricing
functionality at the same time. Measure the response of the system to ensure that the
pricing function returns its results within the time specified. Analyze the relationship
between increasing number of system users and the time it takes for pricing to be
returned. Record the results to capture system degradation. Use this information to
predict at what point the system no longer meets the maximum allowable time to return
pricing as defined by the requirements.
4.1.1.2 Inspection
Verification by inspection is the nondestructive examination of a product or system using one or
more of the five senses (visual, auditory, olfactory, tactile, taste). It may include simple
physical manipulation and measurements.
Car: visually examine the car to ensure that it has power windows, power adjustable seats,
air conditioning, a navigation system, a tow package, etc.
Software Application: visually examine the software for screens that were requested,
check for the fields needed for data entry, verify that the necessary buttons exist for
initiating required functionality, etc.
4.1.1.3 Demonstration
Verification by demonstration is the manipulation of the product or system as it is intended to
be used to verify that the results are as planned or expected.
Car: use the automatic switches to verify that the windows and seats work as intended,
start the vehicle and ensure that the air conditioning produces cold air, take the car for a
test drive to sense the acceleration and cornering as it was described based on the
requirements.
Software Application: enter all required fields on a screen and select the button to return a
specific report. Ensure that the report is returned with the type of data needed.
4.1.1.4 Test
Verification by test is the verification of a product or system using a controlled and predefined
series of inputs, data, or stimuli to ensure that the product or system will produce a very
specific and predefined output as specified by the requirements.
Car: accelerate the car from a complete stop to 60 mph, and verify that it can be done in
5.2 seconds. Accelerate through a turn under controlled conditions, producing .8G of
force, without the car loosing traction.
Software Application: enter the type and model of car, automatic windows, power steering,
and all other options as stated in the predefined test plan, select the price now button and
receive back a price quote of precisely $43,690.
Confidential
to ensure that the requirements can continue to be met under worst-case conditions.
Qualification will be based on the full range of design requirements that are documented in this
product specification. The verification methods used to perform qualification activities include
analysis, demonstration, inspection, and test, or any combination of the four, and are defined in
Appendix A (VCRM).
4.1.2.2 Acceptance
No acceptance testing is to be performed.
4.2 CHARACTERISTICS
4.2.1 PERFORMANCE AND FUNCTIONAL CHARACTERISTICS
4.2.1.1 Controller Functional Requirements
[A functional requirement is a specific business need or behavior as seen by an external user of
the system.]
4.2.1.1.1 Inputs/Outputs
[V.ROV.30] Motor Encoders
The motor encoders will be verified by rotating the wheels with the tread off and measuring
encoder ticks on the oscilloscope.
[V.ROV.31] Motor Encoders
The motor encoder will be turned clockwise and counterclockwise and the encoder ticks will be
recorded by a python script to verify the correct number of ticks that represent 1 foot.
[V.ROV.32] Motor Encoders
The rover will be set on the ground and commanded to spin in a circle. The rover will complete
4 full circles and the number of encoder ticks will be recorded with a python script. Then the
number of encoder ticks will be divided by 16 to calculate the exact number of ticks for a 90
degree turn.
[V.ROV.33] Motor Encoders
A python script will be created to keep track of the encoder ticks and store them in variables so
they can be used for the other encoder tests.
[V.ROV.40] Camera Module
A python script will be ran on the Raspberry Pi remote desktop to see the live stream from the
camera to verify a working camera.
[V.ROV.41] Camera Module
A python script will be used with sliding values to adjust the threshold for identifying different
colors. This will allow verification that all three colored tennis balls can be identified.
Confidential
[V.ROV.42] Camera Module
A tennis ball will be placed off center from the rover camera and a python script will be ran to
have the rover move to center the ball in front of the rover.
[V.ROV.50] Motor Driver
The motor controller logic that is being used will be ran to test sending a PWM signal to all four
motors individually to verify that each can move properly.
[V.ROV.51] Motor Driver
Each motor will be verified that PWM is being sent to it by turning each motor on one at a time.
[V.ROV.52] Motor Driver
Each motor will be verified that the direction pin will change the rotation direction of each wheel
when a PWM is sent to the motor controller.
[V.ROV.53] Motor Driver
Each motor will be verified using the oscilloscope that an encoder feedback is being sent for
each motor rotation.
[V.ROV.54] Motor Driver
The rover will go full speed forward and come to a stop with no tread rotation to verify an
instant stop.
[V.ROV.60] Motor Driver Logic Power
The power supply will be turned on and set to +5 VDC and connected to the Raspberry Pi. Then
a remote desktop connection will be established with the Raspberry Pi to verify it is running.
[V.ROV.70] Motor Driver Output Power
The motors will be supplied with the +10.8 VDC laptop battery and commands will be supplied
to the Raspberry Pi to verify movement and that the power is being adequately supplied to the
motors.
[V.ROV.80] Controller Power
The motor drive controller board will be powered with a +5 VDC power supply and commands
will be sent to the Raspberry Pi to verify the motor controller board is powered correctly.
[V.ROV.90] Remote Desktop Interface
A remote desktop connection will be used to connect with the Raspberry Pi and load up a
python file to verify that it can connect with a computer in the lab.
Confidential
4.2.1.1.2 Functions
[V.ROV.100] Motor Driver
The command interpreter will be used to verify a text file filled with movement commands can
be ran and control the rover.
4.2.1.1.3 Thermal
[V.ROV.110] Active Heating or Cooling
The rover will be ran through all of the competitions and then the temperature of the rover will
be recorded to make it is in a safe limit.
4.2.1.1.4 Electrical Power
[V.ROV.120] Electrical Power Input
The rover will be powered with both batteries and movement commands will be sent to move
the rover and verify adequate power.
[V.ROV.130] Power-up Sequence
The rover system will be turned on and a stopwatch will be started from the time it takes to
start up and allow a remote desktop connection and then stopped to see if it is under 10
seconds.
4.2.1.2 Controller Performance Requirements
[A performance requirement specifies the speed or operational effectiveness of a capability that
must be delivered by the system architecture as seen by the technical layers within that system
architecture.]
[V.ROV.140] Camera Update Rate
The rover will be connected with the camera and a tennis ball will be used to verify that it can
capture enough frames per second to center the tennis ball within +/- 1 inch of the center of
the rover.
[V.ROV.150] Motor PWM Resolution
The PWM signal will modified by increments of 1 tick with a python script and the speed will be
observed to see that is increases as the PWM duty cycle increases.
[V.ROV.160] Motor Command Resolution
Motor commands will be sent to the rover and the distance traveled will be measured and will
need to be within +/- 2 inches of the distance the command sent.
Confidential
A remote desktop connection will be established with the Raspberry Pi and the GUI will be
loaded and used to control some simple movements of the rover to verify control of the rover
by the GUI.
[V.ROV.171] GUI Layout
The triumphant entrance and tennis ball challenges will be started from the GUI to verify the
GUI buttons work.
[V.ROV.172] GUI Layout
The sumo buttons will be used to verify that the rover can be controlled by the user in a free
movement mode.
[V.ROV.173] GUI Layout
The rover will be placed in the starting spot of the triumphant entrance and ran to verify that
the map shows the movement of the rover and the final ending spot based on the encoder
ticks.
[V.ROV.174] GUI Layout
The camera will be attached to the Raspberry Pi and sent commands to move around and the
GUI will be looked at to verify it is showing a live stream of what the camera is seeing.
[V.ROV.175] GUI Layout
The rover will be running both autonomous challenges and when pressing the kill switch, the
rover will stop operation within 1ms +/- .1 ms.
Confidential
[V.ROV.190] Position Command Latency
The triumphant entrance challenge will be started and we will observe if the commands start
instantly during the sequence.
[V.ROV.191] Position Command Latency
The sumo challenge will be initialized and different movement commands will be sent. This will
verify if the time to switch commands happens instantaneously.
4.2.6 RELIABILITY
[V.ROV.250] Triumphant Entrance Reliability
The triumphant entrance challenge will be ran multiple times until it works correctly 5 times in a
row. This will verify consistent success.
[V.ROV.251] Tennis Ball Challenge Reliability
The tennis ball challenge will be ran until we can generate five consecutive runs. This will verify
consistent success.
Confidential
[V.ROV.252] Sumo Entrance Reliability
The rover will be directed to push a 5 pound weight for a full minute and after we will have it
attempt the triumphant entrance to verify it can still preform after completing the sumo
challenge.
Confidential
Confidential
5 DEFINITIONS
5.1 ACRONYM LIST
Acronym
Definition
DC
Direct current
TBD
To be determined
CV
Computer vision
VDC
Confidential
Section
No.
Requiremen
t ID
Requirement Title
Meth
od
Verificatio
n ID
Comment
Confidential
3.2.1.1.1
R.ROV.30
Motor Encoders
V.ROV.30
3.2.1.1.1
R.ROV.31
Motor Encoders
V.ROV.31
3.2.1.1.1
R.ROV.32
Motor Encoders
V.ROV.32
3.2.1.1.1
R.ROV.33
Motor Encoders
V.ROV.33
3.2.1.1.1
R.ROV.40
Camera Module
V.ROV.40
3.2.1.1.1
R.ROV.41
Camera Module
V.ROV.41
3.2.1.1.1
R.ROV.42
Camera Module
V.ROV.42
3.2.1.1.1
R.ROV.50
Motor Driver
V.ROV.50
3.2.1.1.1
R.ROV.51
Motor Driver
V.ROV.51
3.2.1.1.1
R.ROV.52
Motor Driver
V.ROV.52
3.2.1.1.1
R.ROV.53
Motor Driver
V.ROV.53
3.2.1.1.1
R.ROV.54
Motor Driver
V.ROV.54
3.2.1.1.1
R.ROV.60
V.ROV.60
3.2.1.1.1
R.ROV.70
V.ROV.70
3.2.1.1.1
R.ROV.80
Controller Power
V.ROV.80
3.2.1.1.1
R.ROV.90
Remote Desktop
Interface
V.ROV.90
3.2.1.1.2
R.ROV.100
Motor Driver
V.ROV.100
3.2.1.1.3
R.ROV.110
Active Heating or
Cooling
V.ROV.110
3.2.1.1.4
R.ROV.120
V.ROV.120
3.2.1.1.4
R.ROV.130
Power-up Sequence
V.ROV.130
3.2.1.2
R.ROV.140
V.ROV.140
3.2.1.2
R.ROV.150
V.ROV.150
3.2.1.2
R.ROV.160
Motor Command
Resolution
V.ROV.160
3.2.2
R.ROV.170
GUI Requirements
V.ROV.170
3.2.2
R.ROV.171
GUI Layout
V.ROV.171
3.2.2
R.ROV.172
GUI Layout
V.ROV.172
3.2.2
R.ROV.173
GUI Layout
V.ROV.173
3.2.2
R.ROV.174
GUI Layout
V.ROV.174
3.2.2
R.ROV.175
GUI Layout
V.ROV.175
3.2.3
R.ROV.180
Operating States
V.ROV.180
3.2.3
R.ROV.181
Operating States
V.ROV.181
3.2.3
R.ROV.182
Operating States
V.ROV.182
Confidential
3.2.3
R.ROV.190
Position Command
Latency
V.ROV.190
3.2.3
R.ROV.191
Position Command
Latency
V.ROV.191
3.2.4
R.ROV.200
Communication Loss
V.ROV.200
3.2.4
R.ROV.210
Loss of Sensors
V.ROV.210
3.2.4
R.ROV.220
V.ROV.220
3.2.5
R.ROV.230
Weight
V.ROV.230
3.2.5
R.ROV.231
Weight
V.ROV.231
3.2.5
R.ROV.240
Envelope
V.ROV.240
3.2.6
R.ROV.250
Triumphant Entrance
Reliability
V.ROV.250
3.2.6
R.ROV.251
V.ROV.251
3.2.6
R.ROV.252
Sumo Entrance
Reliability
V.ROV.252
3.2.7
R.ROV.260
Clean Floor
V.ROV.260
3.2.7
R.ROV.261
Unlevel Floor
V.ROV.261
3.2.7
R.ROV.262
Obstacles
V.ROV.262
3.2.7
R.ROV.263
Arena
V.ROV.263
3.2.7
R.ROV.264
Obstacles
V.ROV.264
3.3.1
R.ROV.270
Raspberry Pi Mounting
Interface
V.ROV.270
3.3.1
R.ROV.271
V.ROV.271
3.3.1
R.ROV.272
Camera Mounting
Interface
V.ROV.272
3.3.2
R.ROV.280
Raspberry Pi Power
Interface
V.ROV.280
3.3.2
R.ROV.290
V.ROV.290
3.3.2
R.ROV.300
V.ROV.300
3.3.2
R.ROV.310
Steady-state Input
Voltage
V.ROV.310
3.3.2
R.ROV.311
Steady-state Input
Voltage
V.ROV.311
3.3.2
R.ROV.320
V.ROV.320
3.3.3
R.ROV.330
Position Polarity
V.ROV.330
Confidential
3.3.3
R.ROV.340
Position Scaling
V.ROV.340
3.3.4
R.ROV.350
Encoder Scaling
V.ROV.350
3.3.5
R.ROV.360
Camera Interface
V.ROV.360
3.3.5
R.ROV.361
Camera Detection
V.ROV.361
3.3.5
R.ROV.362
Camera Detection
V.ROV.362
3.3.5
R.ROV.363
Camera Detection
V.ROV.363