2009 FRC Control System Software Overview Dave Doerr, Mentor, Team 67 November 15, 2008.

Slides:



Advertisements
Similar presentations
Apple Pi Robotics Logic System and Programming Basics 1 1.
Advertisements

Alpha Control System TheRobettes.com.
US First Robotics Lab View Tutorials Jim Thomas Lawrence Berkeley National Laboratory Team 496 Port Jeff Powerhouse.
Supervisory Control & Data Acquisition DAQ Networking.
Add and Use a Sensor & Autonomous For FIRST Robotics
Jeff Beltramo NHTI-Concord’s Community College FRC Team 1922.
1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
1. 2 FRC 2010 Driver Station Doug Norman & Stephanie Brierty National Instruments January 8, 2010 Thanks to Joe Ross – Team 330.
Wiring the new control system MVRT 2010 – 2011 Season.
Motor Control Lab Using Altera Nano FPGA
National Instruments FRC Robot Modeling Toolkit Topics: The Big Picture: “The V-Digram Design Process” Applying the “V” to Robotics Introduction to LabVIEW.
Bread Boarding and Operating The IFI Robotic Control System.
Part 1: Introduction FRC Introduction  FRC 2907 since 2008  Each area of the robot has a team assigned  The Electronics team is headed this year.
Introduction to LabVIEW 8.5
Overview of New System Beta Team from Wilsonville 1425 Wilsonville Robotics – Code Xero 2550 Oregon City Robotics.
FRC LabVIEW Software Overview Joe Hershberger Staff Software Engineer National Instruments.
National Instruments LabVIEW and Data Acquisition: Applications for FIRST Danny Diaz, National Instruments.
PC Applications Course LabVIEW: Laboratory Virtual Instrument Engineering Workbench Graphical Programming Easy to use Faster Development Time.
Travis Reed Todd Hummel Kwan-Truc. Concept USB 1.1 SPI b.
Today’s Agenda New Hardware Setup of RoboRIO
Introduction.
2015 FRC Control System = MOL = DUK Power Distribution Board Volts -12 Volts (4) 40 amp Circuits (4) (6) 20/30 amp Circuits (6)
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
2012 Beta Seminar 694 Software Engineering. Overview WPILib ▫Command-based programming ▫NetworkTables ▫SmartDashboard ▫Preferences ▫Laptop-based vision.
LabView Users Group Meeting June 20 th, 2006 Process Control Using Compact Field Point/Labview Real-time Michael Tockstein Microelectronics Technology.
1. A guide to wiring your robot. Jerry Skene Past mentor – Chantilly Robotics
How to Use This Training Deck
Virtual Instrumentation With LabVIEW
Silicon Labs ToolStick Development Platform
Infinity-project.org Engineering education for today’s classroom The Infinity Project SM LabVIEW for The Infinity Project.
How to use LabVIEW Ihor Korolov February 2011.
Drivers Station 2010 Joe Ross Team /12/2009.
Get Real About Teaching with LabVIEW and myDAQ National Instruments Confidential2 STEM Education  Science, Technology, Engineering and Math Education.
Driver Station MVRT 2009 – 2010 Season. Add information Breadboard Classmate PC USB Hub Joysticks Stop Button.
US First Kickoff 2013 Software Programming (And Control System) Daniel Kohn University of Memphis.
E-LABORATORY PRACTICAL TEACHING FOR APPLIED ENGINEERING SCIENCES W O R K S H O P University of Oradea, Romania February 6, 2012 G E N E R A L P R E S E.
US First Kickoff 2012 Software Programming (And Control System) Daniel Kohn University of Memphis.
Long Island Software Workshop Dec 13, 2008
LabView Basics The Fighting Pi Controls Group. About LabView LabView is a highly adaptable programming GUI (Graphic User Interface) LabView compiles the.
MCEN 371 – Mechanical Engineering Lab Chapter 6: LabVIEW Part 1: Introduction.
Introduction to LabVIEW
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
2010 Control Systems All we are saying… …is give C a chance! Presented By: Frank Larkin Lansdale Catholic Robotics, Team 272 Radnor PA, Dec
RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.
Mentors Workshop Control System Sub-System Mark McLeod Team 358 Festo/Hauppauge H.S. F For I Inspiration and R Recognition of S Science and T Technology.
LabVIEW Workshop September 26, 2009 Hauppauge High School SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp.
The New FTC Platform (Connecting your legacy hardware)
1 LabVIEW DSP Test Integration Toolkit. 2 Agenda LabVIEW Fundamentals Integrating LabVIEW and Code Composer Studio TM (CCS) Example Use Case Additional.
LabVIEW in 3 Hours. What is Test & Measurement? Keypad Functionality Keypad Functionality LCD Testing LCD Testing Sound Quality Sound Quality Acoustic.
FRC Robot Framework Labview Made Easy (er) For FIRST Robotics 1.
1923 Virtual Robot Part 4 By Nihar Sidhu.
BEST Robotic, Inc. easyC Breakout Session By: Guy Chetrit Programming With easyC September 15, Copyright © 2012 BEST Robotics, Inc. All rights reserved.
Other Chapters From the text by Valvano: Introduction to Embedded Systems: Interfacing to the Freescale 9S12.
Original 8-slot Version – Chassis – 8-slots (6 available, 2 unused) – Modules & breakouts – Module order for 2012 (changed in 2012) – Slot.
Mechanics of LabVIEW Workshop January 10, 2009 Farmingdale State College SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp.
Overview What is Arduino? What is it used for? How to get started Demonstration Questions are welcome at any time.
Part II Introduction to Robot Code. How to open a new FRC robot project 1.Open LabVIEW. 2.Click "FRC cRIO Robot Project" in the upper left section "New".
FRC Robot Programming 1.PID Continued 2.Downloading and Deploying Code 3.Program a 2012 Robot from Spec Basic code For FIRST Robotics.
Cass Lake Bena Robotics.  Drivetrains  Electrical System  Operator Interface.
Introduction to LabVIEW 8.5
An Overview of LabVIEW by: The Software User-Interface Group!
Understanding The 2008 FRC Robot Controller Chris Gregory FRC1089 – Team Mercury
Session 11 Intro to FRC API.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
Cass Lake Bena Robotics Team 3134 & Team  Drivetrains  Electrical System  Operator Interface.
Introduction to Labview Dawgma Team 1712 Bob Bellini, Paul Gehman.
Embedded Real-Time Systems Introduction to embedded software development Lecturer Department University.
VAFIRST LabVIEW Workshop 11/19/11 Presenters: Marin Kobin & Patrick Foley.
FIRST ROBOTICS COMPETETION Introduction to Electrical & Control System Power and Signal Distribution/Interconnection Sensors, Motors, Speed Controllers,
Field Management System
Presentation transcript:

