コード例 #1
0
DriveTrain::DriveTrain() :
            TrapezoidProfile( maxWheelSpeed , 3.f ),
            m_settings( "RobotSettings.txt" ) {
    m_settings.update();

    m_deadband = 0.02f;
    m_sensitivity = m_settings.getFloat( "LOW_GEAR_SENSITIVE" );
    // TODO Does robot start in low gear?

    m_oldTurn = 0.f;
    m_quickStopAccumulator = 0.f;
    m_negInertiaAccumulator = 0.f;

    m_leftGrbx = new GearBox<Talon>( 7 , 5, 6 , 1 , 2, 3 );

    m_rightGrbx = new GearBox<Talon>( 0 , 3 , 4 , 4 , 5, 6 );
    m_rightGrbx->setReversed( true );
    m_isDefencive = ( false );
    // c = PI * 10.16cm [wheel diameter]
    // dPerP = c / pulses
    m_leftGrbx->setDistancePerPulse( ((3.14159265 * 10.16 )/ 360.0 )* 1.0/3.0);
    m_rightGrbx->setDistancePerPulse( ((3.14159265 * 10.16 )/ 360.0 )* 1.0/3.0);

    reloadPID();
}
コード例 #2
0
ファイル: DriveTrain.cpp プロジェクト: Team3512/Robot-2015
DriveTrain::DriveTrain() : BezierTrapezoidProfile(maxWheelSpeed, 2) {
    m_sensitivity = m_settings.GetDouble("LOW_GEAR_SENSITIVE");

    m_leftGrbx.setMotorReversed(true);
    m_leftGrbx.setEncoderReversed(true);

    m_rightGrbx.setEncoderReversed(true);

    m_leftGrbx.setDistancePerPulse(72.0 / 2800.0);
    m_rightGrbx.setDistancePerPulse(72.0 / 2800.0);

    m_leftGrbx.setManual(0.0);
    m_rightGrbx.setManual(0.0);

    setWidth(27.0);

    reloadPID();
}