Go to Post Give us six more motors in the kit, and we'll try and come up with something... - Karthik [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rating: Thread Rating: 29 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 06-02-2014, 20:12
Qwuke Qwuke is offline
Registered User
FRC #0247
 
Join Date: Feb 2014
Location: Berkley, Michigan
Posts: 4
Qwuke is an unknown quantity at this point
PID Gain Scheduling/Deadband Filtering For a Non-Linear Output

So I am new to PID control theory(and labview altogether), but I want to create rate PIDs for the motors on our talon drive train by grabbing a rate value from an encoder on each wheel. However, in order to make our drive train run smoother I've squared the function, added a deadband, and then adjusted the slopes. To my knowledge, for my PID to work correctly with this new function being applied, I will have to implement gain scheduling and deadband filtering within the PID for this to work.
Take note, I'm a novice to control theory/PIDs, so I apologize if the solution is right in front of me and I haven't taken notice.
If anyone has any idea about this, references or examples, or place to point me to, my team would be honor-bound to you. But seriously I would deeply appreciate some assistance.

Last edited by Qwuke : 06-02-2014 at 20:16.
Reply With Quote
  #2   Spotlight this post!  
Unread 06-02-2014, 20:51
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: PID Gain Scheduling/Deadband Filtering For a Non-Linear Output

What is the problem you are trying to solve?

You mention making the drive train smoother. Are you talking about autonomous mode or teleop? Why do you think it should be smoother?
Reply With Quote
  #3   Spotlight this post!  
Unread 06-02-2014, 21:20
Qwuke Qwuke is offline
Registered User
FRC #0247
 
Join Date: Feb 2014
Location: Berkley, Michigan
Posts: 4
Qwuke is an unknown quantity at this point
Re: PID Gain Scheduling/Deadband Filtering For a Non-Linear Output

First, I deeply appreciate the feedback on my difficulties. Thanks.

But my problem is that because I am squaring my motor outputs, a PID for my drive train motors for speed will not work effectively - according to what I have read. I do not know how to implement gain scheduling or deadband filters for something like this and have found a lack of resources for implementing these things.

I am squaring and adding deadbands(I also decrease the slope of the input function to accommodate the dead band) to the joystick inputs for teleop mode to allow our drivers to have finer motor control when attempting to aim or position the bot. We have found linear outputs have 'jumpy' outputs when trying to do these things.

Again, thank you. I have virtually no backup on my team for programming so when I run into problems I typically resort to google/CD for help, and this doesn't have a lot of solutions.
Reply With Quote
  #4   Spotlight this post!  
Unread 06-02-2014, 21:35
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: PID Gain Scheduling/Deadband Filtering For a Non-Linear Output

I am happy to help...But you didn't answer my questions

It seems like you are trying to use PID control of speed during teleop while simultaneously using a non-linear joystick curve. I understand why a non-linear joystick curve can help with a jumpy robot, but I do not understand why you want to do PID speed control.
Reply With Quote
  #5   Spotlight this post!  
Unread 06-02-2014, 21:35
gpetilli gpetilli is offline
Registered User
FRC #1559
 
Join Date: Jan 2009
Location: Victor, NY
Posts: 285
gpetilli is a name known to allgpetilli is a name known to allgpetilli is a name known to allgpetilli is a name known to allgpetilli is a name known to allgpetilli is a name known to all
Re: PID Gain Scheduling/Deadband Filtering For a Non-Linear Output

we typically square the joystick inputs, not the PID outputs. PID is a linear system, which you violate with the squaring. Squaring the joystick (PID setpoint) before the PID changes the driver responsiveness but does not change the PID math. BTW: to square use newjoy= joy * abs(joy) to preserve the sign.
Reply With Quote
  #6   Spotlight this post!  
Unread 06-02-2014, 21:47
Qwuke Qwuke is offline
Registered User
FRC #0247
 
Join Date: Feb 2014
Location: Berkley, Michigan
Posts: 4
Qwuke is an unknown quantity at this point
Re: PID Gain Scheduling/Deadband Filtering For a Non-Linear Output

Quote:
Originally Posted by Jared341 View Post
I am happy to help...But you didn't answer my questions

It seems like you are trying to use PID control of speed during teleop while simultaneously using a non-linear joystick curve.
Whoops! "What is the problem you are trying to solve?" I'm trying to solve the fact that PID does not appreciate that I am going to feed a curved joystick input according to literature I have found


"Are you talking about autonomous mode or teleop?" This is in teleop

"Why do you think it should be smoother?" I think it should be smooth because our drivers have difficulty aiming with a linear joystick input. Again, jumpiness.

"I understand why a non-linear joystick curve can help with a jumpy robot, but I do not understand why you want to do PID speed control." This year our robot is using a mecanum drive train. Right now I observe that our robot's wheels don't spin at the same speed depending on how even the terrain is, and this is a problem when we are rotating/strafing. I want to implement speed control in order to keep our wheels at the outputs we are feeding them instead of having a messed up strafe/rotation function.

Thanks, and I apologize for any miscommunication.
Reply With Quote
  #7   Spotlight this post!  
Unread 06-02-2014, 21:53
Qwuke Qwuke is offline
Registered User
FRC #0247
 
Join Date: Feb 2014
Location: Berkley, Michigan
Posts: 4
Qwuke is an unknown quantity at this point
Re: PID Gain Scheduling/Deadband Filtering For a Non-Linear Output

Quote:
Originally Posted by gpetilli View Post
Squaring the joystick (PID setpoint) before the PID changes the driver responsiveness but does not change the PID math.
..."For a Non-Linear Output"...

...And I thought I did my research before asking this question. I am actually squaring the joystick input and not the output, that was a typo. I should have put this together before I asked this question because that was obvious. Thank you both for your input, I can now go ahead and work on implementing my PIDs.

Woo! Collaboration solves confusion!
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 20:54.

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


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