Log in

View Full Version : 4 Motor Drive


gbf1991
06-02-2010, 08:09
Hello, our team is having trouble, and we need help. We're using a 4 wheeled drive (w/Mecanum wheels), but we can't figure out how to program it as a tank drive. Can anyone out there help us?

phencer42
06-02-2010, 13:35
Start with the given Simple Robot Template and add the import "edu.wpi.first.wpilibj.*"

Then add
RobotDrive drive = new RobotDrive(1,2,3,4);
Joystick leftStick = new Joystick(1);
Joystick rightStick = new Joystick(2);
under "public class RobotTemplate extends SimpleRobot"

Then add
drive.tankDrive(leftStick,rightStick);
under "public void operatorControl()".

This will give you a tank drive system for a four motor robot with front left motor in port 1, back left in port 2, front right in port 3, and rear right in port 4 using the left joystick in port 1 and the right joystick in port 2. Best of luck :)

imcmahon01
08-02-2010, 00:58
There is a specific function built for Mecanum wheel drive that you may find useful called holonomic drive. Now, it's not tank drive, but it does provide videogame-like controls for left-right strafing:

in the RobotTemplate() constructor, as before:

m_robotDrive = new RobotDrive(1, 3, 2, 4);
m_rightStick = new Joystick(1);
m_leftStick = new Joystick(2);

and in teleopPeriodic()
m_robotDrive.holonomicDrive( m_leftStick.getMagnitude(), m_leftStick.getDirectionDegrees() ,m_rightStick.getX());


We got this code to work, and plugged the PWM cables in as such:

Front of Robot
1 2

3 4
Rear of Robot

The only thing to note is, in this configuration motors 2 & 4 need to have their Jaguar M- and M+ motor power outputs reversed to the motors in order to work properly. Otherwise, you could fix this issue in your code by using the setInvertedMotor() function on 2 & 4. You can see our robot in action here (http://www.youtube.com/watch?v=8XkgUBZqWdA). Hope this helps!

/*P4bl0*/
20-02-2010, 11:01
what if were are using victors ? what does it need to be done on the code to use victors ?

Robototes2412
20-02-2010, 17:41
Victors more or less = jaguars