Go to Post Great things don't just happen to HoF teams; HoF teams make great things happen. - Siri [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #11   Spotlight this post!  
Unread 16-04-2007, 16:33
Jimmy Cao Jimmy Cao is offline
Registered User
AKA: Jimmy Cao
no team
 
Join Date: Sep 2006
Rookie Year: 2004
Location: San Francisco, CA
Posts: 295
Jimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant futureJimmy Cao has a brilliant future
Re: Crab / Swerve drive joystick control scheme

Quote:
Originally Posted by BRosser314 View Post
469 had 2 joysticks, one for translation and one for the rotation, this setup was very simple, even for me which just drove the joysticks for about 3 minutes, and i thought it was simple
To start with a concept: The robot is always rotating around an imaginary point, somewhere. Putting the point at infinity causes the robot to go straight.

To be a little more in depth about our controls, we used one stick to control the magnitude and direction of translations. The other one controlled the magnitude of rotations. We use both the X and Y axis on translation, and only the X axis for rotation.

Through a direct ratio of the 2 sticks (since the robot can only be outputting 100% power at any time, therefore it cannot be rotating at 100% and translating at 100% at the same time), the "imaginary point" was decided via software. The point was placed along a line, generated by the angle of the translation stick, and the exact point being dictated by the magnitude of the rotation stick. If the rotating stick stayed at 127, then the point is off at "infinity" (or actually 1618 feet or something, due to software limits on handling large numbers (we needed to square that number)). The further the rotation stick moved away from 127 the closer the "imaginary point" got to the robot.

Now, we draw an imaginary line from the "imaginary point" to each of the wheels, and draw another line perpendicular to that first line. The second line is where the wheels should be pointing to achieve the desired translation/rotation/combination of both.

For example, if the translation stick is at 127, and the rotation stick is at 255, the imaginary point would be placed in the center of the robot, and the wheels will be placed perpendicular the the line between that point and the wheel (via closed loop PID control). Since only the rotation stick is being used, 100% of the power output of the robot will be dedicated to rotations.

Now, lets say the rotation stick is at 127 and the translation stick is at (0,127) which is completely left. The point will be placed infinitely far in front of the robot (infinitely being 1618 feet) away from the robot, and put the wheels perpendicular to the line leading from the point the each of the wheels. Then, 100% of the drive power is devoted to translating (which is actually not true, it's devoted to rotating about a point VERY far away).

The advantage of this system is that it's capable of both translating, rotating, and both at the same time, with relative ease (well that's a lie... it's hard to program)

By the way, this is only possible for 4 independently steered wheels. I have no idea how to do it if you use linked. I guess the easiest way is to use 1 stick purely for translations, and one purely for rotations, skid stearing. With translations, it's easy, point in that direction, and move. With rotations, I would say point them all forward and turn... like a normal 4wd system.

If you want to know more feel free to PM me and i'll explain the system to the best of my knowledge.
__________________
Jimmy Cao

Team 469 2006-2010 Student/Alumni
Team 830 2011-2012 Mentor

Last edited by Jimmy Cao : 16-04-2007 at 19:16.
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Simple Swerve/Crab Rob2713g Technical Discussion 4 20-03-2007 19:00
Swerve drive control system dpick1055 Programming 8 22-01-2007 19:06
Swerve/Crab Rob2713g Technical Discussion 5 12-11-2006 22:05
Control Scheme Drok00 Control System 5 19-01-2006 16:57
Swerve/crab drive and tank turning activemx Technical Discussion 9 23-02-2004 18:26


All times are GMT -5. The time now is 23:47.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi