Q&A

연속 보간 관련 문의

  • 고기표
  • 2025-02-12
  • 166

연속 보간 기능 관련하여 아래 사항들에 대해 문의 드립니다.

 

1. 세 개 축에 대해 좌표계를 지정하고 연속 보간 동작 수행하는 방법 확인

   1-1. 아래와 같이 구성한다면 세 개 축에 대해서 연속 보간이 가능한지 문의 드립니다.

   1-2. AxmLineMove의 경우 속도와 가/감속에 대해서 각각 하나의 변수로 사용하는데,

         이 속도와 가/감속이 어떻게 적용되는지 문의 드립니다.(ex. 가장 오래 움직여야하는 축 기준?)

long lAxis[3];

double dPos[3];

long lPosSize = 3;

long lCoordinate = 0;

double dVelocity = 200, dAccel = 400;

lAxis[0] = 0; lAxis[1] = 1; lAxis[2] = 2;

AxmContiWriteClear(lCoordinate);

AxmContiSetAxisMap(lCoordinate, lPosSize, lAxis);

//절대 위치 구동 등록.

AxmContiSetAbsRelMode(lCoordinate, 0);

AxmContiBeginNode(lCoordinate);

dPos[0] = 100 , dPos[1] = 100, dPos[2] = 0;

AxmLineMove(lCoordinate, dPos, dVelocity, dAccel, dAccel);

dPos[0] = 95 , dPos[1] = 105, dPos[2] = 1;

AxmLineMove(lCoordinate, dPos, dVelocity, dAccel, dAccel);

AxmContiEndNode(lCoordinate);

//절대 위치 구동 시작.

AxmContiSetAbsRelMode(lCoordinate, 0);

// 연속 보간 구동 시작.

AxmContiStart(lCoordinate, 0, 0);

 

2. 컨셉에 적합한 기능이 맞는지.

위와 같이 세개 축에 대해 연속 보간을 사용하는 목적은 X, Y, Theta 축으로 구성된 기구물이,

꼭지점 부분이 호로 이루어져 있는 사각형 형태의 자재를 고정한 상태에서,

한 지점을 지나도록 모션을 구성하려고 합니다.(자재를 회전시키면서 항상 같은 위치의 용접 포인트를 지나도록)

Theta 축이 회전함에 따라 X, Y 축이 이동해야  Point들을 사전에 계산하고, AxmLineMove 메서드를 나열하여 연속 보간할 계획 입니다.

이렇게 사용을 해도 무리가 없을지 문의 드립니다.

혹시, 직선 연속 보간보다 적합한 방식이 있다면 같이 추천 부탁 드립니다.

 

3. 스플라인 보간 사용방법

예제로 제공된 파일의 일부 입니다.

CAXM.AxmSplineWrite(0, 5, dPosX, dPosY, dVelocity, dAccel, dAccel, dPosZ, iPointFactor);

   3-1. AxmContiBeginNode ~ AxmContiEndNode 사이에 "AxmSplineWrite"가 여러번 연속 사용될 경우,

         B Spline 보간을 통한 곡선 데이터가 전체 경로에 대해 생성되는지, 각 Point 따로 생성 되는지 문의 드립니다.

         * 스플라인 보간의 경우, 직선/원호 보간과 연속으로 사용될 수 없다고 하여, 직선 구간에 대한 이동도 Spline 보간 적용 고려.

   3-2. AxmSplineWrite를 보면 X, Y 축에 대한 위치 값은 배열이지만, Z 축은 단일 변수 입니다.

         Z 축이 현재 위치에서 단일 변수로 지정한 위치까지 이동하는 동안 X,Y 축의 배열을 이동한다는 의미인지 문의 드립니다.

   3-3. AxmSplineWrite에서 지정한 속도, 가/감속도는 어떻게 적용되는지 문의 드립니다.

   3-4. 스플라인 연속 보간이 2번에서 설명드린 컨셉에 적합한지 문의 드립니다.

안녕하십니까 아진엑스텍입니다.

안녕하십니까 아진엑스텍입니다.
문의주신 Q&A는 메일로 답변드렸습니다. 확인부탁드립니다