Go to Post At the competitions you can look like an idiot and nobody cares, that makes me happy... - Laura 1547 [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Spotlight this post!  
Unread 06-11-2006, 01:15
kiettyyyy's Avatar
kiettyyyy kiettyyyy is offline
Registered User
FRC #1538 (The Holy Cows)
Team Role: Engineer
 
Join Date: Mar 2006
Rookie Year: 2005
Location: San Diego, CA
Posts: 181
kiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond reputekiettyyyy has a reputation beyond repute
Send a message via AIM to kiettyyyy
Only one side moves!?!?

Hey all,

I've been having trouble with this PID code. I made some change to the code in the past but I haven’t noticed that only one side does the correction since a few days ago.

I've tried to debug and all of that good stuff, but I haven’t been able to get my finger on the cause of the problem. Here’s the code!

Code:
	if (currentX == 127)
	{
		// printf("CurrentX: %d Gyro Angle: %d\r\n", currentX, cur_heading);
		temp_currentY = (currentY - 127 + error);
		printf("temp_currentY 1: %d\r\n", temp_currentY);
		temp_currentY = ((temp_currentY * 0.59) );
		printf("temp_currentY 2: %d\r\n", temp_currentY);
		temp_currentY = (127L + temp_currentY);
		printf("temp_currentY 3: %d\r\n\r\n", temp_currentY);
		temp_currentY =	Limit_Mix(2000 + temp_currentY);
	
		temp_currentX = (currentX - 127 - error);
		printf("temp_currentY 1: %d\r\n", temp_currentX);
		temp_currentX = ((temp_currentX * 0.59) );
		printf("temp_currentY 2: %d\r\n", temp_currentX);
		temp_currentX = (127 + temp_currentX);
		printf("temp_currentX 3: %d\r\n\r\n", temp_currentX);
		temp_currentX = (254L - temp_currentX);
		temp_currentX =	Limit_Mix(2000 + temp_currentX);
	
			pwm_rightDrive_cim = pwm_rightDrive_fp = Limit_Mix(2000 + temp_currentX + temp_currentY - 127);
			pwm_leftDrive_cim = pwm_leftDrive_fp = Limit_Mix(2000 + temp_currentX - temp_currentY + 127);
	
		if(currentY == 127)
		{
			pwm_rightDrive_cim = pwm_rightDrive_fp = Limit_Mix(2000 + currentX + currentY - 127);
			pwm_leftDrive_cim = pwm_leftDrive_fp = Limit_Mix(2000 + currentX - currentY + 127);
			Reset_Gyro_Angle();
		}
		else
		{

			pwm_rightDrive_cim = pwm_rightDrive_fp = Limit_Mix(2000 + temp_currentX + temp_currentY - 127);
			pwm_leftDrive_cim = pwm_leftDrive_fp = Limit_Mix(2000 + temp_currentX - temp_currentY + 127);

		}
	}
	else if((ratechange < 10 && ratechange > -10) && (currentX == 127))
	{	 
	
	
		 pwm_rightDrive_cim = pwm_rightDrive_fp = Limit_Mix(2000 + currentX + currentY - 127);
		 pwm_leftDrive_cim = pwm_leftDrive_fp = Limit_Mix(2000 + currentX - currentY + 127);
	
		Reset_Gyro_Angle();
	}
	else
	{	 
		 pwm_rightDrive_cim = pwm_rightDrive_fp = Limit_Mix(2000 + currentX + currentY - 127);
		 pwm_leftDrive_cim = pwm_leftDrive_fp = Limit_Mix(2000 + currentX - currentY + 127);
	
		Reset_Gyro_Angle();
	}
Any suggestions? Thanks!

Last edited by kiettyyyy : 06-11-2006 at 01:25.
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Only one side moving Idaman323 Programming 11 21-02-2005 00:00
2 human players on one side? Sscamatt Rules/Strategy 11 22-02-2004 23:34
Navigate.c Current Sense code=only one polarity Dale(294engr] General Forum 1 05-02-2004 16:25
I guess there can only be one . . . archiver 1999 0 23-06-2002 22:46
In The End, There can be only one..... archiver 1999 6 23-06-2002 22:02


All times are GMT -5. The time now is 01:29.

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