Electrical Trainings MVRT 115 2016 - 2017.

Slides:



Advertisements
Similar presentations
Alpha Control System TheRobettes.com.
Advertisements

US First Robotics Lab View Tutorials Jim Thomas Lawrence Berkeley National Laboratory Team 496 Port Jeff Powerhouse.
Robot Code MVRT 2010 – 2011 Season. Robot code controls the robot Robot Main.vi –Calls all the smaller SubVis Rules of programming the robot –Be careful.
Engineer Training Media Feeder TJ8300 / TJ8500 Media Feeder.
Add and Use a Sensor & Autonomous For FIRST Robotics
1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
 Slides by Raul Olivera from FRC 111 – WildStang › Presentation from the FIRST Championships in 2008 › ON_Pneumatic_Power_Olivera.ppt.
Introduction To Frc electronics
FIRST Pneumatics Team 1425 Wilsonville Robotics. Agenda Components Components Basic System Design Basic System Design Applications Applications Tricks.
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.
FRC LabVIEW Software Overview Joe Hershberger Staff Software Engineer National Instruments.
RobotC Programming for LEGO Mindstorms NXT Carnegie Mellon Dacta Lego Timothy Friez Miha Štajdohar SOURCES:
IR SENSORS AND ENCODERS. LCDs Timothy Friez Class # 2.
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.
2012 Beta Seminar 694 Software Engineering. Overview WPILib ▫Command-based programming ▫NetworkTables ▫SmartDashboard ▫Preferences ▫Laptop-based vision.
1. A guide to wiring your robot. Jerry Skene Past mentor – Chantilly Robotics
Electrical Components.  This supplies all the power to the robot. It is a single 12 V battery. They are sealed to prevent battery acid from leaking.
Working with Arduino: Lesson #1: Getting Acquainted with the Kit EGN1007.
What is RobotC?!?! Team 2425 Hydra. Overview What is RobotC What is RobotC used for What you need to program a robot How a robot program works Framework.
Driver Station MVRT 2009 – 2010 Season. Add information Breadboard Classmate PC USB Hub Joysticks Stop Button.
ROBOTC Software Introduction. ROBOTC Software ROBOTC developed specifically for classrooms and competitions Complete programming solution for VEX Cortex.
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.
The New FTC Platform (Connecting your legacy hardware)
Teacher/Mentor Institute Using easyC Joel Kirkland July 30-31, 2015.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
Introduction to Robo Pro
GCS 300 System Operation Application – Level 1.
An Objective and Component View (Not included Drive: Balance and Turret: Axis Camera)
Robot sensors MVRT 2010 – 2011 season. Analog versus Digital Analog Goes from 0 to 254 Numerous values Similar to making waves because there are not sudden.
FRC Robot Programming 1.PID Continued 2.Downloading and Deploying Code 3.Program a 2012 Robot from Spec Basic code For FIRST Robotics.
BEGINNING PROGRAMMING.  Literally – giving instructions to a computer so that it does what you want  Practically – using a programming language (such.
Understanding The 2008 FRC Robot Controller Chris Gregory FRC1089 – Team Mercury
Warlocks 8/5/05 TMU Pneumatics on Robots u Simplified model Compressed Air Tank Geek Safety Glasses 60 lbs Pneumatic Cylinder Whoa! That’s a lot of force.
Session 12 Sensors and Timers. 3 Main Types of Robot Projects Command-Based Robot A more complicated project for more complicated robots Iterative Robot.
Session 11 Intro to FRC API.
Electronics and Controls
Electrical subsystem Manual vs Automation.
INTERNET OF EVERYTHING SDU 2016 Week 4. Simple Digital and Analog Inputs  The Arduino’s ability to sense digital and analog inputs allows it to respond.
Deriving Consistency from LEGOs What we have learned in 6 years of FLL by Austin and Travis Schuh © 2005 Austin and Travis Schuh, all rights reserved.
Cass Lake Bena Robotics Team 3134 & Team  Drivetrains  Electrical System  Operator Interface.
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,
Harpeth Hall Jan 2016 Introduction to Arduino Prepared for Harpeth Hall Winterim January 2016.
INTRODUCTION TO JAVA PROGRAMMING FOR THE FIRST ROBOTICS COMPETITION JONATHAN DANIEL HEAD PROGRAMMER FERNBANK LINKS.
The FRC Control System Brought to you by the electrical subteam of FRC Team 2177, the Robettes.
FRC Robot Electronics.
Team 5950 Code name “Ozotron 300”.
LEGO Robotics Workshop
Introduction to Programming in RobotC
Assist. Prof. Rassim Suliyev - SDU 2017
CNC CONTROL SYSTEM AND PART PROGRAMMING
Arduino & its hardware interfacing
Config File and Robot Telemetry Implementation
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
fischertechnik® RoboPro Software for Gateway To Technology® RoboPro
How to avoid catching things on fire.
Basics for Robotics Programming
Trainings 11/4 Intro to Java.
Trainings 10/28 Woooooo!!.
ET 438B Sequential Control and Data Acquisition
Working with Arduino: Lesson #1: Getting Acquainted with the Kit
Lesson 4: Overall Review and Assessment
Electrical System Team FIRST Stronghold.
Training 11/11/16 Robot Code (WPILib).
Programming the BASIC Stamp
RobotC Programming for LEGO Mindstorms NXT
Introduction to Arduinos
Presentation transcript:

Electrical Trainings MVRT 115 2016 - 2017

Welcome to Electrical! Director of Electrical: Ishan Mitra Subdivision Overview Wiring Lead: Sankalp Agrawal Programming Robot Code Lead: Heather Baker Vision Lead: TBD Let’s get started WOOOOOOOOO!!!!

Control Systems

RoboRIO Brain of the robot Has port for signal light Load code onto it Sends signals to CAN chain and PWM Has Digital and Analog In ports for sensors Has port for signal light Signals when robot has been enabled Ethernet port to connect to router so that we can control robot USB ports for devices (camera, etc.)

PDP Power Distribution Panel Distributes power from battery to rest of robot Uses breakers to restrict how much power is sent 40 and 30 amp channels Generally ends the CAN chain

VRM Voltage Regulator Module Regulates how many volts travels to certain components Router Light Ring Flashlight

PCM Pneumatics Control Module Sends signals to solenoids to actuate pistons Controls compressor Contains 7 channels for solenoids Works through CAN

TalonSRXs & Other Motor controllers Controls the speed of motors Takes power from PDP and then restricts how much goes to the motors ultimately restricting speed We use TalonSRX on a CAN Chain TalonSRXs have special features that make them better than most other motor controllers Smaller form factor lets them easily fit on the robot Other motor controllers include Jaguars Victor SP Talon SR (on 2012)

Router Connects to VRM for power and RoboRIO to pass data Onboard Wifi lets us connect to the robot and control it from a nearby computer Must be configured at competitions To work with the Field Management System (FMS)

Main Breaker Turns robot off and on Connects to PDP and Battery Push black piece in to turn on Press big red button to turn off Connects to PDP and Battery Wires to positive side of both Stops the flow of current if there is too much drawn

Batteries 12 Volts Lead Acid (like a Car) Power source of robot Connects to main breaker and PDP

Checkup!

Sensors & Wiring I

Encoders Used to measure rotation Connects to breakout board on Talon SRX Gives us data in “ticks”, which we divide by ticks per rotation to get total rotations Uses a black/white disc to determine ticks Analog (between 0 to 1) Helps orient the robot in games

Hall Effect Digital sensor used to detect the presence of a magnet Works like a switch (on/off) but some can also have multiple values (analog) By mounting a magnet on a moving component we can detect its position through multiple hall effect sensors Plugs into digital pins on Rio

Limit Switches Used to detect when a manipulator has reached an endpoint Essentially just a small button Plugs into digital input/output pin on Rio Digital output (0 or 1)

Pneumatics

Compressor & Compressor System Connects to air tank and pressure gauge Compresses air to be used by pistons Release valve relieves pressure

Air Tank Lightweight tanks that hold compressed air Can be chained together to hold more air

Piston Fixed length Can only extend or retract (2 positions)

Solenoid Receive signal from PCM to extend or retract piston Can manually extend and retract piston

Wiring II

Crimping Attaching housings to bare wire Allows us to make reliable and clean connections Different types for different purposes PWM for signal Powerpole for power Flag for motor connections (don’t use too much) Ferrules for connections to VRM, PDP, Roborio, etc.

PWM The smallest and hardest crimps Used for signal wires Encoder readings Break beam readings Used for CAN chain in talons (also signal wires)

PowerPole Large and relatively simple crimps Used for power delivery to Talons, Motors, and some miscellaneous components.

Intro to Java

Wut is that? Programming Language Converses with machines Java is a high-level Object Oriented Programming (OOP) Language Easily understood by humans then converted to binary for machine Object Oriented → Define different “objects” in code and their “attributes” Bird object → attribute: can fly

How do I become a programmer??? You need… An Integrated Development Environment (IDE) Eclipse is what we use for robotics The JVM (Java Virtual Machine) Download the latest JDK (Java Development Kit) from Oracle Now you’re ready my frands!!!

Ok… How do I make it do stuffs? Java is a language Similar to English, Spanish, and French Has it’s own “rules” known as syntax Basic Syntax Sample Program

Data? Wat types? Primitive Data Types Integers byte short int long Floating Point (Decimals) float double Logic boolean Letters char

How do I use them in code?

What can I do with variables? You can do common mathematical operations Add (+) Subtract (-) Multiply (*) Divide (/) You can also use some unique operations Modulus (%) You can compare to boolean values Equal to (==) Not equal to (!=) ! → Not

Constants Values that do not change final int MY_CONSTANT = 5; Naming convention for Constants is all caps

Practice program

Methods Input Methods do things Methods are run when they are called Creating: AccessSpecifier returntype methodName(parameters) { Do Something } Calling: methodName(parameters) Do Something Output

Method Name Naming convention: Camelback First letter lowercase, other letters that begin a word are uppercase Eg: getName() printString()

Return type Value returned by the method (the output) If no return value, the type is void Return types can be the data types or objects int double float String char

Parameters Optional: Input for the method When a method is called, can pass in values Method can utilize these values Ex printString(“Hello”);

Practice Program

Classes In real world, there are individual objects of the same kind For example, there are lots of cars, but they’re all cars The cars were built from the same general blueprint A class is a blueprint from which objects can be created Within a class, there are variables and methods defining the blueprint For a car Variables: numOfWheels, maxSpeed Methods: drive, stop, turn

Inheritance Super Class/Parent Class Sub Class Inherits Information Method: Eat Super Class/Parent Class Sub Class Inherits Information Polymorphism Difference between Subclass and Parent Class Method: Fly Var: Legs = 2 Wings = 2 Method: Swim

Constructor Special method used to create an object Constructor has the same name as the class it is in Often contains variables to initialize public Classname( parameters ) { initialize stuff }

Overloading Methods with the same name but different parameters

WPILib

FRC Command Based Robot Subsystems Define different systems of the robot Commands Define operation of the robot using capabilities from subsystems Operator Interface Defines buttons and axes of joysticks and maps presses to commands Robot Schedules the actions of the robot (commands) Transitions between modes (Disabled, Auton, Teleop)

Subsystem The different parts of the robot Subsystems extend the Subsystem class Examples of Subsystems DriveTrain Elevator Arm Flywheels

Robot Contains methods to control the states of the robot and what happens robotInit autonInit/Periodic teleopInit/Periodic disabledInit/Periodic Iterative robot Loops through method multiple times, updating each time Contains objects of the subsystems

Commands A set of instructions that will move parts of the robot or trigger reactions Child classes of Command Commands run when buttons are pressed, or when scheduled by other actions CommandGroup - Group of commands that run simultaneously or sequentially No Wait for data Initialize Execute IsFinished Exit Yes Yes Yes Yes

OI Operator Interface Maps buttons to commands for the robot Button pressed? do this Button toggled? do this Trigger pulled? do this

Motor Controllers (CANTalon) Control the output to the motors CANTalons have special features Built in control loops Special interface for sensors (FeedbackSensors) Multiple control modes Speed, Position, etc. Used in any Subsystem that uses motors

WPILib Pneumatics

Double Solenoid Solenoids actuate pistons forward and backwards DoubleSolenoid class has two modes (extend and retract) Requires A and B channels (air in, air out)

Compressor System Compresses air for the robot Needs the id of the PCM Can be turned on and run throughout match, or only once

WPILib Sensors

Digital Input/Output Digital = 0 or 1/yes or no Connects to DIO on roboRIO Digital Input/Output requires port number Use get() method to get the value of the sensor Sensors include: Limit Switches,

Analog Input/Output Analog = between 0 and 1 Ex. 0.1, 0.5, 0.635, 1, 0, 0.124568241, etc. Plug into Analog Input on roboRIO Requires port number

Encoder

TalonSRX Feedback sensors

Advanced Coding (Strongback)

Debugging