인터페이스 통신 명령 설명

  1. 지정된 ID 카메라 촬영 지점을 보내기 전에 반드시 해당 ID의 카메라 촬영을 먼저 트리거해야 합니다

  2. 아이인핸드의 경우, 주의사항 1을 기반으로 통신 실행 순서는 반드시 다음과 같아야 합니다: 먼저 촬영을 트리거하고, 촬영 지점을 보낸 다음, 마지막으로 감지를 수행합니다

  3. 다중 카메라 아이인핸드의 경우, 주의사항 1을 기반으로 통신 실행 순서는 반드시 다음과 같아야 합니다: 먼저 카메라 ID1 촬영을 트리거하고, 카메라 ID1 촬영 지점을 보낸 다음, 카메라 ID2 촬영을 트리거하고, 카메라 ID2 촬영 지점을 보낸 다음, 마지막으로 감지를 수행합니다(ID1과 ID2는 0번 카메라가 반드시 먼저 촬영한다는 의미가 아니며, 현장 요구사항에 따라 순서를 정할 수 있습니다)

5700 포트

자동화 통신 프로토콜-Epic Pro가 서버 측(5700 포트).

interface instructions

단일 명령

동작

명령

반환 정보

촬영

110,카메라ID

110,카메라ID1,카메라ID2…​

(110만 입력 시 기본적으로 첫 번째 카메라 사용)

성공: 110,카메라ID

실패: 000,실패코드,카메라ID

감지

일반 감지: 120,요청된 포즈 점 개수,0

픽 경로 계획만: 120,픽 경로 개수,0

후퇴 경로 계획 포함: 120,픽 경로 점 개수,후퇴 경로 점 개수

성공: 명령 코드=120

경우 1(일반 감지/충돌 감지): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

경우 2(경로 계획): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간명ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

인터페이스 포인트 클라우드가 변경되며, 충돌 감지 및 경로 계획의 경우 로봇도 변경됩니다

경로 계획은 요청 경로 점 개수가 설정된 각 세그먼트 계획 경로 점 개수보다 큰 것을 허용하지 않습니다. 더 큰 경우 소프트웨어는 000,3005(요청된 경로 점 수가 요구사항에 맞지 않음)를 반환합니다; 알고리즘 감지/충돌 감지만 하는 경우 요청된 픽 포인트 개수가 실제 식별된 픽 포인트 개수보다 큰 것을 허용합니다.

공간 아래 픽 대상 전환

130,공간ID, 픽 대상ID

성공: 130

실패: 000,로봇에 반환하는 상태 코드.

로봇 촬영 포즈(아이인핸드)

140,카메라ID,X,Y,Z,자세

(쿼터니언은 W,X,Y,Z 순서로 해석)

성공: 140,카메라ID

실패: 000,로봇에 반환하는 상태 코드.

비전 소프트웨어 재시작

307

명령 수신: 307

산업용 PC 종료

886

명령 수신: 886

단축 명령

동작

명령

반환 정보

촬영+감지

일반 감지: 220,픽 포인트 개수,0

픽 경로 계획만: 220,픽 경로 점 개수,0

후퇴 경로 계획 포함: 220,픽 경로 점 개수,후퇴 경로 점 개수

성공: 명령 코드=220

경우 1(일반 감지/충돌 감지): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

경우 2(경로 계획): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간명ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

인터페이스 포인트 클라우드가 변경되며, 충돌 감지 및 경로 계획의 경우 로봇도 변경됩니다

실패: 000,로봇에 반환하는 상태 코드로봇에 반환하는 상태 코드.

촬영+로봇 촬영 포즈

240,카메라ID,X,Y,Z,포즈

성공: 240,카메라ID

실패: 000,로봇에 반환하는 상태 코드.

촬영+로봇 촬영 포즈+감지

일반 감지: 250,카메라ID,X,Y,Z,포즈,픽 포인트 개수,0

픽 경로 계획만: 250,카메라ID,X,Y,Z,포즈,픽 경로 점 개수,0

후퇴 경로 계획 포함: 250,카메라ID,X,Y,Z,포즈,픽 경로 점 개수,후퇴 경로 점 개수

성공: 명령 코드=250

경우 1(일반 감지/충돌 감지): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

