Upload
stian
View
40
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Team 3125 Programming/Electrical Subteams. 28-Oct-09 Breakout session. Cody Harris Technical Director. Introduction. Programming “Programs the robot control interface and autonomous mode” (Team 3125 Handbook) Pre-Season: Algorithm Development, Learn Syntax - PowerPoint PPT Presentation
Citation preview
28-OCT-09 BREAKOUT SESSION
Team 3125Programming/Electrical
Subteams
Cody HarrisTechnical Director
Introduction
Programming “Programs the robot control interface and autonomous mode” (Team
3125 Handbook) Pre-Season: Algorithm Development, Learn Syntax Build Season: Design and Implement Robot Software Drive Season: Work Pit Crew, Troubleshoot Post-Season: Make code accessible for next year’s team
Electrical “Works with the mechanical team to design and implement the
electronics of the robot” (Team 3125 Handbook) Pre-Season: Learn Control System layout, Soldering Techniques, etc. Build Season: Construct Control System, Implement Software, Wire
Robot Drive Season: Work Pit Crew, Troubleshoot Post-Season: Ensure Control System is ready for next year’s team
Programming Pre-Season
Algorithm Development (October – Mid-November) Think Like a Computer Understand Object-Oriented Programming Determine necessary classes and patterns of inheritance Write Pseudocode to solve a problem
Selection of Language (Mid-November) Sun Microsystems Java Development Kit (BETA Release) National Instruments LabView (Graphical Programming) C/C++ with FRC API (Less specific documentation)
Learn Syntax of Selected Language (Mid-November – December)
Algorithm Development
Algorithm: A method of solving a problem involving a finite series of steps
Binary Decision-MakingFlow-chart layoutSymbology
Think Like a Computer
Mass Casualty Incident START Triage
Putting it all Together – PB&J Lab
How do you make a peanut butter and jelly sandwich?
Level of Detail
Breadth vs. Depth
Subroutines, Interrupts, Parameters, Returns
What about breathing? Repetitive tasks are defined in subroutines Subroutines can be called from another method by
name, or called when the program is interrupted, such as by a timer or a button press
A subroutine can require a parameter, or piece of data, be provided every time it is called that it will use in the routine; interrupts can pass the interrupter as a parameter
Once the routine is done, the program goes back to where it left off; it can pass a piece of data in return based on its execution, or it can pass void to indicate it is complete
Pseudocode
Pseudocode is an abstraction of source code Pseudocode is language-specific, but there are strong
similarities between C/C++ and Java pseudocode Pseudocode is not strictly defined, as it is for human
interpretation A method pseudocode would look like this:
<return type> <method name>(<p 1>, <p 2>) {
Do somethingDo something elseIf something is true
Do somethingOtherwise
Do something DifferentReturn something
}
Example of Pseudocode
Electrical Pre-Season
Learn Control System (October – Mid-December) National Instruments “Compact RIO” Microcontroller FRC Driver Station Pulse Width Modulation Proportional-Integral-Derivative Controller hardware
Tools of the Trade (October – Kickoff) Soldering techniques Electrical safety Working with Programmers Electronics Testing and Evaluation Oscilliscopes
Control System
Driver Station
Compact RIO
Digital Side Car
http://houston.txfirst.org/files/train/controller09.pdf
Tools of the Trade
Oscilloscope – Purpose and Operation
PWM Demo
Summary
Non-Mechanical Technical Fields Programming (“Brains” of the bot) Electrical (“Nerves and bloodstream” of the bot”)
Next Workshop Programming: “Skeleton Programming” for Aim High!
Game Electrical: How to format and work with the cRIO
Assistant Position Effective Span of Control (1 Supervisor : 3-7
Subordinates) Interested Juniors: Details at next meeting, or contact
me
Future Meetings
Online Chats via SkypeOnline IMs via AIM, FacebookIM, etc.Conference Call Service
In-house meetings will be held on Mondays and Wednesdays Mondays will be a short business meeting of the
entire team to ensure subteams are coordinated Wednesday meetings, by subteam, will consist of
workshops; teams may meet online as an alternative when practical
Questions?