View
220
Download
0
Tags:
Embed Size (px)
ECE/CS4710 ECE/CS4710
AnnouncementsAnnouncements– http://mailman.cs.utah.edu/mailman/listinfo/cs4710http://mailman.cs.utah.edu/mailman/listinfo/cs4710
to get on cs4710 mailing listto get on cs4710 mailing list– Do assignments on class web page for 02 Sept Do assignments on class web page for 02 Sept
(esp. Eclipse) (esp. Eclipse)
HockeyBot DemoHockeyBot Demo One successful project in 4710One successful project in 4710 What is same/different this yearWhat is same/different this year From Eclipse to Blink DemoFrom Eclipse to Blink Demo
HockeyBot DemoHockeyBot DemoSimplified Rules:Simplified Rules: Discover Home Discover Home
goal colorgoal color Search for the ballSearch for the ball Get the ballGet the ball Discover Opposing Discover Opposing
GoalGoal– If found shoot into If found shoot into
GoalGoal– Else if 5 seconds Else if 5 seconds
pass, shoot ballpass, shoot ball
Defining the projectDefining the project
Choose TeamChoose Team Trademark SearchTrademark Search BrainstormBrainstorm
– Include other Include other teamsteams
Get Initial OKGet Initial OK Write ProposalWrite Proposal Get Final ApprovalGet Final Approval
Defining CielguardDefining Cielguard
Got a partnerGot a partner– A third joined laterA third joined later
Several Ideas TakenSeveral Ideas Taken– Many *soft takenMany *soft taken
Two Robots that play Two Robots that play catchcatch– Found another teamFound another team
Initial OK not givenInitial OK not given– Specified more and Specified more and
moved to hockeymoved to hockey Wrote ProposalWrote Proposal Created HockeyBot Created HockeyBot
FederationFederation 2 more teams joined 2 more teams joined
FederationFederation
The ProposalThe Proposal
Living DocumentLiving Document Includes Past, Includes Past,
Present, and Present, and FutureFuture
ProcessesProcesses– ProblemsProblems
Slacking PartnersSlacking Partners UnanticipatedUnanticipated
– CodeCode TestingTesting SharingSharing VersioningVersioning
The JourneyThe Journey
Proposal became Spec (and Proposal became Spec (and changed)changed)
First ones to get a First ones to get a HockeyBot RunningHockeyBot Running– Unit Testing/Quick Small Unit Testing/Quick Small
IterationsIterations– VersioningVersioning– Everyone Else was a 48h Everyone Else was a 48h
before duebefore due– Simple Architecture Simple Architecture
(Subsumption)(Subsumption) Many, Many IssuesMany, Many Issues
– Camera LagCamera Lag– Camera Packet LossCamera Packet Loss– Chassis IterationsChassis Iterations– Partner ProblemsPartner Problems
Well Designed Processes Well Designed Processes WorkWork
How JIM really worksHow JIM really works
Subsumption based Subsumption based State MachineState Machine
Minimal AbstractionMinimal Abstraction– Hardware Specifics Hardware Specifics
are 1 class deeper are 1 class deeper (lean and mean)(lean and mean)
Different Sensors Different Sensors for different needsfor different needs
Our ResultsOur Results
Beat the scheduleBeat the schedule– Working on PID Working on PID
Control which was Control which was not in proposalnot in proposal
– Used tested 1 month Used tested 1 month old code in Finalold code in Final
Got the AGot the A– ScheduleSchedule– DocumentationDocumentation
Didn’t win contestDidn’t win contest– Did do damage to Did do damage to
competitorscompetitors
Same VS DifferentSame VS Different
SameSame– Documentation Documentation
RequiredRequired– JEM ToolsJEM Tools– JStampJStamp– JCX Integration with JCX Integration with
LegoLego® Mindstorms® Mindstorms– Weekly Project Weekly Project
Updates with source Updates with source submissionssubmissions
– Questions?Questions?
DifferentDifferent– Coding Standards Coding Standards
RequiredRequired– Eclipse IDEEclipse IDE– JStikJStik– JCX API different from JCX API different from
last yearlast year– Weekly Project Weekly Project
Submissions with ant Submissions with ant build scriptbuild script
– Questions?Questions?
Tool ChainTool Chain
IDE of choice (Eclipse IDE of choice (Eclipse Recommended)Recommended)
JEMBuilder (linker/configurations)JEMBuilder (linker/configurations) Charade (Processor Level Charade (Processor Level
Debugger through JTAG)Debugger through JTAG)
Why Eclipse?Why Eclipse?
Lots of Java IDE’s out there.Lots of Java IDE’s out there. Eclipse is:Eclipse is:
– FastFast– SmartSmart– ExtendableExtendable– Not Limited to JavaNot Limited to Java– Industry is adopting itIndustry is adopting it
Tool Chain DemoTool Chain DemoProject BlinkProject Blink Eclipse ProjectEclipse Project (Missing ant automatic build)(Missing ant automatic build) Auto Javadoc comment GenerationAuto Javadoc comment Generation Javadoc creation from EclipseJavadoc creation from Eclipse JEMBuilder projectJEMBuilder project Charade DownloadCharade Download Charade DebugCharade Debug
SuggestionsSuggestions
1 Semester1 Semester– ambitious time frame for a Senior Projectambitious time frame for a Senior Project– If you are not experienced in Java do tutorials nowIf you are not experienced in Java do tutorials now
Default is that you use materials providedDefault is that you use materials provided– JStamp/JStik/Amulet LCD/Sonar/Lego/ CMU JStamp/JStik/Amulet LCD/Sonar/Lego/ CMU
Cam/Wireless Modem/Java LanguageCam/Wireless Modem/Java Language– If you choose not to you must:If you choose not to you must:
Push Bruce for permissionPush Bruce for permission Show compentency in the fieldShow compentency in the field Have your own budget available-nowHave your own budget available-now Realize that the help available is minimalRealize that the help available is minimal Still accomplish the early tutorial assignments in JavaStill accomplish the early tutorial assignments in Java