Go to Post I'd be more worried about getting struck by lightning right after winning the lottery. :p - evulish [more]
Home
Go Back   Chief Delphi > Technical > Technical Discussion
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 08-05-2011, 13:04
lemiant's Avatar
lemiant lemiant is offline
the Dreamer
AKA: Alex
FRC #4334 (Alberta Tech Alliance)
Team Role: Leadership
 
Join Date: Feb 2009
Rookie Year: 2008
Location: Calgary, AB, Canada
Posts: 562
lemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond repute
Trackball motion tracking

Hi everyone,

I have been thinking for a while about a good way to track robot motion in all directions, I have considered mice, but apparently lazer ones are illegal, and optical ones unreliable. So I've moved on to something more like a trackball, it could be mounted between the front wheels and lightly pressed against the ground using some kind of elastic force. What are your thoughts? Also does anyone know of a trackball-esque device that could handle speeds up to 16 fps? After a couple of hours of looking, the best I could find was 30in per second, which is nothing to an FRC robot.
  #2   Spotlight this post!  
Unread 08-05-2011, 13:36
slijin's Avatar
slijin slijin is offline
Pockets
AKA: Samuel Lijin
FRC #0694 (StuyPulse)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York City
Posts: 537
slijin is a splendid one to beholdslijin is a splendid one to beholdslijin is a splendid one to beholdslijin is a splendid one to beholdslijin is a splendid one to beholdslijin is a splendid one to beholdslijin is a splendid one to behold
Re: Trackball motion tracking

I would use a gyro in conjunction with an accelerometer. I can't say much for trackballs though.
__________________

2010-12 CT Chairman's
2011 Galileo 5th seed
2010 NY Regional Winners
  #3   Spotlight this post!  
Unread 08-05-2011, 13:40
Hawiian Cadder's Avatar
Hawiian Cadder Hawiian Cadder is offline
Registered User
AKA: Isaak
FRC #0159 (Alpine Robotics)
Team Role: CAD
 
Join Date: Feb 2010
Rookie Year: 2003
Location: Fort Colins Colorado
Posts: 573
Hawiian Cadder is a name known to allHawiian Cadder is a name known to allHawiian Cadder is a name known to allHawiian Cadder is a name known to allHawiian Cadder is a name known to allHawiian Cadder is a name known to all
Re: Trackball motion tracking

team 27 had a very good system this year, they made small vex encoders which dropped down onto vex omni wheels. that is what i would do. another way to do this would be to change the disks on the trackball in order to make them work at higher speeds.
  #4   Spotlight this post!  
Unread 08-05-2011, 13:44
Duncan Macdonald's Avatar
Duncan Macdonald Duncan Macdonald is offline
Globe Motor Fan Club
FRC #0610 (Crescent Robotics)
Team Role: Alumni
 
Join Date: Feb 2006
Rookie Year: 2006
Location: Vancouver, Canada
Posts: 190
Duncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond reputeDuncan Macdonald has a reputation beyond repute
Send a message via MSN to Duncan Macdonald
Re: Trackball motion tracking

It has been done in the past. In 2009 a couple teams made some traction control attempts.
Couple of ideas:
http://www.chiefdelphi.com/media/photos/32440 (you would have to mount 2 for x and y)
http://www.chiefdelphi.com/forums/sh...rackball+mouse
__________________
Queen's Applied Science '13, Applied Mathematics
  #5   Spotlight this post!  
Unread 08-05-2011, 15:21
woody's Avatar
woody woody is offline
Too much metal for one hand! \m/
FRC #0033 (Killer Bees)
Team Role: Alumni
 
Join Date: Jul 2006
Rookie Year: 2005
Location: Michigan
Posts: 90
woody is a splendid one to beholdwoody is a splendid one to beholdwoody is a splendid one to beholdwoody is a splendid one to beholdwoody is a splendid one to beholdwoody is a splendid one to beholdwoody is a splendid one to behold
Re: Trackball motion tracking

This might be worth looking into:
http://imakeprojects.com/Projects/seeing-eye-mouse/
__________________
"The greatest of all mistakes is to do nothing because you can only do a little; do what you can." - Sir Sidney Smith
  #6   Spotlight this post!  
Unread 09-05-2011, 16:00
JamesBrown JamesBrown is offline
Back after 4 years off
FRC #5279
Team Role: Engineer
 
Join Date: Nov 2004
Rookie Year: 2005
Location: Lynchburg VA
Posts: 1,281
JamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond repute
Re: Trackball motion tracking

