1 / 20

Team 3125 Programming/Electrical Subteams

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

stian
Download Presentation

Team 3125 Programming/Electrical Subteams

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Team 3125Programming/Electrical Subteams 28-Oct-09 Breakout session Cody Harris Technical Director

  2. 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

  3. 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)

  4. Algorithm Development • Algorithm: A method of solving a problem involving a finite series of steps • Binary Decision-Making • Flow-chart layout • Symbology

  5. Think Like a Computer • Mass Casualty Incident START Triage

  6. Putting it all Together – PB&J Lab • How do you make a peanut butter and jelly sandwich?

  7. Level of Detail • Breadth vs. Depth

  8. 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

  9. 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 something Do something else If something is true Do something OtherwiseDo something Different Return something}

  10. Example of Pseudocode

  11. 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

  12. Control System

  13. Driver Station

  14. Compact RIO

  15. Digital Side Car http://houston.txfirst.org/files/train/controller09.pdf

  16. Tools of the Trade

  17. Oscilloscope – Purpose and Operation PWM Demo

  18. 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

  19. Future Meetings • Online Chats via Skype • Online 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

  20. Questions?

More Related