3 데이터 구조
3.1 상태 코드
설명
인터페이스에서 반환된 상태 코드입니다.
가져오기
using Agilebot.IR;필드
| Name | Enum Value | Description |
|---|---|---|
OK | 0 | 실행 성공 |
INCOMPATIBLE_VERSION | -1 | 호환되지 않는 버전 |
TIMEOUT | -3 | 연결 시간 초과 |
INTERFACE_NOT_IMPLEMENTED | -4 | 인터페이스가 구현되지 않았습니다. |
INDEX_OUT_OF_RANGE | -5 | 범위를 벗어난 인덱스 |
UNSUPPORTED_FILETYPE | -6 | 지원되지 않는 파일 형식 |
UNSUPPORTED_PARAMETER | -7 | 지원되지 않는 로봇 매개변수 |
UNSUPPORTED_SIGNALTYPE | -8 | 지원되지 않는 IO 신호 유형 |
PROGRAM_NOT_FOUND | -9 | 프로그램을 찾을 수 없습니다 |
PROGRAM_POSE_NOT_FOUND | -10 | 프로그램 포즈 정보를 찾을 수 없습니다 |
WRITE_PROGRAM_FAILED | -11 | 프로그램 포즈 정보를 업데이트하지 못했습니다. |
GET_ALARM_CODE_FAILED | -12 | 알람 코드를 가져오기 위해 알람 서비스에 액세스하지 못했습니다. |
WRONG_POSITION_INFO | -13 | 컨트롤러가 잘못된 위치 정보를 반환함 |
UNSUPPORTED_TRA_TYPE | -14 | 지원되지 않는 모션 유형 |
FILE_NOT_FOUND | -15 | 파일 또는 폴더를 찾을 수 없습니다 |
FILE_ALREADY_EXIST | -16 | 파일이 이미 존재합니다. |
INVALID_PARAMETER | -27 | 잘못된 매개변수 |
GET_ALARM_DESC_FAILED | -17 | 알람 코드를 기준으로 알람 정보를 가져오지 못했습니다. |
RESET_ALARM_ERRORS_FAILED | -18 | 알람 정보를 재설정하지 못했습니다. |
GET_ALL_ALARMS_FAILED | -19 | 모든 알람 정보를 가져오지 못했습니다. |
WRONG_DATA_FORMAT | -20 | 잘못된 데이터 형식이 수신되었습니다. |
CONNECT_FAILED | -21 | 초기화 연결에 실패했습니다. IP 주소 또는 제어 캐비닛 서비스를 확인하십시오. |
POSE_INDEX_DUPLICATED | -23 | 포즈 인덱스가 중복되었습니다. |
CONTROLLER_ERROR | -254 | 컨트롤러 오류입니다. 개발자에게 문의하세요. |
OTHER_REASON | -255 | 기타 이유 |
3.2 로봇상태
설명
로봇 작동 상태.
가져오기
using Agilebot.IR.Types;필드
| Name | Enum Value | Description |
|---|---|---|
WRONG_DATA | -1 | 알 수 없는 상태 |
ROBOT_IDLE | 0 | 로봇 유휴 |
ROBOT_RUNNING | 1 | 로봇이 달리고 있다 |
ROBOT_TEACHING | 2 | 로봇티칭 |
ROBOT_IDLE_TO_RUNNING | 101 | 로봇 중간 상태, 유휴 상태에서 실행 중 |
ROBOT_IDLE_TO_TEACHING | 102 | 로봇 중간 상태, 교육 중 유휴 상태 |
ROBOT_RUNNING_TO_IDLE | 103 | 로봇 중간 상태, 유휴 상태로 실행 중 |
ROBOT_TEACHING_TO_IDLE | 104 | 로봇 중간 상태, 유휴 교육 |
3.3 Ctrl상태
설명
컨트롤러 작동 상태.
가져오기
using Agilebot.IR.Types;필드
| Name | Enum Value | Description |
|---|---|---|
WRONG_DATA | -1 | 알 수 없는 컨트롤러 상태 |
CTRL_INIT | 0 | 컨트롤러 초기화 중 |
CTRL_ENGAGED | 1 | 컨트롤러 활성화됨 |
CTRL_ESTOP | 2 | 컨트롤러 비상 정지 |
CTRL_TERMINATED | 3 | 컨트롤러가 종료되었습니다. |
CTRL_ANY_TO_ESTOP | 101 | 컨트롤러 중간 상태, 모두 비상 정지 |
CTRL_ESTOP_TO_ENGAGED | 102 | 컨트롤러 중간 상태, 비상 정지 활성화 |
CTRL_ESTOP_TO_TERMINATED | 103 | 컨트롤러 중간 상태, 비상 정지 ~ 종료 |
3.4 서보상태
설명
서보 컨트롤러 상태.
가져오기
using Agilebot.IR.Types;필드
| Name | Enum Value | Description |
|---|---|---|
WRONG_DATA | -1 | 알 수 없는 서보 컨트롤러 상태 |
SERVO_IDLE | 1 | 서보 컨트롤러 유휴 |
SERVO_RUNNING | 2 | 서보 컨트롤러 실행 중 |
SERVO_DISABLE | 3 | 서보 컨트롤러 비활성화됨 |
SERVO_WAIT_READY | 4 | 준비를 기다리는 서보 컨트롤러 |
SERVO_WAIT_DOWN | 5 | 종료를 기다리는 서보 컨트롤러 |
SERVO_INIT | 10 | 서보 컨트롤러 초기화 중 |
3.5 TransformStatusEnum
설명
오프라인 궤적 파일 변환 상태에 대한 열거형입니다.
가져오기
using Agilebot.IR.Types;필드
| Name | Enum Value | Description |
|---|---|---|
TRANSFORM_START | 0 | 변환 작업이 시작되었습니다. |
TRANSFORM_RUNNING | 1 | 변환 작업 진행 중 |
TRANSFORM_SUCCESS | 2 | 변환 작업이 성공적으로 완료되었습니다. |
TRANSFORM_FAILED | 3 | 변환 작업 실패 |
TRANSFORM_NOT_FOUND | 4 | 변환 작업을 찾을 수 없습니다 |
TRANSFORM_UNKNOWN | -1 | 알 수 없는 변환 작업 상태 |
3.6 PayloadInfo
설명
PayloadInfo 클래스는 페이로드 ID, 무게, 질량 중심 및 관성 모멘트를 포함한 로봇의 페이로드 정보를 저장하는 데 사용됩니다. 이 정보는 부하 조건에서 로봇의 운동학적 및 동적 분석, 특히 경로 계획 및 토크 계산에 중요합니다.
가져오기
using Agilebot.IR.Motion;속성
| Property | Type | Description |
|---|---|---|
Id | uint | 다양한 페이로드 구성을 고유하게 식별하는 데 사용되는 페이로드 ID |
Comment | string | 페이로드에 대한 추가 정보를 설명하는 데 사용되는 주석 |
Weight | double | 페이로드 중량(단위: 킬로그램) |
MassCenter | MassCenter | 페이로드 질량 중심(X, Y, Z 좌표) |
InertiaMoment | InertiaMoment | 페이로드 관성 모멘트(LX, LY, LZ) |
예
PayloadInfo payload = new PayloadInfo
{
Id = 1,
Comment = "Sample Payload",
Weight = 5.0,
MassCenter = new MassCenter { X = 10.0, Y = 20.0, Z = 30.0 },
InertiaMoment = new InertiaMoment { LX = 0.1, LY = 0.2, LZ = 0.3 }
};3.6.1 매스센터
설명
MassCenter 클래스는 X, Y 및 Z 좌표를 포함하는 페이로드의 질량 중심을 나타내는 데 사용됩니다. 질량 중심은 공간에서 페이로드의 기하학적 중심이며 로봇 동작 제어 및 토크 계산에 중요합니다.
가져오기
using Agilebot.IR.Motion;속성
| Property | Type | Description |
|---|---|---|
X | double | 질량 중심의 X 좌표(단위: 밀리미터) |
Y | double | 질량 중심의 Y 좌표(단위: 밀리미터) |
Z | double | 질량 중심의 Z 좌표(단위: 밀리미터) |
3.6.2 관성모멘트
설명
InertiaMoment 클래스는 LX, LY 및 LZ 구성 요소를 포함하는 페이로드의 관성 모멘트를 나타내는 데 사용됩니다. 관성 모멘트는 회전 변화에 대한 페이로드의 저항을 나타내며 로봇 역학 분석 및 제어에 중요합니다.
가져오기
using Agilebot.IR.Motion;속성
| Property | Type | Description |
|---|---|---|
LX | double | 관성 모멘트의 X 성분(단위: 킬로그램·밀리미터²) |
LY | double | 관성모멘트의 Y성분(단위: 킬로그램·밀리미터²) |
LZ | double | 관성모멘트의 Z 성분 (단위: 킬로그램·밀리미터²) |
3.7 변환상태
설명
오프라인 궤적 파일 변환 상태에 대한 열거형입니다.
가져오기
using Agilebot.IR.Types;필드
| Enum Value | Value | Description |
|---|---|---|
TRANSFORM_START | 0 | 변환 작업이 시작되었습니다. |
TRANSFORM_RUNNING | 1 | 변환 작업 진행 중 |
TRANSFORM_SUCCESS | 2 | 변환 작업이 성공적으로 완료되었습니다. |
TRANSFORM_FAILED | 3 | 변환 작업 실패 |
TRANSFORM_NOT_FOUND | 4 | 변환 작업을 찾을 수 없습니다 |
TRANSFORM_UNKNOWN | -1 | 데이터 오류, 알 수 없는 상태 |
3.8 TCSType
설명
TCS 좌표계 유형.
가져오기
using Agilebot.IR.Types;필드
| Name | Enum Value | Description |
|---|---|---|
WRONG_TYPE | -1 | 잘못된 유형 |
JOINT | 0 | Joint 공간 |
BASE | 1 | 기본 좌표계 |
WORLD | 2 | 세계 좌표계 |
USER | 3 | 사용자 좌표계 |
TOOL | 4 | 도구 좌표계 |
RTCP_USER | 5 | RTCP 사용자 좌표계 |
RTCP_TOOL | 6 | RTCP 도구 좌표계 |
3.9 MotionPose
설명
로봇의 위치 구조를 설명합니다. 좌표 데이터에서 XYZ 방향의 거리는 밀리미터(mm) 단위로 측정되고, 각도 데이터는 각도(°) 단위로 측정됩니다. 일부 버전에서는 각도 정보가 라디안 단위입니다. 자세한 내용은 함수 목록 반환 결과 설명을 참조하세요.
가져오기
using Agilebot.IR.Motion;속성
| Property | Type | Description |
|---|---|---|
CartData | BaseCartData | 데카르트 데이터 |
Joint | Joint | Joint 데이터 |
Pt | PoseType | Position 유형, 기본값은 알 수 없음 |
예
MotionPose motionPose = new MotionPose();
motionPose.Pt = PoseType.Cart;
motionPose.CartData.Position = new Position{
X = 300,
Y = 300,
Z = 300,
A = 0,
B = 0,
C = 0
};
motionPose.CartData.Posture = new Posture{
WristFlip = 1,
ArmUpDown = 1,
ArmBackFront = 1,
ArmLeftRight = 1,
TurnCircle = new List<int>(9){0,0,0,0,0,0,0,0,0}
};
MotionPose motionPose2 = new MotionPose();
motionPose2.Pt = PoseType.Joint;
motionPose2.Joint = new Joint{
J1 = 0,
J2 = 0,
J3 = 60,
J4 = 60,
J5 = 0,
J6 = 0
};3.10 BaseCartData
설명
직교 좌표계에서의 로봇의 위치 및 자세 정보를 설명합니다. 공간 좌표는 밀리미터(mm) 단위로 측정되며, 자세 정보에는 손목, 팔 자세와 각 축의 회전 횟수가 포함됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
Position | Position | 로봇의 공간좌표(X, Y, Z, A, B, C) |
Posture | Posture | 로봇의 자세정보(손목, 팔자세, 축회전수) |
예
BaseCartData cartData = new BaseCartData();
cartData.Position.X = 100.0;
cartData.Position.Y = 200.0;
cartData.Position.Z = 300.0;
cartData.Posture.ArmUpDown = 1;
cartData.Posture.ArmBackFront = -1;
Console.WriteLine(cartData.ToString());3.10.1 Position
설명
데카르트 좌표계에서 로봇의 위치 및 회전 각도 좌표를 설명합니다. X, Y, Z 방향의 거리는 밀리미터(mm) 단위로 측정되고, A, B, C 방향의 각도는 도(°) 단위로 측정됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
X | double | 직교 좌표계의 X 방향 거리(단위: 밀리미터) |
Y | double | 직교 좌표계의 Y 방향 거리(단위: 밀리미터) |
Z | double | 직교 좌표계의 Z 방향 거리(단위: 밀리미터) |
A | double | 직교 좌표계의 A 방향 각도(단위: 도) |
B | double | 직교 좌표계의 B 방향 각도(단위: 도) |
C | double | 직교 좌표계의 C 방향 각도(단위: 도) |
예
Position position = new Position();
position.X = 100.0;
position.Y = 200.0;
position.Z = 300.0;
position.A = 45.0;
position.B = 30.0;
position.C = 60.0;
Console.WriteLine(position.ToString());3.10.2 Posture
설명
손목, 팔 자세, 각 축의 회전수 등 로봇의 자세 정보를 설명합니다. Posture 정보는 공간에서 로봇의 특정 자세를 정의하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
WristFlip | int | 손목 뒤집기 자세. 범위: ‑1, 0, 1. 6축 로봇 J5 관절 구성의 경우: 1 = 손목이 아래로 뒤집힌 상태, ‑1 = 손목이 위로 뒤집힌 상태. |
ArmUpDown | int | 팔 올리기/down 자세. 범위: ‑1, 0, 1. 6축 로봇 J3 관절 구성의 경우: 1 = 팔 위(전방 조건: 관절 4에서 관절 2까지의 선 위의 관절 3 및 관절 3 각도 < 0), ‑1 = 팔 아래(관절 3 각도 > 0) |
ArmBackFront | int | Arm front/back posture. 범위: ‑1, 0, 1. 6축 로봇 J1 관절 구성의 경우: 1 = 팔 앞(협동 로봇은 앞을 향하고, 조인트-2는 관절-1의 왼쪽에 있음), ‑1 = 팔 뒤(관절-1의 오른쪽에 있는 관절-2). |
ArmLeftRight | int | 팔 왼쪽/right 자세. 범위: ‑1, 0, 1. 4축 SCARA 로봇 J2 조인트 구성의 경우: 1 = 오른쪽의 SCARA 팔, ‑1 = 왼쪽의 SCARA 팔. |
TurnCircle | List<int> | 각 축의 다중 회전 횟수입니다. 범위: -1, 0, 1. 축이 0°에 있으면 회전 횟수 = 0. 선형 또는 원형 이동 중에 컨트롤러는 시작 포즈에 가장 가까운 회전 횟수를 자동 선택하므로 최종 값은 학습된 자세와 다를 수 있습니다. 축 1, 4, 5, 6의 경우: ≥ 180° → 값 ≥ 1; -179.99° ~ 179.99° → 0; ≤ ‑180° → 값 ≤ ‑1. |
예
Posture posture = new Posture();
posture.TurnCircle = new List<int>(9){0,0,0,0,0,0,0,0,0};
posture.WristFlip = 1;
posture.ArmUpDown = 1;
posture.ArmBackFront = -1;
posture.ArmLeftRight = 1;
Console.WriteLine(posture.ToString());3.11 Joint
설명
Describes the angle data of each robot joint. 각 관절 각도 값은 관절 공간에서 로봇의 특정 위치를 정의하는 데 사용됩니다. 각도 단위는 일반적으로 도(°)이지만, 구체적인 단위는 실제 로봇 시스템을 기준으로 확인해야 합니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
J1 | double | 로봇의 첫 번째 관절 각도 |
J2 | double | 로봇의 두 번째 관절 각도 |
J3 | double | 로봇의 세 번째 관절 각도 |
J4 | double | 로봇의 네 번째 관절 각도 |
J5 | double | 로봇의 다섯 번째 관절 각도 |
J6 | double | 로봇의 여섯 번째 관절 각도 |
J7 | double | 로봇의 일곱 번째 관절 각도 |
J8 | double | 로봇의 8번째 관절 각도 |
J9 | double | 로봇의 9번째 관절 각도 |
예
Joint joint = new Joint();
joint.J1 = 45.0;
joint.J2 = 30.0;
joint.J3 = 60.0;
joint.J4 = 90.0;
joint.J5 = 120.0;
joint.J6 = 135.0;
joint.J7 = 150.0;
joint.J8 = 180.0;
joint.J9 = 225.0;
Console.WriteLine(joint.ToString());메모
- 관절 각도의 단위는 일반적으로 도(°)이지만 일부 로봇 시스템에서는 라디안(rad)을 사용하는 경우도 있습니다. 실제 로봇 시스템 문서를 기반으로 장치를 확인하십시오.
- 관절 각도의 범위는 일반적으로 로봇 하드웨어에 의해 제한됩니다. 범위를 초과하면 오류가 발생하거나 장비가 손상될 수 있습니다.
3.12 PoseType
설명
관절 각도 데이터인지, 데카르트 공간 좌표인지, 알 수 없는 유형인지 구분하는 데 사용되는 로봇 자세 데이터의 유형을 정의합니다. 이 열거형은 다양한 유형의 데이터가 프로그램에서 올바르게 처리될 수 있도록 로봇 포즈 데이터의 형식을 식별하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;열거형 값
| Enum Value | Description |
|---|---|
Unknown | 알 수 없는 유형, 포즈 데이터 유형이 정의되지 않았음을 나타냅니다. |
Joint | 데이터가 관절 각도임을 나타내는 Joint 각도 데이터 유형 |
Cart | 데카르트 공간 좌표 데이터 유형(데이터가 데카르트 좌표임을 나타냄) |
3.13 DHparam
설명
DHparam 클래스는 Denavit-Hartenberg parameters(D-H 매개변수)를 기반으로 로봇 링크 매개변수를 설명하는 데 사용됩니다. 이러한 매개변수는 로봇 관절 간의 기하학적 관계를 정의하는 데 사용되며 로봇 운동학 및 역학 분석의 기초가 됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
id | uint | 서로 다른 링크를 구별하는 데 사용되는 링크의 고유 식별자 |
a | double | 인접한 관절 사이의 축 거리를 나타내는 링크 길이(단위: 밀리미터) |
alpha | double | 인접한 관절 축 사이의 각도를 나타내는 링크 비틀림 각도(단위: 도 또는 라디안) |
d | double | Joint 거리, 현재 관절 축을 따라 다음 관절까지의 거리를 나타냄(단위: 밀리미터) |
offset | double | Joint 각도 오프셋, 관절의 초기 각도 오프셋을 나타냄(단위: 도 또는 라디안) |
생성자
public DHparam(uint id, double d, double a, double alpha, double offset)메모
- 단위 일관성:
a및d의 단위는 일관성이 있어야 하며(일반적으로 밀리미터),alpha및offset의 단위도 일관성이 있어야 합니다(일반적으로 도 또는 라디안). - 각도 단위: 일부 로봇 시스템에서는 각도 단위가 도 대신 라디안일 수 있습니다. 실제 요구 사항에 따라 단위를 확인하고 통합하십시오.
- D-H 매개변수 정의: D-H 매개변수의 정의는 특정 로봇 모델 및 좌표계 규칙에 따라 다릅니다.
DHparam클래스를 사용할 때 매개변수 정의가 로봇의 실제 기하학적 구조와 일치하는지 확인하세요.
3.14 장바구니 상태
설명
CartStatus 클래스는 데카르트 좌표계에서 각 축의 상태를 나타내는 데 사용됩니다. 각 축의 상태는 부울 값으로 표시되며, true 는 축을 사용할 수 있음을 나타내고 false 는 축을 사용할 수 없음을 나타냅니다. 이 상태 클래스는 일반적으로 로봇 동작 제어에서 특정 축이 제대로 작동할 수 있는지 확인하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
X | bool | X 방향 상태, 기본값은 true (사용 가능) |
Y | bool | Y 방향 상태, 기본값은 true (사용 가능) |
Z | bool | Z 방향 상태, 기본값은 true (사용 가능) |
A | bool | A 방향 상태, 기본값은 true (사용 가능) |
B | bool | B 방향 상태, 기본값은 true (사용 가능) |
C | bool | C 방향 상태, 기본값은 true (사용 가능) |
3.15 조인트상태
설명
JointStatus 클래스는 각 로봇 관절의 상태를 나타내는 데 사용됩니다. 각 관절의 상태는 부울 값으로 표시되며 true 는 관절이 사용 가능함을 나타내고 false 는 관절이 사용 가능하지 않음을 나타냅니다. 이 상태 클래스는 일반적으로 로봇 동작 제어에서 특정 관절이 제대로 작동할 수 있는지 여부를 결정하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
J1 | bool | Joint 1의 상태, 기본값은 true (사용 가능) |
J2 | bool | Joint 2의 상태, 기본값은 true (사용 가능) |
J3 | bool | Joint 3의 상태, 기본값은 true (사용 가능) |
J4 | bool | Joint 4의 상태, 기본값은 true (사용 가능) |
J5 | bool | Joint 5의 상태, 기본값은 true (사용 가능) |
J6 | bool | Joint 6의 상태, 기본값은 true (사용 가능) |
J7 | bool | Joint 7의 상태, 기본값은 true (사용 가능) |
J8 | bool | Joint 8의 상태, 기본값은 true (사용 가능) |
J9 | bool | Joint 9의 상태, 기본값은 true (사용 가능) |
3.16 끌기 상태
설명
DragStatus 클래스는 직교 좌표계 및 관절의 상태를 포함하여 로봇 팔의 드래그 상태를 나타내는 데 사용됩니다. 또한 로봇이 연속 드래그 모드에 있는지 여부를 나타내는 플래그 IsContinuousDrag 가 포함되어 있습니다. 이 상태 클래스는 현재 드래그 모드와 각 축의 상태를 결정하기 위해 로봇 드래그 제어에 일반적으로 사용됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
CartStatus | CartStatus | 직교좌표계 현황 |
JointStatus | JointStatus | 관절의 상태 |
IsContinuousDrag | bool | 로봇이 연속 드래그 모드에 있는지 여부, 기본값은 false |
생성자
public DragStatus()CartStatus및JointStatus를 초기화하고IsContinuousDrag를false로 설정합니다.
예
DragStatus dragStatus = new DragStatus();
dragStatus.CartStatus.X = false; // X-axis unavailable
dragStatus.JointStatus.J3 = false; // Joint 3 unavailable
dragStatus.IsContinuousDrag = true; // Set to continuous drag mode
Console.WriteLine($"X-axis status: {dragStatus.CartStatus.X}, Joint 3 status: {dragStatus.JointStatus.J3}, Is continuous drag: {dragStatus.IsContinuousDrag}");3.17 ProgramPose
설명
ProgramPose 클래스는 프로그램에서 관절 좌표 또는 데카르트 좌표일 수 있는 포즈(위치 및 방향)를 나타내는 데 사용됩니다. 이 클래스에는 포즈, 데이터(관절 또는 직교 좌표 정보), 이름 및 설명에 대한 고유 식별자가 포함됩니다. 이 클래스는 로봇 프로그램에서 포즈 정보의 관리 및 조작을 용이하게 합니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
Id | int | 포즈의 고유 식별자 |
PoseData | ProgramPoseData | 관절 또는 데카르트 좌표 정보를 포함한 포즈 데이터 |
Name | string | 포즈의 이름 |
Comment | string | 포즈에 대한 코멘트 |
생성자
public ProgramPose()Id,PoseData,Name및Comment를 초기화합니다.
예
ProgramPose programPose = new ProgramPose();
programPose.Id = 1; // Set the unique identifier for the pose
programPose.PoseData = new ProgramPoseData(); // Create pose data
programPose.Name = "Pose1"; // Set the name of the pose
programPose.Comment = "This is a sample pose"; // Set the comment for the pose
Console.WriteLine($"Pose ID: {programPose.Id}, Name: {programPose.Name}, Comment: {programPose.Comment}");3.17.1 ProgramPoseData
설명
ProgramPoseData 클래스는 데카르트 공간 좌표 및 자세 정보, 관절 각도 정보 및 포즈 유형을 포함하여 프로그램에서 포즈 데이터를 나타내는 데 사용됩니다. 이 클래스는 특정 포즈 데이터의 저장 및 관리를 용이하게 합니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
CartData | ProgramCartData | 데카르트 데이터 |
Joint | Joint | Joint 데이터 |
Pt | PoseType | 포즈 유형, 기본값은 알 수 없음 |
3.17.2 ProgramCartData
설명
ProgramCartData 클래스는 프로그램에서 직교 좌표계 데이터를 나타내는 데 사용됩니다. BaseCartData 클래스를 참조하여 공간 좌표 및 자세 정보를 포함하고, Uf 및 Tf 값을 통해 좌표계 유형을 결정합니다. Uf 는 사용자 프레임을 나타내고 Tf 는 도구 프레임을 나타냅니다. Uf 및 Tf 의 값이 -1 인 경우 시스템의 기본 좌표계를 사용함을 나타냅니다. 이 클래스는 로봇 프로그래밍에서 데카르트 공간의 포즈 정보를 정의하고 관리하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
BaseCart | BaseCartData | 로봇의 직교위치 및 자세정보 |
Uf | int | 사용자 프레임, -1 는 시스템의 좌표계 사용을 나타냅니다. |
Tf | int | 도구 프레임, -1 는 시스템 좌표계의 사용을 나타냅니다. |
3.18 FileType
설명
FileType 열거형은 업로드가 허용되는 파일 유형을 정의하는 데 사용됩니다. 소스와 형식에 따라 다양한 유형의 로봇 프로그램 파일을 구별합니다. 이 열거형은 파일 관리, 업로드 및 프로그램 구문 분석을 위해 로봇 프로그래밍 환경에서 사용되며 시스템이 다양한 유형의 프로그램 파일을 올바르게 식별하고 처리하는 데 도움이 됩니다.
가져오기
using Agilebot.IR.Types;열거형 값
| Enum Value | Description |
|---|---|
UserProgram | 사용자가 포인트 선택을 통해 생성한 프로그램 파일로, 각 프로그램에는 .xml 및 .json 파일이 포함되어 있습니다. |
BlockProgram | 블록 프로그래밍을 통해 사용자가 생성한 프로그램 파일로, 각 프로그램에는 .block , .xml , .json 파일이 포함됩니다. |
TrajectoryProgram | 일반적으로 오프라인 프로그래밍의 경로 계획에 사용되는 오프라인 궤적 프로그램 파일입니다. |
3.19 SignalType
설명
SignalType 열거형은 로봇 시스템에서 지원되는 신호 유형을 정의하는 데 사용됩니다. 목적과 소스에 따라 다양한 디지털 신호와 아날로그 신호를 구별합니다. 이 열거형은 신호 구성, 신호 처리 및 논리 판단을 위해 로봇 제어 시스템에서 사용되며 시스템이 다양한 유형의 신호를 정확하게 식별하고 관리하는 데 도움이 됩니다.
가져오기
using Agilebot.IR.Types;열거형 값
| Enum Value | Description |
|---|---|
DI | 디지털 입력, 외부 디지털 신호를 수신하는 데 사용됩니다. |
DO | 외부 장치나 액추에이터를 제어하는 데 사용되는 디지털 출력입니다. |
RI | 로봇의 손목에서 디지털 신호를 수신하는 데 사용되는 로봇 입력입니다. |
RO | 로봇 손목의 액추에이터를 제어하는 데 사용되는 로봇 출력. |
UI | 사용자 입력, 사용자 정의 디지털 신호를 수신하는 데 사용됩니다. |
UO | 사용자 출력, 사용자 정의 디지털 신호를 출력하는 데 사용됩니다. |
TDI | 도구 디지털 입력, 도구 끝에서 디지털 신호를 수신하는 데 사용됩니다. |
TDO | 도구 끝에 있는 액추에이터를 제어하는 데 사용되는 도구 디지털 출력입니다. |
GI | 그룹 입력, 디지털 신호 조합을 수신하는 데 사용됩니다. |
GO | 그룹 출력, 디지털 신호의 조합을 출력하는 데 사용됩니다. |
AI | 아날로그 입력, 연속적인 아날로그 신호를 수신하는 데 사용됩니다. |
AO | 아날로그 출력, 연속적인 아날로그 신호를 출력하는 데 사용됩니다. |
TAI | 도구 아날로그 입력, 도구 끝에서 아날로그 신호를 수신하는 데 사용됩니다. |
3.20 PoseRegister
설명
PoseRegister 클래스는 관절 좌표 또는 데카르트 좌표일 수 있는 PR 레지스터에서 포즈(위치 및 방향)를 나타내는 데 사용됩니다. 이 클래스에는 포즈, 데이터(관절 또는 직교 좌표 정보), 이름 및 설명에 대한 고유 식별자가 포함됩니다. 이 클래스는 로봇 프로그램에서 포즈 정보의 관리 및 조작을 용이하게 합니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
Id | int | 포즈의 고유 식별자 |
PoseData | PoseRegisterData | 관절 또는 데카르트 좌표 정보를 포함한 포즈 데이터 |
Name | string | 포즈의 이름 |
Comment | string | 포즈에 대한 코멘트 |
생성자
public PoseRegister()Id,PoseData,Name및Comment를 초기화합니다.
예
PoseRegister pose = new PoseRegister();
pose.Id = 1; // Set the unique identifier for the pose
pose.PoseData = new PoseRegisterData(); // Create pose data
pose.Name = "Pose1"; // Set the name of the pose
pose.Comment = "This is a sample pose"; // Set the comment for the pose
Console.WriteLine($"Pose ID: {pose.Id}, Name: {pose.Name}, Comment: {pose.Comment}");3.20.1 PoseRegisterData
설명
PoseRegisterData 클래스는 데카르트 공간 좌표 및 자세 정보, 관절 각도 정보 및 포즈 유형을 포함하여 PR 레지스터의 포즈 데이터를 나타내는 데 사용됩니다. 이 클래스는 특정 포즈 데이터의 저장 및 관리를 용이하게 합니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
CartData | BaseCartData | 데카르트 데이터 |
Joint | Joint | Joint 데이터 |
Pt | PoseType | 포즈 유형, 기본값은 알 수 없음 |
3.22 동등 어구
설명
Coordinate 클래스는 로봇 시스템의 좌표계를 나타내는 데 사용됩니다. 고유 식별자(ID), 이름, 설명, 동작 그룹 번호, 특정 포즈 데이터 등 좌표계에 대한 기본 정보가 포함됩니다. 이 클래스는 로봇 프로그래밍 및 제어 시스템에서 좌표계의 위치와 방향을 정의 및 관리하고 프로그램의 동작 계획 및 경로 제어를 용이하게 하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
Id | int | 좌표계의 고유 식별자 |
Name | string | 좌표계를 식별하고 설명하는 데 사용되는 좌표계의 이름 |
Comment | string | 좌표계의 목적이나 특성을 더 자세히 설명하는 데 사용되는 좌표계에 대한 설명입니다. |
GroupId | int | 좌표계가 속한 모션 그룹 번호로, 좌표계 분류 및 관리에 사용됩니다. |
Data | Position | 위치 및 방향 정보를 포함한 좌표계의 특정 포즈 데이터 |
예
// Create a Coordinate instance
Coordinate coordinate = new Coordinate
{
Id = 1, // Set the unique identifier
Name = "UserCoordinate1", // Set the name
Comment = "This is a user-defined coordinate system", // Set the comment
GroupId = 1, // Set the motion group number
Data = new Position { X = 100, Y = 200, Z = 300, A = 45, B = 30, C = 60 } // Set the pose data
};3.22.1 CoordinateType
설명
CoordinateType 열거형은 좌표계 유형을 정의하는 데 사용됩니다. 이는 사용자 좌표계와 도구 좌표계를 구별합니다. 이 열거형은 로봇 프로그래밍 및 제어 시스템에서 좌표계의 목적을 명확하게 지정하여 시스템이 좌표계와 관련된 작업을 올바르게 처리하도록 돕는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;열거형 값
| Enum Value | Description |
|---|---|
UserCoordinate | 사용자 정의 좌표계를 정의하는 데 사용되는 사용자 좌표계입니다. |
ToolCoordinate | 도구 좌표계(예: 엔드 이펙터)의 좌표계를 정의하는 데 사용됩니다. |
3.22.2 CoordSummary
설명
CoordSummary 클래스는 좌표계의 요약 정보를 나타내는 데 사용됩니다. 여기에는 좌표계의 유형, 고유 식별자, 이름, 설명 및 그룹 ID가 포함됩니다. 이 클래스는 로봇 프로그래밍 환경에서 좌표계의 메타데이터를 관리 및 저장하여 프로그램에서 좌표계에 대한 빠른 액세스 및 조작을 용이하게 하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;속성
| Property | Type | Description |
|---|---|---|
Type | CoordinateType | 사용자 좌표계 또는 공구 좌표계일 수 있는 좌표계 유형 |
Id | int | 좌표계의 고유 식별자 |
Name | string | 좌표계 이름 |
Comment | string | 목적이나 특성을 설명하는 데 사용되는 좌표계에 대한 설명입니다. |
GroupId | int | 좌표계가 속한 그룹 ID로, 좌표계의 분류 및 관리에 사용됩니다. |
예
// Create a CoordSummary instance
CoordSummary coordSummary = new CoordSummary
{
Type = CoordinateType.UserCoordinate, // Set to user coordinate system
Id = 1, // Set the unique identifier
Name = "UserCoord1", // Set the name
Comment = "This is a user-defined coordinate system", // Set the comment
GroupId = 0 // Set the group ID
};3.23 RobotTopicType
설명
RobotTopicType 열거형은 SubPub.SubscribeStatus 에서 로봇 상태 구독 항목을 지정하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;필드
| 이름 | 설명 |
|---|---|
TopicCurrentJoint | 로봇 관절 상태 피드백 게시 |
TopicCurrentCartesian | 현재 TCP 데카르트 좌표를 게시합니다. |
TopicUF | 현재 사용자 프레임 정보를 게시합니다. |
TopicTF | 현재 도구 프레임 정보를 게시합니다. |
TopicVelocity | 전역 속도 비율 게시 |
TopicRunningStatus | 컨트롤러 실행 상태 게시 |
TopicInterpreterStatus | 통역사 현황 공개 |
TopicRobotStatus | 로봇 상태 게시 |
TopicCtrlStatus | 컨트롤러 상태 게시 |
TopicServoStatus | 서보 컨트롤러 상태 게시 |
TopicTrajectoryRecordsStatus | 궤적 재생 녹화 상태 |
UserOpMode | 사용자 조작 모드 |
3.24 RegTopicType
설명
RegTopicType 열거형은 SubPub.SubscribeRegister 에서 등록 구독 유형을 지정하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;필드
| 이름 | 설명 |
|---|---|
R | R 등록 주제 |
MR | MR 등록 주제 |
SR | SR 등록 주제 |
PR | PR 등록 주제 |
3.25 IOTopicType
설명
IOTopicType 열거형은 SubPub.SubscribeIO 에서 I/O 구독 유형을 지정하는 데 사용됩니다.
가져오기
using Agilebot.IR.Types;필드
| 이름 | 설명 |
|---|---|
DI | 디지털 입력 주제 |
DO | 디지털 출력 주제 |
GI | 그룹 디지털 입력 주제 |
GO | 그룹 디지털 출력 주제 |
RI | 로봇 입력 주제 |
RO | 로봇 출력 주제 |
UI | 사용자 입력 주제 |
UO | 사용자 출력 주제 |
TDI | 도구 디지털 입력 항목 |
TDO | 도구 디지털 출력 주제 |
TAI | 도구 아날로그 입력 항목 |
AI | 아날로그 입력 주제 |
AO | 아날로그 출력 주제 |