Team 3125 Programming/Electrical Subteams

Post on 02-Feb-2016

37 views 2 download

Tags:

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

Transcript of Team 3125 Programming/Electrical Subteams

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?