|
|
|
![]() |
|
|||||||
|
||||||||
| View Poll Results: How mecanum drive effects a teams position on your pick list | |||
| Automatic DNP |
|
34 | 11.07% |
| Moved lower |
|
84 | 27.36% |
| Depends on performance |
|
161 | 52.44% |
| Nothing (does not effect position) |
|
22 | 7.17% |
| Other (please explain in thread) |
|
6 | 1.95% |
| Voters: 307. You may not vote on this poll | |||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
HOWEVER, to truly calculate the time, you need to factor in programming. A tank drive can be as simple as mapping two joystick axes to two PWM (or CAN) outputs (in teleop, anyway). A mecanum drive requires three joystick axes mapped to four PWM/CAN outputs, and the outputs can all be different (in theory at least, in practice it'll more likely be two and two, but which two changes a bit...). Sure you can use the pre-done stuff and adapt it--but you are going to want to tweak it to match your system, which may or may not be more trouble than it's worth. That extra time may be the difference between a so-so vision code or so-so automode and a good or great vision or automode. |
|
#2
|
||||
|
||||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
|
|
#3
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
But I wouldn't know this unless I've built a handful of omni directional drives (kiwi and a handful of mecanums) and fielded them. It's NOT as simple as people think. |
|
#4
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
EDIT: CG has far more of an effect than frame rigidity. Even 2 metal pneumatic tanks on one side caused strafing to deteriorate noticeably. Last edited by Max Boord : 29-08-2014 at 00:42. |
|
#5
|
||||
|
||||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
We can get vision processing code to work in the shop, but we haven't ever gotten it to work on a field with venue lighting and bandwidth limitations. We've also had communications issues with the camera and program lag with the camera turned on. These are solvable problems, but we have run out of time in the years when we tried to make it work. |
|
#6
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
Also, adding gyro feedback for field orriented drive is incredably simple until it starts to drift. |
|
#7
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
In my experience, this isn't a problem in the 2 minutes required to run a match.
|
|
#8
|
||||
|
||||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
You may want to qualify that with "in my experience with very low drift". I have seen large amounts of drift absolutely ruin a robot's ability to move reliably. Like always, strict tolerances are needed for a control system like this.
|
|
#9
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
I do recall a problem one time shortly after installation, but that was because we'd accidentally hooked to the temperature output. Does anyone know off hand what expected drift is over time? |
|
#10
|
|||||
|
|||||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
It's...complicated. Drift happens because you are taking an angular velocity measurement and integrating it over time. Small errors in velocity measurements add up to big errors in position given sufficient time. There are many sources of errors, some of which are random and others of which are systemic:
1) Bias drift. MEMS gyros are sensitive to temperature...and they self-heat when powered. Several minutes after booting your cold robot, the gyro will think it is spinning because the null voltage when it was calibrated with has changed. Leaving your robot on for several minutes prior to match start (and recalibrating the gyro soon before the match starts) helps somewhat. 2) Axial misalignment. If your gyro is not perfectly level with the field, you will accumulate small errors over time. Aligning the gyro to your frame is one thing; going over a bump or doing a wheelie on the field is another. 3) Saturation. If your gyro measures up to 250 deg/s rotation and you spin faster than that, you will underestimate your rate of turn and drift will accumulate quickly. 4) ADC discretization and conversion noise. Your analog measurements lose some precision during the conversion to a digital measurement. Carefully selecting the bandwidth to use during sampling helps somewhat, though narrower bandwidth may limit your ability to sense rapid turns. 5) Cross axis sensitivity. Unfortunately, it turns out that gyros only MOSTLY measure angular velocity...they also pick up linear accelerations (typically <1% of cross axis sensitivity, but every little bit counts when integrating). 6) Thermomechanical noise. Unfortunately, even if you perfectly compensate for all of the other factors, Brownian motion occurs within the gyro and will add up over time. There is nothing you can do about this one other than to buy a more expensive gyro. Various specs for all of these factors are available for most gyros. Turning this into a "degrees per minutes" position drift estimate is possible using complex math; for the KOP gyro from a few years back (which I believe is still the gyro available through FIRST Choice as of last season), about 200 degrees per hour is the quoted drift rate. Drift in position occurs exponentially, so in about a minute you would expect ~.05 degrees of drift...IF you perfectly account for the accountable factors above (which is almost never the case in FRC). In my experience, a degree or two of position drift per minute is more achievable (as long as you don't spin too fast and stay on a flat and level field). |
|
#11
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
If you observed drifting of more than 10 degrees per minute and the robot wasn't saturating or shaking the gyro, what would you think? Would that be typical of the FRC gyro, or would that indicate a bad sensor?
|
|
#12
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
We have not seen any of the recent kit provided gyros net that bad of a drift. I think bullet point #1 in Jared's list is the biggest culprit to gyro drift in a typical FRC match. Competitions are usually held in cold arenas and your robot won't start moving until a minute or two after you turn it on. We map a button on our operator console to reset the gyro calibration, and print out the current integrated angle so the driver can assess if they need to reset it. Ideally this is something we do automatically next year.
|
|
#13
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
One thing I would like to test is driving a field centric drive with a very large gyro drift (say +/-10 degrees).
If the driver can see the robot, I don't think a drift that large will matter (in tele-op). An interesting question would be, "How long can someone drive a field centric drive before performance suffers from gyro drift?" I'd hypothesize that you wouldn't see a big difference in performance until drift reached ~15 degrees. Coming back around to my questions, if performance doesn't suffer with 10 degrees of drift, I don't think gyro drift should be a concern preventing teams from using field centric drives. |
|
#14
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
Once you realize the problem exists things don't get much better. Your robot will start driving in ever shrinking circles when you press forward. Quote:
The main reason I think field-centric control it is not used more is fear of a delicate piece electronics being trusted to control a drive train. In addition, robot-centric is not that hard to understand. |
|
#15
|
|||
|
|||
|
Re: Penalizing mecanum wheeled robots durring alliance selection.
Quote:
When you integrate the error of rotation, you get an error in position. What was discussed was that after the gyro runs for sixty seconds, the cumulative error is about 2-3 degrees, not 120 to 180 degrees. Yes, a field centric robot that is off by 2-3 degrees per second is going to be difficult to drive, but I'd say something is fundamentally wrong with the system you're referencing (gyro not calibrated, pin out is wrong, code is wrong). |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|