Go to Post Rain? Prepare for Armageddon to strike when you go to St. Louis. Two years in St. Louis. Two years of Tornado scares. Tis the season. - Koko Ed [more]
Home
Go Back   Chief Delphi > Technical > Programming
Team 51   CD-Events   CD-Media   CD-Swap   CD-Spy   FRC-Spy   Unsung FIRST Heroes   WFA
portal register members calendar search Today's Posts Mark Forums Read FAQ rules
VEXpro
The Chief Delphi Forums are sponsored by Innovation First International, Inc.
Genisys
ADVERTISEMENT

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 05-02-2010, 01:18 PM
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
>e, 7h3 5up3rn47ur4l
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,052
PAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond repute
potential future white paper: swerve drive implementation

I was thinking of posting, at some point in the future (not necessarily before kickoff or even the end of build season, it depends on a number of factors), a white paper on swerve drive implementation and formula generation technique for any given drive base. basically, a guide to creating mathematical formulas to control a swerve drive base regardless of size, shape, or number of modules. It will also briefly talk about driver controls and sensors.

I just wanted to tell you about this and was wondering if there were any suggestion or comments you would like to share or questions you would like answered.

Any feedback will be appreciated.
__________________
rambots.net
Promo video (played in our pit in St. Louis)
Reply With Quote
  #2   Spotlight this post!  
Unread 05-02-2010, 03:10 PM
apalrd's Avatar
apalrd apalrd is offline
Embedded Programmer
AKA: Andrew Palardy (Most people call me Palardy)
FRC #0033 (Killer Bees)
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,153
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

Would you be talking about the math behind the steering only, or the implementation in software as well? Both would be useful to many.
__________________
Kettering University - Electrical Engineering
Kettering University SAE Teams
Chrysler Powertrain - Controls and Calibration

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
Reply With Quote
  #3   Spotlight this post!  
Unread 05-02-2010, 07:58 PM
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
>e, 7h3 5up3rn47ur4l
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,052
PAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

Mainly the math, but It will probably also include some information on programing as well. It really all depends on if my algorithms work the way I think they will. Testing that is the main reason for holding out on posting the actual paper for such a long period of time.
__________________
rambots.net
Promo video (played in our pit in St. Louis)
Reply With Quote
  #4   Spotlight this post!  
Unread 05-02-2010, 09:03 PM
Gdeaver Gdeaver is offline
Registered User
FRC #1640
Team Role: Mentor
 
Join Date: Mar 2004
Rookie Year: 2001
Location: West Chester, Pa.
Posts: 1,049
Gdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

Team 1640 did swerve for the first time this year. As part of our off season design project several papers were developed. Mostly the math. You may want to look at them.
This is the first paper after the summer work.
http://wiki.team1640.com/images/8/85...heel_Drive.pdf
This is a paper commenting on the summer project.
http://wiki.team1640.com/images/6/60...rive_Robot.pdf
This is the final paper commenting on crab with orientation control. Mode1 in the paper was implemented on the 2010 robot. Mode 2 is tough because it requires tracking states and would require some feed forward algorithms.
http://wiki.team1640.com/images/3/3a...Twist_edit.pdf
Browse our website for the mechanical implementation.
Comments and comparisons to your work are welcome.
Reply With Quote
  #5   Spotlight this post!  
Unread 05-02-2010, 09:05 PM
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 789
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: potential future white paper: swerve drive implementation

Isnt it just simple as getting the angle of the joystick relative to the center of the joypad., which is using tangents. Then get the distance of the joypad from the center, which would be the speed.... Doesnt sound all that complicated as people make it out to be...
Reply With Quote
  #6   Spotlight this post!  
Unread 05-02-2010, 11:25 PM
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
>e, 7h3 5up3rn47ur4l
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,052
PAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

Quote:
Originally Posted by Gdeaver View Post
Team 1640 did swerve for the first time this year. As part of our off season design project several papers were developed. Mostly the math. You may want to look at them.
This is the first paper after the summer work.
http://wiki.team1640.com/images/8/85...heel_Drive.pdf
This is a paper commenting on the summer project.
http://wiki.team1640.com/images/6/60...rive_Robot.pdf
This is the final paper commenting on crab with orientation control. Mode1 in the paper was implemented on the 2010 robot. Mode 2 is tough because it requires tracking states and would require some feed forward algorithms.
http://wiki.team1640.com/images/3/3a...Twist_edit.pdf
Browse our website for the mechanical implementation.
Comments and comparisons to your work are welcome.
The graphs in the second paper resemble graphs generated with by algorithms, which is comforting, but they are not the same algorithm. The technique you use focuses on achieving goals that with my technique are simply after thoughts that a good driver could still probably approximately mimic. My algorithms focus more on a maneuver that is not present in your calculations, but you do include a replacement for this maneuver.

I also was considering some form of drifting 'snake' maneuver, similar to our '09 bot, but I decided Against it for the experiment I'm running <although the Algorithm that the paper will describe can be used to figure out how to do this, and the calculations have been run, I just don't think that I will use them.>