경우 2(경로 계획): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간명ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

인터페이스 포인트 클라우드가 변경되며, 충돌 감지 및 경로 계획의 경우 로봇도 변경됩니다

실패: 000,로봇에 반환하는 상태 코드.

공간 아래 픽 대상 전환+촬영

310,공간ID,픽 대상ID,카메라ID1,카메라ID2…​

(카메라ID를 포함하지 않으면 기본적으로 첫 번째 카메라 사용)

성공: 310,카메라ID

실패: 000,로봇에 반환하는 상태 코드.

공간 아래 픽 대상 전환+촬영+감지

일반 감지: 320,공간ID,픽 대상ID,카메라ID1,카메라ID2…​,픽 포인트 개수,0

픽 경로 계획만: 320,공간ID,픽 대상ID,카메라ID1,카메라ID2…​,픽 경로 점 개수,0

후퇴 경로 계획 포함: 320,공간ID,픽 대상ID,카메라ID1,카메라ID2…​,픽 경로 점 개수,후퇴 경로 점 개수

(카메라ID를 포함하지 않으면 기본적으로 첫 번째 카메라 사용)

성공: 명령 코드=320

경우 1(일반 감지/충돌 감지): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

경우 2(경로 계획): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간명ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

인터페이스 포인트 클라우드가 변경되며, 충돌 감지 및 경로 계획의 경우 로봇도 변경됩니다

실패: 000,로봇에 반환하는 상태 코드.

공간 아래 픽 대상 전환+촬영+로봇 촬영 포즈

340,공간ID,픽 대상ID,카메라ID,X,Y,Z,포즈

성공: 340,카메라ID

실패: 000,로봇에 반환하는 상태 코드.

공간 아래 픽 대상 전환+촬영+로봇 촬영 포즈+감지

일반 감지: 350,공간ID,픽 대상ID,카메라ID,X,Y,Z,포즈,픽 포인트 개수,0

픽 경로 계획만: 350,공간ID,픽 대상ID,카메라ID,X,Y,Z,포즈,픽 경로 점 개수,0

후퇴 경로 계획 포함: 350,공간ID,픽 대상ID,카메라ID,X,Y,Z,포즈,픽 경로 점 개수,후퇴 경로 점 개수

성공: 명령 코드=350

경우 1(일반 감지/충돌 감지): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

경우 2(경로 계획): 명령코드,포즈타입(데카르트0/조인트1),보낸 포즈 점 수n,픽 포인트가 있는 픽 대상 개수,식별된 픽 포인트 총 개수,현재 공간명ID,현재 픽 대상ID,현재 픽 포인트 인덱스(현재 픽 포인트가 모든 픽 포인트 리스트에서의 인덱스),현재 픽 포인트 번호(픽 포인트 편집 도구에서 나타나는 번호),예약ProStatus상태정보(이 정보가 없으면 0으로 채움),0,0,포즈*n

인터페이스 포인트 클라우드가 변경되며, 충돌 감지 및 경로 계획의 경우 로봇도 변경됩니다

실패: 000,로봇에 반환하는 상태 코드.

조합 명령

기본 원칙:

  1. 단일 명령 간 상호 조합하며, 세미콜론(;)으로 구분

  2. 아이인핸드의 경우, 촬영하는 카메라 ID와 촬영 지점 포즈를 보내는 카메라 ID가 일치하는지 확인하고, 해당 ID의 카메라 촬영을 트리거한 후에 촬영 지점을 보냄

  3. 명령 순서:

    명령 순서

    예시 명령

    아이오프핸드: 공간 픽 대상 전환 → 촬영 →감지

    130,1,1; 110,1; 120,1,0

    아이인핸드: 공간 픽 대상 전환 → 촬영 → 현재 카메라 촬영 지점→감지

    130,1,1; 110,1; 140,1,0,0,0,0,0,0; 120,1,0

    스플라이싱 아이인핸드: 공간 픽 대상 전환 → 카메라1 촬영 → 카메라2 촬영 →감지

    130,1,1; 110,1; 110,2; 120,1,0

    스플라이싱 아이오프핸드: 공간 픽 대상 전환 → 카메라1 촬영 → 현재 카메라1 촬영 지점→ 카메라2 촬영 → 현재 카메라2 촬영 지점→감지

    130,1,1; 110,1; 140,1,0,0,0,0,0,0; 110,2; 140,2,0,0,0,0,0,0; 120,1,0

