struct.MONITORING_DATA_EX
로봇 제어기에서 로봇 운용 데이터 정보를 확인하기 위한 구조체 정보로 다음과 같은 7개의 운용 정보로 구성되어 있다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | 운용 정보(#1) | - | - | 제어관련 정보 |
2 | 운용 정보(#2) | - | - | 관절공간(Joint Space) 정보 |
146 | 운용 정보(#3) | - | - | 작업공간(Task Space) 정보 |
327 | 운용 정보(#4) | - | - | 토크 및 외력 관련 정보 |
439 | 운용 정보(#5) | - | - | 월드 좌표 관련 정보 |
643 | 운용 정보(#6) | - | - | 유저 좌표 관련 정보 |
825 | 운용 정보(#7) | - | - | 기타 로봇 관련 입력 정보 |
919 | 예약 공간(#1) | - | - | 120 바이트 예약 공간 |
1039 | 예약 공간(#2) | - | - | 120 바이트 예약 공간 |
운용 정보(#1)은 다음과 같이 현재 로봇의 움직임에 관한 제어 모드 정보로 구성된다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | 제어 모드 | uchar | 0x00~0x01 | 위치제어: 0 토크제어: 1 |
1 | 제어 공간 | uchar | 0x00~0x01 | 관절각도 공간: 0 작업좌표 공간: 1 |
운용 정보(#2)는 다음과 같이 관절공간(로봇의 조인트 기반)에서 로봇의 움직임에 관한 제어 입출력 정보로 구성된다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | 위치 정보 | float | - | 6개의 현재 조인트 각도 정보 |
24 | 위치 정보 | float | - | 6개의 현재 조인트 각도 정보 (Absolute Encorder) |
48 | 속도 정보 | float | - | 6개의 현재 조인트 속도 정보 |
72 | 오차 정보 | float | - | 6개의 현재 조인트 오차 정보 |
96 | 위치 정보 | float | - | 6개의 타켓 조인트 위치 정보 |
120 | 위치 정보 | float | - | 6개의 타켓 조인트 속도 정보 |
운용 정보(#3)은 다음과 같이 작업공간(로봇의 Flange에 장착된Tool 기반)에서 로봇의 움직에 관한 제어 입출력 정보로 구성된다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | 위치 정보 (Tool) | float | - | 6개의 현재 Tool 위치 정보 |
24 | 위치 정보 (Flange) | float | - | 6개의 현재 Flange위치 정보 |
48 | 속도 정보 | float | - | 6개의 현재 Tool 속도 정보 |
72 | 오차 정보 | float | - | 6개의 현재 Tool 오차 정보 |
96 | 위치 정보 | float | - | 6개의 타겟 Tool 위치 정보 |
120 | 속도 정보 | float | - | 6개의 타겟 Tool 속도 정보 |
144 | 자세 정보 | uchar | 0x00~0x07 | 로봇의 자세 정보 |
145 | 회전 행렬 | float | - | 3x3 행렬 정보 |
- 자세 정보는 로봇이 한 지점을 가리킬 수 있는 8가지 자세 정보중 하나이다.
- 운용 정보(#3)의 속도 정보는 X, Y, Z, Rx, Ry, Rz의 현재 및 타겟 속도 정보이다.
운용정보(#4)는 다음과 같이 토크제어 모드에서 로봇의 움직임에 관한 토크 및 외력 등의 제어 입출력 정보로 구성된다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | 토크정보 | float | - | 6개의 현재 계산된 다이나믹 토크 정보 |
24 | 토크정보 | float | - | 6개의 현재 측정된 JTS 센서 정보 |
48 | 외력정보 | float | - | 6개의 현재 Joint 축별 외력 정보 |
72 | 외력정보 | float | - | 6개의 현재 Tool 기반 외력 정보 |
운용정보(#5)는 다음과 같이 월드 좌표계 공간에서 로봇의 움직임에 관한 제어 입출력 정보로 구성된다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | World 좌표계와 Base 좌표계간 관계 | float | - | 6개의 위치 편차 정보 |
24 | 위치 정보 (Tool) | float | - | 6개의 현재 Tool 위치 정보 |
48 | 위치 정보 (Flange) | float | - | 6개의 현재 Flange 위치 정보 |
72 | 속도 정보 | float | - | 6개의 현재 Tool 속도 정보 |
96 | 외력 정보 | float | - | 6개의 현재 Tool 기반 외력 정보 |
120 | 위치 정보 | float | - | 6개의 타겟 Tool 위치 정보 |
144 | 속도 정보 | float | - | 6개의 타겟 Tool 속도 정보 |
168 | 회전 행렬 | float | - | 3x3 행렬 정보 |
운용정보(#6)은 다음과 같이 유저 좌표계 공간에서 로봇의 움직에 관한 제어 입출력 정보로 구성된다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | User 좌표계 ID | float | - | 좌표계 ID 정보(101~200) |
1 | User 좌표계의 Parent 좌표계 | float | - | Base 좌표: 0 World 좌표: 2 |
2 | 위치 정보 (Tool) | float | - | 6개의 현재 Tool 위치 정보 |
26 | 위치 정보 (Flange) | float | - | 6개의 현재 Flange위치 정보 |
50 | 속도 정보 | float | - | 6개의 현재 Tool 속도 정보 |
74 | 외력 정보 | float | - | 6개의 현재 Tool 기반 외력 정보 |
98 | 위치 정보 | float | - | 6개의 타겟 Tool 위치 정보 |
122 | 속도 정보 | float | - | 6개의 타겟 Tool 속도 정보 |
146 | 회전 행렬 | float | - | 3x3 행렬 정보 |
운용정보(#7)은 다음과 같이 기타 로봇 관련 입출력 정보로 구성된다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | 시간 정보 | double | - | 내부 클락 카운터 정보 |
8 | I/O 정보(#1) | uchar | - | 6개의 Digital On/Off정보 |
14 | I/O정보(#2) | uchar |
| 6개의 Digital On/Off정보 |
20 | 브레이크 정보 | uchar | - | 6개의 브레이크 상태 정보 |
26 | 버튼 정보 | uint |
| 5개의 로봇 버튼 정보 |
46 | 전류 정보 | float | - | 6개 모터의 전류 소모량 정보 |
70 | 온도 정보 | float |
| 6개 인버터 온도 정보 |
예약 공간 (#1)에는 운용정보의 확장을 위한 예비 공간이다. 버튼 정보는 운용정보(#7)의 버튼 정보와 동일하나, 자료형 및 버튼 크기가 변경된 정보를 포함하고 있다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | 버튼 정보 | uchar | - | 6개의 로봇 버튼 정보 |
버튼 정보는 운용정보(#7)의 버튼 정보와 동일하나, 자료형 및 버튼 크기가 변경된 정보를 포함하고 있다.
예약 공간(#2)에는 소형 모델 관련하여 다음과 같은 입출력 정보가 제공된다.
BYTE# | 필드명 | 데이터 형 | 값 | 비고 |
0 | 토크 정보 | float | - | 6개의 현재 측정된 FTS 센서 정보 |
24 | 토크 정보 | float | - | 6개의 현재 측정된 CS 센서 정보 |
48 | 속도 정보 | float | - | 3개의 현재 측정된 가속도 센서 정보 |
60 | 특이점 정보 | uchar | - | Minimum Singular Value |
- 브레이크 정보는 0이면 풀린 상태이며, 1이면 잠긴 상태로 로봇을 운용할 수 없는 상태이다.(현재는 지원되지 않는다)
I/O 정보에 대한 설명은 다음과 같다.
I/O 정보
설명
I/O 정보(#1)
로봇 끝단에 부착되어 있는 6의 Digital Input 정보
I/O 정보(#2)
로봇 끝단에 부착되어 있는 6의 Digital Output 정보
- 버튼 정보는 6축에 부착되어 있는 5개의 푸쉬 버튼의 On/Off 상태를 의미한다.