We are using PID control on a Tetrix motor to control position. The moves are long and trapazoidal in nature (e.g. motor ramps up, moves at a flat speed, ramps down, then sits idle).

Wetried to run the motor with and without PID and each time the motor command is 100%. It spins faster when the PID attribute is disabled. I understand slower speeds while ramping up and down, but it should be 100% during the flat portion of the move.

Does anyone understand why this happens? Is there anything we can do to speed things up?

When you use PID, the power is regulated based on the speed of the motor. When you switch PID off, the power is simply a percentage of a duty cycle. With PID you like to have a little wiggle room at the top, so you can maintain the speed, even under load. When you use PID and you're really giving it 100% duty cycle, where do you go when that's not fast enough to achieve the pre-determined number of RPM? 105% duty cycle? That's unpossible! Unless you're bad at math, but then you probably shouldn't be in the FTC.

I know with the NXT, when you're using PID, each % motor speed has a pre-determined amount of RPMs assigned to it. It is based on a average maximum of a large sample of motors, taking into account the deviation in those samples. If you assigned 50% to two motors, you don't want one of them to run at 80 RPM and the other at 72 RPM.

Xander beat me to it but he is absolutely correct. Also, normal usage of the TETRIX motors (without PID control) 'cap out' the motor speed quicker; it's hard to explain without writing a full paragraph on it, but in a nutshell the PID control will 'linearize' the power level to actual speed ratio. Thus, at most power level setting the PID control seems to be running slower, when in fact it's running at a speed that relates more directly to the given power level.

For more information on this, take a look at the links below. You can also test this yourself by using the code below both with and without PID control enabled, then copy and paste the Debug Stream results into an Excel spreadsheet and graph the results (which I have also done, screenshot below).

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum