FTC New Platform Programming Workshop in Android Studio

Slides:



Advertisements
Similar presentations
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.
Advertisements

Jason Howard. Agenda I. How to download robotc II. What is tele-op used for? III. How to build a basic tele-op program IV. Getting the robot to drive.
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.
Wait, sound sensor >70, Port 2 Flowchart – Heartbeat 1 Start Motor A, Move Backward, 1/3 Rotation, Power 20 Wait, 1 Second Sound Sensor (Port 2) Less than.
Developed in collaboration with Introduction to Programming.
V EX C OACHES ' T RAINING October 12, Agenda for Today 9 – 10 AM : Tina Reeves and the Engineering Notebook 10 – Noon : Finish Building, Basic Robot.
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Drivers Station 2010 Joe Ross Team /12/2009.
US First Kickoff 2012 Software Programming (And Control System) Daniel Kohn University of Memphis.
LEGO NXT Robot Programming Introduction to Programming a Lego NXT robot in Java.
Music by Touch. 1. Provide an example “stimulus-sensor- coordinator-effector-response” framework for both your (human) sense of touch and the robotic.
Coding for the FIRST Tech Challenge: RobotC Presented by: Audrey Yeoh Acknowledgements: Team Unlimited FTC 0001.
Introduction to Mobile Programming. Slide 2 Overview Fundamentally, it all works the same way You get the SDK for the device (Droid, Windows, Apple) You.
Coding for the FIRST Tech Challenge: RobotC
The New FTC Platform (Connecting your legacy hardware)
Teacher/Mentor Institute Using easyC Joel Kirkland July 30-31, 2015.
FRC Robot Framework Labview Made Easy (er) For FIRST Robotics 1.
Robot C Set-up FTC Clinic Nov Patrick Michaud & RobotC Curriculum
Making your Robot Move Motorbolts. Notes This presentation will be available on the High Tech Kids’ website: hightechkids.orghightechkids.org For more.
EasyC Programming Workshop January 30, 2008 Hauppauge High School SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp.
Mechanics of LabVIEW Workshop January 10, 2009 Farmingdale State College SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp.
Programming Design ROBOTC Software Principles of Engineering
Default_Routine(); - PWM Mapping /******************************************************************** * FUNCTION NAME: Default_Routine * PURPOSE: Performs.
BEGINNER EV3 PROGRAMMING LESSON By: Droids Robotics Topics Covered: EV3 Basics Introduction to the EV3 Brick and Software.
Java Programming The Ponytail Posse - FTC #8808 9/12/15.
Lego MindStorm An Introduction to Blocks. Blocks Blocks are used to give instructions to your robot. There are many types of blocks You can use the blocks.
First Venture into the Android World Chapter 1 Part 2.
Samantha. What is it? –It is a Wi-Fi interface for the Lego Mindstorms –It replaces the Bluetooth connection for running matches It is mostly for running.
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.
Teacher/Mentor Institute Using easyC David Dominguez June 2, 2015 Update Version.
ECE 002 Robots and Sensors Group 14. Objectives Research sensors and their usefulness to analyze data Research sensors and their usefulness to analyze.
By Droids Robotics INTERMEDIATE PROGRAMMING LESSON BRICK BUTTONS AS SENSORS.
Automated Mechanisms Help. Potentiometers Potentiometer Check –Analog Port 2 How they work –Analog sensor –Measures rotation of a shaft between 0 and.
ROBOTC Software EV3 Robot Workshop
Programming Design ROBOTC Software. Behavior-Based Programming A behavior is anything your robot does –Turning on a single motor or servo Three main types.
PROGRAMMING FTC ROBOTS WITH ANDROID STUDIO EAGLE ROBOTICS TEAM 7373 JORDAN MOSS AND BRIAN BAARS.
Programming Design ROBOTC Software Principles Of Engineering
Introduction to Vexnet
Basic Steps in Programming
OpModes in FTC Eric Golde.
IDE and Phone Setup Overview Mike Zook 20-Sep-2016.
Written by Anthony McNicoll
FTC Driver Station Setup and Operation Mike Zook 20-Sep-2016.
Advanced Software Concepts
Introduction to Autonomous Programming
Introduction to Programming
By Sanjay and Arvind Seshan
FTC Driver Station Setup and Operation Mike Zook 20-Sep-2016.
Development-Introduction
Programming FTC Robots with Android Studio
GETTING STARTED ALL YOU NEED TO KNOW TO MAKE YOUR ROBOT MOVE
Programming Design ROBOTC Software Computer Integrated Manufacturing
CMPE419 Mobile Application Development
Programming Workshop Quixilver 8404.
FTC Programming Goals for Good Hardware Management
Automation and Robotics
Control Award This award is given to the Team that demonstrates innovate thinking in the control system to solve game challenges such as autonomous operation,
Forward Until Touch Robot goes forward until it hits a wall.
Phone Setup Overview Mike Zook 20-Sep-2016.
Programming Design ROBOTC Software Principles Of Engineering
Block Programming Hello my name is Stephanie. I have been apart of FIRST for 6 years and have 3 years of programming experience. I am currently a member.
Android Programming OnBot Java.
Introduction to Software Planning and Design
INTERMEDIATE PROGRAMMING LESSON
Programming Design ROBOTC Software Principles of Engineering
Programming your Robot
CMPE419 Mobile Application Development
Presentation transcript:

FTC New Platform Programming Workshop in Android Studio A Presentation by FTC Team 6022 Rockwell Automation Kickoff September 12th, 2015

What’s New? Android-Based Control Platform with Cell Phones Replaces NXT/Samantha Control System Robot Controller Phone is Mounted to Robot and Connected to Core Module Driver Station Phone Connects to Two Joysticks Utilizes Wi-Fi Direct Technology Replaces Central FCS Utilizes “Sports Start” to Begin Match Play Controllers are USB-Based Replaces I2C Protocol for Sensors and Controllers

What’s New? Robot is Programmed through Android App Development in Java Uses Android Studio, a Full Android IDE (Integrated Development Environment) MIT App Inventor is Available as a “Scratch-Like” and “Drag-and-Drop” Interface Java Information Object-Oriented Language Programmed through Editing Instances of the OpMode() Class Will Be Discussed In-Detail Later…

Android Studio Setup (Should Be Completed) Android Studio IDE http://developer.android.com/sdk/index.html FTC Robot App Template (GitHub) https://github.com/ftctechnh/ftc_app Project Configuration Requires SDK Version 19 (KitKat)

Types of Operation Modes Looping Op Mode Linear Op Mode Defined as a Class Motors, Sensors, Etc. are Referenced as Attributes in the Class The “init()” Method Runs One Time The “loop()” Method Runs Continuously Until Stop Defined as a Class Motors, Sensors, Etc. are Referenced as Attributes in the Class The “runOpMode()” Method Runs One Time

Defining and Using Motors Description of Process Code Syntax as an Example Op Class First, we must create a variable to reference an instance of a motor object. Second, we must reference the robot hardware map. Third, we can set the power of the motor. Powers are a value between 0 and 1. public DcMotor testMotor; @Override public void init() { testMotor = hardwareMap.dcMotor.get(“nameHere”); } public void loop() { testMotor.setPower(0.75);

Defining and Using The Joystick Description of Process Code Syntax as an Example Op Class This code assumes that we have already defined a motor as described in the previous slide. The joysticks are already inherited into the op mode classes as gampad1 and gamepad2. In the code to the right, the loop reads the y-axis of the leftmost analog stick on joystick 1 to allow a user to drive the motor. public DcMotor testMotor; @Override public void init() { testMotor = hardwareMap.dcMotor.get(“nameHere”); } public void loop() { testMotor.setPower(gamepad1.left_stick_y);

Other Useful Things Telemetry Data Sensors Allows for Robot Data to be Displayed on Driver Station Example: telemetry.addData(“Title”, “Detail/Value”); Sensors SDK Includes Many ModernRobotics and Lego Sensor Classes and Objects Example: public TouchSensor button; button = hardwareMap.touchSensor.get(”sensorName”); telemetry.addData(“Button/Touch”, button.isPressed());

Where to Find More Information The SDK provides Javadocs that outlines how to interact with different methods, classes, and objects. Javadocs can be found in the “doc” folder of the SDK. Read through example op mode classes in order to get a feel for the code flow and see different uses of programming techniques.

Challenge #1 Read Axis Values from a Joystick Set Motor to Joystick Values to Create a Basic Teleop Mode

Challenge #2 Drive Forwards for 2.5 Seconds Wait 1 Second Drive Backwards for 2.5 Seconds

Challenge #3 Drive Forwards until Touch Sensor Pressed Drive Backwards for 2 Seconds