2009 FRC Control System Software Overview Dave Doerr, Mentor, Team 67 November 15, 2008

Software Overview Developing Programs (C/C++) Developing Programs (LabVIEW) WPI Robotics Libraries Downloading and Debugging The cRIO Imaging Tool The Dashboard Choosing LabVIEW or C++ References Recommendations Robot Operating Modes

Developing C/C++ Programs –WindRiver Workbench 3.0 Eclipse-based Embedded Software Toolset Software Project Management Editor Debugger GNU C++ Compiler for PowerPC32 Console Terminal FIRST Downloader –Default Robot Code: Arcade/Tank Drive –Other Example Code: Gyro, Vision Software Overview Developing Programs (C/C++)

Developing LabVIEW Programs –LabVIEW 8.5, FRC Edition 2009 National Instruments “G” Programming Language LabVIEW Projects Debugging via.vi Front Panel –Default Robot Code: Arcade/Tank Drive –Other Example Code: Gyro, Vision… Software Overview Developing Programs (LabVIEW)

Software Development Cycle –Create Source Code –Build and Download Executable to RAM –Run and Debug LabVIEW Input/Output Available on vi Front Panel C++ WindRiver Debugger C++ Output Available in Console –Download Debugged Executable to Flash –Reboot cRIO Power Cycle or CTRL-X in Terminal –Run Software Overview The WPI Robotics Libraries

An extensive set of high-level control system building blocks to make robot programming easier. Most of the work of interfacing to robot components is already complete. Sensors, Actuators, IO, Driver Station, Utilities Open Source –Library can be used as-is in “black box” mode. –Library can be customized. –To be further developed by the FIRST-community Default Robot: Run out-of-the-box Default Dashboard Demo Programs: Gyro, Vision, Tracking …

Sensors –Accelerometer, Encoder, Gear Tooth, Gyro, Compass, I2C, Ultrasonic Actuators –Compressor, Motor (Victor, Jaguar), Relay, Servo, Solenoid I/O –Analog Channel, Analog Trigger, Digital Input, Digital Output, PWM Software Overview The WPI Robotics Libraries

Driver Station –Joystick (Complete set of Axes and Buttons), Analog Input, Digital Input, Digital Output, Driver Display, Mode, Alliance, Battery Voltage, Dashboard Utility –Counter, PID, Drive (Tank, Arcade, Holonomic), Time, cRIO LED, cRIO Temperature Vision –Camera, Tracking, Image Processing Software Overview The WPI Robotics Libraries

Worcester Polytechnic Institute

Deploying (temporary) –Code is loaded to cRIO RAM and run by: White Arrow (LabVIEW) Run Kernel Task ( C/C++, WindRiver WorkBench) Deploying (permanent) –Code is loaded to cRIO flash memory by: Set as Startup (LabVIEW) FIRST >> Download ( C/C++, WindRiver Workbench) –Code will automatically run on cRIO reboot. Undeploy (delete permanent code) –Code is erased from cRIO flash memory by: Unset as Startup (LabVIEW) FIRST >> Undeploy ( C/C++, WindRiver Workbench) Software Overview Deploying and Debugging

