2012 Beta Seminar 694 Software Engineering. Overview WPILib ▫Command-based programming ▫NetworkTables ▫SmartDashboard ▫Preferences ▫Laptop-based vision.

Slides:



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

Alpha Control System TheRobettes.com.
Project Title Here IEEE UCSD Overview Robo-Magellan is a robotics competition emphasizing autonomous navigation and obstacle avoidance over varied, outdoor.
US First Robotics Lab View Tutorials Jim Thomas Lawrence Berkeley National Laboratory Team 496 Port Jeff Powerhouse.
BEST Robotic, Inc. easyC Team Training
ZXM10 EISU Training.
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.
Programming and Electronics Training
Wiring the new control system MVRT 2010 – 2011 Season.
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.
ALFRED THOMPSON MICROSOFT ACADEMIC TEAM Kinect for FRC 2012.
DESIGNING ELECTRONICS FOR A PRETTY AND EFFECTIVE ROBOT EVAN HOCHSTEIN AND KATE AZAR #SRS2013.
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.
Handheld TFTP Server with USB Andrew Pangborn Michael Nusinov RIT Computer Engineering – CE Design 03/20/2008.
Travis Reed Todd Hummel Kwan-Truc. Concept USB 1.1 SPI b.
SGI Confidential Application Processor. SGI Confidential Application Processor Overview Application Field Replaceable Units The Application.
Remote Surveillance Vehicle Design Review By: Bill Burgdorf Tom Fisher Eleni Binopolus-Rumayor.
Old control system ( ) MVRT. Main Circuit Breaker Connected to the red wire (power) of the battery When turned off, all power is cut off and robot.
                      Part IV Reading Power.
2015 FRC Control System = MOL = DUK Power Distribution Board Volts -12 Volts (4) 40 amp Circuits (4) (6) 20/30 amp Circuits (6)
 Main Components:  Sensors  Micro controller  Motor drivers  Chasis.
