Go to Post When in doubt, ask... don't assume (unless you don't mind wasting time/money). - Bill Gold [more]
Home
Go Back   Chief Delphi > Technical > Programming > C/C++
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 02-08-2010, 03:49 PM
nighterfighter nighterfighter is offline
1771 Alum, 1771 Mentor
AKA: Matt B
FRC #1771 (1771)
Team Role: Mentor
 
Join Date: Sep 2009
Rookie Year: 2007
Location: Suwanee/Kennesaw, GA
Posts: 835
nighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant futurenighterfighter has a brilliant future
void RobotDrive::SetLeftRightMotorSpeeds?

Hi all-

Our robot drive-train is consisting of a total of 6 motors, meaning 3 motors per side, meaning 3 jaguars per side.

After looking through the RobotDrive class, I noticed there is not consturctor for a 6 wheel drive-train. So I made a constructor for 6 wheels, which I think should work...

Code:
RobotDrive::RobotDrive(SpeedController *rearLeftMotor, SpeedController *middleLeftMotor,
						SpeedController *frontLeftMotor, SpeedController *rearRightMotor,
						SpeedController *middleRightMotor,
						SpeedController *frontRightMotor,
						float sensitivity)
{
	if (frontLeftMotor == NULL || middleLeftMotor == NULL || rearLeftMotor == NULL || frontRightMotor == NULL || frontMiddleMotor == NULL|| rearRightMotor == NULL)
	{
		wpi_fatal(NullParameter);
		m_frontLeftMotor = m_rearLeftMotor = m_frontRightMotor = m_rearRightMotor = NULL;
		return;
	}
	m_rearLeftMotor = rearLeftMotor;
	m_middleLeftMotor = middleLeftMotor;
	m_frontLeftMotor = frontLeftMotor;
	m_rearRightMotor = rearRightMotor;
	m_middleRightMotor = middleLeftMotor;
	m_frontRightMotor = frontRightMotor;
	m_sensitivity = sensitivity;
	for (INT32 i=0; i < kMaxNumberOfMotors; i++)
	{
		m_invertedMotors[i] = 1;
	}
	m_deleteSpeedControllers = false;
}
Anyway, I looked into the TankDrive function I am using, because I want to ensure that when I move my joysticks, it moves all the motors, not just the first 2. So after looking through the TankDrive, it calls another function called SetLeftRightMotorSpeeds. After reading that, it makes me THINK that it will only set the first 2 Jaguars (on each side) to drive, not the third.

Here is that function
Code:
void RobotDrive::SetLeftRightMotorSpeeds(float leftSpeed, float rightSpeed)
{
	wpi_assert(m_rearLeftMotor != NULL && m_rearRightMotor != NULL);

	leftSpeed = Limit(leftSpeed);
	rightSpeed = Limit(rightSpeed);

	if (m_frontLeftMotor != NULL)
		m_frontLeftMotor->Set(Limit(leftSpeed) * m_invertedMotors[kFrontLeftMotor]);
	m_rearLeftMotor->Set(Limit(leftSpeed) * m_invertedMotors[kRearLeftMotor]);

	if (m_frontRightMotor != NULL)
		m_frontRightMotor->Set(-Limit(rightSpeed) * m_invertedMotors[kFrontRightMotor]);
	m_rearRightMotor->Set(-Limit(rightSpeed) * m_invertedMotors[kRearRightMotor]);
}
Any help on how to edit that so all 3 will go, not just 2?

Edit: Im thinking i can just say m_middleRight/LeftMotor -> Set...., but Im not sure.

Thanks- 1771

Last edited by nighterfighter : 02-08-2010 at 03:58 PM. Reason: Thought of something
Reply With Quote
 


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
RobotDrive Bug? Bryscus Programming 5 02-03-2010 10:29 AM
RobotDrive + PIDController = possible? oddjob C/C++ 4 01-14-2010 11:33 PM
editing robotDrive class help mikelowry C/C++ 2 10-07-2009 01:25 PM
void* pointer to object in C++ byteit101 C/C++ 6 01-14-2009 05:15 PM
problem with void Process_Data_From_Local_IO CmptrGk Programming 2 01-29-2005 05:14 PM


All times are GMT -5. The time now is 10:42 AM.

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