View Single Post
  #2   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.