1. A guide to wiring your robot. Jerry Skene Past mentor – Chantilly Robotics
©Alex Doboli Chapter 3: Hardware and Software Subsystems of Mixed-Signal Architectures (Part II) Alex Doboli, Ph.D. Department of Electrical and Computer.
Intro to Arduino Zero to Virtual Prototyping in Seven Hours
Drivers Station 2010 Joe Ross Team /12/2009.
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.
US First Kickoff 2012 Software Programming (And Control System) Daniel Kohn University of Memphis.
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.
Weston Schreiber & Joshua Gabrielse Robotics Summer Training Programming #1: EasyC Basics.
LabVIEW Workshop September 26, 2009 Hauppauge High School SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp.
2009 FRC Control System Software Overview Dave Doerr, Mentor, Team 67 November 15, 2008.
Typical Microcontroller Purposes
FRC Robot Framework Labview Made Easy (er) For FIRST Robotics 1.
1923 Virtual Robot Part 4 By Nihar Sidhu.
EasyC Programming Workshop January 30, 2008 Hauppauge High School SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp.
Original 8-slot Version – Chassis – 8-slots (6 available, 2 unused) – Modules & breakouts – Module order for 2012 (changed in 2012) – Slot.
An Objective and Component View (Not included Drive: Balance and Turret: Axis Camera)
Overview What is Arduino? What is it used for? How to get started Demonstration Questions are welcome at any time.
Default_Routine(); - PWM Mapping /******************************************************************** * FUNCTION NAME: Default_Routine * PURPOSE: Performs.
Chapter 10 Advanced Programming, PLC Interfacing, and Troubleshooting
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.
Understanding The 2008 FRC Robot Controller Chris Gregory FRC1089 – Team Mercury
Session 11 Intro to FRC API.
Created by Blake Ross Start EasyC. Created by Blake Ross.
Teacher/Mentor Institute Using easyC David Dominguez June 2, 2015 Update Version.
Electrical subsystem Manual vs Automation.
By Noordiana Kasim. MODERN I/O DEVICES 1. PRINTER 2. MONITOR 3. KEYBOARD 4. AUDIO SPEAKER 5. DVD DRIVE.
Cr yptonite robotics labview beta findings December 19, 2015.
Input/Output of a Computer Presented by: Jose Reyes Jose.
PLC ARCHITECTURE – Memory 2 by Dr. Amin Danial Asham.
Cass Lake Bena Robotics Team 3134 & Team  Drivetrains  Electrical System  Operator Interface.
Team 488 Java Architecture TESTABILITY!. Primary Goals Critical logic can be run without access to a cRIO or Robot ◦Multiple teams (Electrical, Mechanical,
ECE 445 Group 20 4/23/2012 Kevin Dluzen Jonathan Hall Diyang Qiu.
Programming Applied Sensors in FIRST Robots Chris Elston – Team Download sample code:
FIRST ROBOTICS COMPETETION Introduction to Electrical & Control System Power and Signal Distribution/Interconnection Sensors, Motors, Speed Controllers,
COMPUTER FUNDAMENTALS David Samuel bhatti
FRC Robot Electronics.
Voice Controlled Robot by Cell Phone with Android App
PICK N PLACE ROBOTIC ARM AND MOVEMENT CONTROLLED BY ANDROID WIRELESSLY
Haiwell PLC Modules Introduce
Basics for Robotics Programming
Introduction to Microprocessors and Microcontrollers
PICK N PLACE ROBOTIC ARM AND MOVEMENT CONTROLLED BY ANDROID WIRELESSLY
Training 11/11/16 Robot Code (WPILib).
1.15: Dual Joystick Control (Tank)
Presentation transcript:

2012 Beta Seminar 694 Software Engineering

Overview WPILib ▫Command-based programming ▫NetworkTables ▫SmartDashboard ▫Preferences ▫Laptop-based vision processing Jaguar firmware update ▫Automatic Ramp mode David dual relay module 4-slot cRIO-FRC II Kinect

Command-based Programming Subsystems ▫Define the capabilities of each part of the robot ▫Subclasses of Subsystem Commands ▫Define the operation of the robot incorporating the capabilities defined in the subsystems ▫Commands are subclasses of Command or CommandGroup

Subsystems and Commands

CommandGroup

NetworkTables Allow the programmer to easily send data between a laptop (either the driver station laptop or another laptop) and the robot Applications ▫SmartDashboard ▫Preferences ▫Laptop-based vision processing

NetworkTables – Data Transfer Bidirectional ▫Robot can send data to a laptop ▫Laptop can send data to robot Named ▫Key-value pairs Full notification ▫No need to poll for new values ▫NetworkListener interface

NetworkTables – Data Transfer Multiple named tables ▫e.g. SmartDashboard, Preferences Transactional model ▫Ensures that a group of values are updated simultaneously

Preferences Robot can save data such as constants in flash memory Data can be accessed and modified using NetworkTable Testing: IOException when trying to save

Laptop-based Vision Processing Vision processing requires heavy computation Camera images can be processed on a laptop instead of on the cRIO ▫NI Vision Library ▫FIRST-provided Java wrapper for OpenCV (Open Source Computer Vision) library  Documentation? Data can then be sent back to robot using NetworkTable

Jaguar - Firmware Update Automatic Ramp mode ▫694’s troubled relationship with Jaguars ▫New Jaguar mode that, when activated, automatically ramps the output voltage to the motor at a preset ramp rate ▫Can be accessed regardless of the control mode; Servo PWM, CAN, or Serial One-second fan test

Ramp Mode - Graph

Ramp Mode - Jumpers

Ramp Mode - Testing Placed Mecanum drive robot on blocks Set two Jaguars to normal mode and two to Automatic Ramp mode Rapidly switched between full forward and full reverse using “button drive” Two Jaguars failed; one on normal mode, and one on Automatic Ramp mode ▫Became unresponsive, indicator LED not on Jaguars operational after robot reboot

David Dual Relay Module Will not be available in 2012 Equivalent to two Spikes

4-slot cRIO-FRC II team358.org

4-slot cRIO-FRC II — comparison Single ethernet port 7” long (~2/3 the length) 30% lighter 256MB RAM (2x the old cRIO) 512MB storage (2x the old cRIO)

Slot configuration (4-slot) Slot “1” Slot “2”

Slot configuration (8-slot) Slot “1” Slot “2”

How it works cRIO determines the physical location of modules from code based on predetermined module order

How it works cRIO determines the physical location of modules from code based on predetermined module order A Digital Module in slot “1” in code must be in physical cRIO slot 2

How it works cRIO determines the physical location of modules from code based on predetermined module order A Digital Module in slot “1” in code must be in physical cRIO slot 2 A Digital Module in slot “2” in code must be in physical cRIO slot 4 on the 4-slot, and slot 5 on the 8-slot

Huh? Victor left_motor= new Victor(1, 5); ▫Victor in 5 th channel of Digital “1 st” slot  Physical Digital I/O slot #2 on both old & new cRIOs

Huh? Victor left_motor= new Victor(1, 5); ▫Victor in 5 th channel of Digital “1 st” slot  Physical Digital I/O slot #2 on both old & new cRIOs Victor left_motor= new Victor(5); ▫Same as above

Huh? Victor left_motor= new Victor(1, 5); ▫Victor in 5 th channel of Digital “1 st” slot  Physical Digital I/O slot #2 on both old & new cRIOs Victor left_motor= new Victor(5); ▫Same as above Victor right_arm= new Victor(2,5); ▫Victor in 5 th channel of Digital “2 nd ” slot  Physical Wildcard slot #4 on new cRIO  Physical Digital I/O slot #6 on old cRIO

Okay… Gyro gyro = new Gyro(2, 1);

Okay… Gyro gyro = new Gyro(2, 1); ▫Constructs a Gyro object in the 1 st channel of the Analog “2 nd” slot

Okay… Gyro gyro = new Gyro(2, 1); ▫Constructs a Gyro object in the 1 st channel of the Analog “2 nd” slot ▫Corresponds to physical 4 th “wildcard” slot on new cRIO

Okay… Gyro gyro = new Gyro(2, 1); ▫Constructs a Gyro object in the 1 st channel of the Analog “2 nd” slot ▫Corresponds to physical 4 th “wildcard” slot on new cRIO ▫Corresponds to physical 5 th Analog I/O slot on old cRIO

Kinect

You are the joystick Arms – “forwards” and “backwards” Head, legs – “buttons” Left Arm  left joystick Right Arm  right joystick Head/legs can be programmed to do anything

Kinect KinectStick left = new KinectStick(1); KinectStick right = new KinectStick(2); … drivetrain.tankDrive(left, right);

Kinect

Thanks!