간단한 예시:

동작

명령

반환 정보

촬영+감지

110,카메라ID1,카메라ID2…​;120,1,0 또는 110;120,1,0

(카메라ID를 포함하지 않으면 기본적으로 첫 번째 카메라 사용)

반환 결과는 위 표 참조

촬영+로봇 촬영 포즈

110,카메라ID;140,카메라ID,X,Y,Z,포즈

반환 결과는 위 표 참조

촬영+로봇 촬영 포즈+감지

110,카메라ID;140,카메라ID,X,Y,Z,포즈;120,1,0

반환 결과는 위 표 참조

반환 상태 코드

모든 명령은 HOOK를 거쳐 반환되어야 하며, 모두 반환 값이 있습니다

성공 상태 코드

상태 코드

설명

비고

2001

구성 전환 성공

2002

카메라 전환 성공

2003

로봇 촬영 포즈 설정 성공

2004

촬영 성공

2005

감지 성공

감지만 성공 및 충돌 감지 성공 포함

2006

경로 계획 성공

이상 상태 코드

상태 코드

설명

비고

3001

현재 작업 실행 중, 잠시 후 다시 시도하세요

솔루션 종료 중이거나 대기 상태에서는 다른 작업을 실행할 수 없습니다

3002

명령 해석 실패, 형식을 확인하세요

3003

요청된 매개변수 수가 요구사항에 맞지 않습니다

3004

전송된 촬영 포즈 형식이 올바르지 않습니다

3005

요청된 경로 점 수가 요구사항에 맞지 않습니다

3006

요청된 픽 포인트 수가 요구사항에 맞지 않습니다

3007

픽 공간 전환 실패

3008

픽 구성 전환 실패

3009

카메라 전환 실패

3010

카메라 매개변수 설정 실패

3011

로봇 현재 촬영 포즈를 받지 못했습니다

3012

카메라 촬영 포즈 설정 시, 촬영 데이터가 없습니다

3013

로봇 현재 촬영 포즈 설정 실패

3014

로봇 이전 촬영 지점 포즈를 보내지 않았습니다. 다시 촬영하고 해당 포즈를 보내주세요

3015

촬영 실패

3016

감지 입력 데이터 부족

ATOM 요청 전에 데이터가 부족합니다: 하나는 핸드아이 캘리브레이션 결과 데이터, 다른 하나는 아이인핸드 촬영 지점 데이터

3017

ATOM 매개변수 설정 실패

런타임 매개변수 및 매핑 매개변수 설정 포함

3018

ATOM 감지 이상

ATOM 실행에 오류나 이상이 있습니다(ATOM 반환 결과가 null이거나 ATOM 요청 실행 시 catch 예외 발생)

3019

감지 이상

120 이상(ATOM 이상 제외)

3020

결과를 감지하지 못했습니다

대상을 감지하지 못했습니다 (1. ATOM의 감지 결과가 비어 있음

2. ATOM의 감지 결과는 비어 있지 않지만 모두 충돌

3.ATOM의 감지 결과는 비어 있지 않지만 모든 픽 포인트에서 결과가 계획되지 않음)

3021

사용 가능한 픽 포인트 없음

픽 가능한 결과가 있지만 감지 결과가 이미 픽 완료된 후 다시 요청하면 표시: 사용 가능한 픽 포인트 없음

3022

Epic Pro 이상

통신 실행 및 hooks 실행하지만 hooks가 처리하지 않은 이상(hooks 실행 이상)

5800 포트

실시간 로봇 획득(기본 5800 포트)

// 주의 SN 명명 방식 변경 VendorName-ModelName-RobotName
// VendorName 명명 방식은 motion_plan 모듈과 동일
// RobotName은 001 002 003 등이 될 수 있음

//데카르트 공간 포즈 전송
{"SN":"Abb-001","C":"[269.91,3.84,910.26,0.0353839,0.705059,0.0673907]"}
//관절 각도 전송
{"SN":"Abb-001","J":"[2.03,-48.87,50.83,-0.06,85.19,0.91]"}