이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

movej_h2r

이 함수는 조인트 공간(Joint Space)에서 로봇을 목표 위치로 이동합니다. movej 명령의 hold-to-run 버전으로, 모션을 시작한 후에는 hold2run 명령을 주기적으로 호출해야 모션이 유지됩니다.

정의
DRFLEx.h, CDRFLEx 클래스

bool movej_h2r(float fTargetPos[NUM_JOINT], float fTargetVel[NUM_JOINT], float fTargetAcc[NUM_JOINT], float fTargetTime = 0.f, MOVE_MODE eMoveMode = MOVE_MODE_ABSOLUTE, float fBlendingRadius = 0.f, BLENDING_SPEED_TYPE eBlendingType = BLENDING_SPEED_TYPE_DUPLICATE)
{
  return _safe_movej_h2r(_rbtCtrl, fTargetPos, fTargetVel, fTargetAcc, fTargetTime, eMoveMode, fBlendingRadius, eBlendingType);
};

매개변수

매개변수 이름

자료형

기본값

설명

fTargetPos

float [NUM_JOINT]

목표 조인트 각도(단위: deg)

fTargetVel

float [NUM_JOINT]

목표 조인트 속도(단위: deg/s)

fTargetAcc

float [NUM_JOINT]

목표 조인트 가속도(단위: deg/s²)

fTargetTime

float

0.f

목표 도달 시간(단위: sec)

eMoveMode

MOVE_MODE

MOVE_MODE_ABSOLUTE

모션 모드

fBlendingRadius

float

0.f

블렌딩 반경(단위: mm)

eBlendingType

BLENDING_SPEED_TYPE

BLENDING_SPEED_TYPE_DUPLICATE

블렌딩 속도 유형

반환값

값

유형

설명

True

bool

성공

False

bool

실패

참고

DRL 프로그램이 실행 중이거나 일시 정지 중이면 false를 반환합니다.

예제

float target_pos[6] = {0, 0, 90, 0, 90, 0};
float target_vel[6] = {30.0, 30.0, 30.0, 30.0, 30.0, 30.0};
float target_acc[6] = {60.0, 60.0, 60.0, 60.0, 60.0, 60.0};

drfl.movej_h2r(target_pos, target_vel, target_acc); // hold2run 모션 시작
bool target_reached = false; // 직접 구현한 위치 확인 로직으로 설정
while (!target_reached) {
     drfl.hold2run();
     std::this_thread::sleep_for(std::chrono::milliseconds(100));
    // 여기에서 추가 처리를 할 수 있습니다
}