Skip to main content

Data Structures

1 Robot Basic Information rokae::Info

std::string id         Robot uid, used to distinguish connected robots
std::string mac; Mac address
std::string version Controller version
std::string type Robot model name
int joint_num Number of axes

2 Robot State List rokae::StateList

std::vector<double>  joint_pos                             Joint angles
CartesianPosition cart_pos Cartesian pose
std::vector<std::pair<std::string, bool>>digital_signals Digital IO signals
std::vector<std::pair<std::string, double>> analog_signals Analog IO signals
OperateMode operation_mode Operation mode
double speed_override Speed override ratio

3 Coordinate System rokae::Frame

std::array< double, 3 > trans       Translation amount, [X, Y, Z], Unit: meters
std::array< double, 3 > rpy XYZ Euler angles, [A, B, C], Unit: radians
std::array< double, 16 > pos Row-major transformation matrix. Only used for Cartesian position/impedance control in real-time mode.

4 Cartesian Position rokae::CartesianPosition

std::array< double, 3 > trans         Translation amount, [x, y, z], Unit: meters
std::array< double, 3 > rpy XYZ Euler angles, [A, B, C], Unit: radians
double elbow Elbow angle, applicable to 7-axis robots, Unit: radians
bool hasElbow Whether there is an elbow angle
std::vector< int > confData Axis configuration data, the number of elements should be consistent with the number of robot axes
std::vector< double > external External joint values, Unit: radians | meters. Linear guide unit is meters

5 Cartesian Position Offset rokae::CartesianPosition::Offset

Type type                 Type: Offs/RelTool
Frame frame Offset coordinate system

6 Joint Position rokae::JointPosition

std::vector< double > joints         Joint angle values, Unit: radians
std::vector< double > external External joint values, Unit: radians | meters. Linear guide unit is meters

7 Joint Torque (excluding gravity and friction) rokae::Torque

std::vector< double > tau           Desired joint torque, Unit: Nm

8 Load Information rokae::Load

double mass                         Load mass, Unit: kilograms
std::array< double, 3 > cog Center of gravity [x, y, z], Unit: meters
std::array< double, 3 > inertia Inertia [ix, iy, iz], Unit: kilogram·square meters

9 Tool-Workpiece Set Information rokae::Toolset

Calculated based on the coordinates, load, and robot hand-held settings of a pair of tool and workpiece.

Load load                 Load held by the robot end-effector
Frame end Transformation from the robot end coordinate system to the flange coordinate system
Frame ref Transformation from the robot reference coordinate system to the world coordinate system

10 Frame Calibration Result rokae::FrameCalibrationResult

Frame frame                          Calibration result
std::array<double, 3> errors Deviation between sample points and TCP calibration values, in order of minimum, average, maximum, Unit: m

11 RL Project Information rokae::RLProjectInfo

std::string name                          Project name
std::vector< std::string > taskList Task name list

12 Tool/Workpiece Information rokae::WorkToolInfo

std::string name              Name
std::string alias Alias, not used temporarily
bool robotHeld Whether held by the robot
Frame pos Pose. The workpiece coordinate system has been transformed relative to its user coordinate system
Load load Load

13 Motion Command MoveAbsJ rokae::MoveAbsJCommand

JointPosition target          Target joint position
int speed End-effector linear speed, Unit: mm/s. Joint speed is divided into several intervals according to the end-effector linear speed, see setDefaultSpeed() for details
double jointSpeed Joint speed percentage
int zone Blending zone size, Unit: mm
std::string customInfo Custom information, which can be returned in the motion information feedback

14 Motion Command MoveJ rokae::MoveJCommand

CartesianPosition target          Target Cartesian position
int speed End-effector linear speed, Unit: mm/s. Joint speed is divided into several intervals according to the end-effector linear speed, see setDefaultSpeed() for details
double jointSpeed Joint speed percentage
int zone Blending zone size, Unit: mm
CartesianPosition::Offset offset Offset amount
std::string customInfo Custom information, which can be returned in the motion information feedback

15 Motion Command MoveL rokae::MoveLCommand

CartesianPosition target          Target Cartesian position
int speed End-effector linear speed, Unit: mm/s
double rotSpeed Spatial rotation speed
int zone Blending zone size, Unit: mm
CartesianPosition::Offset offset Offset amount
std::string customInfo Custom information, which can be returned in the motion information feedback

16 Motion Command MoveC rokae::MoveCCommand

CartesianPosition target                 Target Cartesian position
CartesianPosition aux Auxiliary position
int speed End-effector linear speed, Unit: mm/s
double rotSpeed Spatial rotation speed
int zone Blending zone size, Unit: mm
CartesianPosition::Offset targetOffset Target point offset
CartesianPosition::Offset auxOffset Auxiliary point offset
std::string customInfo Custom information, which can be returned in the motion information feedback

17 Motion Command MoveCF rokae::MoveCFCommand

CartesianPosition target                  Auxiliary position 1
CartesianPosition aux Auxiliary position 2
int speed End-effector linear speed, Unit: mm/s
double rotSpeed Spatial rotation speed
int zone Blending zone size, Unit: mm
double angle Full-circle execution angle, Unit: radians
CartesianPosition::Offset targetOffset Target point offset
CartesianPosition::Offset auxOffset Auxiliary point offset
RotType rotType Full-circle attitude rotation mode
std::string customInfo Custom information, which can be returned in the motion information feedback

18 Motion Command MoveSP rokae::MoveSPCommand

CartesianPosition target                   End Cartesian position
CartesianPosition::Offset targetOffset Offset option
double radius Initial radius, Unit: meters
double radius_step Radius change per unit rotation angle, Unit: meters/radian
double angle Total rotation angle, Unit: radians
bool direction Rotation direction, true - clockwise | false - counterclockwise
std::string customInfo Custom information, which can be returned in the motion information feedback

19 Motion Wait Command rokae::MoveWaitCommand

std::chrono::steady_clock::duration duration_     Dwell time, minimum effective duration is 1ms

20 Controller Log Information rokae::LogInfo

const int id                          Log ID number
const std::string timestamp Date and time
const std::string content Log content
const std::string repair Repair method

21 End-effector Key State rokae::KeyPadState

bool key1_state                      CR1 key status
bool key2_state CR2 key status
bool key3_state CR3 key status
bool key4_state CR4 key status
bool key5_state CR5 key status
bool key6_state CR6 key status
bool key7_state CR7 key status