|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
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 |
|
#2
|
||||
|
||||
|
Re: Holonomic + gyro/PID
Quote:
|
|
#3
|
|||
|
|||
|
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 ![]() |
|
#4
|
||||
|
||||
|
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. |
|
#5
|
|||
|
|||
|
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?
|
|
#6
|
||||
|
||||
|
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. |
|
#7
|
|||
|
|||
|
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! |
|
#8
|
|||||
|
|||||
|
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. |
|
#9
|
||||
|
||||
|
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. |
|
#10
|
||||
|
||||
|
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 |
|
#11
|
||||
|
||||
|
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. |
|
#12
|
||||
|
||||
|
Re: Holonomic + gyro/PID
Well, it was a 7/8ths turn potentiometer, so they definitely had some leeway.
I think they didn't switch it until they had to; instead of switching at 3 and 9, they switched at 5 when turning CW, and 7 when turning CCW. |
|
#13
|
|||
|
|||
|
Re: Holonomic + gyro/PID
Hi,
We used a field oriented drive system this year, it definitely made Breakaway SO much easier. We originally used a compass to read the directions, but quickly realized that there was too much interference around the sensor. We then used a gyro to do it. The WPILib version of holonomic drive is NOT advised, we found many small errors in it, in addition to the fact that the code was labeled as "Experimental". The Error you are referring to is likely the walking of the gyro. We noticed little to no error after only the 2.5 mins of a match, even while crossing the bumps 3-5 times per match. Actually, using a holomonic drive system made this easier. The field oriented drive system allows us to have many usefull features: 1) Easier control: Anyone can use it...point in a direction, and the bot goes that way! 2) Auto aligning features: Hit a button and line up for the bump automatically, while all you do it point in the direction of the bump. 3) Auto hang aligning: Again, hit a button and drive directly towards the tower; bot will align to it by itself 4) Drive in a direction: We refer to it as "the trigger". While we are driving towards a ball, regardless of if the bot is facing towards the ball, as we drive to it (using the shortest possible distance) the bot will turn in that direction, eliminating the need to stop, turn, then drive. these are only a couple features that we had. This is a quick video we made while testing: http://www.youtube.com/watch?v=HT3WhTcQvw4 Not all features are noted here I should also note we used a 3 axis joystick, so there was only one-easy to use-joystick for robot motion control. If you saw us in action at some later competitions (mostly off season) you can see us "having fun" on the field sometimes. |
|
#14
|
||||
|
||||
|
Re: Holonomic + gyro/PID
Quote:
What type of drivetrain did you use? |
|
#15
|
|||
|
|||
|
Re: Holonomic + gyro/PID
Quote:
|
![]() |
| 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 |