One advantage I see with your algorithm is simpler math, that is, not necessarily lower level, just less of it.
__________________
rambots.net
Promo video (played in our pit in St. Louis)
Reply With Quote
  #7   Spotlight this post!  
Unread 05-02-2010, 11:35 PM
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
&amp;amp;gt;e, 7h3 5up3rn47ur4l
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,052
PAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

Quote:
Originally Posted by davidthefat View Post
Isnt it just simple as getting the angle of the joystick relative to the center of the joypad., which is using tangents. Then get the distance of the joypad from the center, which would be the speed.... Doesnt sound all that complicated as people make it out to be...
That would be CRAB drive, the simpler, less maneuverable cousin of swerve drive.
__________________
rambots.net
Promo video (played in our pit in St. Louis)
Reply With Quote
  #8   Spotlight this post!  
Unread 05-03-2010, 09:01 AM
JamesBrown JamesBrown is offline
Finally An Engineer
FRC #3280
Team Role: Engineer
 
Join Date: Nov 2004
Rookie Year: 2005
Location: Lynchburg VA
Posts: 1,151
JamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

Quote:
Originally Posted by davidthefat View Post
Isnt it just simple as getting the angle of the joystick relative to the center of the joypad., which is using tangents. Then get the distance of the joypad from the center, which would be the speed.... Doesnt sound all that complicated as people make it out to be...
http://www.firstwiki.net/index.php/D...n#Swerve_Drive

Briefly explains that Crab drive is a type of swerve drive where all wheels are turned to the same angle (either through hardware connections, or due to a simplified algorithm like the one you describe).
__________________
6 Teams 7 Years


3594 (2011)
3280 (2010)
1665 (2009)
1350 (2008-2009)
1493 (2007-2008)
1568 (2005-2007)
Reply With Quote
  #9   Spotlight this post!  
Unread 05-20-2010, 10:05 PM
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
&amp;amp;gt;e, 7h3 5up3rn47ur4l
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,052
PAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

What math level should I write for? I was thinking Algebra II but I also thought it would be beneficial to open up access to teams without that level of experience. How much in depth should I go? Should I walk through the derivation of the method step by step, or should I just present the general formulas and algorithms and point out the various constants and variables and what they are in real life (as opposed to on paper or in code)?

-Alan
__________________
rambots.net
Promo video (played in our pit in St. Louis)
Reply With Quote
  #10   Spotlight this post!  
Unread 05-21-2010, 10:28 AM
JamesBrown JamesBrown is offline
Finally An Engineer
FRC #3280
Team Role: Engineer
 
Join Date: Nov 2004
Rookie Year: 2005
Location: Lynchburg VA
Posts: 1,151
JamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond reputeJamesBrown has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

I think that an Algebra 2 level should be fine (assuming you actually meant Algebra 2) I would imagine that all teams would have members who have taken math up to Algebra 2, all mentors should also have this level of understanding.

I personally thing that the Derivations would be useful as a learning tool for students, that being said I would not include any derivations that a HS student with knowledge of Algebra 2 and Geometry couldn't do (i.e. no Calc, and nothing other than sin/cos/tan as far as Trig)
__________________
6 Teams 7 Years


3594 (2011)
3280 (2010)
1665 (2009)
1350 (2008-2009)
1493 (2007-2008)
1568 (2005-2007)
Reply With Quote
  #11   Spotlight this post!  
Unread 05-21-2010, 07:58 PM
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
&amp;amp;gt;e, 7h3 5up3rn47ur4l
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,052
PAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

Quote:
Originally Posted by JamesBrown View Post
I think that an Algebra 2 level should be fine (assuming you actually meant Algebra 2) I would imagine that all teams would have members who have taken math up to Algebra 2, all mentors should also have this level of understanding.

I personally thing that the Derivations would be useful as a learning tool for students, that being said I would not include any derivations that a HS student with knowledge of Algebra 2 and Geometry couldn't do (i.e. no Calc, and nothing other than sin/cos/tan as far as Trig)
OK, thanks for the feedback, sounds good to me.
__________________
rambots.net
Promo video (played in our pit in St. Louis)
Reply With Quote
  #12   Spotlight this post!  
Unread 05-24-2010, 03:44 PM
virtuald virtuald is offline
Registered User
AKA: Dustin Spicuzza
FRC #2423 (Kwarqs)
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Massachusetts
Posts: 370
virtuald is a splendid one to beholdvirtuald is a splendid one to beholdvirtuald is a splendid one to beholdvirtuald is a splendid one to beholdvirtuald is a splendid one to beholdvirtuald is a splendid one to behold
Send a message via AIM to virtuald
Re: potential future white paper: swerve drive implementation

Swerve Drive is really easy to implement if you ignore the actual control of the motors and just look at it abstractly (ie.. point motor to angle and run it at some speed). Of course, there are some optimizations you can do to ensure smoother operation past just the pure mathematical analysis.

