|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Re: Holonomic + gyro/PID
I disagree. There is generally not enough slip to make a difference. I would argue that an accelerometer is an almost useless sensor for FRC robots, since we have access to encoders, which measure much more precisely than accelerometers.
I would actually argue that it is easier for a driver to drive the robot directly (robot-centric) than field-centricly, since 1. it is easier to drive, and 2. once you get used to driving, it is very nice to have direct control of where you want your robot go go. Just because you have a holonomic drive, that does not mean it must use a gyro and be field-centric. |
|
#2
|
|||
|
|||
|
Re: Holonomic + gyro/PID
We've seen wheelspin when accelerating quickly, and the wheels will slip when the robot gets hit hard. Both of those are relatively common in a match, so the encoders will no longer be at the correct position. This doesn't mean that encoders are useless sensors, but that they aren't a magic bullet. A clever algorithm would decide which one is more likely to be right, and use it to correct the other one based on the measured conditions.
|
|
#3
|
|
|
Re: Holonomic + gyro/PID
Quote:
http://www.chiefdelphi.com/media/photos/32440 ![]() |
|
#4
|
|||
|
|||
|
Re: Holonomic + gyro/PID
Which work best on flat ground. Not a problem in 2009 when the ground was flat, but I wouldn't have been willing to put them on our robot this year.
|
|
#5
|
|||||
|
|||||
|
Re: Holonomic + gyro/PID
Kris noted the simplest use of a yaw rate sensor and it's easiest implementation: driving straight. We have used this technique on most of our 'bots, holonomic, treaded & wheeled, since 2004. The algorithm is a simple multiplier on the yaw rate detected. We usually determine it empirically, This is added to the motor outputs to create an automatic, opposite spin to the measured yaw rate. When driving straight, the yaw rate is close to zero, so the effect is nil...easy and powerful. Add in a small deadband around zero yaw rate, if it wants to twitch when still. This also helps, if someone is trying push on a corner of your 'bot. Typically we give the driver a button or switch, to turn the effect on and off. We always want the driver to have the final decision on handling.
We've used the gyro for field-centric control, as well. Our results are mixed - a great implementation with our 2004 holonomic 'bot, and a rather disastrous implementation with our swerve drive, last year. Give yourself a lot of time for driver training and robot testing. Eric |
|
#6
|
||||
|
||||
|
Re: Holonomic + gyro/PID
Quote:
|
|
#7
|
|||
|
|||
|
Re: Holonomic + gyro/PID
Wow you guys are all really helpful! I think two separate issues are coming up here, mostly due to my ignorance.
1) Driver-centric vs. Robot-centric: It seems that this issue is not related to the type of drive train. For example, by turning the joystick into a polar coordinate, if I push the joystick to (0.5,pi/4), then I could see using a gyro to constantly PID to the angle even without holonomic wheels. Error in this case could be caused by the gyro, which if it mounts up might require the driver to zero the gyro midway through the match. 2) Holonomic vs….well, non-holonomic: Having never tried a holonomic drivetrain, I was wondering if error could mount up naturally. For example, pushing the joystick to (0.5, pi/4) might for some reason not move the robot at precisely this amount due to environmental factors. I was wondering if teams use a gyro or other sensors to deal with this, but maybe this isn’t a significant problem. I'd appreciate any attempts to help clarify this stuff for me. Thanks ![]() |
|
#8
|
||||
|
||||
|
Re: Holonomic + gyro/PID
Quote:
The only reason holonomic is different is because it has three degrees of freedom, and it's annoying for the driver if, for example, he's got a Halo-style interface and he has to continuously hold a rotation command in order to keep the robot from rotating while he's busy working the fwd/rev and strafe joystick. That's when gyro feedback or a "calibrate" button on the joystick is nice to have. |
|
#9
|
|||
|
|||
|
Re: Holonomic + gyro/PID
Alright, I'm starting to understand. In the case of holonomic, there is usually joystick 1 (fow/rev and strafe), and joystick 2 (rotation). Would it be advisable to use a P/PID function that controls the rate of rotation of the robot? For example, if joystick 2 is at (0,0) but the gyro senses 5deg/sec, make some corrections. No reason to use P/ID on fow/rev and strafe?
|
|
#10
|
||||
|
||||
|
Re: Holonomic + gyro/PID
Quote:
Quote:
But you can if you want. Here's one way. Quote:
Last edited by Ether : 20-12-2010 at 14:25. |
|
#11
|
|||
|
|||
|
Re: Holonomic + gyro/PID
Cool, even if it isn't necessary during driver control, it would likely be for autonomous mode.
Thank you so much! |
|
#12
|
|||||
|
|||||
|
Re: Holonomic + gyro/PID
...insufficient testing to uncover errors in the steering motor's output logic coupled with a bad Cypress board and a hardware issue with our CAN bus. Using the sensor to determine field orientation angle worked fine. We ditched the Cypress board, fixed the CAN issues and reverted back to robot-oriented control and what you are calling a halo-style driving scheme. We just did not have time to untangle the logic.Last edited by EricS-Team180 : 21-12-2010 at 08:28. |
|
#13
|
||||
|
||||
|
Re: Holonomic + gyro/PID
Quote:
I'm not asking you to answer all those questions (unless you want to, which would be great). Those are just the questions I've been thinking about - if anybody wants to discuss. Last edited by Ether : 21-12-2010 at 11:13. |
|
#14
|
||||
|
||||
|
Re: Holonomic + gyro/PID
I know in 2009, team 1983 Skunkworks used swerve drive. They didn't have continuous-turn potentiometers, and so when they needed to turn past a certain point, they would flip the module 180 degrees and reverse the direction of their drive motors. It worked surprisingly smoothly, but that may be in part due to the low coefficient of friction.
Here's a drawing of their drive base: http://www.chiefdelphi.com/media/photos/32444 |
|
#15
|
||||
|
||||
|
Re: Holonomic + gyro/PID
Quote:
I'm certainly not recommending this, but suppose for example they located it at the 12 o'clock (straight-ahead) position. I can imagine a lot of weird wheel movement going on when trying to drive straight ahead with small directional changes. So I wonder where's the best place to put it. Perhaps it depends on the game played played. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Holonomic issues | dwodrich | NI LabVIEW | 11 | 02-02-2010 21:19 |
| Holonomic Programming??? | sknkmeistermatt | Programming | 2 | 12-02-2008 15:47 |
| Gyro PID User drive - How we did it | adamdb | Programming | 17 | 26-02-2007 20:16 |
| Holonomic... | Greg Perkins | Technical Discussion | 2 | 02-02-2005 11:59 |
| holonomic drives | Max Lobovsky | Technical Discussion | 5 | 10-03-2004 21:31 |