Task Editor Command 순응/힘 제어 개념 알아보기
OPTIONAL HARD 20 MIN
힘 제어(Force Control)와 순응 제어(Compliance Control)는 로봇의 힘을 제어하는 기능입니다. 또한 모션 명령어를 추가하는 경우 모션 이동과 동시에 힘을 제어할 수 있습니다. 순응 제어와 힘 제어 방식은 아래와 같은 차이점이 있습니다.
- 순응 제어
- 순응 제어 시에는 로봇 끝단 TCP에서 외력에 순응하고 외력이 제거되면 원래 로봇이 있어야 할 위치로 복귀하려는 힘이 생성되어 해당 위치로 이동합니다.
- 울퉁불퉁한 표면에서 직선 운동 시 로봇 및 표면을 파손하지 않고 이동하고 싶은 경우에 활용할 수 있습니다. 작업물 근처에서 예상치 못한 충돌을 예방하기 위해 활용할 수 있습니다.
- 힘 제어
- 힘 제어 시에는 로봇 끝단 TCP에 힘을 발생 시킵니다. 힘이 발생한 방향으로 가속도가 생성되므로 로봇은 모션 방향 외에도 힘의 방향으로도 동시에 이동하게 됩니다.
- 물체와 접촉 시에는 설정된 힘과 물체의 반력이 평형을 이룰 때까지 물체에 힘을 가하게 됩니다.
- 울퉁불퉁한 표면에서 직선 운동 시 표면에 일정한 힘을 가하고 싶은 경우에 활용할 수 있습니다. 폴리싱 작업과 같이 일정한 힘으로 밀면서 이동해야 하는 작업에 활용할 수 있습니다.
알아두기
Compliance와 Force 명령어는 현재 설정된 좌표계를 기준으로 작동합니다. 태스크의 기본 좌표계는 Base 좌표계이며, Set 명령어를 통해 좌표계를 변경할 수 있습니다.
- Base 좌표계 기준 +Z 방향으로 힘/순응 제어 시 동작하는 방향은 그림 1번과 같습니다.
- Tool 좌표계 기준 +Z 방향으로 힘/순응 제어 시 동작하는 방향은 그림 2번과 같습니다.
순응(Compliance) 제어
순응 제어(Compliance Control)란 로봇 끝단의 TCP에 힘이 가해질 때 설정된 강성에 따라 외력에 순응 하는 기능입니다. 목표점에서 힘 평형을 이루며 평형점을 기준으로 변위가 발생했을 때 반력 발생하는 제어 방식이며 순응 제어를 상태에서는 로봇 끝단이 마치 용수철처럼 물렁거립니다.
- 모션 제어를 단독을 사용하는 경우 충돌한 물체가 파손될 수 있습니다.
- 두산 로봇은 충돌 시 안전하게 정지하지만 안전 제한치(Safety Limits) > 충돌 민감도 등 사용자 설정에 따라 다음과 같은 상황이 발생할 수 있습니다.
- 모션 제어 사용 시 순응 제어를 On 상태로 만들면 충돌한 물체에 순응하면서 로봇이 이동합니다.
F(외력) , K(강성), X(이동 거리) 일 때, 다음과 같은 공식이 성립합니다.
- F = K * X
- K = F / X
- X = F / K
위 공식을 사용하면 순응 제어의 강성(Stiffness)을 1000N/m로 설정하고 로봇을 1mm 움직일 때 발생하는 외력은 1N 이 됩니다.
- F=1000N/m*0.001m=1N (0.001m=1mm)
알아두기
Compliance 명령어의 속성(Property)에서는 다음의 값들을 설정할 수 있습니다.
- 모드(Mode)
- On : 순응 제어 활성화
- Change : Compliance 모드가 On 상태인 경우 Stiffness 변경
- Off : 순응 제어 비활성화
- 강성(Stiffness) 설정 범위
- M/H 시리즈 : Translation(0~20000N/m), Rotation(0~1000Nm/rad)
- A 시리즈 : Translation(0~10000N/m), Rotation(0~300Nm/rad)
- 강성 설정 값이 낮을 수록 외력에 부드럽게 반응하며 목표 지점으로 복귀하는데 오랜 시간이 소요
- 설정 시간(Setting Time)
- 강성(Stiffness) 값이 현재 강성 값에서 설정 된 강성 값으로 도달하는데 소요 되는 시간 (0~1s)
주의
- 툴 무게(Tool Weight) 및 TCP(Tool Center Point)를 정확하게 설정 해야 합니다. 잘못된 툴 무게 설정으로 로봇이 툴 무게를 외력으로 감지하게 되면 Compliance 명령어 On 상태에서 위치 오차를 유발합니다.
- 드레스 팩의 장력으로 인해 로봇에 외부 토크가 발생할 수 있습니다. 따라서 드레스 팩을 주의해서 설치하십시오.
- 비동기 모션 또는 블렌딩 모션이 실행되는 동안 Compliance On 또는 Off 할 수 없습니다.
- Compliance 명령어 On 상태에는 선형 모션만 허용됩니다. MoveJ, MoveSJ와 같은 조인트 모션은 허용되지 않습니다.
- Compliance 명령어 On 상태에는 Tool무게 또는 TCP를 변경할 수 없습니다.
- Compliance 명령어 On 상태에는 모션 수행 시 발생하는 토크로 인한 순응으로 목표 위치에 정확하게 도달하지 못할 수 도 있습니다. 그러므로 목표점 근처에서 순응 제어를 켜는 것이 좋습니다. 혹은 강성 값을 큰 값으로 설정하여 위치 오차를 최소화 할 수 있습니다.
힘(Force) 제어
힘 제어(Force Control)란 설정한 힘과 반력이 평형 상태가 될 때까지 힘 제어 방향 힘을 가하는 기능입니다
- 설정한 힘 방향으로 이동하고 물체에 접촉 시 입력한 힘(N)을 유지
- 일정한 힘을 가하면서 힘 방향과 다른 방향으로 모션 제어 가능
- 최소 설정 값은 +/- 10N이며, 0.2N의 분해능으로 정밀하게 제어 가능
- 특이점 영역에서는 힘 제어 불가
- 일반 적으로 힘 제어 사용 시에는 순응 제어도 함께 사용하여 외력에 순응하며 힘 제어
알아두기
Force 명령어의 속성(Property)에서는 다음의 값들을 설정할 수 있습니다.
- 모드(Mode)
- On : 힘 제어 활성화
- Off : 힘 제어 비활성화
- 힘(Desired Force) 설정 범위
- X, Y, Z : 10 ~ (각 로봇별 최대치) N
- A, B, C : 5 ~(각 로봇별 최대치) Nm
- 최대 힘 값은 안전 파라메터 상하한 범위와 기본값 을 참조하십시오.
- 방향(Target Direction)
- 선택된 각 방향의 목표 값으로 이동합니다.
- 복수 선택이 가능합니다.
- 힘 설정 후 반드시 방향을 설정해야만 힘 제어가 동작합니다.
- 복수 선택한 방향 중 하나의 방향이 먼저 목표 힘에 도달 시 힘 평형을 이루는 경우 나머지 방향에 대해서 목표 값에 도달할 때 까지 계속 이동합니다.
- 상대 모드(Relative Mode)
- 이 모드가 활성화되면 현재 로봇에 작용하고 있는 외력 값을 0으로 보정하여 힘 제어 정확성을 향상 시킵니다.
- 상대 모드 비활성화 시 타겟에 실제 작용 힘은 설정한 힘과 외력의 합과 같습니다.
- 상대 모드 활성화 시 타겟에 실제 작용 힘은 설정한 힘과 같습니다.
- 힘 제어 상태에서 자세나 외력에 따라 오차가 발생할 수 있습니다.
- 힘 제어 상태에서는 목표 위치에 정확하게 도달하지 못할 수 도 있습니다. 그러므로 목표점 근처에서 힘 제어를 활성화하시기 바랍니다.
- 이 모드가 활성화되면 현재 로봇에 작용하고 있는 외력 값을 0으로 보정하여 힘 제어 정확성을 향상 시킵니다.
- 설정 시간(Setting Time)
- 힘(Force) 값이 현재 힘 값에서 설정 된 힘 값으로 도달하는데 소요 되는 시간 (0~1s)