Quote:
Originally Posted by slijin View Post
I would use a gyro in conjunction with an accelerometer. I can't say much for trackballs though.
A Gyro/Accelerometer combo will work in the short term but there is drift over time. Higher accuracy/lower drift sensors are available but expensive.

As for the original question it may be beneficial for you wo take apart an old mouse. Typically a trackball mouse includes two encoders that ride along the ball and measure the displacement (X and Z axis), it would be fairly easy to custom build your own devise with sufficient resolution to function at the required speed.
__________________
I'm Back


5279 (2015-Present)
3594 (2011)
3280 (2010)
1665 (2009)
1350 (2008-2009)
1493 (2007-2008)
1568 (2005-2007)
  #7   Spotlight this post!  
Unread 09-05-2011, 16:15
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,103
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Trackball motion tracking

Quote:
Originally Posted by lemiant View Post
something more like a trackball, it could be mounted between the front wheels
Keep in mind that will track only the point between the front wheels. It will not tell you where the back end of the robot is.


  #8   Spotlight this post!  
Unread 09-05-2011, 18:10
lemiant's Avatar
lemiant lemiant is offline
the Dreamer
AKA: Alex
FRC #4334 (Alberta Tech Alliance)
Team Role: Leadership
 
Join Date: Feb 2009
Rookie Year: 2008
Location: Calgary, AB, Canada
Posts: 562
lemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond repute
Re: Trackball motion tracking

My new alternative to achieve this is an IMU, if it was low enough cost and easy enough to use, it could work great.
  #9   Spotlight this post!  
Unread 09-05-2011, 19:11
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,103
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Trackball motion tracking

Quote:
Originally Posted by lemiant View Post
My new alternative to achieve this is an IMU, if it was low enough cost and easy enough to use, it could work great.
http://en.wikipedia.org/wiki/Inertia...#Disadvantages



  #10   Spotlight this post!  
Unread 09-05-2011, 23:01
StevenB StevenB is offline
is having FRC withdrawal symptoms.
AKA: Steven Bell
no team
Team Role: College Student
 
Join Date: May 2005
Rookie Year: 2005
Location: Stanford, CA
Posts: 416
StevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond repute
Re: Trackball motion tracking

There are a lot of ways to do robot odometry, each with their advantages and disadvantages. There is no one best solution; it all depends on what you need the system to do and - as my father who worked on ultra-high precision guidance systems would remind me - how much you're willing to pay.

Wheel encoders on driven wheels
This is the tried and true method: measure how much each wheel turns, and use this information to figure out the robot's position. You probably already have the hardware, and the software is pretty straightforward. But, as you've already ascertained, when the wheels slip, what you measure is actually how far the wheel spins, and not how far the robot moves. If you assume that the wheels never slip, you can derive your position from only two encoders.

Wheel encoders on non-driven wheels
This is an attempt to deal with the wheel slip problem caused by the above method, and could use encoders on omniwheels or a device similar to a traditional ball mouse. The problem is that this tends to result in fragile and/or high-precision components riding along on the carpet, risking damage, causing a small amount of friction, and picking up dust. Like the above method, you only need two encoders if your measurement wheels are parallel and you assume they don't slip. Three encoders is better; a trackball provides two axes but needs at least a third axis so you can determine rotation.

Pure IMU
Use a gyro and dual-axis accelerometer to calculate position. You could also use an off-the-shelf IMU, which typically includes a 3-axis gyro, a 3-axis accelerometer, and maybe a 3-axis magnetometer. The advantage is that an IMU is completely independent of your robot kinematics - it doesn't matter what drivetrain configuration you use, the algorithm is exactly the same. It works even if you're pushed sideways.

Mathematically, it's pretty straightforward to implement, but as Ether and others have pointed out, IMUs suffer from accumulated error. A gyro isn't too bad, since you only have to integrate rate to get the heading. But with an accelerometer, you're integrating twice to get from acceleration to position, and a tiny error can accumulate and hurt you pretty quickly. And with a 2-axis sensor, if your robot tips so that the accelerometer is no longer horizontal you'll be hosed in no time.
This is where my dad chimes in and says that if you're willing to pay $1M, you could use an IMU to get sub-millimeter accuracy for days... but in FIRST we have a parts budget to worry about.

Hybrid IMU/Encoders
It's pretty common to use wheel encoders to track distance and a gyro to measure heading. For our 15-second autonomous mode, you don't have to worry much about collisions and wheel slip, so the encoders are a pretty good solution. This is simpler and more accurate than what you'll probably be able to do with an inexpensive accelerometer.

