Dublin Robotics Boosters NXT-Step Programming Workshop.

Slides:



Advertisements
Similar presentations
Intermediate Robotics Getting to the Next Level Guiding Question: How might I move the robot consistently, accurately, and predictably? –Review basics.
Advertisements

Robofest 2005 Introduction to Programming RIS 2.0 RCX Code.
Exercise 1: Install PC Software & NXT Firmware
EducateNXT Follow the Leader Using Bluetooth communication, one robot can be made to follow the actions of a second robot. Features in this presentation:
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.
Basic NXT-G Programming. NXT-G Sequence Beams Blocks Structures (special blocks) Wires (connect ports on blocks & structures)
 Use the Left and Right arrow keys or the Page Up and Page Down keys to move between the pages. You can also click on the pages to move forward.  To.
NXT Basics: Technic Building and NXT-G Erin Cejka Riecker Center for Engineering Educational Outreach Tufts University.
EIGHTH GRADE ROBOTICS KITTATINNY REGIONAL HIGH SCHOOL MR. SHEA Introduction to Programming
EducateNXT NXT... an introduction The Kit and the Software.
Reviewing Common Blocks for St. Agnes Elementary School Teachers by Jenny Chang Feb. 26th, 2007 USC & University Neighborhood Outreach Robotics STEM program.
LEGO Mindstorms NXT Programming We will be using the Common Palette for our Robots This is how you download your program onto the brick Drag and drop a.
Loops and Switches. 1. What kind of blocks are these? 2. Name two kinds of controls that can be specified to determine how long a loop repeats. 3. Give.
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.
Robotics Abstractions: Levels of language, world view
GIRLS Robotic Camp. Let’s Begin Meet and Greet – Camp leaders introduce themselves – Students introduce themselves.
Programming 101 The Common Palette Content provided by Connor Statham (6 th Grade Student) Formatting by Shannon Sieber.
Adapted for STLP Camp ‘09 Mobile Robots Why do robots need to move?
Introduction to the Basic Parts of LEGO’s NXT Robotics
LabVIEW Program and Data Flow Review LabVIEW Robotics Fundamentals.
ADVANCED EV3 PROGRAMMING LESSON
Human Vision Robot (Light Sensor) Vision White/Light: 100 Black/Dark: 0 Colors:
More switches, Comparison Day 7 Computer Programming through Robotics CPST 410 Summer 2009.
EV3 Workshop Oct 3, 2015 Instructor: Chris Cartwright
Application of Data Programming Blocks. Objectives  Understand the use of data programming blocks and their applications  Understand the basic logic.
By Melissa Dalis Professor Susan Rodger Duke University June 2011 Multiplication Table.
NXT Basics: Technic Building and NXT-G Erin Cejka Riecker Center for Engineering Educational Outreach Tufts University.
Motors and Sound Troubleshooting Tips. © H-CCS Problem 1 Why can’t I download my program to the RCX?
Sentry System Multiple Sensors
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.
Castor Bot. Now, we will begin creating a robot Log onto your computer On your screen, click on the website labeled “castor bot” Your building instructions.
Robotics NXT-G: variables, file Rotation sensor Lab: Use buttons to hit specific ball. Homework: Postings. Start planning mapping the room.
Programming 101 The Common Palette Content provided by Connor Statham (9 th Grade Student) Formatting by Shannon Sieber.
Introduction to Computer Programming - Project 2 Intro to Digital Technology.
Mindstorm NXT-G Introduction Towson University Robotics.
BEGINNER FLL PROGRAMMING WORKSHOP BY DROIDS ROBOTICS & EV3LESSONS.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
Lego Mindstorm Robots 9797 kit.  Students will learn how to identify how to detect a change in a condition.  Students will learn where and how to identify.
1 ©2006 INSciTE Lab Three Task: Move forward for 2 feet, turn right 90º repeat to complete a square path. End up exactly where you started.
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Sentry System Two-Way Communication.
Basic NXT-G Programming. NXT-G Sequence Beams Blocks Structures (special blocks) Wires (connect ports on blocks & structures)
2010 Cougar Advanced NXT-G Programming Workshop. Basic NXT-G Programming.
Robotics Abstractions: Levels of language, world view
LEGO Robotics Workshop
Introduction to Programming in RobotC
BEGINNER PROGRAMMING LESSON
Mindstorms EV3 Programming
Robotics Abstractions: Levels of language, world view
Mindstorms EV3 Programming
Introduction To Programming with LEGO NXT 2
Mindstorms EV3 Programming
Loops and Switches Pre-Quiz
Sensors Training.
Module F: Presentation Understanding Robot Fundamentals
Displaying sensor values while a robot is running
Sensors and Logic Switches
INTERMEDIATE PROGRAMMING LESSON
Exploring Computer Science Lesson 6-5
Controlling your quadcopter
INTERMEDIATE PROGRAMMING LESSON
Holyoke Codes LEGO ROBOTICS
Switch Blocks check a value and choose a path based on that value
Storing Values as Variables
Introduction to TouchDevelop
Lego EV3 Mindstorms SW Programming Blocks.
Introductory Presentation
Lego MINDSTORMS EV3.
Controlling your quadcopter
LEGO MINDSTORMS NXT PROGRAMMING
Presentation transcript:

