View Single Post
  #5   Spotlight this post!  
Unread 16-12-2016, 17:41
billbo911's Avatar
billbo911 billbo911 is offline
I prefer you give a perfect effort.
AKA: That's "Mr. Bill"
FRC #2073 (EagleForce)
Team Role: Mentor
 
Join Date: Mar 2005
Rookie Year: 2005
Location: Elk Grove, Ca.
Posts: 2,334
billbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond reputebillbo911 has a reputation beyond repute
Re: Feed-forward coefficient for motion-constrained system

Quote:
Originally Posted by Jared Russell View Post
A feedforward gain is useful if you are doing velocity control, motion profiling, or compensating for some known external force (e.g. gravity). The latter two applications are applicable to an arm or elevator system.

While a constant velocity test is the simplest way to calculate this gain, it isn't the only way. The first step is an initial guess. This is usually pretty easy...All you need to do is figure out the free speed of your mechanism by looking at your motor specs and effective gear ratio (and compensating for efficiency losses if you want). Kf = Full power / free speed. Once you have this guess, come up with a couple reference motion profiles to test and use a controller to follow them using *only* feedforward gain. This won't be precise or robust of course, but it should give you a way to figure out if you require more or less. Iteratively tune your feedforward gain until you are tracking various profiles closely. Remember, it doesn't have to be perfect...That's why we use feedback.
Thanks for the pointer Jared!
I was trying to remember where I had seen that information before so I could translate it into something I had a good grasp on.Then I remembered where, in the Software Guide for the Talon SRX. Here is a quote of the actual text from section 12.4.2 (for Java) on page 76.

Quote:
12.4.2. Velocity Closed-Loop Walkthrough – Calculating Feed Forward– Java

Now that we’ve confirmed that the position/speed moves in the positive direction with forward

(green throttle), we can calculate our Feed-forward gain. According to Section 17.2.1, our

selected sensor uses 4096 native units per rotation. That means our measurement of 1366RPM

scales to 9326 native units per 100ms. This is also calculated for you in the Self-Test.

Velocity is measured in change in native units per TvelMeas= 100ms.

(1366 Rotations / min) X (1 min / 60 sec) X (1 sec / 10 TvelMeas) X (4096 native units / rotation)

= 9326 native units per 100ms

Now let’s calculate a Feed-forward gain so that 100% motor output is calculated when the

requested speed is 9328 native units per 100ms.

F-gain = (100% X 1023) / 9326

F-gain = 0.1097
I also wondered where the "1023" came from and then I realized it is the resolution of step in the drive signal.
__________________
CalGames 2009 Autonomous Champion Award winner
Sacramento 2010 Creativity in Design winner, Sacramento 2010 Quarter finalist
2011 Sacramento Finalist, 2011 Madtown Engineering Inspiration Award.
2012 Sacramento Semi-Finals, 2012 Sacramento Innovation in Control Award, 2012 SVR Judges Award.
2012 CalGames Autonomous Challenge Award winner ($$$).
2014 2X Rockwell Automation: Innovation in Control Award (CVR and SAC). Curie Division Gracious Professionalism Award.
2014 Capital City Classic Winner AND Runner Up. Madtown Throwdown: Runner up.
2015 Innovation in Control Award, Sacramento.
2016 Chezy Champs Finalist, 2016 MTTD Finalist
Reply With Quote