View unanswered posts | View active topics It is currently Tue Oct 21, 2014 4:44 am






Reply to topic  [ 2 posts ] 
I need help with PID controllers 
Author Message
Rookie

Joined: Thu Mar 06, 2014 11:25 am
Posts: 1
Post I need help with PID controllers
Hello everyone!

I am Luke - one of the team members on 323X. We are a first year team, and no one on our team has even seen vex prior to this season. I say that only to emphasize how much of noobs we are. I just started coding a couple weeks ago, and I feel like I've been picking it up pretty well.

At the last few meetings, I've been talking with the rest of my team about what we want to do before the world championship. We all agreed that we need some sort of straightening code. We also agreed that we need to have some sort of code that will keep the lift from falling, even when there is pressure applied to it. I have been reading some threads and seen that people have used PID controllers for those two things as well as several other things that we would like to do.

I have a vague understanding of what PID controllers do, but I have no clue how to use them. What I'm looking for is an in depth explanation of what they do, how they work, what they can be used for, and how to correctly use them.

We are using RobotC and the Vex Cortex, so please only reply with answers regarding that. We have potentiometers and integrated motor encoders. Thanks in advance for your help!

P.S. I did write code that did what we wanted it to...sorta. It didn't work as well as the code that teams like 323Z (who I know for a fact are using PID controllers) have written. If you would like, please comment and I can include both functions that I wrote.


Fri Mar 07, 2014 2:49 pm
Profile
Rookie

Joined: Thu May 31, 2012 4:06 pm
Posts: 22
Location: Pittsburgh, Pa
Post Re: I need help with PID controllers
I really liked my arm holding code from this year.

Code:
void stopArm()                 
{
   if(armPosition() < midHeight && armPosition() > cutoff)      //Gives it a little power to keep the arm up
      armAtSpeed(20);
   else if(armPosition() < highHeight && armPosition() > cutoff) // Less power is needed towards the top
      armAtSpeed(10)
   else                          // Dont want to have it push itself over when it is near the top or use power when the arm is resting on the robot
      armAtSpeed(0);
}

_________________
SHARP
Sarah Heinz Advanced Robotics Program

VEX 889A and FIRST 3260

Pittsburgh Champions Aerial Assist 2014
Pittsburgh and Buckeye Finalist Ultimate Ascent 2013
Toss Up Champions and Excellence-Pittsburgh
Toss Up Champions-Northwest Maryland VRC


Sat Mar 08, 2014 6:26 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 2 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


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

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.