Go to Post You're here for them, not for you. - Chris is me [more]
Home
Go Back   Chief Delphi > CD-Media > White Papers
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

photos

papers

everything



FRC Drivetrain Characterization

noah.gleason

By: noah.gleason
New: 11-15-2017 01:46 PM
Updated: 11-15-2017 01:46 PM
Total downloads: 919 times


A series of tests performed on a standard drivetrain, showing how to characterize a drive's behavior in terms of voltage, velocity, and acceleration.

Me and Eli (Oblarg) have been working this preseason on a project that started as just trying to see how linear the frictional forces in a drivetrain are, but quickly grew into coming up with a pair of equations that show how an FRC drivetrain behaves for a given voltage. It's pretty easy to find these equations, and it'll give you a good degree of precision on how your drive will behave, without needing any encoders. We got 2% accuracy in open-loop motion profiling for a wide variety of profiles, and .2% for closed-loop. The data we used are linked at the bottom of the white paper, and all the graphs were generated in R using ggplot.

Attached Files

  • pdf FRC Drivetrain Characterization (revision 0)

    motor_characterization.pdf

    downloaddownload file

    uploaded: 11-15-2017 01:46 PM
    filetype: pdf
    filesize: 231.57kb
    downloads: 917



Discussion

view entire thread

Reply

11-15-2017 04:02 PM

Oblarg


Unread Re: paper: FRC Drivetrain Characterization

Something I didn't get around to cleaning up for inclusion in the whitepaper, but which is kinda cool regardless: Here's a 3d scatterplot with best-fit plane of motor voltage over the whole velocity-acceleration plane:



Edit: Note that the intercept of the plot is nonzero, as the voltage axis does not start at zero. This is, as mentioned in the paper, very important!



11-15-2017 08:17 PM

GeeTwo


Unread Re: paper: FRC Drivetrain Characterization

I'm pretty sure I followed everything here, and see how we can use this to significantly improve programming the robot, both in open-loop and feed-forward-closed-loop scenarios; I had been worried about not including static (as opposed to viscous/speed dependent) friction in the control software for a while. +reps to you both!
Were you able to learn anything that would help in designing the drive train?

Edit: You must spread some rep around before giving it to noah.gleason again.



11-15-2017 08:23 PM

Oblarg


Unread Re: paper: FRC Drivetrain Characterization

Quote:
Originally Posted by GeeTwo View Post
Were you able to learn anything that would help in designing the drive train?
Not yet - we have only characterized our test robot so far. Now that we have the testing procedures established, however, it shouldn't be too hard to start collecting data on different drive configurations (belt vs. chain, wheel type, etc) and see where it leads. Of course, we encourage other teams to do the same - we hope that this method of characterization might become something of a "standard" so that teams can more-easily share information about drive performance in a common format.



11-15-2017 11:06 PM

Chak


Unread Re: paper: FRC Drivetrain Characterization

Good read, I learned a couple things here today.

To check my understanding, is it correct to say that the .8 multiplicative fudge factor is only accurate at or near the top speed of the robots that were tested to get that .8 fudge factor? So that the .8 factor would work for one "usual" FRC speed, and get more inaccurate as the top speed deviates?

I wonder if it would lead to more intuitive controls if the joystick was scaled to velocity instead of voltage.

Can this be applied to increase acceleration by keeping the wheel on the edge of slipping? By measuring the torque/voltage at a steady state wheel slip (robot pushing against wall or something), and then measuring velocity as the robot speeds up, can't equation 14 be applied so that the robot operates at the edge of wheel almost slipping? Or maybe even make sure the robot always operates at the edge of wheels almost slipping no matter what, to decrease tire wear. How significant would that be? (I have no idea whether wheels slipping is an issue or not, so idk)



11-15-2017 11:50 PM

Oblarg


Unread Re: paper: FRC Drivetrain Characterization

Quote:
Originally Posted by Chak View Post
To check my understanding, is it correct to say that the .8 multiplicative fudge factor is only accurate at or near the top speed of the robots that were tested to get that .8 fudge factor? So that the .8 factor would work for one "usual" FRC speed, and get more inaccurate as the top speed deviates?
Yes, this is about the measure of it. Speed loss due to friction simply isn't a fractional loss, so even if you find a fraction that correctly describes your robot there's no reason to expect it to generalize to other robots or gearings because that's just not how the physics works.

In particular, we should expect that the "fractional loss" of more slowly-geared robots will be less than those geared to move fast, as the "intercept" term really represents a constant torque load and a higher gear ratio will overcome this with less voltage/current (and thus have a smaller intercept). Really, though, stating it in terms of "fractional loss" at all is just physically ill-founded and kind of misleading.

Quote:
I wonder if it would lead to more intuitive controls if the joystick was scaled to velocity instead of voltage.
It almost certainly would, as you'd no longer have a fairly wide "dead-band" around zero; adding the intercept voltage allows you to correctly linearize the robot response.