Mouse sensors
Mouse sensors have a lot of advantages: they don't have to contact the tracking surface, have very high resolution, and are dirt cheap. However, they have several drawbacks: they are very sensitive to height, they have limited tracking speed, and they typically have to be very close to the tracking surface. The focus, tracking speed, and sensor height problems can be solved (or at least mitigated) by using a lens to focus the sensor on a larger patch of surface. The scale part of height sensitivity has also been solved, but it's a little trickier to implement.

Laser mice and optical mice work on exactly the same principles, and are subject to the same errors. Even if we could use laser mice, they would have the same problems.

A major part of my senior design project included making a robot navigation using a set of 6 optical mice, and I've posted some of my work on my website: http://www.botsnlinux.net/school_projects.php. In the unlikely event that I actually have free time this summer, I would like to adapt my system for an FRC bot and see how well it works. My gut sense is that I can probably get it to work at least as well as an encoder/gyro solution, but it will require a lot of experimentation and tuning. Unless there's a compelling advantage (such as in Lunacy), it probably isn't worth the effort during the build season.
__________________
Need a physics refresher? Want to know if that motor is big enough for your arm? A FIRST Encounter with Physics

2005-2007: Student | Team #1519, Mechanical Mayhem | Milford, NH
2008-2011: Mentor | Team #2359, RoboLobos | Edmond, OK
2014-??: Mentor | Looking for a team...

Last edited by StevenB : 09-05-2011 at 23:09.
  #11   Spotlight this post!  
Unread 09-05-2011, 23:27
lemiant's Avatar
lemiant lemiant is offline
the Dreamer
AKA: Alex
FRC #4334 (Alberta Tech Alliance)
Team Role: Leadership
 
Join Date: Feb 2009
Rookie Year: 2008
Location: Calgary, AB, Canada
Posts: 562
lemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond reputelemiant has a reputation beyond repute
Re: Trackball motion tracking

Quote:
Originally Posted by StevenB View Post
Hybrid IMU/Encoders
It's pretty common to use wheel encoders to track distance and a gyro to measure heading. For our 15-second autonomous mode, you don't have to worry much about collisions and wheel slip, so the encoders are a pretty good solution. This is simpler and more accurate than what you'll probably be able to do with an inexpensive accelerometer.
This is currently what we use, and it works great. I might like to do some extra coding on this method, but it should work quite well. The intent of this thread was give a robot the ability to track absolute position on the field and integrate it with perhaps laser scanning in order to allow the robot to avoid obstacles and perform something which is more like autonomous and less like recorded driving. I recognize that this level of capability is entirely unnecessary in FRC, but it would be REALLY cool.

Quote:
Originally Posted by StevenB View Post
Wheel encoders on non-driven wheels
This is an attempt to deal with the wheel slip problem caused by the above method, and could use encoders on omniwheels or a device similar to a traditional ball mouse. The problem is that this tends to result in fragile and/or high-precision components riding along on the carpet, risking damage, causing a small amount of friction, and picking up dust. Like the above method, you only need two encoders if your measurement wheels are parallel and you assume they don't slip. Three encoders is better; a trackball provides two axes but needs at least a third axis so you can determine rotation
I tried this in FTC this year and it SUCKED. I'm sure it could be done right, but we definitely did it wrong.

Quote:
Originally Posted by StevenB View Post
Pure IMU
Use a gyro and dual-axis accelerometer to calculate position. The advantage is that it is completely independent of your robot kinematics - it doesn't matter what drivetrain configuration you use, the algorithm is exactly the same. It works even if you're pushed sideways.

Mathematically, it's pretty straightforward to implement, but as Ether and others have pointed out, IMUs suffer from accumulated error. A gyro isn't too bad, since you only have to integrate rate to get the heading. But with an accelerometer, you're integrating twice to get from acceleration to position, and a tiny error can accumulate and hurt you pretty quickly. And if your robot tips so that the accelerometer is no longer horizontal, you'll be hosed in no time.
This is where my dad chimes in and says that if you're willing to pay $1M, you could use an IMU to get sub-millimeter accuracy for days... but in FIRST we have a parts budget to worry about.
I have however been looking at integrated IMU solutions (can't seem to find a link now). They have already done most of the work and I might be able to get accuracy of +-1.5" for 20 second for under a grand (I'm not sure, but you might run it by your dad). This would be the best solution, and would meet the requirements of any FRC team. (A small one which could handle +-0.5" for 40 seconds on 9 volts would also make your FTC team gods on the field.)

Last edited by lemiant : 09-05-2011 at 23:30.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 17:03.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi