![]() |
jaguar scaling factors
My team (3247) just got our bot driving today and we noticed a big problem. With four motors we are using 2 black jags and 2 grey jags. This seemed fine except for a problem where the scaling is not quite right! When driving foward, one side (black side I think) is way faster. As the programer for the team, I was told to fix it. I was thinking that maybe I should attempt to scale the joysticks. The problem with this is that my team also wants to use arcade drive. We used last years DS for testing but they think it will be easier to control with arcade.
My questions are:
Thanks in advance |
Re: jaguar scaling factors
Same issue for our team. Would love to hear the answer. The black jaguars output about 12.5V in full on, the grey/tan jaguars are about 10.5V. Quite a difference to balance.
|
Re: jaguar scaling factors
idk if this would help any but you could always try installing encoders onto each side of the drive train then using those output values and then scaling back each motors output.
|
Re: jaguar scaling factors
Quote:
You can certainly scale back the faster side permanently by multiplying the joystick input to just the Black side by a factor or by using encoder feedback and PID. |
Re: jaguar scaling factors
because these are the CIMple gearboxes from andymark, I don't think it would be advisable to mix controllers. I see ground gears for anyone who tries that...
The voltage data is very helpful, does anyone know if the speed is ramped in a linear fashion? If it is linear, then it would be some very simple math to make them even. |
Re: jaguar scaling factors
I would suggest using PID with encoders to get a closed-loop control.
There's nothing quite like feedback for repeatability and low-speed handling. |
Re: jaguar scaling factors
Can you suggest any good resources for creating PID algorithms? I am used to text based languages on OS/2 so any resources that are labview based would be nice.
|
Re: jaguar scaling factors
If you're using LabVIEW, the FRC version does include a PID toolkit. Note that the LabVIEW toolkit uses the Standard form rather than the Ideal form.
http://en.wikipedia.org/wiki/PID_con...ndard_PID_form Wikipedia has a good article on PID. |
Re: jaguar scaling factors
I read through the article posted and I am trying to make heads or tails of it. I do not understand how exactly a PID loop will allow me to synchronize the movements of the left and rights drivetrains so that the robot drives in a straight line. PID does however seem to be an excellent way of defining the movements during autonomous to place the ubertube.
More questions:
|
Re: jaguar scaling factors
Quote:
2. Yes, PID control on position is a good way to handle dead reckoning forward/back movements in autonomous. PID control on angle using a gyro is a good way to make dead reckoning turns. 3. Nope, not at all. |
Re: jaguar scaling factors
so do I use one PID VI for each input needed on the drive VI?
In my question about autonomous, would I want to use a setpoint VI. Lastly, does the PID VI need to be in a loop to work? Sorry for all the questions, but short and simple answers for APPLYING code are few and far between over at NI's site. |
Re: jaguar scaling factors
Have you tried calibrating the speed controllers?
|
Re: jaguar scaling factors
I have, but there is still a slight variance from straight on.
|
Re: jaguar scaling factors
Yes, yes, and yes.
I think a global variable would work wonderfully for transferring your setpoint from your autonomous code to your PID loops. Put the PID loops in Periodic Tasks so that they run all the time. |
Re: jaguar scaling factors
Should the PID Loop run with a delay or should it run at full speed?
|
Re: jaguar scaling factors
Well, the PID probably isn't your most critical task, so a delay would be good. I would give it a delay of 5 to 25ms.
One thing I may have neglected to tell you: PID doesn't "just work". You have to tune it. Luckily, temporary deployments in LabVIEW make that easy. Just create a control for the parameters, and tune until it works. Make sure to start with Proportional, and then tune the others to whatever is appropriate. EDIT: Feel free to post your code. An easy way to post your whole project is to zip the folder it is contained in, and just upload the zip as a whole. To make it smaller, you can delete the "Builds" folder first. |
Re: jaguar scaling factors
Quote:
Did you use a volt meter, scope, other? Were motors connected to the outputs? Did you take these measurements at the same time (measure one, then the other, same setup)? -David |
Re: jaguar scaling factors
I assumed the duty cycle at full on was 100% so I simply used a voltmeter
Set to DC. No motors. No load. Measured two Black and two Grey Full forward and full reverse Same result consistently. |
Re: jaguar scaling factors
Quote:
Your measurement was just a by-product of the Gray Jaguar circuit design. It doesn't measure properly without a load. The Black Jaguar has a different design that doesn't affect no-load measurements. I tripped over that myself earlier, although you have to read several surrounding posts to understand what was going on in that thread. I liked Eric's way of putting it... Quote:
|
Re: jaguar scaling factors
What about creating a slider "trim" control.
Your "trim" control would run joystick position through a multiplier on one set of Jags. Experiment with trim position until you're satisfied that you're driving in a straight line. This method will only be suitable if the differences between the Jags are consistent at various speeds. |
Re: jaguar scaling factors
Thanks Mark.
We do clearly have a small speed difference between black and grey as well. Much harder to measure though. I'll measure under load and see what I get. |
Re: jaguar scaling factors
I don't think the offset is linear. I just tried my code today with the speed being divided by two and the robot drives much straighter. I haven't had a chance to test PID yet. Electronics guys are still trying to get encoders connected.
|
Re: jaguar scaling factors
I should have mentioned this much earlier. How much wire do you have feeding the two sides of the robot? A frequent problem is inches feeding one side of the robot with feet feeding the other side. If you are using #12 to feed the drive system, you can accumulate significant loss in the wiring. It amounts to about 0.2 volts per foot at near stall current for CIM motors. Remember you have to count both the black and red wires to arrive at the correct calculation. It is for this reason that I recommend a central location for the PD to balance the wiring.
|
Re: jaguar scaling factors
all wiring runs follow the same path, we had the problem you are describing last year
|
| All times are GMT -5. The time now is 21:17. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi