Navigating the BOE-BOT

Slides:



Advertisements
Similar presentations
Getting started with LEGO NXT Mindstorms software This is intended to be a short introduction to the LEGO Mindstorms software and programming the LEGO.
Advertisements

Add and Use a Sensor & Autonomous For FIRST Robotics
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.
Right and Left Turns.
Boe-bots and STEM Boe-bots and STEM – This sectional will introduce participants to a programmable robot that is useful for engaging students in building.
Digital Electronics Boe-Bot Navigation. This presentation will Detail how to program the Boe-Bot move a specific distance. Detail how to program the Boe-Bot.
Boe-Bot Challenge. Advanced Users (those who have used Boe-Bots in Digital Electronics) There are suggested activities / programs for each challenge.
1 Boe-Bot Parts BOE-BOT Lecture #1b DE - Digital Electronics.
1 Lecture 1: Your Boe-Bot's Servo Motors Presentation based on: "Robotics with the Boe-Bot" By Andy Lindsay Parallax, Inc Presentation developed by: Martin.
Autonomy using Encoders Intro to Robotics. Goal Our new task is to navigate a labyrinth. But this time we will NOT use motor commands in conjunction with.
ME 224-Final Project Jim Lovsin Erica Morales Dan Sheehan Josh Widzer.
ME 224 Final Presentation Fall 2005 Joni Stegeman Ingrid Lin Giovanni Wuisan Patrick Luckow Brent Willson.
EV3 Software EV3 Robot Workshop 2015
EIGHTH GRADE ROBOTICS KITTATINNY REGIONAL HIGH SCHOOL MR. SHEA Introduction to Robotics Day4.
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.
Applied Control Systems Robotics & Robotic Control
Recoded. Significance of programming Digitalised era- phones, computers, industrial processes… Raspberry programming device Exploration of the concept.
Programming Concepts Part B Ping Hsu. Functions A function is a way to organize the program so that: – frequently used sets of instructions or – a set.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering 1 Hsu/Youssefi.
Robotics Engineering Basic Maneuvers. Getting the Boe-Bot to Move One of the first tasks we need to do is to get our bots moving.One of the first tasks.
Application of Math and Science Principles Creating a robot that moves a specified distance straight ahead and Creating a robot that turns a specified.
Maze Challenge Maze Challenge activity > TeachEngineering.org
10/10/ Controlling YOUR ROBOT. 10/10/2015 Basic Stamp  Basic Stamp Input - output pins Interpreter Chip Power supply: 5 Volts voltage Memory: EEPROM.
Today’s Agenda 1.Scribbler Program Assignment 1.Project idea due next class 2.Program demonstration due Wednesday, June 3 2.Attendance & lab pair groupings.
EV3 Workshop Oct 3, 2015 Instructor: Chris Cartwright
This presentation is intended to offer a set of activity cards, which are ideal for introducing the Robolab. The cards cover a range of basic skills, that.
Autonomy using Encoders Intro to Robotics. Autonomy/Encoders Forward for Distance In this unit, you will learn to use the encoders to control the distance.
1 Lecture 1: Your Boe-Bot's Servo Motors Presentation based on: "Robotics with the Boe-Bot" By Andy Lindsay Parallax, Inc Presentation developed by: Martin.
Using the BASIC Stamp Editor program, the Boe-Bot was programmed to be able to accomplish a variety of tasks including: 1.Move at a constant rate of speed.
ENGR 101: Robotics Lecture 3 – Robot Motion Outline  Robot Motion  FOR Loops  Making Music References 
ENGR 101: Robotics Lecture 4 – Making Decisions Outline  The Stall Sensor  Making Decisions  Random Number Generation References 
Find the Mindstorms Icon on the computer.. To start a new program click go.
Digital Electronics The Boe-Bot and Servo Motors.
PHY 235 Robotics Workshop Day 5 Distance Sensing Using The Ultrasonic Ping Sensor.
PROMGRAMING YOUR ROBOT How Servos Work: How to control your robot.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4/Lab3.
EV3 Software EV3 Robot Workshop
ROBOTC Software EV3 Robot Workshop
Group 7 Project 1 Presentation Robert Moe John Zumwalt Mark Woehrer Celi Sun.
BEGINNER FLL PROGRAMMING WORKSHOP BY DROIDS ROBOTICS & EV3LESSONS.
ROBOTC Software EV3 Robot Workshop Lawrence Technological University.
1 BOE-BOT Lecture #2 DE - Digital Electronics Servos and the BOE-BOT.
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.
Limited rotation servo basics David Hall output shaft servo horn red wire = 5V + black wire = Gnd - white wire = control signal standard servo.
The “Board of Education” 1 Three-position switch 0 = OFF 1 = ON / wheels OFF 2 = ON / wheels ON breadboard (for building circuits) electrical power (V.
How Do You Make a Program Wait?
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Introduction to Servos
Using servos.
Servo Positioning Pulse Width Direction of Rotation PULSOUT Period
Understanding Communication with a Robot? Activity (60 minutes)
Squaring or Aligning on a Line
By Sanjay and Arvind Seshan
Servos The material presented is taken from a variety of sources including:
Servos The material presented is taken from a variety of sources including:
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Servos The material presented is taken from a variety of sources including:
PROMGRAMING YOUR ROBOT
Autonomy using Encoders
Introductory Presentation
Loops and Switches Pre-Quiz
Sasha Popov November 16, 2018 iRobot Create.
Controlling YOUR ROBOT
An Introduction to VEX IQ Programming with Modkit
An Introduction to VEX IQ Programming with Modkit
Maze Challenge Maze Challenge activity > TeachEngineering.org
Karl Jean-Francois-James Madison H.S. & Eldiquen Mangubat-IS 232
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Getting started with LEGO EV3 Mindstorms software
Presentation transcript:

Navigating the BOE-BOT BOE-BOT Lecture #3 DE - Digital Electronics Navigating the BOE-BOT

BOE-BOT Lecture #3 DE - Digital Electronics Navigating a Course There are several ways to navigate a course using a robot. A variety of sensors are available to help the robot accomplish this task. Methods for navigating the a course might include: 1) Dead reckoning - Exact path must be known ahead of time - Program tells the robot how far to travel before each turn - Errors in distances and turning angles accumulate, so best for simple, short courses. - Distances can be calculated using servos or stepper motors or infrared sensors can be used to count wheel revolutions. 2) Line following - This method requires a line to follow (some factories use lines on the floors that robots follow to deliver parts to assembly workers). - Infrared sensors (or other types) shine a beam of light on the floor and determine the line position by the amount of reflection. 3) Wall following - This method requires that a wall is available for the robot to touch or sense. - One method involves using whiskers – sensors that can tell when the robot touches the wall. 4) Distance sensing - This method again requires that walls are available so that the robot can sense the distance to each wall. - Range-finding sensors can be used to determine the distance to walls beside or in front of the robot.

BOE-BOT Lecture #3 DE - Digital Electronics Dead Reckoning - Example 6 ft 3 ft Starting Line Finish Barriers robot hits the wall Track to be navigated Possible path to follow Go straight for 6 ft Turn right 90 degrees Go straight for 3 ft etc Errors begin to build Each time that a distance is off or an angle for a turn is off, the robot gets further off the desired path.

Rounded corners are easier to follow BOE-BOT Lecture #3 DE - Digital Electronics Line Following - Example Rounded corners are easier to follow Tape on track Line on track Robot Infrared light reflects off of the floor Wheel Infrared sensor

BOE-BOT Lecture #3 DE - Digital Electronics Wall Following - Example Path of robot Place where left whisker hits the wall Robot naturally drives slightly to the left and then corrects right after left whisker hits the wall Areas of difficulty? Right Whisker Adding angled barriers to corners may make navigation easier

Beams from distance sensors BOE-BOT Lecture #3 DE - Digital Electronics Distance Sensing - Example Beams from distance sensors C One possible programming approach: Steer more to the right if distance A < 2” Steer more to the left if distance B < 2” Turn right if distance C < 8” Keep track of turns (R, R, R, L, L, L, R to complete the course) A B

BOE-BOT Lecture #3 DE - Digital Electronics Navigating with the BOE-BOT using Dead Reckoning First of all, let’s be sure that it is clear what is meant by LEFT, RIGHT, FORWARD, and BACKWARD with the BOE-BOT. The Robotics Version 2.2 manual indicates that the ping-pong ball wheel is considered to be a rear wheel, so movement is defined as shown below.

BOE-BOT Lecture #3 DE - Digital Electronics Moving Forward with the BOE-BOT Note that in order for the BOE-BOT to move forward: the right wheel must turn clockwise (CW) the left wheel must turn counterclockwise (CCW)

BOE-BOT Lecture #3 DE - Digital Electronics Using Servo Data to control the BOE-BOT In the last team assignment, data was gathered so that servo speed and direction could be determined as PULSOUT Duration is varied. The data might look something like the tables shown below. Left wheel servo Right wheel servo PULSOUT Duration Servo speed and direction 650 30 rpm CW 660 27 rpm CW 670 24 rpm CW 680 21 rpm CW 690 18 rpm CW 700 15 rpm CW 710 12 rpm CW 720 9 rpm CW 730 6 rpm CW 740 3 rpm CW 750 0 rpm (Stop) 760 3 rpm CCW 770 6 rpm CCW 780 9 rpm CCW 790 12 rpm CCW 800 15 rpm CCW 810 18 rpm CCW 820 21 rpm CCW 830 24 rpm CCW 840 27 rpm CCW 850 30 rpm CCW PULSOUT Duration Servo speed and direction 650 30 rpm CW 660 27 rpm CW 670 24 rpm CW 680 21 rpm CW 690 18 rpm CW 700 15 rpm CW 710 12 rpm CW 720 9 rpm CW 730 6 rpm CW 740 3 rpm CW 750 0 rpm (Stop) 760 3 rpm CCW 770 6 rpm CCW 780 9 rpm CCW 790 12 rpm CCW 800 15 rpm CCW 810 18 rpm CCW 820 21 rpm CCW 830 24 rpm CCW 840 27 rpm CCW 850 30 rpm CCW Since the BOE-BOT will travel forward if the left servo turns CCW and the right servo turns CCW, it will travel in a straight line using these two PULSOUT Duration values

BOE-BOT Lecture #3 DE - Digital Electronics Sample Program to move the BOE-BOT forward in a straight line (similar to the program on p. 125 in Robotics, Version 2.2) ‘ Move the BOE-BOT forward in a straight line Counter VAR Word FOR Counter = 1 TO 122 PULSOUT 13, 850 ‘Move left wheel CCW at max speed PULSOUT 12, 650 ‘Move right wheel CW at max speed PAUSE 20 ‘Pause for 20 ms NEXT Note that the program above assumes that the left servo is connected to P13 and the right servo is connected to P12 as shown to the right (reference: p. 100 in Robotics, Version 2.2)

BOE-BOT Lecture #3 DE - Digital Electronics How far will the BOE-BOT move? The manual (Robotics, Version 2.2) says that the program on the previous page will run each servo for about 3 seconds. Let’s see why: FOR Counter = 1 TO 122 PULSOUT 13, 850 ‘sets P13 high for 850*2 us = 1.7 ms PULSOUT 12, 650 ‘sets P12 HIGH for 650*2 us = 1.3 ms PAUSE 20 ‘pause for 20 ms NEXT The total time per loop is 1.7 + 1.3 + 20 = 23 ms plus a small amount of time for the BASIC Stamp to execute the instructions. The BASIC Stamp 2 executes 4000 instructions/second or each instruction takes about 0.25 ms. The five instructions in the loop will take about 1.25 ms, so the total time per loop is really about 24.25 ms. So the total time for the program is (24.25 ms/loop)(122 loops) = 2.96 seconds If the wheels have a diameter D = 2.5” then the circumference C = D = 7.854” If the BOE-BOT servos turn a maximum of 30 rpm, then the distance traveled in 3 seconds is Distance = (30 rev/min)*(1min/60 sec)*(7.854”/rev) = 3.93”

BOE-BOT Lecture #3 DE - Digital Electronics Is it necessary to calculate exact distances ahead of time? You could take the time to calculate exact distances, but if time allows, you can adjust values in the program until you experimentally determine the required values. Adjusting for a straight line FOR Counter = 1 TO 122 PULSOUT 13, 850 PULSOUT 12, 650 PAUSE 20 NEXT Adjusting for a left turn FOR Counter = 1 TO 15 PULSOUT 13, 750 ‘Stop the left wheel PULSOUT 12, 650 ‘Move right wheel CW at full speed Adjust these values if the BOE-BOT isn’t going exactly straight Adjust this value to change the distance that the BOE-BOT travels Adjust this value to change how long the BOE-BOT continues turning left