Computer Science 10/06/20151 iRobot Create Command Interface CPSC 601.68/CPSC 599.68 Rob Kremer Department of Computer Science University of Calgary.

Slides:



Advertisements
Similar presentations
Description: Internal Variables Control and Display Sensor Control and Display Debug Window w/ custom application breakpoints Emergency Controls : STOP.
Advertisements

Getting started with LEGO NXT Mindstorms software This is intended to be a short introduction to the LEGO Mindstorms software and programming the LEGO.
How Do You Make a Program Wait?. 1. What is an algorithm? 2. Can you think of a reason why it might be inconvenient to program your robot to always go.
ACCURACY IMPROVEMENT FOR PHYSICAL ROBOT Gal Lerman, Dorin Ben-Zaken.
Indian Institute of Technology Hyderabad ROBOTICS LINE FOLLOWER HARI KISHAN TANDEY – ES12B1008 DILIP KONDAPARTHI – ES12B1010 SAI KARTIK – CE12B1015.
Navigating the BOE-BOT
The MU Mites Robot Team Marjorie Skubic Derek Anderson Srikanth Kavirayani Mohammed Khalilia Benjamin Shelton Computational Intelligence Research Lab University.
Photolithography Machine Control System Ben Conrad and Mark Edwards Projects in Computer Engineering II December 9, 2003.
LEGO Robotics Lecture 1: Getting acquainted with your robotic environment.
CS 1 with Robots Robot Sensors & Actuators Institute for Personal Robots in Education (IPRE)‏
1 2. Controlling Robot Car in Ogre References: 1. LEGO.com MINDSTORMS NXT Home, 2. OGRE 3D, 3. MSDN,
The Create robot, by iRobot Same as the 4000 series of the Roomba vacuum cleaner, but: Without the vacuum and brush With a port that gives easy access.
Input/Output and Communication
1 ©2006 INSciTE Lab Two Task: Make the program from Lab One (Move forward 5 rotations and turn right 90 degrees) into a MyBlock.
Session 2  The Touch Sensor  The Colour Sensor.
iRobot Create Introduction Assembled from various online resources
Your Python program uses the create library. It supplies functions that send commands: to your laptop’s Bluetooth radio, then to the BAM on the Create,
11 iRobot ® Introduction part 2. 2 drive (velocity, radius, distance, angle) turn (angle) wait for bump, wait for button,... other sensors: right side.
Capacitor Connection in to LED socket Connection to 5v and ground Connection to light sensor pin.
ORTOP WORKSHOP 3 ROBOT NAVIGATION & MISSIONS ORTOP WORKSHOP 3 ROBOT NAVIGATION & MISSIONS.
Weston Schreiber & Joshua Gabrielse Robotics Summer Training Programming #1: EasyC Basics.
Camilo Martinez Advisor : Dr. Cris Koutsougeras Dept of Computer Science and Industrial Technology Southeastern Louisiana University.
Controlling the Outside World
Autonomous Robot Project Lauren Mitchell Ashley Francis.
Programming the CheapBot-14. Start the Editor Set the Mode.
Introducing Cubelets What do they do?
Minds and Computers 3.1 Preview Spin left motor Spin right motor Wait until the motors have spun two rotations Stop left motor Stop right motor What five.
7.2 V battery pack and charger Put the battery in the charger station at the end of the lab. period. Red light indicates charging. Ken Youssefi Introduction.
EV3 Workshop Oct 3, 2015 Instructor: Chris Cartwright
More LEGO Mark Green School of Creative Media. Introduction  Now that we know the basics its time to look at putting some robots (or toys) together 
See3PO - A Visually Capable Path Finding Robot See3PO Frank Marino, Nick Wang, Jacky Yu, Hao Wu and Debarati Basu Department of Computer Science University.
The Handy Board Bryan Valentini General Robotics 2003.
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
ENGR 101: Robotics Lecture 4 – Making Decisions Outline  The Stall Sensor  Making Decisions  Random Number Generation References 
Pool Player Bot Final Presentation Jiaying Zhang Mechanical Engineering.
Joe Cohen Presentation Overview  Project definition and requirements  Solution process and explanation  Methodology.
ARDUINO 1. Basics  Comments  /* * Blink * * The basic Arduino example. Turns on an LED on for one second, * then off for one second, and so on... We.
PHY 235 Robotics Workshop Day 5 Distance Sensing Using The Ultrasonic Ping Sensor.
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class3/Lab 2.
EV3 Software EV3 Robot Workshop
The Create robot, by iRobot
See3PO - A Visually Capable Path Finding Robot See3PO Frank Marino, Nick Wang, Jacky Yu, Hao Wu and Debarati Basu Department of Computer Science University.
ROBOTC Software EV3 Robot Workshop
BEGINNER FLL PROGRAMMING WORKSHOP BY DROIDS ROBOTICS & EV3LESSONS.
ROBOTC Software EV3 Robot Workshop Lawrence Technological University.
Casne.ncl.ac.uk Taking care of the CrumbleBot Please do NOT stress the robot's motors 1.Do NOT push the robot 2.Do NOT hold the.
Mechanical Components and Programming Ken Youssefi Introduction to Engineering – E10 1.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
Smart Board Troubleshooting.  The User Guide contains useful information such as installing, connecting, maintaining, and troubleshooting your Smart.
Limited rotation servo basics David Hall output shaft servo horn red wire = 5V + black wire = Gnd - white wire = control signal standard servo.
ROBOTC for VEX Online Professional Development. Homework Questions Thoughts? Questions?
Introduction to Robots and the Mind - Sensors - Bert Wachsmuth & Michael Vigorito Seton Hall University.
GreenJacket IMDL Summer 2002 Final Report Matthew Chernosky August 6, 2002.
The Create robot, by iRobot
By Sanjay and Arvind Seshan
ROBOTC for VEX Online Professional Development
National Tsing Hua University CS4101 Introduction to Embedded Systems Lab 6: Serial Communication Prof. Chung-Ta King Department of Computer Science National.
Development Commitment Package
Sasha Popov November 16, 2018 iRobot Create.
BEGINNER EV3 PROGRAMMING Lesson
FeMaidens Programming
Forward Until Touch Robot goes forward until it hits a wall.
An Introduction to VEX IQ Programming with Modkit
Jamie Snape University of North Carolina at Chapel Hill
Social Commitment Theory
CBC v2 Using the CBC.
1.15: Dual Joystick Control (Tank)
Compiled from various Internet sources Presented by Mr. Hatfield
Getting started with LEGO EV3 Mindstorms software
BEGINNER PROGRAMMING LESSON
Presentation transcript:

Computer Science 10/06/20151 iRobot Create Command Interface CPSC /CPSC Rob Kremer Department of Computer Science University of Calgary

10/06/2015CPSC /599.68: Agent Communications2 Anatomy

10/06/2015CPSC /599.68: Agent Communications3 Anatomy Bump Sensors

10/06/2015CPSC /599.68: Agent Communications4 Anatomy

Agent software support: sensor tab 10/06/2015CPSC /599.68: Agent Communications5

Agent software support: sensor tab 10/06/2015CPSC /599.68: Agent Communications6

Agent software support: execute command 10/06/2015CPSC /599.68: Agent Communications7 execute takes a string of bytes (in decimal). Can also prefix a number with "s" to make it parse it as two bytes (a short).

10/06/2015CPSC /599.68: Agent Communications8 Modes OFF –Unresponsive (except START (128)) –Can charge PASSIVE –Sensor status commands –No Actuator commands –Can charge SAFE  recommended! –Sensor status commands –Actuator commands But reverts to PASSIVE if moving forward and any cliff sensor is activated; any wheel drop sensor is activated; or the charger is plugged in –No Charging FULL –Sensor status commands –Actuator commands –No Charging

10/06/2015CPSC /599.68: Agent Communications9 Modes OFF FULLSAFE PASSIVE START (128) FULL (132) SAFE (131) FULL (132) SAFE (131) START (128)

10/06/2015CPSC /599.68: Agent Communications10 Modes: WAIT A 5th Mode: WAIT When in WAIT mode the robot does not respond to ANY input. Goes into WAIT mode for 3 commands (see WAIT slide):WAIT slide –WAIT-DISTANCE –WAIT-ANGLE –WAIT-TIME –WAIT-EVENT If the robot is prevented, for some reason, from traveling the distance or the angle, it won’t respond to anything (try the undocumented command 7). Use only in scripts, NOT RECOMMENDED

10/06/2015CPSC /599.68: Agent Communications11 Actuators: Drive DRIVE (137 ) –2 short (16 bit) parameters –Each represented by 2 bytes, high byte first (so a total of 5 bytes for this command) Parameter 1: velocity in mm/sec –-500 to +500 (-ve means “backwards”) Parameter 2: curve radius in mm –-2000 to where -ve means clockwise and +ve means counterclockwise –32768 means “go straight” –-1 and +1 mean spin in place clockwise, counterclockwise respectively

10/06/2015CPSC /599.68: Agent Communications12 Actuators: LEDs LEDs ( 139 ) Adv&Play: –Bit 1 (=2): Play LED –Bit 3 (=8): Advance LED PowerColor (0-255): –0=green; 255=red PowerIntensity (0-255) –0=off; 255=full intensity

10/06/2015CPSC /599.68: Agent Communications13 Actuators: Send IR SEND-IR (151 ) Sends a byte using an add-on circuit and a IR LED Can be received by the omnidirectional IR reciever at the front of the robot Could be use to transmit short-distance identifiers for each robot Does not replace CASA agent communication protocols!

10/06/2015CPSC /599.68: Agent Communications14 Actuators: Songs Load a song –140 { }* : 0-15 : number of notes (1/2 of bytes) (up to 16 notes) : see table in OI Manual : in 1/64 second … Play a song –141 –Doesn’t work if a song is already playing

10/06/2015CPSC /599.68: Agent Communications15 Inputs: Sensors Read Sensors –142 Packets 0-6 are “packet groups” (eg: 0 is sensors 7-26, which is 26 bytes [some are two-byte returns]) Packets 7-42 are individual sensors Either numerical values (1 or 2 bytes) or bitmaps See OI Manual Also a commands for: –reading a list of sensors (149) –requesting a continuous stream of packet data (148) –pausing/resuming a stream (150)

10/06/2015CPSC /599.68: Agent Communications16 Sensor Groups Packets

10/06/2015CPSC /599.68: Agent Communications17 Sensor Single Packets

10/06/2015CPSC /599.68: Agent Communications18 Scripts Load a script –152 * : number of bytes in script (up to 100) : OI commands Play a script –143 –No flow control except for WAIT commands (next slide) Show script –154 –Returns the current script

10/06/2015CPSC /599.68: Agent Communications19 Scripts: Wait Wait time –155 in 1/10 sec (resolution of 15ms) Wait Distance –156 distance in mm. +ve=forward, -ve=back –Works for passively rotating the wheels Wait Angle –157 angle in deg. +ve=counterclockwise, -ve=clockwise Wait Event –158 : eg: 1=wheel drop (see table in OI Manual, p.16) –Use -ve for inverse of event (eg: -1 wheel drop stops)

10/06/2015CPSC /599.68: Agent Communications20 Tasks: measuring You can track the distance traveled by using sensor 19 (distance) Angle with sensor 20 (angle) Note: reading these sensors causes them to be reset Distance (angles) increment for forward (counterclockwise) and decrement for backward (clockwise) Class iRobotCreate’s regular sensor reading keeps an accumulator for distance and angle

10/06/2015CPSC /599.68: Agent Communications21 Tasks: Following a wall You can track along a wall using the wall sensor (sensor 8) Use Drive straight ( ) when the wall is there; or a wide right curve ( ) when the wall goes away You should expect the occasional right-bump If you get a left-bumb, you’ve probably hit a corner