Presentation Transcript
AutonomousRobot Navigation Using Optical Mouse-based Odometry: Autonomous Robot Navigation Using Optical Mouse-based Odometry Craig Putnam
October 2004
About The FIRST Competition: About The FIRST Competition FIRST = For Inspiration and Recognition of Science & Technology
FIRST was started by Dean Kamen in 1992 as a way to encourage high school students to get excited about engineering
The first competition in 1992 had 28 teams
20,000+ students from over 900 teams representing 7 countries competed in 2004
About The FIRST Competition: About The FIRST Competition Adult mentors from industry and academia work with college and high school students
Each year we build a new competition robot from scratch
The robots are radio-controlled and must be driven by the high school students
The matches are 2 minutes in length and (in recent years) have been “2 on 2”
About The Competition: About The Competition The robots have to be able to:
Maneuver around on a 24’ × 48’ playing field
Drive over / under / around various obstacles (platforms, ramps, metal bars, teeter-totters, etc.)
Manipulate objects (balls, “floppies”, tote bins, etc.)
Interact with various field elements (move mobile goals, hang from bars, balance on a teeter-totter, …)
Meet various design criteria (weight, size, allowable materials, costs, …)
Be rugged (able to survive frequent “interactions” with other robots or field elements)
About The Competition: About The Competition Most importantly, the robot has to be able to go from a design concept to the shipping dock in 6 weeks
DWC and FIRST: DWC and FIRST DWC has supported the Alvirne H.S. FIRST team (P.A.R.T.S.) for the past 10 years
DWC was one of the first colleges in the country to offer a FIRST scholarship
Nick Bertozzi has incorporated work on FIRST robots into the Engineering Design courses as a possible project component
Engineering students are given responsibility for the design, manufacture and testing of various robot subsystems
Virtually all of the 2004 robot was manufactured in the DW106 shop
Project Background: Project Background 2 years ago FIRST added a new wrinkle to the challenge: During the first 15 seconds of the match the robot must perform autonomously
Some ways to navigate autonomously:
Dead Reckoning
Line Tracking
Beacon Tracking
Inertial Navigation
We expect autonomous mode operation to become even more important in the future
Autonomous Mode Challenges: Autonomous Mode Challenges Where am I?
How am I oriented?
How should I get to where I need to go?
What should I do if I get off course?
What else do I need to do along the way?
Autonomous Mode Challenges: Autonomous Mode Challenges Where am I?
How am I oriented?
How should I get to where I need to go?
What should I do if I get off course?
What else do I need to do along the way? This project specifically addresses only the first four items
High-Level Project Goals: High-Level Project Goals Address the problems of autonomously measuring, controlling and correcting the travel path of a robot in a FIRST competition environment
Design a rugged, small, lightweight, inexpensive and “cool” navigation system
Create a project that will engage and challenge DWC Engineering / CS students
Prior Research: Prior Research Considerable work has been done over the last 20 years on robot navigation
Existing solutions:
Odometric sensors
Active beacon triangulation
Geomagnetic compass
Ultrasonic or laser ranging from known landmarks
GPS (“regular” as well as “differential”)
Inertial navigation using accelerometers & gyros
Vision systems Usually done via wheel
rotation measurement
Prior Research: Prior Research While using computer mice to provide odometric path/error feedback has been done in the past, to my knowledge it has never been done using an optical mouse
It may also have never been done using a single mouse in conjunction with a gyro
It certainly has not been done in a FIRST competition
Challenges: Challenges Using an optical mouse for robot navigation – particularly in the FIRST competition environment – presents some unique challenges
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration
Varied surfaces:
Carpet
Tape
Painted wood
Aluminum plate
Wire mesh
Slick white plastic
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Surface Transitions:
Carpet wrinkles, seams & tears
Steps
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Debris:
Dirt
Robot parts
Collisions:
Sometimes one robot will ride up over part of another robot
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Optical mice have a maximum tracking speed of about 12 – 15 ips
They may or may not report when they are in an “overflow” state
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Optical mice are designed to be in contact with a work surface (desk, etc.)
But the playing field surface is a hostile environment – so we don’t want the mouse down there…
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Move the mouse up into the body of the robot for protection
To do so we need to change the focal length of the optics
Doing this also mitigates the tracking speed problem
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Computer mice are not very sensitive to rotation about their optical axis
The solution to this is to use a solid-state rotation rate sensor (gyro) in addition to the mouse
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Mounting the O.M. circuit board in the robot’s chassis means the embedded LED does not work properly
Additional illumination of the floor is needed
Slide30: Also insert picture of the mouse board…
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration The mouse speaks PS/2 protocol – which means it wants to generate the clock signal
The PIC also wants to generate the clock
Some “glue logic” is needed to manage & buffer the signals
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Initialization of the PAK-VIa chip & optical mouse
Interrupts vs. polling for mouse communications
Inner-loop vs. outer-loop timing
Challenges: Challenges Playing field surface
Tracking speed
Optics
Robot rotation
Illumination
Electrical interface
Programming
Calibration Changes in the focal length of the optics will change the size of a “Mickey”
We need to make sure that we know the correct number of Mickeys per unit distance travelled
Recent Work: Recent Work Steve Jackson (’04), using last year’s robot, developed a crude “proportional” feedback loop navigation system based only on input from the gyro
The robot was able to drive the length of DWH with a maximum deviation from the desired straight-line path of about 6”
Current Work: Current Work Jennifer MacDonald (‘05) is working on developing a proportional, integral, derivative (PID) feedback loop based navigation system
This system will combine inputs from the optical mouse & gyro and is being prototyped on a miniature robot
Current Work: Current Work An EG101 student project group will develop a fixture for the modified optical mouse system
We will mount the modified optical mouse & electronics in the ’04 full-size robot for calibration and testing once the code is done
The goal is to have the ’04 robot navigating autonomously using the modified optical mouse & gyro by the end of the term
We want to see how close we can come to the theoretical ¼” position resolution
Current Work: Current Work Modify the ’03 robot to navigate using an infrared beacon tracking system
We also hope to have the waypoint generation program (written as a CS project in the fall of ’03) modified to generate C code instead of PBASIC and to generate spline curve paths in addition to straight line paths
Questions?: Questions? http://faculty.dwc.edu/putnam/