외부 이동
기능 설명
이 스텝은 외부 서비스 Adapter에서 대상 포즈를 얻은 후, Mech-Viz에서 경로 계획과 로봇 이동 컨트롤을 수행하는 데 사용됩니다. JPs, TCP, 물체 포즈를 설정하는 것을 지원합니다.
파라미터 설명
이동 스텝 기본 파라미터
웨이 포인트 전송
기본적으로 선택되어 있으며 로봇 등 수신자에게 현재 웨이 포인트를 전송합니다. 선택을 해제하면 현재 웨이 포인트는 전송되지 않지만, 해당 웨이 포인트는 여전히 계획 경로에 포함됩니다.
후속 비이동 스텝 원활 통과 시도
기본적으로 선택되어 있지 않습니다. 이동 스텝 사이에 비이동 스텝(예: 비전 인식, DO 설정, DI 확인 등)이 연결되면 웨이 포인트 전송이 중단되어 실제 로봇 실행 중 짧은 정지가 발생하고, 결과적으로 로봇 동작이 매끄럽지 않게 됩니다.
이 옵션을 선택하면 현재 이동 스텝의 실행 종료를 기다리지 않고 작업 흐름을 계속 실행할 수 있습니다. 이렇게 하면 로봇 실행 과정에서 자주 멈추는 문제를 줄여 동작을 더 매끄럽게 만들 수 있지만, 스텝이 너무 일찍 종료될 수 있습니다.
스텝이 일찍 종료되는 이유는 무엇입니까?
Mech-Viz 소프트웨어는 실행 중 로봇에 여러 웨이 포인트를 동시에 전송합니다. 소프트웨어는 로봇에 전송한 마지막 웨이 포인트와 로봇이 현재 반환한 관절 각도가 동일한지만 확인하며, 동일하면 로봇이 마지막 웨이 포인트에 도달한 것으로 간주합니다.
예를 들어 경로가 10개의 이동 스텝으로 구성되어 있고, 그중 다섯 번째 이동 스텝과 마지막 이동 스텝의 포즈가 동일하다고 가정합니다. 로봇 속도가 느린 경우 다섯 번째 웨이 포인트에 도달한 뒤 현재 관절 각도(JPs)를 Mech-Viz로 전송합니다. 이때 다섯 번째 이동 스텝의 포즈가 마지막 이동 스텝의 포즈와 같기 때문에 Mech-Viz가 로봇이 모든 웨이 포인트에 도달했다고 잘못 판단하여 명령어가 조기에 종료될 수 있습니다.
이미 배치된 대상 물체와의 충돌 감지 안 함
충돌 감지 패널에서 대상 물체 충돌 감지 기능을 활성화한 후 이 옵션을 선택하면 소프트웨어는 로봇, 말단장치와 이미 배치된 대상 물체 간의 충돌을 감지하지 않습니다. 일반적으로 피킹 또는 배치가 배치인 스텝 다음의 이동 스텝에서는 충돌 오검출을 방지하기 위해 이 파라미터를 선택합니다.
응용 예시:
진공 그리퍼의 TCP는 일반적으로 진공 그리퍼 표면이 아닌 모델 내부에 위치합니다. 이 경우, 상자를 피킹할 때 진공 그리퍼 모델과 상자 모델이 중첩될 수 있습니다. 그러나 소프트웨어는 말단장치와 피킹된 대상 물체 간의 충돌을 감지하지 않으므로, 피킹 중에는 충돌 경고가 트리거되지 않습니다. 하지만 로봇이 상자를 내려놓을 때 피킹된 상자 모델이 장면 모델로 전환되면, 소프트웨어는 말단장치와 상자의 장면 모델 간의 충돌을 감지하여 충돌 경고를 발생시키게 되며, 이는 팔레타이징 작업을 완료하는 데 장애가 됩니다.
이 파라미터를 선택하면, 소프트웨어는 로봇과 말단장치가 배치된 대상 물체와 충돌하는 것을 감지하지 않으므로 이러한 문제를 피할 수 있습니다.
포인트 클라우드 충돌 감지 모드
일반적으로 Auto 모드를 선택하면 됩니다. 즉, 충돌 감지 패널의 포인트 클라우드 충돌 감지 설정을 그대로 적용하면 됩니다. 로봇이 대상 물체를 피킹한 후 배치하기 전의 이동 스텝에는 일반적으로 체크하기 모드를 선택하면 됩니다.
Auto |
기본값. 충돌 감지 패널에서 포인트 클라우드 충돌 감지 기능이 활성화되면 "비전 이동" 스텝 및 "비전 이동" 스텝에 의존하는 "상대 이동" 스텝의 포인트 클라우드 충돌만 감지하고, 다른 이동 스텝의 포인트 클라우드 충돌은 감지하지 않습니다. |
체크하지 않기 |
모든 이동 스텝의 포인트 클라우드 충돌을 감지하지 않습니다. |
체크하기 |
모든 이동 스텝의 포인트 클라우드 충돌을 감지합니다. |
대상 물체 대칭성 무시
이 파라미터는 이동 스텝의 목표 유형이 대상 물체 포즈로 설정된 경우에만 표시됩니다.
여기서 말하는 '대칭성’은 대상 물체 편집기에서 충돌 모델을 설정할 때 미리 구성한 이미 피킹된 대상 물체의 회전 대칭성을 의미합니다.
없음 |
기본값. 모든 축의 대칭성을 사용합니다. |
AxisZ |
Z축을 중심으로 한 대칭성만 사용하지 않습니다. |
AxisXy |
X 및 Y축을 중심으로 한 대칭성을 사용하지 않습니다. |
All |
모든 대칭성을 사용하지 않고 로봇은 엄격하게 대상 물체의 포즈에 따라 물체를 배치합니다. |
| 이동 스텝으로 대상 물체를 배치할 때 회전 대칭성을 적용하면 물체 배치 포즈의 일관성을 보장할 수 없습니다. 모든 대상 물체를 특정 규칙에 따라 엄격하게 배치하려면 All을 선택하십시오. |
계획 실패 아웃 포트
이 파라미터를 선택하면 스텝에 계획 실패 아웃 포트가 추가됩니다.
현재 스텝의 경로 계획이 성공하면 작업 흐름은 성공 아웃 포트를 따라 계속됩니다. 현재 스텝의 경로 계획이 실패하면 작업 흐름은 계획 실패 아웃 포트를 따라 계속됩니다. 동일한 계획 기록 항목에 계획 실패 아웃 포트가 있는 여러 이동 스텝이 포함된 경우, 프로젝트는 첫 번째 이동 스텝의 '계획 실패' 아웃 포트를 따라 계속 실행됩니다.
피킹된 대상 물체 충돌 감지 설정
구성하기 전에 충돌 감지 패널에서 대상 물체 충돌 감지 기능을 활성화하십시오.
| 충돌을 감지하지 않으면 충돌 위험이 높아집니다. 다음 옵션을 활성화할 때 주의하시기 바랍니다. |
장면 물체와의 충돌 감지를 하지 않기
이 옵션을 선택하면 피킹된 대상 물체와 장면 물체 모델 간의 충돌이 감지되지 않아 소프트웨어의 충돌 감지 계산량이 줄어들고 경로 계획 속도가 향상되며 전체 사이클 타임이 최적화됩니다.
로봇과의 충돌 감지를 하지 않기
이 옵션을 선택하면 피킹된 대상 물체와 로봇 간의 충돌이 감지되지 않아 소프트웨어의 충돌 감지 계산량이 줄어들고 경로 계획 속도가 향상되며 전체 사이클 타임이 최적화됩니다.
포인트 클라우드와의 충돌 감지를 하지 않기
충돌 감지 패널에서 포인트 클라우드 충돌 감지 기능을 활성화한 후 이 옵션을 선택하면 피킹된 대상 물체와 포인트 클라우드 간의 충돌이 감지되지 않아 소프트웨어의 충돌 감지 계산량이 줄어들고 경로 계획 속도가 향상되며 전체 사이클 타임이 최적화됩니다.
서비스 명칭
Adapter가 통신 컴포넌트에서 등록한 외부 서버의 명칭이며 서비스 명칭을 통해 이 스텝의 인터페이스를 획득하고 웨이포인트를 전송하기 위해 이 파라미터는 Adapter와 반드시 일치해야 합니다.
외부 서비스에서 획득한 JPs를 사용하기
기본적으로 선택되어 있지 않습니다. 소프트웨어는 경로를 계획할 때 이전 웨이포인트를 초기 위치로 사용합니다. 이 옵션을 선택하면 경로 계획의 초기 위치는 외부 서비스에서 획득한 로봇 JPs 위치가 됩니다. 이 기능은 일반적으로 Mech-Viz 가 로봇의 마스터 컨트롤에 사용되지 않는 시나리오에서 사용됩니다.
인터페이스 예시
class CustomOuterMoveService(OuterMoveService):
def gather_targets(self, di, jps, flange_pose):
self.add_target(self.move_target_type, [0.189430,-0.455540,0.529460,-0.079367,0.294292,-0.952178,0.021236])
CustomOuterMoveService 클래스는 OuterMoveService 클래스에 상속됩니다. self.move_target_type은 0, 1, 2의 값을 갖는 이동 포인트 클래스를 나타내며, 여기서 0은 JPs, 1은 TCP, 2는 물체 포즈를 나타냅니다. Mech-Viz는 “외부 이동” 스텝까지 실행되면 getMoveTargets()를 호출합니다. 서비스 이름을 통해 서로 다른 외부 이동 스텝을 구분합니다.
def _register_service(self):
self.outer_move_service = CustomOuterMoveService()
self._outer_move_server, port = register_service(outer_move_service, port)
| self.move_target_type가 2(물체 포즈 표시)인 경우 외부 이동 스텝 앞에 피킹을 나타내는 스텝이 필요합니다. 그렇지 않으면, “-물체를 피킹하지 않은 경우 물체의 포즈는 유효하지 않습니다.”라는 오류가 나타납니다. |