G. Tardiani RoboCup Rescue. EV3 Workshop Part 3 Rescue Analysis with RobotC

Similar documents
RoboCup Junior Slovakia Rescue Line Evaluation Sheet - Secondary Teams round 1

TU Graz Robotics Challenge 2017

Robotics Platform Training Notes

Introduction to Robotics Rubrics

Robotics using Lego Mindstorms EV3 (Intermediate)

2012 Alabama Robotics Competition Challenge Descriptions

Automatic Headlights

Escape From ENGINEERING ISLAND KU High School Design

Design. BE 1200 Winter 2012 Quiz 6/7 Line Following Program Garan Marlatt

EDUCATIONAL ROBOTICS' INTRODUCTORY COURSE

Morse Code Autonomous Challenge. Overview. Challenge. Activity. Difficulty. Materials Needed. Class Time. Grade Level. Learning Focus.

Team Description Paper

UWYO VR SETUP INSTRUCTIONS

RoboCupJunior Rescue B Rules 2012

C - Underground Exploration

ROBOTICS DESIGN CHALLENGE. Colorado TSA State Conference BUILDING COLLAPSE

EV3 Advanced Topics for FLL

BEGINNER PROGRAMMING LESSON

Robotics Championships. September 2011 RULE BOOK. Contents: o General Information. o Dance Competition. o Rescue Competition. o HPV Race Competition

Curriculum Activities for Driving Course Curriculum Sample 1

Cooperative Explorations with Wirelessly Controlled Robots

Unit 4: Robot Chassis Construction

Yara Water Solution. Installation Guide. Product summary: - Included components - Tools for setup - Installation overview

GemOro AuRACLE AGT1 GOLD & PLATINUM TESTER EASY OPERATION GUIDE: STEPS 1 & 2

1. Arena 1.1. Description

RoboCupJunior Rescue B Rules 2013

University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory GetMAD Final Report

Robots in Town Autonomous Challenge. Overview. Challenge. Activity. Difficulty. Materials Needed. Class Time. Grade Level. Objectives.

Line-Follower Challenge

MazeBot. Our Urban City. Challenge Manual

THE GUESS OF DEATH. PSEUDOCODE: The logic for my code will be. Dawson Dill 152BC. A less convinient form of analog hangman

Instruction Manual. 1) Starting Amnesia

Erik Von Burg Mesa Public Schools Gifted and Talented Program Johnson Elementary School

I.1 Smart Machines. Unit Overview:

RoboCup Sumo Workshop. Margaux Edwards July 2018

Where C= circumference, π = 3.14, and D = diameter EV3 Distance. Developed by Joanna M. Skluzacek Wisconsin 4-H 2016 Page 1

Ev3 Robotics Programming 101

RoboMind Challenges. Line Following. Description. Make robots navigate by itself. Make sure you have the latest software

Don't wait until you reach your goals to be proud of yourself... Be proud of every step you take!

Squaring or Aligning on a Line

Bipedinno. 12-DOF Waist-high Robot

Line Detection. Duration Minutes. Di culty Intermediate. Learning Objectives Students will:

Comfort Contego User Manual

Mini Hexapodinno. 18-DOF Robot

Prof. Emil M. Petriu 17 January 2005 CEG 4392 Computer Systems Design Project (Winter 2005)

Capturing and Adapting Traces for Character Control in Computer Role Playing Games

RoboCupJunior Rescue Maze Rules 2016

Programming Design. ROBOTC Software

Planning in autonomous mobile robotics

MITOCW watch?v=-qcpo_dwjk4

Tutorial: Creating maze games

CORC 3303 Exploring Robotics. Why Teams?

Instructors. Manual GEARED. After-School Robotics Program By Haley Hanson

After Performance Report Of the Robot

HP Color LaserJet CP3525 Series Manage and maintain

User Guide. Thank you for purchasing the Precious Metal Verifier. We feel confident you will find it as useful as we have.

AGENT PLATFORM FOR ROBOT CONTROL IN REAL-TIME DYNAMIC ENVIRONMENTS. Nuno Sousa Eugénio Oliveira

CS295-1 Final Project : AIBO

Your EdVenture into Robotics 10 Lesson plans

Self-Read Web Portal User Guide

The Sony AIBO: Using IR for Maze Navigation

RoboCupRescue Rescue Simulation League Team Description Ri-one (Japan)

Scheduling Algorithms Exploring via Robotics Learning

THE LATEST IN SCIENCE, RESEARCH AND CONSUMER ROBOTICS

World Ocean Forum 2011 Oct 26 28, Busan, Korea SMART Underwater Robot (SUR) Application & Mining

Route 66 GPS Turn By Turn - Quick Start Guide

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet

Line-Follower Challenge

1 Abstract and Motivation

Deriving Consistency from LEGOs

Programming Design ROBOTC Software

Rx62H Linear 5 Channel Brick

ROBOTICS DESIGN CHALLENGE. Colorado TSA State Conference (with special thanks to Pennsylvania TSA) Building Collapse

ME430 Mechatronics. Lab 2: Transistors, H Bridges, and Motors. Name. Name. The lab team has demonstrated:

Activity Template. Subject Area(s): Science and Technology Activity Title: Header. Grade Level: 9-12 Time Required: Group Size:

English. Money Counter. Coin and banknote counter. DEUTsCH. Manual

World Robot Summit. January 2018 Ministry of Economy, Trade and Industry (METI) New Energy and Industrial Technology Development Organization (NEDO)

SENIOR PROJECT FINAL REPORT TEAM MARRS

Competitive VEX Robot Designer. Terminal Objective 1.4: program and operate the Tumbler

