コード例 #1
0
void iKart_MotorControl::execute_openloop(double appl_linear_speed, double appl_desired_direction, double appl_angular_speed)
{
    decouple(appl_linear_speed, appl_desired_direction,appl_angular_speed);

    //Use a low pass filter to obtain smooth control
    //Use a low pass filter to obtain smooth control
    for (size_t i=0; i < F.size(); i++)
    {
        apply_motor_filter(i);
    }

    //Apply the commands
    ipwm->setRefDutyCycle(0, -F[0]);
    ipwm->setRefDutyCycle(1, -F[1]);
    ipwm->setRefDutyCycle(2, -F[2]);
}
コード例 #2
0
void iKart_MotorControl::execute_speed(double appl_linear_speed, double appl_desired_direction, double appl_angular_speed)
{
    MotorControl::execute_speed(appl_linear_speed, appl_desired_direction, appl_angular_speed);
    
    double appl_angular_speed_to_wheels = appl_angular_speed * this->get_vang_coeff();
    double appl_linear_speed_to_wheels = appl_linear_speed * this->get_vlin_coeff();
    decouple(appl_linear_speed_to_wheels, appl_desired_direction, appl_angular_speed_to_wheels);

    //Use a low pass filter to obtain smooth control
    for (size_t i=0; i < F.size(); i++)
    {
        apply_motor_filter(i);
    }

    //Apply the commands
    ivel->velocityMove(0, F[0]);
    ivel->velocityMove(1, F[1]);
    ivel->velocityMove(2, F[2]);
}
コード例 #3
0
ファイル: MSTableColumn.C プロジェクト: PlanetAPL/a-plus
void MSTableColumn::decoupleWidget(void)
{ decouple(); }