I created a spreadsheet to simulate a swerve drive and its calculations (by using a graph to model the direction/speed of the wheels): http://www.virtualroadside.com/blog/...l-spreadsheet/

We also released the source code for our robot that year (which includes its swerve drive code), which can also be found elsewhere on my website.
__________________
--Innovation is just a problem away

2012 & 2013 Boston Regional Innovation in Control Award

NetworkTables for PC in a python module: https://github.com/robotpy/pynetworktables
FRC Software Resources (including 2012 python code): http://www.virtualroadside.com/FRC/
WPILib Doxygen Repo: http://www.virtualroadside.com/WPILib/index.html
Reply With Quote
  #13   Spotlight this post!  
Unread 05-24-2010, 04:26 PM
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
&amp;amp;gt;e, 7h3 5up3rn47ur4l
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,052
PAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond reputePAR_WIG1350 has a reputation beyond repute
Re: potential future white paper: swerve drive implementation

Quote:
Originally Posted by virtuald View Post
Swerve Drive is really easy to implement if you ignore the actual control of the motors and just look at it abstractly (ie.. point motor to angle and run it at some speed). Of course, there are some optimizations you can do to ensure smoother operation past just the pure mathematical analysis.

I created a spreadsheet to simulate a swerve drive and its calculations (by using a graph to model the direction/speed of the wheels): http://www.virtualroadside.com/blog/...l-spreadsheet/

We also released the source code for our robot that year (which includes its swerve drive code), which can also be found elsewhere on my website.
Yes, but not really, for people who breeze through vector calculus like it was nothing, swerve drive is nothing (and this is swerve drive, not crab which is really easy to program), but some teams don't have any team members with higher level math skills. The idea of this paper is to provide an out of the box formula for any swerve drive base regardless of size, shape, or number of wheels. Also, it doesn't involve any calculus at all. in addition, mechanical and electrical implementation of swerve will also be discussed. Currently the paper is not very much more than a plan, but the idea of using tables and arrays for swerve drive is one of the planned topics of discussion, although how to do it is not.
__________________
rambots.net
Promo video (played in our pit in St. Louis)
Reply With Quote
  #14   Spotlight this post!  
Unread 06-16-2010, 01:45 PM
Nadav Zingerman Nadav Zingerman is offline
Registered User
FRC #2230
Team Role: Programmer
 
Join Date: Jul 2009
Rookie Year: 2009
Location: Israel
Posts: 90
Nadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to beholdNadav Zingerman is a splendid one to behold
Re: potential future white paper: swerve drive implementation

Quote:
Originally Posted by PAR_WIG1350 View Post
Yes, but not really, for people who breeze through vector calculus like it was nothing, swerve drive is nothing (and this is swerve drive, not crab which is really easy to program), but some teams don't have any team members with higher level math skills. The idea of this paper is to provide an out of the box formula for any swerve drive base regardless of size, shape, or number of wheels. Also, it doesn't involve any calculus at all. in addition, mechanical and electrical implementation of swerve will also be discussed. Currently the paper is not very much more than a plan, but the idea of using tables and arrays for swerve drive is one of the planned topics of discussion, although how to do it is not.
There is no calculus involved in that spreadsheet. If anyone really want to use an "out of the box" formula without really understanding it, all they have to do is translate the Excel formulas into code.
Reply With Quote
  #15   Spotlight this post!  
Unread 07-14-2010, 01:33 PM
brianc217's Avatar
brianc217 brianc217 is offline
Registered User
None #1153
 
Join Date: Feb 2008
Location: Walpole, MA
Posts: 36
brianc217 is an unknown quantity at this point
Re: potential future white paper: swerve drive implementation

My team tried to do a crab drive system this year but we found that the chassis would not maintain its orientation as we had assumed.
Does anyone know why this might have happened?

I tried implementing some correction code that would look at the gyro and compensate by speeding up one side or slowing down the other with some success but it wasn't perfect.

I also tried making sure all the wheels were going the same speed using rotation sensors and PID but could never get it to work. There was too much lag. Has anyone got this to work with this or a different method?

Thanks. I would appreciate any feedback. It would let me sleep easier at night!
__________________
http://walpolerobotics.org
Reply With Quote
Reply


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
paper: Cyber Blue 234 - Swerve Implementation Presentation Chris Fultz Extra Discussion 10 05-24-2010 07:19 AM
paper: Cyber Blue 234 - Swerve Drive Project Chris Fultz Extra Discussion 1 04-28-2010 04:02 PM
Potential Issue with the C++ CANJaguar Implementation mattbutts WindRiver C++ 2 02-19-2010 12:26 PM
paper: FIRST Drive Trains and Implementation, Championship Conference Presentation Madison Extra Discussion 2 05-07-2008 12:44 PM
White Paper Discuss: NEMO White Paper: 25 Ways Sponsors Can Help Your Team Jessica Boucher Extra Discussion 1 11-20-2005 07:01 PM


All times are GMT -5. The time now is 03:28 AM.

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


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright © Delphi and Pontiac Central High School