From Novice to Journeyman by /u/grays42

Overview. The Game Idea

A - Debris on the Track

A - Debris on the Track

«RELAY RACE» CONTEST RULES

Collaborative Robotic Navigation Using EZ-Robots


Unit 6: Robotics EXPLORING COMPUTER SCIENCE. Version 7.0. University of Oregon, Exploring Computer Science Unit 6: Robotics 260

A - Debris on the Track

3 CHOPS - CAPTURING GEOMETRY

Utah Elementary Robotics Obstacle Course Rules USU Physics Day. Competition at USU Brigham City Campus 989 S Main St Brigham City, UT 84302

Real-time Adaptive Robot Motion Planning in Unknown and Unpredictable Environments

Mastering. AutoCAD Sheet Sets THE COVER. An Expert Guide

The robotics rescue challenge for a team of robots

WPI PPL System Development Updates & Overview of the results from the August 2008 WPI PIPILTER Workshop

Lab 7: 3D Tic-Tac-Toe

Grade 3 Area and Perimeter Unit Overview

Squaring or Aligning on a Line

GRADE 7: Physical processes. UNIT 7P.5 9 hours. Electrical circuits. Resources. About this unit. Previous learning. Expectations

DREAM BIG ROBOT CHALLENGE. DESIGN CHALLENGE Program a humanoid robot to successfully navigate an obstacle course.

Find the probability that the letter to A is in the correct envelope, the letter to B is in an incorrect envelope.

Transcription:

RoboCup Rescue EV3 Workshop Part 3 Rescue Analysis with RobotC

Program Analysis of Rescue RoboCup rescue requires more than Line Following Extra challenges include, Obstacles and rescuing the Victim When solving these challenges do them as individual programs and then add them to the main program when they work successfully Your robot will need to do multiple things at once in order to follow the course AND be on the look out for Obstacles and Chemical spill etc Your robot will need to change modes when it detects the Obstacle This process is called Task Swapping or Multitasking

Using multiple tasks() to multitask We now use a number of tasks() so that the robot is always looking for the challenges set by RoboCup Rescue The task main() will have the main switch case control structure which will swap the tasks around as needed We then need a separate task() that looks for the Obstacle, another To look out for the Chemical Spill etc. We also need to detect intersections, chemical spills etc, etc Do we do these in tasks OR????

Write small problems as Functions In EV3 we created MyBlocks for all the individual processes that were required for the robot to complete a Rescue We need one for Line Following and One for Getting around the Obstacle One for Finding the Rescue Capsule and One for picking up the Capsule and putting it down, another One for Getting out of the Chemical Spill etc. We then call each as needed from with task main() using a Switch control structure. Wait! Is there a difference between tasks and functions????

Combining tasks() and Functions Tasks can be used to allow the robot to be constantly checking on its environment and change/adapt as necessary Functions are individual processes the robot needs to do, once it has decided which task to run due to a change in the environment So by using a combination of tasks() and Functions we can solve the RoboCup Rescue challenge Lets make a list of everything the robot needs to do

RoboCup Rescue Problems Main Control task Line Following Follow the line Detect Intersections Navigate Intersections correctly Navigate Gridlock Detect Chemical Spill Chemical Spill Find the can Don t find the contaminated can Control/Pick up the can Push the can out and release it, or Find the Block Put the can on the Block Find the Exit and then the line Obstacle Detect the obstacle Navigate around the obstacle Possible complications Find the can on an extended spill Find the exit on an extended spill Challenge tile

Which are Tasks? Which are Functions? Main Control Task Line Following Follow the line Detect Intersections Navigate Intersections correctly Navigate Gridlock Obstacle Detect the obstacle Navigate around the obstacle Chemical Spill Detect Chemical Spill Find the can Don t find the contaminated can Control/Pick up the can Push the can out and release it, or Find the Block put can on Block Find the Exit and then the line Possible complications Find the can on an extended spill Find the exit on an extended spill Challenge tile

So How do we Start and Stop tasks? In RoboCup Rescue we want to Follow the Line and then change the task when we detect the Obstacle. After getting around the Obstacle, we then want the robot to go back to Line Following. How? We need to run optional tasks within the main task containing all the Functions like, Line Following and getting around the Obstacle etc. A Parallel task is constantly looking for the Obstacle etc. When it Detects the Obstacle, for example, it tells the Main Task to stop what it is doing (usually Line Following) and change to the appropriate task, eg Get around the Obstacle. Note: RobotC has a limit of 10 simultaneously running tasks

Switch Case CaseWhere Control Structure This example Switch control shows how we can have tasks running simultaneously so that the robot is Line Following the course while looking for the Obstacle. We can also see the Function pointers that would contain the Line Following, Obstacle Navigation code If these Functions are solved in a completely separate program they can then be copied and pasted into this program. Solve the small problems, then add them to the big problem.

Pseudocode for Rescue Example Main program Initialise taskno = 1 Main task() While programrunning CaseWhere TaskNo Case 1: LineFollowing Case 2: ObstacleNavigation Case 3: Rescue EndCase Tasks DetectObstacle() Look for the Obstacle. When found set taskno to 2 (ObstacleNavigation) DetectChemicalSpill() Look for Silver indicating the Chemical Spill. When found set taskno to 3 (Rescue mode). After FindTheExit set taskno back to 1 (Line Follow mode) Sub linefollow LineFollowing program endsub Sub ObstacleNavigation ObstacleNavigation program endsub Rescue programs Sub FindTheCan FindTheCan program endsub Sub PickUpCan PickUpTheCan program endsub Sub FindTheExit FindTheExit program endsub