1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

CDRFLEx.movej

기능

로봇제어기에서 로봇을 현재 관절위치에서 목표 관절위치까지 이동시키기 위한 함수이다.

인수

인수명

자료형

기본값

설명

fTargetPos

float[6]

-

6개 축에 대한 목표 관절 위치

fTargetVel

float

-

속도

fTargetAcc

float

-

가속도

fTargetTime

float

0.f

도달 시간 [sec]

eMoveMode

enum.MOVE_MODE

MOVE_MODE_

ABSOLUTE

상수 및 열거형 정의 참조

fBlendingRadius

float

0.f

blending시 radius

eBlendingType

enum.BLENDING_SPEED_TYPE

BLENDING_SPEED_

TYPE_DUPLICATE

상수 및 열거형 정의 참조


알아두기
  • fTargetTime 지정 시, fTargetVel, fTargetAcc 를 무시하고 fTargetTime 기준으로 처리됩니다.


주의

eBlendingType이 BLENDING_SPEED_TYPE_DUPLICATE이고 fBlendingRadius 가 0보다 큰 조건으로 후속 모션이 블렌딩 될 경우 선행모션의 잔여거리, 속도, 가속도로 결정되는 잔여모션시간이 후행모션의 모션시간보다 큰 경우 후행모션이 먼저 종료된 후 선행모션이 종료될 수 있습니다. 관련한 사항은 아래 이미지를 잠고하십시오.

image2021-12-2_11-17-51.png


리턴

값

설명

0

오류

1

성공

예제

C++
// CASE 1
float q0[6] = { 0, 0, 90, 0, 90, 0 };
float jvel=10;
float jacc=20;
drfl.movej(q0, jvel, jacc);
# 속도 10(deg/sec), 가속도 20(deg/sec2)로 q0 관절각으로 이동

// CASE 2
float q0[6] = { 0, 0, 90, 0, 90, 0 };
float jTime=5;
drfl.movej(q0, 0, 0, jTime)
# q0 관절각까지 5초의 도착시간을 가지고 이동

// CASE 3
float q0[6] = { 0, 0, 90, 0, 90, 0 };
float q1[6] = {90, 0, 90, 0, 90, 0 };
float jvel=10;
float jacc=20;
float blending_radius=50;
drfl.movej(q0, jvel, jacc, 0, MOVE_MODE_ABSOLUTE, blending_radius);
// q0 관절각으로 이동하며 q0 관절각과 일치하는 위치로부터 50mm의 거리
// 가 될 때 다음 모션을 수행하도록 설정
drfl.movej(q1, jvel, jacc, 0, MOVE_MODE_ABSOLUTE, 0, BLENDING_SPEED_TYPE_DUPLICATE));
	// 직전모션과 Blending되어 q1 관절각으로 이동