3 Data Structures
3.1 StatusCode
Description
Status codes returned by the interface.
Import
using Agilebot.IR;Fields
| Name | Enum Value | Description |
|---|---|---|
OK | 0 | Execution successful |
INCOMPATIBLE_VERSION | -1 | Incompatible version |
TIMEOUT | -3 | Connection timeout |
INTERFACE_NOT_IMPLEMENTED | -4 | Interface not implemented |
INDEX_OUT_OF_RANGE | -5 | Index out of range |
UNSUPPORTED_FILETYPE | -6 | Unsupported file type |
UNSUPPORTED_PARAMETER | -7 | Unsupported robot parameter |
UNSUPPORTED_SIGNALTYPE | -8 | Unsupported IO signal type |
PROGRAM_NOT_FOUND | -9 | Program not found |
PROGRAM_POSE_NOT_FOUND | -10 | Program pose information not found |
WRITE_PROGRAM_FAILED | -11 | Failed to update program pose information |
GET_ALARM_CODE_FAILED | -12 | Failed to access alarm service to get alarm code |
WRONG_POSITION_INFO | -13 | Controller returns incorrect position information |
UNSUPPORTED_TRA_TYPE | -14 | Unsupported motion type |
FILE_NOT_FOUND | -15 | File or folder not found |
FILE_ALREADY_EXIST | -16 | File already exists |
GET_ALARM_DESC_FAILED | -17 | Failed to get alarm information based on alarm code |
RESET_ALARM_ERRORS_FAILED | -18 | Failed to reset alarm information |
GET_ALL_ALARMS_FAILED | -19 | Failed to get all alarm information |
WRONG_DATA_FORMAT | -20 | Incorrect data format received |
CONNECT_FAILED | -21 | Initialization connection failed, please check IP address or control cabinet service |
POSE_INDEX_DUPLICATED | -23 | Pose index duplicated |
CONTROLLER_ERROR | -254 | Controller error, please contact the developer |
OTHER_REASON | -255 | Other reasons |
3.2 RobotState
Description
Robot operation status.
Import
using Agilebot.IR.Types;Fields
| Name | Enum Value | Description |
|---|---|---|
WRONG_DATA | -1 | Unknown state |
ROBOT_IDLE | 0 | Robot idle |
ROBOT_RUNNING | 1 | Robot running |
ROBOT_TEACHING | 2 | Robot teaching |
ROBOT_IDLE_TO_RUNNING | 101 | Robot intermediate state, idle to running |
ROBOT_IDLE_TO_TEACHING | 102 | Robot intermediate state, idle to teaching |
ROBOT_RUNNING_TO_IDLE | 103 | Robot intermediate state, running to idle |
ROBOT_TEACHING_TO_IDLE | 104 | Robot intermediate state, teaching to idle |
3.3 CtrlState
Description
Controller operation status.
Import
using Agilebot.IR.Types;Fields
| Name | Enum Value | Description |
|---|---|---|
WRONG_DATA | -1 | Unknown controller state |
CTRL_INIT | 0 | Controller initializing |
CTRL_ENGAGED | 1 | Controller enabled |
CTRL_ESTOP | 2 | Controller emergency stop |
CTRL_TERMINATED | 3 | Controller terminated |
CTRL_ANY_TO_ESTOP | 101 | Controller intermediate state, any to emergency stop |
CTRL_ESTOP_TO_ENGAGED | 102 | Controller intermediate state, emergency stop to enabled |
CTRL_ESTOP_TO_TERMINATED | 103 | Controller intermediate state, emergency stop to terminated |
3.4 ServoState
Description
Servo controller status.
Import
using Agilebot.IR.Types;Fields
| Name | Enum Value | Description |
|---|---|---|
WRONG_DATA | -1 | Unknown servo controller state |
SERVO_IDLE | 1 | Servo controller idle |
SERVO_RUNNING | 2 | Servo controller running |
SERVO_DISABLE | 3 | Servo controller disabled |
SERVO_WAIT_READY | 4 | Servo controller waiting for ready |
SERVO_WAIT_DOWN | 5 | Servo controller waiting for shutdown |
SERVO_INIT | 10 | Servo controller initializing |
3.5 TransformStatusEnum
Description
Enum for offline trajectory file conversion status.
Import
using Agilebot.IR.Types;Fields
| Name | Enum Value | Description |
|---|---|---|
TRANSFORM_START | 0 | Conversion task started |
TRANSFORM_RUNNING | 1 | Conversion task in progress |
TRANSFORM_SUCCESS | 2 | Conversion task completed successfully |
TRANSFORM_FAILED | 3 | Conversion task failed |
TRANSFORM_NOT_FOUND | 4 | Conversion task not found |
TRANSFORM_UNKNOWN | -1 | Unknown conversion task status |
3.6 PayloadInfo
Description
The PayloadInfo class is used to store the robot's payload information, including payload ID, weight, center of mass, and moment of inertia. This information is crucial for kinematic and dynamic analysis of the robot under load conditions, especially for path planning and torque calculation.
Import
using Agilebot.IR.Motion;Properties
| Property | Type | Description |
|---|---|---|
Id | uint | Payload ID, used to uniquely identify different payload configurations |
Comment | string | Comment, used to describe additional information about the payload |
Weight | double | Payload weight (unit: kilograms) |
MassCenter | MassCenter | Payload center of mass (X, Y, Z coordinates) |
InertiaMoment | InertiaMoment | Payload moment of inertia (LX, LY, LZ) |
Example
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
Description
The MassCenter class is used to represent the center of mass of the payload, containing the X, Y, and Z coordinates. The center of mass is the geometric center of the payload in space and is important for robot motion control and torque calculation.
Import
using Agilebot.IR.Motion;Properties
| Property | Type | Description |
|---|---|---|
X | double | X-coordinate of the center of mass (unit: millimeters) |
Y | double | Y-coordinate of the center of mass (unit: millimeters) |
Z | double | Z-coordinate of the center of mass (unit: millimeters) |
3.6.2 InertiaMoment
Description
The InertiaMoment class is used to represent the moment of inertia of the payload, containing the LX, LY, and LZ components. The moment of inertia represents the payload's resistance to rotational changes and is important for robot dynamics analysis and control.
Import
using Agilebot.IR.Motion;Properties
| Property | Type | Description |
|---|---|---|
LX | double | X-component of the moment of inertia (unit: kilograms·millimeters²) |
LY | double | Y-component of the moment of inertia (unit: kilograms·millimeters²) |
LZ | double | Z-component of the moment of inertia (unit: kilograms·millimeters²) |
3.7 TransformState
Description
Enum for offline trajectory file conversion status.
Import
using Agilebot.IR.Types;Fields
| Enum Value | Value | Description |
|---|---|---|
TRANSFORM_START | 0 | Conversion task started |
TRANSFORM_RUNNING | 1 | Conversion task in progress |
TRANSFORM_SUCCESS | 2 | Conversion task completed successfully |
TRANSFORM_FAILED | 3 | Conversion task failed |
TRANSFORM_NOT_FOUND | 4 | Conversion task not found |
TRANSFORM_UNKNOWN | -1 | Data error, unknown status |
3.8 TCSType
Description
TCS coordinate system type.
Import
using Agilebot.IR.Types;Fields
| Name | Enum Value | Description |
|---|---|---|
WRONG_TYPE | -1 | Incorrect type |
JOINT | 0 | Joint space |
BASE | 1 | Base coordinate system |
WORLD | 2 | World coordinate system |
USER | 3 | User coordinate system |
TOOL | 4 | Tool coordinate system |
RTCP_USER | 5 | RTCP user coordinate system |
RTCP_TOOL | 6 | RTCP tool coordinate system |
3.9 MotionPose
Description
Describes the robot's position structure. In the coordinate data, the distance in the XYZ direction is measured in millimeters (mm), and the angle data is measured in degrees (°). In some versions, the angle information is in radians; see the function list return result description for details.
Import
using Agilebot.IR.Motion;Properties
| Property | Type | Description |
|---|---|---|
CartData | BaseCartData | Cartesian data |
Joint | Joint | Joint data |
Pt | PoseType | Position type, defaults to Unknown |
Example
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
Description
Describes the robot's position and posture information in the Cartesian coordinate system. The spatial coordinates are measured in millimeters (mm), and the posture information includes wrist and arm postures as well as the rotation counts of each axis.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
Position | Position | Robot's spatial coordinates (X, Y, Z, A, B, C) |
Posture | Posture | Robot's posture information (wrist, arm posture, and axis rotation counts) |
Example
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
Description
Describes the robot's position and rotation angle coordinates in the Cartesian coordinate system. The distance in the X, Y, Z directions is measured in millimeters (mm), and the angles in the A, B, C directions are measured in degrees (°).
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
X | double | Distance in the X direction of the Cartesian coordinate system (unit: millimeters) |
Y | double | Distance in the Y direction of the Cartesian coordinate system (unit: millimeters) |
Z | double | Distance in the Z direction of the Cartesian coordinate system (unit: millimeters) |
A | double | Angle in the A direction of the Cartesian coordinate system (unit: degrees) |
B | double | Angle in the B direction of the Cartesian coordinate system (unit: degrees) |
C | double | Angle in the C direction of the Cartesian coordinate system (unit: degrees) |
Example
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
Description
Describes the robot's posture information, including wrist and arm postures as well as the rotation counts of each axis. Posture information is used to define the robot's specific posture in space.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
WristFlip | int | Wrist flip posture. Range: ‑1, 0, 1. For a 6-axis robot J5 joint config: 1 = wrist flipped down, ‑1 = wrist flipped up. |
ArmUpDown | int | Arm up/down posture. Range: ‑1, 0, 1. For a 6-axis robot J3 joint config: 1 = arm above (forward condition: joint-3 above the line from joint-4 to joint-2 and joint-3 angle < 0), ‑1 = arm below (joint-3 angle > 0). |
ArmBackFront | int | Arm front/back posture. Range: ‑1, 0, 1. For a 6-axis robot J1 joint config: 1 = arm in front (collaborative robot facing forward, joint-2 on the left side of joint-1), ‑1 = arm behind (joint-2 on the right side of joint-1). |
ArmLeftRight | int | Arm left/right posture. Range: ‑1, 0, 1. For a 4-axis SCARA robot J2 joint config: 1 = SCARA arm on the right, ‑1 = SCARA arm on the left. |
TurnCircle | List<int> | Multi-turn counts for each axis. Range: ‑1, 0, 1. When the axis is at 0°, turn count = 0. During linear or circular moves the controller auto-selects the turn count closest to the start pose, so the final value may differ from the taught posture. For axes 1, 4, 5, 6: ≥ 180° → value ≥ 1; ‑179.99° ~ 179.99° → 0; ≤ ‑180° → value ≤ ‑1. |
Example
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
Description
Describes the angle data of each robot joint. Each joint angle value is used to define the robot's specific position in joint space. The angle unit is typically degrees (°), but the specific unit should be confirmed based on the actual robot system.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
J1 | double | Angle of the robot's first joint |
J2 | double | Angle of the robot's second joint |
J3 | double | Angle of the robot's third joint |
J4 | double | Angle of the robot's fourth joint |
J5 | double | Angle of the robot's fifth joint |
J6 | double | Angle of the robot's sixth joint |
J7 | double | Angle of the robot's seventh joint |
J8 | double | Angle of the robot's eighth joint |
J9 | double | Angle of the robot's ninth joint |
Example
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());Notes
- The unit of joint angles is typically degrees (°), but some robot systems may use radians (rad). Please confirm the unit based on the actual robot system documentation.
- The range of joint angles is usually limited by the robot hardware. Exceeding the range may cause errors or damage the equipment.
3.12 PoseType
Description
Defines the type of robot pose data, used to distinguish whether the data is joint angle data, Cartesian space coordinates, or unknown type. This enum is used to identify the format of robot pose data so that different types of data can be correctly processed in the program.
Import
using Agilebot.IR.Types;Enum Values
| Enum Value | Description |
|---|---|
Unknown | Unknown type, indicating the pose data type is not defined |
Joint | Joint angle data type, indicating the data is joint angles |
Cart | Cartesian space coordinate data type, indicating the data is Cartesian coordinates |
3.13 DHparam
Description
The DHparam class is used to describe the robot link parameters based on the Denavit-Hartenberg parameters (D-H parameters). These parameters are used to define the geometric relationships between robot joints and are the basis for robot kinematics and dynamics analysis.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
id | uint | Unique identifier for the link, used to distinguish different links |
a | double | Link length, representing the axial distance between adjacent joints (unit: millimeters) |
alpha | double | Link twist angle, representing the angle between adjacent joint axes (unit: degrees or radians) |
d | double | Joint distance, representing the distance along the current joint axis to the next joint (unit: millimeters) |
offset | double | Joint angle offset, representing the initial angle offset of the joint (unit: degrees or radians) |
Constructor
public DHparam(uint id, double d, double a, double alpha, double offset)Notes
- Unit consistency: The units of
aanddshould be consistent (typically millimeters), and the units ofalphaandoffsetshould also be consistent (typically degrees or radians). - Angle unit: In some robot systems, the angle unit may be radians instead of degrees. Please confirm and unify the units based on actual requirements.
- D-H parameter definition: The definition of D-H parameters depends on the specific robot model and coordinate system conventions. When using the
DHparamclass, ensure that the parameter definitions are consistent with the robot's actual geometric structure.
3.14 CartStatus
Description
The CartStatus class is used to represent the status of each axis in the Cartesian coordinate system. The status of each axis is represented by a boolean value, with true indicating the axis is available and false indicating it is not. This status class is commonly used in robot motion control to determine whether a particular axis can function properly.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
X | bool | Status of the X direction, defaults to true (available) |
Y | bool | Status of the Y direction, defaults to true (available) |
Z | bool | Status of the Z direction, defaults to true (available) |
A | bool | Status of the A direction, defaults to true (available) |
B | bool | Status of the B direction, defaults to true (available) |
C | bool | Status of the C direction, defaults to true (available) |
3.15 JointStatus
Description
The JointStatus class is used to represent the status of each robot joint. The status of each joint is represented by a boolean value, with true indicating the joint is available and false indicating it is not. This status class is commonly used in robot motion control to determine whether a particular joint can function properly.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
J1 | bool | Status of Joint 1, defaults to true (available) |
J2 | bool | Status of Joint 2, defaults to true (available) |
J3 | bool | Status of Joint 3, defaults to true (available) |
J4 | bool | Status of Joint 4, defaults to true (available) |
J5 | bool | Status of Joint 5, defaults to true (available) |
J6 | bool | Status of Joint 6, defaults to true (available) |
J7 | bool | Status of Joint 7, defaults to true (available) |
J8 | bool | Status of Joint 8, defaults to true (available) |
J9 | bool | Status of Joint 9, defaults to true (available) |
3.16 DragStatus
Description
The DragStatus class is used to represent the drag status of the robot arm, including the status of the Cartesian coordinate system and the joints. Additionally, it includes a flag IsContinuousDrag to indicate whether the robot is in continuous drag mode. This status class is commonly used in robot drag control to determine the current drag mode and the status of each axis/joint.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
CartStatus | CartStatus | Status of the Cartesian coordinate system |
JointStatus | JointStatus | Status of the joints |
IsContinuousDrag | bool | Whether the robot is in continuous drag mode, defaults to false |
Constructor
public DragStatus()- Initializes
CartStatusandJointStatus, and setsIsContinuousDragtofalse.
Example
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
Description
The ProgramPose class is used to represent a pose (position and orientation) in a program, which can be joint coordinates or Cartesian coordinates. This class includes a unique identifier for the pose, data (joint or Cartesian coordinate information), name, and comment. This class facilitates the management and manipulation of pose information in robot programs.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
Id | int | Unique identifier for the pose |
PoseData | ProgramPoseData | Pose data, including joint or Cartesian coordinate information |
Name | string | Name of the pose |
Comment | string | Comment for the pose |
Constructor
public ProgramPose()- Initializes
Id,PoseData,Name, andComment.
Example
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
Description
The ProgramPoseData class is used to represent pose data in a program, including Cartesian space coordinates and posture information, joint angle information, and pose type. This class facilitates the storage and management of specific pose data.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
CartData | ProgramCartData | Cartesian data |
Joint | Joint | Joint data |
Pt | PoseType | Pose type, defaults to Unknown |
3.17.2 ProgramCartData
Description
The ProgramCartData class is used to represent the Cartesian coordinate system data in a program. It references the BaseCartData class to include spatial coordinates and posture information, and determines the coordinate system type through the values of Uf and Tf . Uf represents the User Frame, and Tf represents the Tool Frame. If the values of Uf and Tf are -1 , it indicates the use of the system's default coordinate system. This class is used in robot programming to define and manage pose information in Cartesian space.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
BaseCart | BaseCartData | Robot's Cartesian position and posture information |
Uf | int | User Frame, -1 indicates the use of the system's coordinate system |
Tf | int | Tool Frame, -1 indicates the use of the system's coordinate system |
3.18 FileType
Description
The FileType enum is used to define the types of files allowed for upload. It distinguishes between different types of robot program files based on their source and format. This enum is used in the robot programming environment for file management, upload, and program parsing, helping the system correctly identify and process different types of program files.
Import
using Agilebot.IR.Types;Enum Values
| Enum Value | Description |
|---|---|
UserProgram | Program files generated by the user through point selection, each program includes .xml and .json files. |
BlockProgram | Program files generated by the user through block programming, each program includes .block , .xml , and .json files. |
TrajectoryProgram | Offline trajectory program files, typically used for path planning in offline programming. |
3.19 SignalType
Description
The SignalType enum is used to define the types of signals supported in the robot system. It distinguishes between various digital and analog signals based on their purpose and source. This enum is used in the robot control system for signal configuration, signal processing, and logic judgment, helping the system accurately identify and manage different types of signals.
Import
using Agilebot.IR.Types;Enum Values
| Enum Value | Description |
|---|---|
DI | Digital Input, used to receive external digital signals. |
DO | Digital Output, used to control external devices or actuators. |
RI | Robot Input, used to receive digital signals from the robot's wrist. |
RO | Robot Output, used to control actuators on the robot's wrist. |
UI | User Input, used to receive user-defined digital signals. |
UO | User Output, used to output user-defined digital signals. |
TDI | Tool Digital Input, used to receive digital signals from the tool end. |
TDO | Tool Digital Output, used to control actuators on the tool end. |
GI | Group Input, used to receive a combination of digital signals. |
GO | Group Output, used to output a combination of digital signals. |
AI | Analog Input, used to receive continuous analog signals. |
AO | Analog Output, used to output continuous analog signals. |
TAI | Tool Analog Input, used to receive analog signals from the tool end. |
3.20 PoseRegister
Description
The PoseRegister class is used to represent a pose (position and orientation) in a PR register, which can be joint coordinates or Cartesian coordinates. This class includes a unique identifier for the pose, data (joint or Cartesian coordinate information), name, and comment. This class facilitates the management and manipulation of pose information in robot programs.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
Id | int | Unique identifier for the pose |
PoseData | PoseRegisterData | Pose data, including joint or Cartesian coordinate information |
Name | string | Name of the pose |
Comment | string | Comment for the pose |
Constructor
public PoseRegister()- Initializes
Id,PoseData,Name, andComment.
Example
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
Description
The PoseRegisterData class is used to represent pose data in a PR register, including Cartesian space coordinates and posture information, joint angle information, and pose type. This class facilitates the storage and management of specific pose data.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
CartData | BaseCartData | Cartesian data |
Joint | Joint | Joint data |
Pt | PoseType | Pose type, defaults to Unknown |
3.22 Coordinate
Description
The Coordinate class is used to represent a coordinate system in the robot system. It includes basic information about the coordinate system, such as a unique identifier (ID), name, comment, motion group number, and specific pose data. This class is used in robot programming and control systems to define and manage the position and orientation of coordinate systems, facilitating motion planning and path control in programs.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
Id | int | Unique identifier for the coordinate system |
Name | string | Name of the coordinate system, used to identify and describe the coordinate system |
Comment | string | Comment for the coordinate system, used to further explain the purpose or characteristics of the coordinate system |
GroupId | int | Motion group number to which the coordinate system belongs, used for classification and management of coordinate systems |
Data | Position | Specific pose data of the coordinate system, including position and orientation information |
Example
// 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
Description
The CoordinateType enum is used to define the type of coordinate system. It distinguishes between user coordinate systems and tool coordinate systems. This enum is used in robot programming and control systems to clearly specify the purpose of the coordinate system, helping the system correctly handle operations related to coordinate systems.
Import
using Agilebot.IR.Types;Enum Values
| Enum Value | Description |
|---|---|
UserCoordinate | User coordinate system, used to define user-defined coordinate systems. |
ToolCoordinate | Tool coordinate system, used to define the coordinate system of tools (e.g., end effectors). |
3.22.2 CoordSummary
Description
The CoordSummary class is used to represent the summary information of a coordinate system. It includes the type, unique identifier, name, comment, and group ID of the coordinate system. This class is used in the robot programming environment to manage and store metadata of coordinate systems, facilitating quick access and manipulation of coordinate systems in programs.
Import
using Agilebot.IR.Types;Properties
| Property | Type | Description |
|---|---|---|
Type | CoordinateType | Type of the coordinate system, which can be a user coordinate system or a tool coordinate system |
Id | int | Unique identifier for the coordinate system |
Name | string | Name of the coordinate system |
Comment | string | Comment for the coordinate system, used to describe its purpose or characteristics |
GroupId | int | Group ID to which the coordinate system belongs, used for classification and management of coordinate systems |
Example
// 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
};