Quote:
Can this be applied to increase acceleration by keeping the wheel on the edge of slipping? By measuring the torque/voltage at a steady state wheel slip (robot pushing against wall or something), and then measuring velocity as the robot speeds up, can't equation 14 be applied so that the robot operates at the edge of wheel almost slipping? Or maybe even make sure the robot always operates at the edge of wheels almost slipping no matter what, to decrease tire wear. How significant would that be? (I have no idea whether wheels slipping is an issue or not, so idk)
It should be possible to calculate from equation 14 the outputs required to "just nearly slip the wheels," yes, though you probably want a bit of headroom to be safe. You should try this and report back on how well it works! Keep in mind, though, that it will likely only really make a difference on shifting bots in low-gear or on a very light robot, as it is somewhat hard to actually slip the wheels on a FRC bot geared to move at an appreciable rate. Also, be sure that you back-calculate "effective torque" from your empirical Ka, rather than from the theoretical - as seen in the paper, these can differ by a factor of two due to frictional losses! The easiest way to do this would simply be to divide the empirical Ka by the theoretical to obtain your drive's "frictional torque loss factor," and then multiply the theoretical torque by that factor.



11-16-2017 12:40 AM

Chak


Unread Re: paper: FRC Drivetrain Characterization

Thanks.

Quote:
You should try this and report back on how well it works!
lol, I don't have a team right now. Would someone else care to try this?



11-16-2017 01:17 AM

Oblarg


Unread Re: paper: FRC Drivetrain Characterization

Quote:
Originally Posted by Chak View Post
lol, I don't have a team right now. Would someone else care to try this?
We'll put it on the list of "things to try" (basecamp to-do lists are wonderful), but it's a very long list at the moment so I dunno when we'll be able to get back to you on it.



11-19-2017 01:58 AM

AustinSchuh


Unread Re: paper: FRC Drivetrain Characterization

This is awesome! Thanks for doing the research and posting your results!



11-19-2017 10:39 AM

Ether


Unread Re: paper: FRC Drivetrain Characterization

Quote:
Originally Posted by Chak View Post
To check my understanding, is it correct to say that the .8 multiplicative fudge factor is only accurate at or near the top speed of the robots that were tested to get that .8 fudge factor? So that the .8 factor would work for one "usual" FRC speed, and get more inaccurate as the top speed deviates?
This post may shed some light on your question.




11-19-2017 04:49 PM

JesseK


Unread Re: paper: FRC Drivetrain Characterization

If you add more friction to your robot and re-run the Quasi-static kV determination, does the value of kV change? For example, say you introduced a small rubber pad that rested on top of all 6 wheels, do you reach the same kV value as without them?



11-19-2017 06:51 PM

Oblarg


Unread Re: paper: FRC Drivetrain Characterization

Quote:
Originally Posted by JesseK View Post
If you add more friction to your robot and re-run the Quasi-static kV determination, does the value of kV change? For example, say you introduced a small rubber pad that rested on top of all 6 wheels, do you reach the same kV value as without them?
It depends crucially on what kind of friction you add - not all drivetrain friction is created equal. As we mention in the paper, the observed linearity indicates there are (at most) three types of significant frictional effects present: constant effects, effects proportional to velocity, and effects proportional to acceleration. These show up in the values of Vintercept, Kv, and Ka respectively.

While we have not done a direct experiment to confirm this, I strongly suspect that doing what you have suggested (adding a rubber pad rubbing against the wheels) would greatly increase Vintercept (constant effects), but not necessarily Kv, due to the fact that the test robot we used to obtain our data had certain parts causing friction pretty much in this fashion (i.e. a sagging electronics board rubbing on the ground as it moved) and still gave us a Kv basically indistinguishable from the theoretical value. Remember that the only things that are going to cause a change in the value of Kv are viscous effects (i.e., those proportional to velocity) - dry friction between surfaces is usually not viscous.

If there is an effect on Kv, it may actually be to decrease it, as the friction force may decrease with velocity. Something to watch out for. This may seem counterintuitive, as a smaller Kv might seem to imply a higher top speed (and clearly we cannot increase top speed by adding friction!), but this would occur in combination with an increase in Vintercept, resulting in a net decrease of top speed.

Effects proportional to acceleration, on the other hand, almost certainly come from gear-to-gear and belt-to-tooth friction, as these are effects that are proportional to internal forces in the drive that are proportional to motor output torque (which is itself proportional to acceleration, so long as the wheels are not slipping).



11-19-2017 09:47 PM

JesseK


Unread Re: paper: FRC Drivetrain Characterization

Interesting. Knowing which constant to tune late in a season (as robot parts wear) is crucial to keeping consistency in automation. I think this paper lays a good foundation in that regard. I'm still digesting it though; some of the explanations are a bit of a leap without references.



view entire thread

Reply

Tags

loading ...



All times are GMT -5. The time now is 02:26 PM.

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


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