Dublin Robotics Boosters NXT-Step Programming Workshop

Basic Programming Workshop Review  Programming can not overcome poor robot and attachment design  Think strategically with missions & attachments  Use Bluetooth  KISS it!  Change ONE thing at a time  Document changes  Leapfrog development  Save, Save, Save

NXT-Step Programming Workshop: Taking your programming to the NXT Level  Adding on to the Basics:  Create a script or a checklist for the competition  This checklist should be run through each time you approach the table to ensure that EVERY ITEM is in it’s place and you are ready to go  This checklist should be read by a non-robot handling student throughout the competition.  This checklist can be as simple or as complex as needed to suit your team  Things to include  Check chassis  Check wiring is secure  NXT is “on” and set to it’s 1 st program/mission  Attachments are assembled and ready for use  Who is the robot handler, what mission are they doing (repeat as needed)

Default Ports Touch Sensor  Default port 1 Sound Sensor  Default port 2 Light Sensor  Default port 3 Ultrasonic Sensor  Default port 4 Attachment Motor  Default port A Drive Motors  Default ports B & C

 Use the NXT to find accurate sensor readings  “View” option  Bluetooth can send sensor readings to PC  select the sensor block  readings will appear on the far left of the configuration panel Use that BRAIN!

Reading Sensors: Now it’s your turn… Objective… take sensor readings using your NXT Using your NXT and Bluetooth, we’re going to:  Take rotation reading (only reads in degrees)  Take light reading  Calibrate NXT light readings  Select “Calibrate” program from tools menu (it will download and run automatically).  Run this program EVERY time you approach the board if you use light sensors

Multitasking! What is multitasking?  Programming your robot to accomplish multiple tasks at the same time  Why use it? SAVES TIME!!  Example: Move forward and raise an attachment

Multitasking: Now it’s your turn… Objective… Program your NXT to walk and chew gum at the same time In NXT-G, we’re going to:  Create a multiple sequence beam  Program a standard move forward block  Add a 2nd sequence beam, programming the attachment motor to raise or lower  TIP: Add a move block below the 1 st sequence beam. Use “Shift” and click on the 1 st sequence beam, then drag down to connect to the move block, creating a new sequence beam.

Loops: Going in Circles… What’s a loop?  Requires a task to be repeated a set number of times before moving to the next block  Repeat (or continue) a task until a specific variable is met (using sensor input)  Requires that specific conditions are met before moving on to the next block

Loops: Now it’s your turn… Objective… using a loop, learn to meet a specific condition before moving on to the next block Using a loop, we’re going to:  Create a task that needs to repeat a set number of times before moving to the next block  Continue a task until a specific variable is met (using sensor input)

Breaking and Entering: using a crow bar What’s a Crow Bar?  A temporary block used to pry open a space within a loop or a switch

Crow Bar: Now it’s your turn… Objective… learn to manipulate blocks to pry open space for loops and switches Using a crow bar, we’re going to:  Create a 2 nd sequence beam inside a loop  Hint: The same process can be applied to a Switch

Can you count to ONE?: Single Count Loops  Single Count Loops:  Ensure that ALL tasks are met before leaving the loop  Why use a Single Count Loop?  It’s an insurance policy that everything is synchronized before moving on

