1 mars rover ground control team design review report week 3 tim hermann - ben davini - jose angulo...
TRANSCRIPT
11
Mars RoverMars Rover Ground Control TeamGround Control Team
Design Review ReportDesign Review Report
Week 3Week 3Tim Hermann - Ben Davini - Jose Angulo - Ryan Morton
CPE450
Winter 2008
2007-01-24
22
33
Presentation OverviewPresentation Overview
Project RolesProject Roles System RequirementsSystem Requirements
– Project DescriptionProject Description Specifications and ArchitecturesSpecifications and Architectures
– Command GUICommand GUI– Communication Black BoxCommunication Black Box– Cricket Localization SystemCricket Localization System
Individual ReportsIndividual Reports
44
Project Roles - OverallProject Roles - Overall
Jose AnguloJose Angulo– Hardware Architect, Designer, System Hardware Architect, Designer, System
InterfaceInterface Ben DaviniBen Davini
– System Architect, Product Verification, System Architect, Product Verification, Reliability and Service, Intellectual PropertyReliability and Service, Intellectual Property
Tim HermannTim Hermann– Project Manager, Development Tools Specialist, Project Manager, Development Tools Specialist,
Customer LiaisonCustomer Liaison Ryan MortonRyan Morton
– Software Architect and Designer, ProcurementSoftware Architect and Designer, Procurement
55
Project Roles – Project Project Roles – Project SpecificSpecific
Tim HermannTim Hermann– Communication Black Box, overall Communication Black Box, overall
integrationintegration Ben DaviniBen Davini
– Cricket data parsing and rover Cricket data parsing and rover communication, software verificationcommunication, software verification
Jose AnguloJose Angulo– Command GUI, packet specificationCommand GUI, packet specification
Ryan MortonRyan Morton– Cricket triangulation softwareCricket triangulation software
66
System RequirementsSystem Requirements
Project DescriptionProject Description– Provide the software communications Provide the software communications
interface for remotely controlling the roverinterface for remotely controlling the rover– Develop and integrate the robot Develop and integrate the robot
localization systemlocalization system Functional SpecificationFunctional Specification
– Command GUI and communication black Command GUI and communication black box written in C# using Windows Formsbox written in C# using Windows Forms
– Cricket Localization system written in C to Cricket Localization system written in C to enable ease of integration with robot OSenable ease of integration with robot OS
77
Engineering RequirementsEngineering Requirements
Localization system shall be accurate Localization system shall be accurate to within 8 cmto within 8 cm
GUI shall allow rover control via GUI shall allow rover control via software communication specificationsoftware communication specification
Commands shall be verifiableCommands shall be verifiable Graphical User Interface (GUI) needs Graphical User Interface (GUI) needs
to display, at a minimum, health & to display, at a minimum, health & rover status, sensor data, and rover status, sensor data, and positioning information.positioning information.
88
System Architecture System Architecture OverviewOverview
99
Communications Black Box Communications Black Box Architecture OverviewArchitecture Overview
1010
Communications Black Box Communications Black Box Architecture OverviewArchitecture Overview
in Shortin Short
1111
Client GUI Class OverviewClient GUI Class Overview
1212
Bill of MaterialsBill of MaterialsName Unit Cost* # Tax Cost Explanation
Cricket modules $195.00 6 $90.68 $1,260.68 Localization devices: 4 beacons, 2 receivers (1 per rover)
Cricket Programmer $95.00 1 $7.36 $102.36 Required to program cricket firmware
Cricket S&H $42.00 1 $42.00
Laptop $600.00 2 $93.00 $1,293.00
One laptop required for ground control station to display GUI and facilitate command entry and communications between user and rover. Second laptop required for development in the Linux environment to simulate the rovers in the sandbox.
Cricket Mounting Supplies (sandbox) $200.00 1 $15.50 $215.50
Require four (4) poles and supporting hardware to accommodate cricket positioning above the sandbox
Cricket Mounting Supplies (rover) $50.00 1 $3.88 $53.88
Require two (2) bracket systems to mount crickets onto the rovers above all components to ensure adequate line-of-sight to beacons
Serial Cable $20.00 2 $3.10 $43.10Cables required to connect cricket listeners to rovers (1 each)
WiFi Router 75 1 5.8125 80.8125 Personal-Area Network (PAN) for testing facility
Total Cost $3,091.33
*Prices on unpurchased materials are subject to change
1313
Specification -Specification -Cricket Localization SystemCricket Localization System
User Interface – Program on the robot will User Interface – Program on the robot will query for coordinates when necessaryquery for coordinates when necessary
Real Time Constraints – Cricket Real Time Constraints – Cricket communication initialization and beacon communication initialization and beacon message frequencymessage frequency
Background Tasks – Parsing program runs Background Tasks – Parsing program runs as a separate thread alongside the as a separate thread alongside the Triangulation programTriangulation program
1414
Cricket Localization System –Cricket Localization System –Hardware ArchitectureHardware Architecture
Listener 1 (Cricket)
Listener 2 (Cricket)
MARS ROVER 1 MARS ROVER 2
Beacon 1(Cricket)
Beacon 4(Cricket)
Beacon 3(Cricket)
Beacon 2(Cricket)
Serial Port Serial Port
1515
Cricket Localization System –Cricket Localization System –Software Architecture OverviewSoftware Architecture Overview
Cricket Query Thread(background)
getCoords() Function(called by robot control
software)
Beacon DistanceArray(thread-safe)
The Cricket-Query Thread will run in the rover’s background, continually checking the beacon distances for getCoords() to use when needed
Function getCoords() will be called by robot software. This function returns the (x,y) coordinates in a struct Coordinate.
1616
Cricket Localization System –Cricket Localization System –Software FlowchartsSoftware Flowcharts
Triangulation Initialization
Start Cricket-Query Thread
Valid environmental
Variables?
Return
Fail
no
Yes
Initialize threadsafing mechanisms
Cricket-Query Thread(background task)
Initialize Serial Port
Read Serial (from Cricket)
Parse beacon number
Parse distance
Write to DistanceArray(thread-safe)
getCoords()
Read DistanceArray(thread-safe)
Triangulate (x,y)
Return
yes
All beacons Received?
no
1717
Bill of MaterialsBill of MaterialsName Unit Cost* # Tax Cost Explanation
Cricket modules $195.00 6 $90.68 $1,260.68 Localization devices: 4 beacons, 2 receivers (1 per rover)
Cricket Programmer $95.00 1 $7.36 $102.36 Required to program cricket firmware
Cricket S&H $42.00 1 $42.00
Laptop $600.00 2 $93.00 $1,293.00
One laptop required for ground control station to display GUI and facilitate command entry and communications between user and rover. Second laptop required for development in the Linux environment to simulate the rovers in the sandbox.
Cricket Mounting Supplies (sandbox) $200.00 1 $15.50 $215.50
Require four (4) poles and supporting hardware to accommodate cricket positioning above the sandbox
Cricket Mounting Supplies (rover) $50.00 1 $3.88 $53.88
Require two (2) bracket systems to mount crickets onto the rovers above all components to ensure adequate line-of-sight to beacons
Serial Cable $20.00 2 $3.10 $43.10Cables required to connect cricket listeners to rovers (1 each)
WiFi Router 75 1 5.8125 80.8125 Personal-Area Network (PAN) for testing facility
Total Cost $3,091.33
*Prices on unpurchased materials are subject to change
1818