Skip to main content

Data Structures

1 xCoreSDK Error Code ErrorCode

int value_                              # Error code value
String^ message_ # Error message

2 Robot Basic Information, Loaded After Establishing Robot Connection Info

String^ id                              # Robot uid, can be used to distinguish connected robots
String^ mac # Mac address
String^ version # Controller version
String^ type # Robot model name
Int32 joint_num # Number of axes

3 Coordinate System Frame

array<double>^ trans                    # Translation [X, Y, Z], unit: meters
array<double>^ rpy # Euler angles [Rx, Ry, Rz], unit: radians

4 Cartesian Point CartesianPosition

Type type                               # Offset type
Frame^ frame # Offset relative to specified tool/workpiece coordinate system
double elbow # Elbow angle, applicable to 7-axis robots, unit: radians
List<int>^ confData # Axis configuration data, [cf1, cf2, cf3, cf4, cf5, cf6, cf7, cfx]
List<double>^ external # External joint values, unit: radians|meters. Rail unit is meters

5 Joint Point JointPosition

List<double>^ joints                    # Joint angle values, unit: radians
List<double>^ external # External joint values, unit: radians|meters. Rail unit is meters

6 Non-real-time Motion Command MoveCommand

CartesianPosition^ cartTarget           # Target Cartesian point
JointPosition^ jointTarget # Target joint point
CartesianPosition^ auxPoint # Auxiliary point
double speed # Robot end maximum linear speed, unit mm/s. See setDefaultSpeed
double jointSpeed # Effective when >=0; when <0, still use joint speed percentage calculated from speed, used for joint type commands, range [0, 1].
double rotSpeed # Effective when >=0; when <0, rotation speed defaults to 200°/s spatial rotation speed, used for end type commands, unit rad/s.
double zone # Turn zone radius size, unit mm. See setDefaultZone
String^ customInfo # Custom information, can be returned in motion information feedback
List<double>^ args # Other motion command parameters

7 Load Information Load

double mass                             # Load mass, unit: kilograms
array<double>^ cog # Center of mass [x, y, z], unit: meters
array<double>^ inertia # Inertia [ix, iy, iz, ixy, ixz, iyz], unit: kg·m²

8 State List StateList

JointPosition^ jointPos                 # Joint position
CartesianPosition^ cartPos # Cartesian position
List<bool>^ di # Digital input signals
List<bool>^ do # Digital output signals
List<double>^ ai # Analog input signals
List<double>^ ao # Analog output signals
OperateMode opMode # Operation mode
PowerState pwrState # Power state
OperationState opState # Operation state
StopLevel stopLevel # Stop level
float speedRatio # Speed ratio
float curJntSpeed # Current joint speed
array<double>^ jointVel # Joint velocities
array<double>^ jointTorque # Joint torques
array<double>^ extJoints # External joint positions
array<double>^ extJointsVel # External joint velocities
array<double>^ extJointsTorque # External joint torques

9 Tool/Workpiece Set Toolset

WorkToolInfo^ tool                      # Tool information
WorkToolInfo^ wobj # Workpiece information

10 Coordinate System Calibration Result FrameCalibrationResult

Frame^ frame                            # Calibration result
array<double>^ error # Calibration error

11 Log Information LogInfo

LogInfo::Level level                    # Log level
String^ message # Log message
String^ timestamp # Timestamp

12 RL Project Information RLProjectInfo

String^ name                            # Project name
List<String^>^ tasks # Task names in project

13 Tool/Workpiece Information WorkToolInfo

String^ name                            # Name
Frame^ frame # Coordinate system
Load^ load # Load information
bool isHeld # true - Handheld | false - External