Single Count Loops: Now it’s your turn… Objective… using a single count loop, learn to ensure ALL tasks are completed before leaving the loop Using a single count loop, we’re going to:  Create a program that needs to meet a specific requirement before moving to the next block  Hint:  Use a crowbar to put everything in a Loop

Switches: If/Then Conditions What’s a Switch?  If Condition A is met, then program chooses path 1  If Condition B is met, then program chooses path 2  Example: Condition A: If the Light Sensor reads above 50, NXT says “Light”; Condition B: If the Light Sensor reads below 50, NXT says “Dark”

Switches: Now it’s your turn… Objective… using a switch, teach your robot to make a choice between two actions Using a switch, we’re going to:  Create a program that requires a if/then statement, dependent upon sensor input.

Data Wires: Playing Telephone with Your Programming  Data Wires are:  Data wires send information from one block to one or more blocks later in a program  Three types of Data Wires:  Numeric: integers (whole numbers), positive or negative  Logic: one of two possible values, true or false  Text: a string of letters “Hello”, “turn right”, “643cheese”  Why use them?  Could send a light reading to a variable block  Could send a touch sensor reading to a move block  Could send text to the NXT screen letting you know what a specific condition is (a light sensor reading)  Must use a text block to convert a reading to text

Data Blocks: Information Overload  Logic, Math & Compare Blocks:  Blocks in which math calculations or comparisons are performed  Range & Random Blocks:  Looks for values in a given range or randomly selects a value  Variable & Constant Blocks:  Carry and hold information for later use  Variable Blocks get information from other blocks  Constant Blocks must have values, like numbers or a true/false, input manually by the programmer  Why use them?  So we can reference values later in a program

Data Wires and Data Blocks: Putting it all together  See the Help section for specific color coding and other helpful information about data wires Uses math to calculate distance Data Wires Data Hub Constants

My Blocks: Space Saving Miracles  My Blocks are:  Customized collection of blocks condensed into a single block  Why use a My Block?  Saves screen space & simplifies look of your program  Creates a “program” that can be used multiple times within a single block or program.  Hints:  If you change anything within a My Block, it changes that My Block throughout your programming.  Double click the My Block to see what’s inside it.

My Blocks: Now it’s your turn…  Objective: Learn to create a My Block  We’re going to… Create a simple program and make it into a My Block

Telling your NXT where to go…  Using the information that we’ve already learned…  How can you use a loop to determine your NXT’s location on the board?  Would it be more accurate if your robot had multiple Touch and Light Sensors? Why or why not?  Hints:  If you tell your robot to “square” to a wall or a line, is it in a more accurate position on the board than telling your robot to move X number of rotations?  How does the position of the Light/Touch Sensor on the robot affect the programming?

Telling your NXT where to go…  Using the information that we’ve already learned…  How can you use a Touch Sensor with a loop to:  Find a wall  How can you use a Light Sensor with a loop to:  Find a line

Telling your NXT where to go…  Find a wall  Find a line

Telling your NXT where to go…  Using the information that we’ve already learned…  Using 2 Touch Sensors can you modify your “Find a Wall” program to:  Square to Wall

Telling your NXT where to go…  Square to wall

Telling your NXT where to go…  Using the information that we’ve already learned…  Using 2 Light Sensors can you modify your “Find a Line” program to:  Square to Line

Telling your NXT where to go…  Square to line

Telling your NXT where to go…  Using the information that we’ve already learned…  How can you use a Light Sensor with a switch to:  Follow a line

Telling your NXT where to go…  Follow a line

Master Programs: The King of the NXT-G World (insert evil laugh here)…  Master Programs are:  A program that runs all the table top missions as a single mission  It breaks the missions into individual sections, pausing between each, waiting for input from the NXT brick before proceeding to the next one.  Why use a Master Program?  Saves space  Eliminates stressful searching for programs on NXT brick during competition

Kudos and credit where it’s due: We couldn’t do it without you…  Cindy Bryden  Dan Monroe  Cougar FLL Team  Programming Lego Mindstorms NXT by Owen Bishop  uct uct  Created October 2010 by:  Nick and Sherri Behr