Though i don't know how to use encoders, there is a first made tutorial based on them. I do however know how to program a basic arcade drive.
one joystick:
Code:
public class Main extends IterativeRobot {
AxisCamera camera = AxisCamera.getInstance();
Joystick leftStick = new Joystick(1);
Joystick rightStick = new Joystick(2);
Joystick joypad = new Joystick(3);
CriteriaCollection cc;
RobotDrive robotDrive = new RobotDrive(1,2,3,4);
//Encoder shooterSpeed = new Encoder(1,2);
//float Kp = 3.f;
//float Ki = 0.f;
//float Kd = 0.f;
//private final PIDController shooterPID;
public void robotInit() {
cc = new CriteriaCollection();
cc.addCriteria(NIVision.MeasurementType.IMAQ_MT_AREA, 30, 400, false);
cc.addCriteria(NIVision.MeasurementType.IMAQ_MT_AREA, 40, 400, false);
}
/**
* This function is called periodically during autonomous
*/
public void autonomousPeriodic() {
}
/**
* This function is called periodically during operator control
*/
public void teleopPeriodic() {
robotDrive.arcadeDrive(leftStick);
2 Joysticks
Code:
public class Main extends IterativeRobot {
AxisCamera camera = AxisCamera.getInstance();
Joystick leftStick = new Joystick(1);
Joystick rightStick = new Joystick(2);
Joystick joypad = new Joystick(3);
CriteriaCollection cc;
RobotDrive robotDrive = new RobotDrive(1,2,3,4);
//Encoder shooterSpeed = new Encoder(1,2);
//float Kp = 3.f;
//float Ki = 0.f;
//float Kd = 0.f;
//private final PIDController shooterPID;
public void robotInit() {
cc = new CriteriaCollection();
cc.addCriteria(NIVision.MeasurementType.IMAQ_MT_AREA, 30, 400, false);
cc.addCriteria(NIVision.MeasurementType.IMAQ_MT_AREA, 40, 400, false);
}
/**
* This function is called periodically during autonomous
*/
public void autonomousPeriodic() {
}
/**
* This function is called periodically during operator control
*/
public void teleopPeriodic() {
robotDrive.arcadeDrive(leftStick, rightStick);