Debugging (LabVIEW) –Controls and Indicators can be used to provide real-time input and output on a VI Front Panel Debugging ( C/C++, WindRiver WorkBench) –Debug Kernel Task –Console Output (printf) via ethernet (wired or wireless) Console Output via cRIO Serial Port –Diagnostic output can be sent to the cRIO serial port and viewed in a another window or on another computer. The connection to the serial port can be wired or bluetooth. –cRIO Console Output Switch set to ON Software Overview Deploying and Debugging

cRIO Serial Port: 9600 Baud –PC Terminal: Hyperterm, Tera Term, … –RS232 Crossover Cable Or –Firefly Bluetooth “Cable” Software Overview Deploying and Debugging

Class 1: 100m Range –Works with Class 1 or Class 2 on PC –Class 1 Needed on PC for 100m Range Operates on 5v from Power Distribution Board –Purchase Power Connector Plug (Radio Shack ) DB9 Connector –Female Preferred –Male Needs Gender Changer –GC-BT-BLUEPORT DCE (female) –WRL-08495, (male) Software Overview Firefly Bluetooth Serial Adapter

cRIO serial port is 9600 Baud –Set Switches 1,2,3 off and Switch 4 on Firefly should be configured as DCE –Male DB9 Connector Model Jumper Pins 1-3, 2-4, 6-8, 5-7 –Female DB9 Connector Model Jumper Pins 1-3, 2-4, 5-6, 7-8 Software Overview Firefly Configuration

Before use, the cRIO must be “imaged” by loading the VxWorks operating system, filesystem, FPGA code and the FIRST configuration files that determine whether LabVIEW or C++ will be used. The cRIO Imaging Tool is used to “Image” and name the cRIO and set the cRIO IP address. The tool is also used to select whether LabVIEW or C++ will be used for programming. This can be done at any time without re-imaging the cRIO. Software Overview cRIO Imaging Tool

A LabVIEW vi that runs on a PC that is connected to the Driver Station. Can display and analyze data from the robot. Can display and analyze images from the robot’s camera A default version is supplied, or a custom dashboard can be built by the user. Software Overview The Dashboard

About LabVIEW – Laboratory Virtual Instrumentation Engineering Workbench – Dataflow Programming Language for Measurement and Automation – A Programming Environment – Specific Range of Use Data Acquisition Instrumentation Control Industrial Automation – Functions are Virtual Instruments or VIs Block Diagram Front Panel Connector Panel / Icon – VIs can be debugged with real-time I/O on the Front Panel. Software Overview LabVIEW or C++ ??

About LabVIEW – Hardware Support for Sensors, Actuators, etc. – Libraries WPI Robotics Mathematics Vision Signal Processing Data Communications Signal Generation Control (PID) – Easy to create small programs –Skill needed to create large, complicated programs – Extra effort needed to document programs – National Instruments Proprietary Software Overview LabVIEW or C++ ??

About C++ and WindRiver Workbench – Developed as an enhancement to C, “C with Classes” – A General Purpose Middle Level Language – Wide Range of Use Operating System Embedded Controller Server-Client (High Performance) Entertainment Software (Video Games) … – WindRiver Workbench is a toolset to develop, build, debug and manage embedded software. Software Overview LabVIEW or C++ ??

About C++ and WindRiver Workbench – Libraries WPI Robotics (including PID Control and Vision) – Easy to create small programs – Skill needed to create large, complicated programs – ISO-ANSI Standard – Compilers available for purchase or as shareware Software Overview LabVIEW or C++ ??

Questions to Ponder – Are you interested in software primarily as a means to an end, for example, to create a champion robot? – Or are you interested in software for its own sake. Do you love programming and computers? –Are you primarily interested in software engineering?? – Or are you primarily interested in another discipline that might involve testing, such as electrical or mechanical engineering? Software Overview LabVIEW or C++ ??

ISBN ISBN Software Overview References

ISBN ISBN Software Overview References

ISBN ISBN Software Overview References

Control System Information 2009 Control System Beta Test Public Forum Learn about cRIO Learn LabVIEW WindRiver Workbench Evaluation Learn C++ Software Overview Links

Spend time at Download the WindRiver Workbench Evaluation and learn how to use it.WindRiver Workbench Evaluation Download LabVIEW from 2009 Control System Information and learn how to use it.2009 Control System Information Plan to try out both LabVIEW and C++/WindRiver Workbench. The default code for both is easy to figure out if you Read the Directions. Pay the $60 and get your kit early. Call us if you need help. Software Overview Recommendations

Disabled Mode: Before a match begins, robot outputs (motors) are not active. Robots can be programmed to initialize. Driver controls are active. Autonomous Mode: During the first 15 seconds of a match, driver inputs (joysticks) are not active. Robots can be programmed to use outputs (motors) and sensor inputs (encoders, gyros) for autonomous operation. Teleoperated Mode: During the remaining 120 seconds of a match, all inputs and outputs are active. Robots are programmed for driver control. Software Overview Robot Operating Modes

? Software Overview