인터페이스 통신 명령 설명
|
5700 포트
자동화 통신 프로토콜-Epic Pro가 서버 측(5700 포트).
단일 명령
동작 |
명령 |
반환 정보 |
||
|---|---|---|---|---|
촬영 |
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,로봇에 반환하는 상태 코드. |
||
공간 아래 픽 대상 전환 |
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,로봇에 반환하는 상태 코드. |
조합 명령
기본 원칙:
-
단일 명령 간 상호 조합하며, 세미콜론(;)으로 구분
-
아이인핸드의 경우, 촬영하는 카메라 ID와 촬영 지점 포즈를 보내는 카메라 ID가 일치하는지 확인하고, 해당 ID의 카메라 촬영을 트리거한 후에 촬영 지점을 보냄
-
명령 순서:
명령 순서
예시 명령
아이오프핸드: 공간 픽 대상 전환 → 촬영 →감지
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
반환 상태 코드
| 모든 명령은 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]"}