|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Re: Swerve drive with automatic rotation?
We didn't have swerve but we had a fully omni-directional drive with driver centric control software. It was a very intuitive way to drive the robot. Our driver could pick up a tube and while driving back to the base either manually turn the robot with his right joystick or hit a single button and have it swing around to face him, all while just pulling the left joystick back to keep it moving towards the rack. A PID loop is running constantly to hold the orientation of the robot so even if it is hit it will turn back to the correct orientation. This could very easily and I believe has been implemented on independently steered swerve robots.
Having the robot automatically turn to the direction of travel would not be difficult but I don't think it would be all that beneficial. When you wanted to strafe the robot would turn to that orientation instead of sliding sideways. Initially our design process lead us to believe that a fully omni-directional swerve drive train would be best for this years game, manufacturing and cost limitations prevented us from attempting to build it. |
|
#2
|
|||||
|
|||||
|
Re: Swerve drive with automatic rotation?
The reason I think the auto rotation would be effective is because it would enable you to quicly and easily pick up tubes around the robot. All the driver has to do is drive towards the tube. I agree that classic strafe/arcade would be better for scoring though.
|
|
#3
|
|||||
|
|||||
|
Re: Swerve drive with automatic rotation?
We have the 4 top buttons of the joystick act as rotation setpoints. It makes it very easy for our driver to get our collector to the right orientation for the tube. A drive mode that moved in the direction of travel could be pretty easy to implement and could be another option for tube pickup.
Also note that we don't use the arcade and strafe control interface instead we have our left joystick do robot x and y velocity and the right one controls rotation. |
|
#4
|
||||
|
||||
|
Re: Swerve drive with automatic rotation?
Quote:
|
|
#5
|
||||
|
||||
|
Re: Swerve drive with automatic rotation?
Team 79 has always done this with our swerve drives (03,04,05,11). In years past we used modules with the drive motor attached, and the front and rear were steered separately. This year we have a coaxial design, each wheel is driven independently, and the front and rear are steered separately. we only use one stick to drive, but have different driving modes.
Crab Mode: standard Crab driving, robot translates in any direction while maintaining the robotics original orientation. Power Caster: rear wheels rotate 90 degrees, while front stay straight. works similarly to car drive Hurricane/Tank: standard tank drive, allows robot to rotate along its center axis. all driving modes use a gyro and accelerometer. I'm mechanical and don't fully understand it, but I can put you in contact with someone who does. |
|
#6
|
||||
|
||||
|
Re: Swerve drive with automatic rotation?
Quote:
|
|
#7
|
||||
|
||||
|
Re: Swerve drive with automatic rotation?
last year we had crab drive and had this really complicated function that allowed you to move the robot in the direction you move the joystick. no matter how the robot was oriented it would drive that direction in a straight line. it made it extremely easy to drive. the only time we had problems was when the steering chain came off. we just had to reset the "tophat" encoder for the steering when that happened though. no problems with the gyro drifting...
|
|
#8
|
||||
|
||||
|
Re: Swerve drive with automatic rotation?
Quote:
|
|
#9
|
||||
|
||||
|
Re: Swerve drive with automatic rotation?
well the wheels had to turn to 90 to make the long side as the forward for Z our iri robot was made long side first, which took out this need. our crab-drive couldn't turn forever, so we had to be sure not to twist off of cim wires, thus we had to count to a certain point before our wheels would twist back to where there was no wrap. we also had to create a function that converted the counts from 0 to 360 no matter what the count. then a pass that into another function that decided the closest way to get to the heading determined by the joystick. then had to do vector addition from the joystick to create a magnitude from 0 to 1 along with a degree for the heading. on top of that, using the gyro to correct to where you where "pointing with the joystick" is where you where going. also the pid used on the steering... it was a huge head ache that pretty much created a mentor programmed robot... which was pretty much trying to make a crab drive have the ability to maneuver like mecanums...
this year was different... however some people on the team that had no idea what went into creating all of the stuff above, which may not be all of it, wanted something similar with this years robot which is a 6 wheel drive... i told them no, because there was no reason to do so with such a simple drive system. |
|
#10
|
||||
|
||||
|
Re: Swerve drive with automatic rotation?
Quote:
Code:
error = atan2(Xj,-Yj)*180/pi - gyroAngle; error = error-360*floor(0.5+error/360); "gyroAngle" is in degrees clockwise "error" is the clockwise angle error in degrees. It is the shortest path to the target. Last edited by Ether : 22-03-2011 at 11:08. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|