|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Flipping the X - axis
Ok. this a simple problem that I know I am just overlooking a small detail. For this years robot we what to be able to push a button to be able to make the back of the robot to become the front and vice versa during TeleOp mode. The only problem is that the x-axis of doesn't adjust when the switch is made. when the robot is reversed and you move the joystick to the left the robot turns to the right and vice versa. Here is my code below:
MyBase->ArcadeDrive(Driver); if(Driver->GetRawButton(6))// reverse direction of robot { MyBase->SetInvertedMotor(RobotDrive::kRearLeftMotor, true); MyBase->SetInvertedMotor(RobotDrive::kFrontLeftMotor,true ); MyBase->SetInvertedMotor(RobotDrive::kRearRightMotor, true); MyBase->SetInvertedMotor(RobotDrive::kFrontRightMotor,tru e); } if(Driver->GetRawButton(7))// normal configuration { MyBase->SetInvertedMotor(RobotDrive::kRearRightMotor, false); MyBase->SetInvertedMotor(RobotDrive::kFrontRightMotor,fal se); MyBase->SetInvertedMotor(RobotDrive::kRearLeftMotor, false); MyBase->SetInvertedMotor(RobotDrive::kFrontLeftMotor,fals e); } How can I get the X- axis to switch with the reversal? Thanks in advance. Also, I am using WindRiver. Last edited by cddp14 : 30-03-2012 at 11:02. |
|
#2
|
||||
|
||||
|
Re: Flipping the X - axis
You need to also switch around your motors.
left side & right side swaps Left front becomes right rear left rear becomes right front ETC For a simple tank drive might be easier to swap & invert the joy sticks inputs into the motors. |
|
#3
|
||||
|
||||
|
Re: Flipping the X - axis
Instead of inverting the motors, just try changing the sign of the joystick X and Y values before feeding them into the arcade algorithm
|
|
#4
|
|||
|
|||
|
Re: Flipping the X - axis
I have looked into doing that but I have not had any success. any sample code would be helpful
|
|
#5
|
||||
|
||||
|
Re: Flipping the X - axis
Quote:
Code:
Y = -Y; X = -X; |
|
#6
|
|||||
|
|||||
|
Re: Flipping the X - axis
Quote:
Try this: (warning -- untested) Code:
if(Driver->GetRawButton(6)) // reversed direction of robot
{
directionInverted = true;
}
if(Driver->GetRawButton(7)) // normal configuration
{
directionInverted = false;
}
if(directionInverted)
{
MyBase->ArcadeDrive(-Driver->GetY(),Driver->GetX(),false);
}
else
{
MyBase->ArcadeDrive(Driver);
}
|
|
#7
|
|||
|
|||
|
Re: Flipping the X - axis
Quote:
![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|