Go to Post No amount of sleep beforehand will make up or prepare you for the lack of sleep you will receive during build season. - Dan Petrovic [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

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 02-05-2010, 14:18
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
Registered User
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,190
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.
__________________
  #2   Spotlight this post!  
Unread 02-05-2010, 16:10
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
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 - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
  #3   Spotlight this post!  
Unread 02-05-2010, 20:58
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
Registered User
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,190
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.
__________________
  #4   Spotlight this post!  
Unread 02-05-2010, 22:03
Gdeaver Gdeaver is offline
Registered User
FRC #1640
Team Role: Mentor
 
Join Date: Mar 2004
Rookie Year: 2001
Location: West Chester, Pa.
Posts: 1,370
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.
  #5   Spotlight this post!  
Unread 02-05-2010, 22:05
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
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...
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
  #6   Spotlight this post!  
Unread 03-05-2010, 00:25
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
Registered User
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,190
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.
__________________
  #7   Spotlight this post!  
Unread 03-05-2010, 00:35
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
Registered User
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,190
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.
__________________
  #8   Spotlight this post!  
Unread 03-05-2010, 10:01
JamesBrown JamesBrown is offline
Back after 4 years off
FRC #5279
Team Role: Engineer
 
Join Date: Nov 2004
Rookie Year: 2005
Location: Lynchburg VA
Posts: 1,281
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).
__________________
I'm Back


5279 (2015-Present)
3594 (2011)
3280 (2010)
1665 (2009)
1350 (2008-2009)
1493 (2007-2008)
1568 (2005-2007)
  #9   Spotlight this post!  
Unread 20-05-2010, 23:05
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
Registered User
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,190
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
__________________
  #10   Spotlight this post!  
Unread 21-05-2010, 11:28
JamesBrown JamesBrown is offline
Back after 4 years off
FRC #5279
Team Role: Engineer
 
Join Date: Nov 2004
Rookie Year: 2005
Location: Lynchburg VA
Posts: 1,281
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)
__________________
I'm Back


5279 (2015-Present)
3594 (2011)
3280 (2010)
1665 (2009)
1350 (2008-2009)
1493 (2007-2008)
1568 (2005-2007)
  #11   Spotlight this post!  
Unread 21-05-2010, 20:58
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
Registered User
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,190
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.
__________________
  #12   Spotlight this post!  
Unread 24-05-2010, 16:44
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #1418 (), FRC #1973, FRC #4796, FRC #6367 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,086
virtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant futurevirtuald has a brilliant future
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.
__________________
Maintainer of RobotPy - Python for FRC
Creator of pyfrc (Robot Simulator + utilities for Python) and pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript)

2017 Season: Teams #1973, #4796, #6369
Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
  #13   Spotlight this post!  
Unread 24-05-2010, 17:26
PAR_WIG1350's Avatar
PAR_WIG1350 PAR_WIG1350 is offline
Registered User
AKA: Alan Wells
FRC #1350 (Rambots)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2009
Location: Rhode Island
Posts: 1,190
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.
__________________
  #14   Spotlight this post!  
Unread 16-06-2010, 14:45
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.
  #15   Spotlight this post!  
Unread 14-07-2010, 14:33
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
Closed Thread


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


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

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