jaguar speed control of mecanum wheels

Two series of questions:

  1. all the Jaguar literature I have been able to find speaks of the PWM input signal as being a “speed” signal. Is this really true, or is the term being used loosely? Is the jaguar somehow sensing the back-emf on the motor power leads and using this to sense motor speed, and using this in a closed-loop circuit to control motor speed? Or does the PWM signal simply map into a voltage command to the motor (in which case the speed would vary with load)?

  2. with a robot that is using mecanum wheels, how critical is it that the individual wheel speeds be accurately controlled? is it sufficient to just send the PWM signal to the jaguars as mentioned above? or do we need to install an encoder on each wheel? if an encoder is necessary, can we run that encoder signal directly back to the jaguar? in other words, does the jaguar have built-in motor speed control if the encoder is wired to it? Or do we have to wire the encoders back to the cRIO and write our own speed controller in software?

I know some of these questions could be answered by some simple tests, but I don’t have access to the hardware right now and am trying to gather as much info as possible before our next team meeting.



There is really two different PWM signals associated with speed controllers that we use. The INPUT or command PWM uses a hobby standard control that specifies a PWM pulse width coded for speed and direction. The output of our speed controllers are also PWM switching (pulse rep rate) at 150 Hz for the Victors and 15kHz for the Jaguars. Full throttle in one direction of the other produces a direction connection to battery through the “H” bridge contained in each controller. In the Jaguar, there is a short pulse even at full throttle that is used to keep the drive cap charged. The Jaguar User’s Manual has info on all of it’s functions and includes schematics.

As far as I know the PWM signals only tell the Jaguar to adjust it’s output voltage, there is no feedback from the motors to the Jaguars. I do believe that you can wire say a limit switch directly to the Jaguar to make it stop or start (or brake or coast) but I know of no way to hook an optical encoder-type device to the Jaguar directly.
We are using Holonomic Mecanum drive this year and it functions fine without using a PID loop to adjust the wheel speeds (although we did that last year for traction-control :smiley: ).

Good Luck!

Hi Al,

These are the only Jag docs I’ve been able to find so far:


Could you please post a link to the User Manual you mentioned that has schematics? It’s probably obvious but I am not finding it.



The servo signal input to the Jaguar controls the voltage output. There isn’t built-in closed-loop control when using the servo signal input.

You can definitely connect an optical encoder to the Jaguar. Please see the Getting Started Guide at for an overview on all the possible control modes that the Jaguar supports.

You can connect encoders, limit switches, and/or analog potentiometers (or other analog signals) to the Jaguar inputs. Using CAN, you can change the mode to control voltage, speed, position (like a hobby servo, for example, imagine a CIM motor that holds position like a servo!), and current and then change parameters for P, I, and D so that the Jaguar does all the closed-loop control for you.


It depends on the method your using to control the Jaguars for both answers.

  1. If you’re using PWM then no technically its not controlling speed. It more or less controls voltage which has a direct relationship with motor speed.
    If you’re using CAN to control the Jaguars then you have more control options including Speed.

  2. A system will always work without a feedback like encoders, however it’s always better to have some sort of feedback to increase traction, and position control. Also nothing is constant with robots, a slight change in battery voltage and have a drastic impact in control over time.

    If using PWM then the encoders have to be wired to the digital inputs on the side car, and any code for traction control has to be done by the programmer.
    If using CAN then the encoders can be directly wired to the Jaguars, which have built in ability to help with speed and traction control with a few simple lines of set-up code.

Hi lscime,

Thanks for sharing your experience with mecanum without closed-loop control of drive wheels. I think that’s what we are going to settle for this year because giving our brand-new software guys another task would be too much at this point I think.


Thanks guys. I see this requires CAN to implement, which none of our guys if familiar with. It may be too late in the game to go this route. Maybe next year :frowning: