View Single Post
  Spotlight this post!  
Unread 29-01-2013, 07:02
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Set the rate of acceleration

EGU stands for engineering units. It is vague because the limiter is just a mathematical operation, sorta like averaging. It can work on anything you want to control, temperature, voltage, current, etc. In this case it is the 0 to 1 motor controller value.

Leaving it set to 1 will, I believe, limit it to a one unit change per minute. Seems a bit timid. A setting of 60 will take one second to let it change by one unit. 120 will ramp from 0 to one in half a second, and so on.

Since the speed controllers in your teleop are running 50 times per second, and the code could currently change the value instantaneously from -1 to 1 in a adjacent calls, the equivalent value of the original system was 60*50*2, or 6000.

To your question of what value to use, why don't you make a numeric control on the panel of teleop. Set the initial value to 100. Run RobotMain using the run button. Carefully drive the robot a bit, on blocks or on the ground, and see that it is spongey. The throttle doesn't instantly change the robot speed. With the robot still running, change the value to 6000. It should be the original acceleration. Now try 1000, 500, and explore a bit.

When you are done, make the value permanent by either making the value a constant on the diagram or by right clicking and going to Data Operations>>Make Current Value Default.

Greg McKaskle
Reply With Quote