이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.
최신 버전 정보는 1.33.5에서 확인하세요.
movel_h2r
이 함수는 작업 공간(Task Space)에서 로봇을 목표 위치로 이동합니다(직선 이동). movel 명령의 hold-to-run 버전으로, 모션을 시작한 후에는 hold2run 명령을 주기적으로 호출해야 모션이 유지됩니다.
정의
DRFLEx.h, CDRFLEx 클래스
bool movel_h2r(float fTargetPos[NUM_TASK], float fTargetVel[2], float fTargetAcc[2], float fTargetTime = 0.f, MOVE_MODE eMoveMode = MOVE_MODE_ABSOLUTE, MOVE_REFERENCE eMoveReference = MOVE_REFERENCE_BASE, float fBlendingRadius = 0.f, BLENDING_SPEED_TYPE eBlendingType = BLENDING_SPEED_TYPE_DUPLICATE)
{
return _safe_movel_h2r(_rbtCtrl, fTargetPos, fTargetVel, fTargetAcc, fTargetTime, eMoveMode, eMoveReference, fBlendingRadius, eBlendingType);
}
매개변수
매개변수 이름 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
fTargetPos |
float [NUM_TASK] |
목표 작업 위치(단위: mm, deg) |
|
fTargetVel |
float [2] |
목표 속도(단위: mm/s, deg/s) |
|
fTargetAcc |
float [2] |
목표 가속도(단위: mm/s², deg/s²) |
|
fTargetTime |
float |
|
목표 도달 시간(단위: sec) |
eMoveMode |
|
모션 모드 |
|
eMoveReference |
|
모션 기준 |
|
fBlendingRadius |
float |
|
블렌딩 반경(단위: mm) |
eBlendingType |
|
블렌딩 속도 유형 |
반환값
값 |
유형 |
설명 |
|---|---|---|
True |
bool |
성공 |
False |
bool |
실패 |
참고
DRL 프로그램이 실행 중이거나 일시 정지 중이면 false를 반환합니다.
예제
float target_pos[6] = {500, 100, 500, 0, 180, 0};
float target_vel[2] = {100.0, 20.0};
float target_acc[2] = {200.0, 40.0};
drfl.movel_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));
// 여기에서 추가 처리를 할 수 있습니다
}