change_operation_speed

이 함수는 동작 속도를 조절합니다. 인수는 현재 설정된 속도에 대한 상대 속도(%)이며, 1~100의 값을 가집니다. 예를 들어 50을 지정하면 속도가 현재 설정된 속도의 50%로 줄어듭니다.

자동 모드에서만 사용할 수 있습니다. 다른 모드에서는 false를 반환하고 “this command can only be used in auto mode. please change to auto mode as robot mode”를 출력합니다. 모드는 get_robot_mode가 반환하는 값으로 확인합니다.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

bool change_operation_speed(float fSpeed) {
    return _change_operation_speed(_rbtCtrl, fSpeed);
};

매개변수

매개변수 이름

자료형

기본값

설명

fSpeed

float

동작 속도(1–100%)
현재 설정값에 대한 상대 속도 비율입니다.

반환값

값

유형

설명

0

int

실패

1

int

성공

예제

string strDrlProgram = "loop = 0\n"
                       "while loop < 3:\n"
                       "    movej(posj(10,10,10,10,10,10), vel=60, acc=60)\n"
                       "    loop = loop + 1\n";

if (drfl.get_robot_state() == STATE_STANDBY) {
    if (drfl.set_robot_mode(ROBOT_MODE_AUTONOMOUS) && drfl.get_robot_mode() == ROBOT_MODE_AUTONOMOUS) {
        // 동작 속도는 자동 모드에서만 변경할 수 있습니다
        if (!drfl.change_operation_speed(40)) {
            printf("change_operation_speed failed\n");
        } else {
            ROBOT_SYSTEM eTargetSystem = ROBOT_SYSTEM_VIRTUAL;
            drfl.drl_start(eTargetSystem, strDrlProgram);
        }
    }
}

이 예제는 로봇의 동작 속도를 현재 설정의 40%로 바꾼 다음, 자동 모드에서 간단한 DRL 모션 루프를 실행합니다. 새 속도 값은 이후 컨트롤러가 실행하는 모든 모션 명령에 바로 적용됩니다.