xCore-SDK  0.5.0
xCore SDK C# API
rokae::clr::BaseRobot类 参考

机器人通用接口 更多...

#include <robot_cli.hpp>

类 rokae::clr::BaseRobot 继承关系图:
rokae::clr::Cobot rokae::clr::PCB3Robot rokae::clr::PCB4Robot rokae::clr::StandardRobot rokae::clr::xMateCr5Robot rokae::clr::xMateErProRobot rokae::clr::xMateRobot

Public 成员函数

virtual ~BaseRobot ()
 Deconstructor
 
void connectToRobot ([Out] ErrorCode^% ec)
 连接到机器人。机器人地址为创建StandardRobot实例时传入的 更多...
 
void connectToRobot (String^ remoteIP)
 建立与机器人的连接。 更多...
 
void connectToRobot (String^ remoteIP, String^ localIP)
 建立与机器人的连接。 更多...
 
void disconnectFromRobot ([Out] ErrorCode^% ec)
 断开与机器人连接。断开前会停止机器人运动, 请注意安全。 更多...
 
Info robotInfo ([Out] ErrorCode^% ec)
 查询机器人基本信息 更多...
 
String sdkVersion ()
 查询xCoreSDK版本 更多...
 
PowerState powerState ([Out] ErrorCode^% ec)
 查询机器人上下电以及急停状态 更多...
 
void setPowerState (Boolean on, [Out] ErrorCode^% ec)
 机器人上下电。注: 只有无外接使能开关或示教器的机器人才能手动模式上电。 更多...
 
OperateMode operateMode ([Out] ErrorCode^% ec)
 查询机器人当前操作模式 更多...
 
void setOperateMode (OperateMode mode, [Out] ErrorCode^% ec)
 切换手自动模式 更多...
 
OperationState operationState ([Out] ErrorCode^% ec)
 查询机器人当前运行状态 (空闲, 运动中, 拖动开启等) 更多...
 
array< double > jointPos ([Out] ErrorCode^% ec)
 机器人当前轴角度 [rad], 机器人本体以及外部轴(若有)。 导轨[m] 更多...
 
array< double > jointVel ([Out] ErrorCode^% ec)
 机器人当前关节速度 [rad/s], 机器人本体以及外部轴(若有)。 导轨[m/s] 更多...
 
array< double > jointTorque ([Out] ErrorCode^% ec)
 关节力传感器数值 [Nm] 更多...
 
array< double > posture (CoordinateType ct, [Out] ErrorCode^% ec)
 获取机器人法兰或末端的当前位姿 更多...
 
CartesianPosition cartPosture (CoordinateType ct, [Out] ErrorCode^% ec)
 获取机器人法兰或末端的当前位姿 更多...
 
array< double > baseFrame ([Out] ErrorCode^% ec)
 读取基坐标系, 相对于世界坐标系 更多...
 
Toolset toolset ([Out] ErrorCode^% ec)
 查询当前工具工件组信息. 更多...
 
void setToolset (Toolset^ toolset, [Out] ErrorCode^% ec)
 设置工具工件组信息。 更多...
 
void setToolset (System::String^ toolName, System::String^ wobjName, [Out] ErrorCode^% ec)
 使用已创建的工具和工件,设置工具工件组信息 更多...
 
void setBaseFrame (Frame^ frame, [Out] ErrorCode^% ec)
 设置基坐标系, 设置后仅保存数值,重启控制器后生效 更多...
 
void setMotionControlMode (MotionControlMode mode, [Out] ErrorCode^% ec)
 设置运动控制模式. 更多...
 
void moveReset ([Out] ErrorCode^% ec)
 运动重置, 清空已发送的运动指令, 清除执行信息。 Robot类在初始化时会调用一次运动重置。RL程序和SDK运动指令切换控制,需要先运动重置。 更多...
 
void stop ([Out] ErrorCode^% ec)
 暂停机器人运动; 暂停后可调用moveStart()继续运动。若需要完全停止,不再执行已添加的指令,可调用moveReset() 更多...
 
void executeCommand (MoveCommand::Type type, List< MoveCommand^>^ cmd, [Out] ErrorCode^% ec)
 执行单条或多条运动指令,调用后机器人立刻开始运动 更多...
 
void moveAppend (MoveCommand::Type type, List< MoveCommand^>^ cmd, System::String^% cmdId, [Out] ErrorCode^% ec)
 添加单条或多条运动指令, 添加后调用moveStart()开始运动 更多...
 
void moveAppend (MoveCommand::Type type, MoveCommand^ cmd, System::String^% cmdId, [Out] ErrorCode^% ec)
 下发单条运动指令 更多...
 
void setDefaultSpeed (int speed, [Out] ErrorCode^% ec)
 设定默认运动速度,初始值为100。该数值表示末端最大线速度(单位mm/s), 自动计算对应关节速度。 关节速度百分比划分为5个的范围:

  • < 100 10%
  • 100 ~ 200 30%
  • 200 ~ 500 50%
  • 500 ~ 800 80%
  • > 800 100%

空间旋转速度为200°/s 更多...

 
void setDefaultZone (int zone, [Out] ErrorCode^% ec)
 设定默认转弯区。初始值为为0 (fine, 无转弯区)。该数值表示运动最大转弯区半径(单位:mm), 自动计算转弯百分比 转弯百分比划分4个范围:

  • < 1 0 (fine)
  • 1 ~ 20 10 %
  • 20 ~ 60 30 %
  • > 60 100 %
更多...
 
void setDefaultConfOpt (bool forced, [Out] ErrorCode^% ec)
 设置是否使用轴配置数据(confData)计算逆解。初始值为false 更多...
 
void moveStart ([Out] ErrorCode^% ec)
 开始/继续运动 更多...
 
void setMaxCacheSize (int number, [Out] ErrorCode^% ec)
 设置最大缓存指令个数,指发送到控制器待规划的路径点个数,允许的范围[1,300],初始值为30。 更多...
 
void adjustSpeedOnline (double scale, [Out] ErrorCode^% ec)
 动态调整机器人运动速率,非实时模式时生效。 更多...
 
void getAcceleration (double% acc, double% jerk, [Out] ErrorCode^% ec)
 读取当前加/减速度和加加速度 更多...
 
void adjustAcceleration (double acc, double jerk, [Out] ErrorCode^% ec)
 调节运动加/减速度和加加速度。如果在机器人运动中调用,当前正在执行的指令不生效,下一条指令生效 更多...
 
EventInfo queryEventInfo (Event eventType, [Out] ErrorCode^% ec)
 查询事件信息。 更多...
 
void setEventWatcher (Event eventType, EventCallbackDelegate^ callback, [Out] ErrorCode^% ec)
 设置接收事件的回调函数。 更多...
 
void startJog (JogSpace space, double rate, double step, unsigned index, bool direction, [Out] ErrorCode^% ec)
 开始jog机器人,需要切换到手动操作模式。调用此接口并且机器人开始运动后,无论机器人是否已经自行停止,都必须调用stop()来结束jog操作,否则机器人会一直处于jog的运行状态。 更多...
 
void clearServoAlarm ([Out] ErrorCode^% ec)
 清除伺服报警 更多...
 
List< LogInfo^> queryControllerLog (unsigned count, LogInfo::Level level, [Out] ErrorCode^% ec)
 查询控制器最新的日志 更多...
 
void setDI (unsigned int board, unsigned int port, bool state, [Out] ErrorCode^% ec)
 设置数字量输入信号,仅当输入仿真模式打开时可以设置(见setSimulationMode()) 更多...
 
bool getDI (unsigned int board, unsigned int port, [Out] ErrorCode^% ec)
 查询数字量输入信号值 更多...
 
void setDO (unsigned int board, unsigned int port, bool state, [Out] ErrorCode^% ec)
 设置数字量输出信号值 更多...
 
bool getDO (unsigned int board, unsigned int port, [Out] ErrorCode^% ec)
 查询数字输出量信号值 更多...
 
double getAI (unsigned board, unsigned port, [Out] ErrorCode^% ec)
 读取模拟量输入信号值 更多...
 
void setAO (unsigned board, unsigned port, double value, [Out] ErrorCode^% ec)
 设置模拟量输出信号 更多...
 
void setSimulationMode (bool state, [Out] ErrorCode^% ec)
 设置输入仿真模式 更多...
 
void readRegister (System::String^ name, List< bool >^% value, [Out] ErrorCode^% ec)
 读取bit/bool类型寄存器数组。 更多...
 
void readRegister (System::String^ name, List< int >^% value, [Out] ErrorCode^% ec)
 读取int16/int32类型寄存器数组。 更多...
 
void readRegister (System::String^ name, List< float >^% value, [Out] ErrorCode^% ec)
 读取float类型寄存器数组。 更多...
 
void readRegister (System::String^ name, unsigned index, bool% value, [Out] ErrorCode^% ec)
 读取bit/bool类型寄存器值。可读取单个寄存器,或按索引读取寄存器数组 更多...
 
void readRegister (System::String^ name, unsigned index, int% value, [Out] ErrorCode^% ec)
 读取int16/int32类型寄存器值。可读取单个寄存器,或按索引读取寄存器数组 更多...
 
void readRegister (System::String^ name, unsigned index, float% value, [Out] ErrorCode^% ec)
 读取float类型寄存器值。可读取单个寄存器,或按索引读取寄存器数组 更多...
 
void writeRegister (System::String^ name, unsigned index, bool value, [Out] ErrorCode^% ec)
 写bool/bit类型寄存器值。可写入单个寄存器,或按索引写入寄存器数组中某一元素。 更多...
 
void writeRegister (System::String^ name, unsigned index, Int32 value, [Out] ErrorCode^% ec)
 写byte/int16/int32寄存器值。可写入单个寄存器,或按索引写入寄存器数组中某一元素。 更多...
 
void writeRegister (System::String^ name, unsigned index, float value, [Out] ErrorCode^% ec)
 写float类型寄存器值。可写入单个寄存器,或按索引写入寄存器数组中某一元素。 更多...
 
void writeRegister (System::String^ name, unsigned index, array< bool >^ value, [Out] ErrorCode^% ec)
 写bool/bit类型寄存器数组 更多...
 
void writeRegister (System::String^ name, unsigned index, array< int >^ value, [Out] ErrorCode^% ec)
 写int16/int32类型寄存器数组。 更多...
 
void writeRegister (System::String^ name, unsigned index, array< float >^ value, [Out] ErrorCode^% ec)
 写float类型寄存器数组。 更多...
 
List< RLProjectInfo^> projectsInfo ([Out] ErrorCode^% ec)
 查询工控机中RL工程名称及任务 更多...
 
void loadProject (String^ name, System::Collections::Generic::List< System::String^>^ tasks, [Out] ErrorCode^% ec)
 加载工程 更多...
 
void ppToMain ([Out] ErrorCode^% ec)
 程序指针跳转到main。调用后,等待控制器解析完工程后返回,阻塞时间视工程大小而定,超时时间设定为10秒。 更多...
 
void runProject ([Out] ErrorCode^% ec)
 开始运行当前加载的工程 更多...
 
void pauseProject ([Out] ErrorCode^% ec)
 暂停运行工程 更多...
 
void setProjectRunningOpt (double rate, bool loop, [Out] ErrorCode^% ec)
 更改工程的运行速度和循环模式 更多...
 
List< WorkToolInfo^> toolsInfo ([Out] ErrorCode^% ec)
 查询当前加载工程的工具信息 更多...
 
List< WorkToolInfo^> wobjsInfo ([Out] ErrorCode^% ec)
 查询当前加载工程的工件信息 更多...
 
void setRailParameter (System::String^ name, Frame^ value, [Out] ErrorCode^% ec)
 设置导轨基坐标系 更多...
 
void setRailParameter (System::String^ name, System::String^ value, [Out] ErrorCode^% ec)
 设置导轨名称 更多...
 
void setRailParameter (System::String^ name, double value, [Out] ErrorCode^% ec)
 设置导轨参数 更多...
 
void setRailParameter (System::String^ name, bool value, [Out] ErrorCode^% ec)
 打开关闭导轨 更多...
 
void setRailParameter (System::String^ name, array< double >^ value, [Out] ErrorCode^% ec)
 设置导轨软限位和运动范围 更多...
 
void setRailParameter (System::String^ name, int value, [Out] ErrorCode^% ec)
 设置导轨参数 更多...
 
void getRailParameter (System::String^ name, bool% value, [Out] ErrorCode^% ec)
 读取导轨是否打开 更多...
 
void getRailParameter (System::String^ name, String^% value, [Out] ErrorCode^% ec)
 读取导轨名称 更多...
 
void getRailParameter (System::String^ name, Frame^% value, [Out] ErrorCode^% ec)
 读取导轨基座标系 更多...
 
void getRailParameter (System::String^ name, int% value, [Out] ErrorCode^% ec)
 读取导轨参数 更多...
 
void getRailParameter (System::String^ name, double% value, [Out] ErrorCode^% ec)
 读取导轨参数 更多...
 
void getRailParameter (System::String^ name, array< double >^% value, [Out] ErrorCode^% ec)
 读取导轨软限位和运动范围 更多...
 
int getStateData (String^ name, array< double >^% data)
 读取机器人状态数据,注意传入的data类型要和数据类型一致。

支持的数据名称及数组长度 关节角度[rad]"q_m" | DoF 关节速度[rad/s]"dq_m" | DoF 关节力矩[Nm]"tau_m" | DoF 电机位置"theta_m" | DoF 电机位置微分"theta_vel_m" | DoF 电机转矩"motor_tau" | DoF 末端位姿, 相对于外部坐标系 [X,Y,Z,Rx,Ry,Rz]"pos_abc_m" | 6 末端位姿, 相对于外部坐标系, 行优先齐次变换矩阵"pos_m" | 16 外部轴角度[rad] 导轨[m]"ex_q_m" | 6 外部轴速度[rad/s] 导轨[m/s]"ex_dq_m" | 6 外部轴电机位置"ex_motor_m" | 6 更多...

 
int getStateData (String^ name, UInt64% data)
 读取机器人状态数据

支持的数据名称 时间戳,精确到微秒"ts" 更多...

 
int getStateData (String^ name, double% data)
 读取机器人状态数据

支持的数据名称 臂角[rad]"psi_m" 更多...

 
void stopReceiveRobotState ()
 停止接收实时状态数据,同时控制器停止发送。可用于重新设置要接收的状态数据。
 
unsigned updateRobotState (int timeout_ms)
 接收一次机器人状态数据,在每周期读取数据前,需调用此函数。阻塞等待收到新数据,或超时返回。 建议按照设定的发送频率来调用,以获取最新的数据 更多...
 
void configNtp (System::String^ server_ip, [Out] ErrorCode^% ec)
 配置NTP 更多...
 
void syncTimeWithServer ([Out] ErrorCode^% ec)
 手动同步一次时间,远端IP是通过configNtp配置的。耗时几秒钟,阻塞等待同步完成,接口预设的超时时间是12秒 更多...
 
array< double > checkPath (CartesianPosition^ start, array< double >^ start_joint, CartesianPosition^ target, [Out] ErrorCode^% ec)
 检验直线轨迹是否可达。支持导轨,返回的目标轴角为轴数+外部轴数 更多...
 
int checkPath (array< double >^ start_joint, array< CartesianPosition^>^ targets, array< double >^% target_joint_calculated, [Out] ErrorCode^% ec)
 校验多个直线轨迹 更多...
 
array< double > checkPath (CartesianPosition^ start, array< double >^ start_joint, CartesianPosition^ aux, CartesianPosition^ target, [Out] ErrorCode^% ec)
 检验圆弧轨迹是否可达 更多...
 
array< double > checkPath (CartesianPosition^ start, array< double >^ start_joint, CartesianPosition^ aux1, CartesianPosition^ aux2, double angle, double rot_type, [Out] ErrorCode^% ec)
 检验全圆轨迹是否可达 更多...
 
void recoverState (int item, [Out] ErrorCode^% ec)
 根据选项恢复机器人状态 更多...
 
array< double > calcIk (CartesianPosition^ posture, [Out] ErrorCode^% ec)
 根据位姿计算逆解 更多...
 
array< double > calcIk (CartesianPosition^ posture, Toolset^ toolset, [Out] ErrorCode^% ec)
 根据位姿计算给定工具工件坐标系下逆解 更多...
 
CartesianPosition calcFk (array< double >^ joints, [Out] ErrorCode^% ec)
 根据轴角度计算正解 更多...
 
CartesianPosition calcFk (array< double >^ joints, Toolset^ toolset, [Out] ErrorCode^% ec)
 根据轴角度计算给定工具工件坐标系下正解 更多...
 
FrameCalibrationResult calibrateFrame (FrameType type, List< array< double >^>^ points, bool is_held, array< double >^ base_aux, [Out] ErrorCode^% ec)
 坐标系标定 (N点标定). 更多...
 
bool getSoftLimit (array< double, 2 >^% limits, [Out] ErrorCode^% ec)
 获取当前软限位数值 更多...
 
void setSoftLimit (bool enable, array< double, 2 >^ limits, [Out] ErrorCode^% ec)
 设置软限位。软限位设定要求:

  • 打开软限位时,机械臂应下电且处于手动模式
  • 软限位不能超过机械硬限位
  • 机械臂当前各轴角度应在设定的限位范围内
更多...
 
void startReceiveRobotState (int interval, array< System::String^>^ fields)
 让机器人控制器开始发送实时状态数据。阻塞等待收到第一帧消息,超时时间为3秒 更多...
 

Protected 成员函数

void _moveEventCallback (const std::unordered_map< std::string, std::any > &info)
 
void _safetyEventCallback (const std::unordered_map< std::string, std::any > &info)
 
void _rlExecutionEventCallback (const std::unordered_map< std::string, std::any > &info)
 

Protected 属性

rokae::BaseRobot * robot
 
rokae::StandardRobot * ir6
 
rokae::PCB3Robot * ir3
 
rokae::PCB4Robot * ir4
 
rokae::xMateCr5Robot * cobot5
 
rokae::xMateRobot * cobot6
 
rokae::xMateErProRobot * cobot7
 
rokae::Model_T< 3 > * model3
 
rokae::Model_T< 4 > * model4
 
rokae::Model_T< 5 > * model5
 
rokae::Model_T< 6 > * model6
 
rokae::Model_T< 7 > * model7
 
EventCallbackNativeDelegate _moveNativeDelegate
 
EventCallbackNativeDelegate _safetyNativeDelegate
 
EventCallbackNativeDelegate _rlExecutionNativeDelegate
 

静态 Protected 属性

static EventCallbackDelegate _moveManagedDelegate
 
static EventCallbackDelegate _safetyManagedDelegate
 
static EventCallbackDelegate _rlExecutionManagedDelegate
 

详细描述

机器人通用接口

在文件 robot_cli.hpp42 行定义.

成员函数说明

◆ adjustAcceleration()

void rokae::clr::BaseRobot::adjustAcceleration ( double  acc,
double  jerk,
[Out] ErrorCode^%  ec 
)

调节运动加/减速度和加加速度。如果在机器人运动中调用,当前正在执行的指令不生效,下一条指令生效

参数
acc系统预设加速度的百分比,范围[0.2, 1.5], 超出范围不会报错,自动改为上限或下限值
jerk系统预设的加加速度的百分比,范围[0.1, 2], 超出范围不会报错,自动改为上限或下限值
ec错误码

◆ adjustSpeedOnline()

void rokae::clr::BaseRobot::adjustSpeedOnline ( double  scale,
[Out] ErrorCode^%  ec 
)

动态调整机器人运动速率,非实时模式时生效。

参数
scale运动指令的速度的比例,范围 0.01 - 1。当设置scale为1时,机器人将以路径原本速度运动。
ec错误码

◆ baseFrame()

array< double > rokae::clr::BaseRobot::baseFrame ( [Out] ErrorCode^%  ec)

读取基坐标系, 相对于世界坐标系

参数
ec错误码
返回
坐标系[x, y, z, rx, ry, rz]

◆ calcFk() [1/2]

CartesianPosition rokae::clr::BaseRobot::calcFk ( array< double >^  joints,
[Out] ErrorCode^%  ec 
)

根据轴角度计算正解

参数
joints轴角度,数组长度应与轴数一致。单位: 弧度
ec错误码
返回
机器人末端位姿,相对于外部参考坐标系
异常
System::NullReferenceExceptionRobot类未构造

◆ calcFk() [2/2]

CartesianPosition rokae::clr::BaseRobot::calcFk ( array< double >^  joints,
Toolset toolset,
[Out] ErrorCode^%  ec 
)

根据轴角度计算给定工具工件坐标系下正解

参数
joints轴角度,数组长度应与轴数一致。单位: 弧度
toolset工具工件坐标系设置
ec错误码
返回
机器人末端位姿,相对于外部参考坐标系
异常
System::NullReferenceExceptionRobot类未构造

◆ calcIk() [1/2]

array< double > rokae::clr::BaseRobot::calcIk ( CartesianPosition posture,
[Out] ErrorCode^%  ec 
)

根据位姿计算逆解

参数
posture机器人末端位姿,相对于外部参考坐标系
ec错误码
返回
关节角度, 单位:弧度
异常
System::NullReferenceExceptionRobot类未构造

◆ calcIk() [2/2]

array< double > rokae::clr::BaseRobot::calcIk ( CartesianPosition posture,
Toolset toolset,
[Out] ErrorCode^%  ec 
)

根据位姿计算给定工具工件坐标系下逆解

参数
posture机器人末端位姿,相对于外部参考坐标系
toolset工具工件坐标系设置
ec错误码
返回
关节角度, 单位:弧度
异常
System::NullReferenceExceptionRobot类未构造

◆ calibrateFrame()

FrameCalibrationResult rokae::clr::BaseRobot::calibrateFrame ( FrameType  type,
List< array< double >^>^  points,
bool  is_held,
array< double >^  base_aux,
[Out] ErrorCode^%  ec 
)

坐标系标定 (N点标定).

各坐标系类型支持的标定方法及注意事项x 工具坐标系三点 / 四点 / 六点标定法 工件坐标系三点标定。标定结果不会相对用户坐标系做变换,即,若为外部工件,返回的结果是相对于基坐标系的。 基坐标系六点标定。标定前请确保动力学约束和前馈已关闭。 导轨基坐标系三点标定。若标定成功(无错误码),控制器会自动保存标定结果,重启控制器后生效。

若标定成功(无错误码),控制器会自动保存标定结果,重启控制器后生效。

参数
type坐标系类型,支持工具(FrameType::tool), 工件(FrameType::wobj), 基坐标系(FrameType::base)
points轴角度列表,列表长度为N。例如,使用三点法标定工具坐标系,应传入3组轴角度。轴角度的单位是弧度。
is_heldtrue - 机器人手持 | false - 外部。仅影响工具/工件的标定
base_aux基坐标系标定时用到的辅助点, 单位[米]
ec错误码
返回
标定结果,当错误码没有被置位时,标定结果有效。
异常
System::NullReferenceExceptionRobot类未构造

◆ cartPosture()

CartesianPosition rokae::clr::BaseRobot::cartPosture ( CoordinateType  ct,
[Out] ErrorCode^%  ec 
)

获取机器人法兰或末端的当前位姿

参数
ct坐标系类型
ec错误码
返回
当前笛卡尔位置

◆ checkPath() [1/4]

int rokae::clr::BaseRobot::checkPath ( array< double >^  start_joint,
array< CartesianPosition^>^  targets,
array< double >^%  target_joint_calculated,
[Out] ErrorCode^%  ec 
)

校验多个直线轨迹

参数
start_joint起始轴角,单位[弧度]
targets笛卡尔点位,至少需要2个点,第一个点是起始点
target_joint_calculated若校验通过。返回计算出的目标轴角
ec校验失败的原因
返回
若校验失败,返回points中出错目标点的下标。其它情况返回0

◆ checkPath() [2/4]

array< double > rokae::clr::BaseRobot::checkPath ( CartesianPosition start,
array< double >^  start_joint,
CartesianPosition aux,
CartesianPosition target,
[Out] ErrorCode^%  ec 
)

检验圆弧轨迹是否可达

参数
start起始点
start_joint起始轴角
aux辅助点
target目标点
ec含不可达的错误原因
返回
计算出的目标轴角,仅当无错误码时有效

◆ checkPath() [3/4]

array< double > rokae::clr::BaseRobot::checkPath ( CartesianPosition start,
array< double >^  start_joint,
CartesianPosition aux1,
CartesianPosition aux2,
double  angle,
double  rot_type,
[Out] ErrorCode^%  ec 
)

检验全圆轨迹是否可达

参数
start起始点
start_joint起始轴角
aux1辅助点1
aux2辅助点2
angle全圆执行角度,单位弧度,不等于零时代表校验全圆轨迹
rot_type全圆旋转类型
ec含不可达的错误原因
返回
计算出的目标轴角,仅当无错误码时有效

◆ checkPath() [4/4]

array< double > rokae::clr::BaseRobot::checkPath ( CartesianPosition start,
array< double >^  start_joint,
CartesianPosition target,
[Out] ErrorCode^%  ec 
)

检验直线轨迹是否可达。支持导轨,返回的目标轴角为轴数+外部轴数

参数
start起始点
start_joint起始轴角
target目标点
ec含不可达的错误原因
返回
计算出的目标轴角,仅当无错误码时有效

◆ clearServoAlarm()

void rokae::clr::BaseRobot::clearServoAlarm ( [Out] ErrorCode^%  ec)

清除伺服报警

参数
ec错误码,当有伺服报警且清除失败的情况下错误码置为-1

◆ configNtp()

void rokae::clr::BaseRobot::configNtp ( System::String^  server_ip,
[Out] ErrorCode^%  ec 
)

配置NTP

参数
server_ipNTP服务端IP
ec错误码,NTP服务未正确安装,或地址非法

◆ connectToRobot() [1/3]

void rokae::clr::BaseRobot::connectToRobot ( [Out] ErrorCode^%  ec)

连接到机器人。机器人地址为创建StandardRobot实例时传入的

参数
ec错误码

◆ connectToRobot() [2/3]

void rokae::clr::BaseRobot::connectToRobot ( String^  remoteIP)

建立与机器人的连接。

参数
remoteIP机器人IP地址
异常
rokae::clr::ApiException网络连接异常;控制器版本不兼容;机型不匹配等

◆ connectToRobot() [3/3]

void rokae::clr::BaseRobot::connectToRobot ( String^  remoteIP,
String^  localIP 
)

建立与机器人的连接。

参数
remoteIP机器人IP地址
localIP本机地址
异常
rokae::clr::ApiException网络连接异常;控制器版本不兼容;机型不匹配等

◆ disconnectFromRobot()

void rokae::clr::BaseRobot::disconnectFromRobot ( [Out] ErrorCode^%  ec)

断开与机器人连接。断开前会停止机器人运动, 请注意安全。

参数
ec错误码

◆ executeCommand()

void rokae::clr::BaseRobot::executeCommand ( MoveCommand::Type  type,
List< MoveCommand^>^  cmd,
[Out] ErrorCode^%  ec 
)

执行单条或多条运动指令,调用后机器人立刻开始运动

参数
type指令类型
cmd指令列表, 允许的个数为1-100, 需为同类型指令
ec错误码,仅反馈执行前的错误, 包括:
  1. 网络连接问题;
  2. 指令个数或类型不符

◆ getAcceleration()

void rokae::clr::BaseRobot::getAcceleration ( double%  acc,
double%  jerk,
[Out] ErrorCode^%  ec 
)

读取当前加/减速度和加加速度

参数
acc系统预设加速度的百分比
jerk系统预设的加加速度的百分比
ec错误码

◆ getAI()

double rokae::clr::BaseRobot::getAI ( unsigned  board,
unsigned  port,
[Out] ErrorCode^%  ec 
)

读取模拟量输入信号值

参数
boardIO板序号
port信号端口号
ec错误码
返回
信号值

◆ getDI()

bool rokae::clr::BaseRobot::getDI ( unsigned int  board,
unsigned int  port,
[Out] ErrorCode^%  ec 
)

查询数字量输入信号值

参数
boardIO板序号
port信号端口号
ec错误码
返回
true-开 | false-关

◆ getDO()

bool rokae::clr::BaseRobot::getDO ( unsigned int  board,
unsigned int  port,
[Out] ErrorCode^%  ec 
)

查询数字输出量信号值

参数
boardIO板序号
port信号端口号
ec错误码
返回
true-开 | false-关

◆ getRailParameter() [1/6]

void rokae::clr::BaseRobot::getRailParameter ( System::String^  name,
array< double >^%  value,
[Out] ErrorCode^%  ec 
)

读取导轨软限位和运动范围

参数
name参数及参数名
  • 软限位(m), [下限,上限] - softLimit
  • 运动范围(m), [下限,上限] - range
value参数数值
ec错误码 参数名不存在或数据类型不匹配返回错误码

◆ getRailParameter() [2/6]

void rokae::clr::BaseRobot::getRailParameter ( System::String^  name,
bool%  value,
[Out] ErrorCode^%  ec 
)

读取导轨是否打开

参数
name参数名,"enable"
valuetrue - 打开
ec错误码 参数名不存在或数据类型不匹配返回错误码

◆ getRailParameter() [3/6]

void rokae::clr::BaseRobot::getRailParameter ( System::String^  name,
double%  value,
[Out] ErrorCode^%  ec 
)

读取导轨参数

参数
name参数及参数名
  • 减速比 - reductionRatio
  • 最大速度(m/s) - maxSpeed
  • 最大加速度(m/s^2) - maxAcc
  • 最大加加速度(m/s^3) - maxJerk
value参数数值
ec错误码 参数名不存在或数据类型不匹配返回错误码

◆ getRailParameter() [4/6]

void rokae::clr::BaseRobot::getRailParameter ( System::String^  name,
Frame^%  value,
[Out] ErrorCode^%  ec 
)

读取导轨基座标系

参数
name参数名,"baseFrame"
value导轨基坐标系
ec错误码 参数名不存在或数据类型不匹配返回错误码

◆ getRailParameter() [5/6]

void rokae::clr::BaseRobot::getRailParameter ( System::String^  name,
int%  value,
[Out] ErrorCode^%  ec 
)

读取导轨参数

参数
name参数及参数名
  • 编码器分辨率 - encoderResolution
  • 电机最大转速(rpm) - motorSpeed
value参数数值
ec错误码 参数名不存在或数据类型不匹配返回错误码

◆ getRailParameter() [6/6]

void rokae::clr::BaseRobot::getRailParameter ( System::String^  name,
String^%  value,
[Out] ErrorCode^%  ec 
)

读取导轨名称

参数
name参数名,"name"
value导轨名称
ec错误码 参数名不存在或数据类型不匹配返回错误码

◆ getSoftLimit()

bool rokae::clr::BaseRobot::getSoftLimit ( array< double, 2 >^%  limits,
[Out] ErrorCode^%  ec 
)

获取当前软限位数值

参数
limits各轴软限位 [下限, 上限],单位: 弧度
ec错误码
返回
true - 已打开 | false - 已关闭
异常
System::NullReferenceExceptionRobot类未构造

◆ getStateData() [1/3]

int rokae::clr::BaseRobot::getStateData ( String^  name,
array< double >^%  data 
)

读取机器人状态数据,注意传入的data类型要和数据类型一致。

支持的数据名称及数组长度 关节角度[rad]"q_m" | DoF 关节速度[rad/s]"dq_m" | DoF 关节力矩[Nm]"tau_m" | DoF 电机位置"theta_m" | DoF 电机位置微分"theta_vel_m" | DoF 电机转矩"motor_tau" | DoF 末端位姿, 相对于外部坐标系 [X,Y,Z,Rx,Ry,Rz]"pos_abc_m" | 6 末端位姿, 相对于外部坐标系, 行优先齐次变换矩阵"pos_m" | 16 外部轴角度[rad] 导轨[m]"ex_q_m" | 6 外部轴速度[rad/s] 导轨[m/s]"ex_dq_m" | 6 外部轴电机位置"ex_motor_m" | 6

参数
name数据名
data数值
返回
若无该数据名;或未通过startReceiveRobotState()设置为要接收的数据;或该数据类型和R不符,返回-1。成功读取返回0。
异常
rokae::clr::ApiException网络错误

◆ getStateData() [2/3]

int rokae::clr::BaseRobot::getStateData ( String^  name,
double%  data 
)

读取机器人状态数据

支持的数据名称 臂角[rad]"psi_m"

参数
name数据名
data数值
返回
若无该数据名;或未通过startReceiveRobotState()设置为要接收的数据;或该数据类型和R不符,返回-1。成功读取返回0。
异常
rokae::clr::ApiException网络错误

◆ getStateData() [3/3]

int rokae::clr::BaseRobot::getStateData ( String^  name,
UInt64%  data 
)

读取机器人状态数据

支持的数据名称 时间戳,精确到微秒"ts"

参数
name数据名
data数值
返回
若无该数据名;或未通过startReceiveRobotState()设置为要接收的数据;或该数据类型和R不符,返回-1。成功读取返回0。
异常
rokae::clr::ApiException网络错误

◆ jointPos()

array< double > rokae::clr::BaseRobot::jointPos ( [Out] ErrorCode^%  ec)

机器人当前轴角度 [rad], 机器人本体以及外部轴(若有)。 导轨[m]

参数
ec错误码
返回
关节数值,数组长度机器人轴数+外部轴数

◆ jointTorque()

array< double > rokae::clr::BaseRobot::jointTorque ( [Out] ErrorCode^%  ec)

关节力传感器数值 [Nm]

参数
ec错误码
返回
关节力矩

◆ jointVel()

array< double > rokae::clr::BaseRobot::jointVel ( [Out] ErrorCode^%  ec)

机器人当前关节速度 [rad/s], 机器人本体以及外部轴(若有)。 导轨[m/s]

参数
ec错误码
返回
关节速度, 数组长度机器人轴数+外部轴数

◆ loadProject()

void rokae::clr::BaseRobot::loadProject ( String^  name,
System::Collections::Generic::List< System::String^>^  tasks,
[Out] ErrorCode^%  ec 
)

加载工程

参数
name工程名称
tasks
模板参数
System::String要运行的任务。该参数必须指定,不能为空,否则无法执行工程。
ec错误码

◆ moveAppend() [1/2]

void rokae::clr::BaseRobot::moveAppend ( MoveCommand::Type  type,
List< MoveCommand^>^  cmd,
System::String^%  cmdId,
[Out] ErrorCode^%  ec 
)

添加单条或多条运动指令, 添加后调用moveStart()开始运动

参数
type指令类型
cmd指令列表, 允许的个数为1-100, 需为同类型指令
cmdId本条指令的ID, 可用于查询指令执行信息
ec错误码,仅反馈执行前的错误, 包括:
  1. 网络连接问题;
  2. 指令个数或类型不符

◆ moveAppend() [2/2]

void rokae::clr::BaseRobot::moveAppend ( MoveCommand::Type  type,
MoveCommand cmd,
System::String^%  cmdId,
[Out] ErrorCode^%  ec 
)

下发单条运动指令

参数
type类型
cmd指令
cmdId本条指令的ID, 可用于查询指令执行信息。MoveWait指令没有信息反馈
ec错误码

◆ moveReset()

void rokae::clr::BaseRobot::moveReset ( [Out] ErrorCode^%  ec)

运动重置, 清空已发送的运动指令, 清除执行信息。 Robot类在初始化时会调用一次运动重置。RL程序和SDK运动指令切换控制,需要先运动重置。

每次程序开始运行并第一次执行运动指令之前, 调用该函数来重置运动缓存

参数
ec错误码

◆ moveStart()

void rokae::clr::BaseRobot::moveStart ( [Out] ErrorCode^%  ec)

开始/继续运动

参数
ec错误码

◆ operateMode()

OperateMode rokae::clr::BaseRobot::operateMode ( [Out] ErrorCode^%  ec)

查询机器人当前操作模式

参数
ec错误码
返回
手动 | 自动

◆ operationState()

OperationState rokae::clr::BaseRobot::operationState ( [Out] ErrorCode^%  ec)

查询机器人当前运行状态 (空闲, 运动中, 拖动开启等)

参数
ec错误码
返回
运行状态枚举类

◆ pauseProject()

void rokae::clr::BaseRobot::pauseProject ( [Out] ErrorCode^%  ec)

暂停运行工程

参数
ec错误码

◆ posture()

array< double > rokae::clr::BaseRobot::posture ( CoordinateType  ct,
[Out] ErrorCode^%  ec 
)

获取机器人法兰或末端的当前位姿

参数
ct坐标系类型
  1. flangeInBase法兰相对于基坐标系;
  2. endInRef末端相对于外部参考坐标系。例如, 当设置了手持工具及外部工件后,该坐标系类型返回的是工具相对于工件坐标系的坐标。 再例如,若外部参考坐标系与基坐标系重合,那么返回的结果等同于末端相对于基坐标系的位姿。
ec错误码
返回
double数组, [x, y, z, rx, ry, rz].

◆ powerState()

PowerState rokae::clr::BaseRobot::powerState ( [Out] ErrorCode^%  ec)

查询机器人上下电以及急停状态

参数
ec错误码
返回
on-上电 | off-下电 | estop-急停 | gstop-安全门打开

◆ ppToMain()

void rokae::clr::BaseRobot::ppToMain ( [Out] ErrorCode^%  ec)

程序指针跳转到main。调用后,等待控制器解析完工程后返回,阻塞时间视工程大小而定,超时时间设定为10秒。

参数
ec错误码。错误码能提供的信息有限,不能反馈如RL语法错误、变量不存在等错误。可通过queryControllerLog()查询错误日志。

◆ projectsInfo()

List< RLProjectInfo^> rokae::clr::BaseRobot::projectsInfo ( [Out] ErrorCode^%  ec)

查询工控机中RL工程名称及任务

参数
ec错误码
返回
工程信息列表,若没有创建工程则返回空列表

◆ queryControllerLog()

List< LogInfo^> rokae::clr::BaseRobot::queryControllerLog ( unsigned  count,
LogInfo::Level  level,
[Out] ErrorCode^%  ec 
)

查询控制器最新的日志

参数
count查询个数,上限是10条
level指定日志等级
ec错误码
返回
日志信息

◆ queryEventInfo()

EventInfo rokae::clr::BaseRobot::queryEventInfo ( Event  eventType,
[Out] ErrorCode^%  ec 
)

查询事件信息。

参数
eventType事件类型
ec错误码
返回
事件信息

◆ readRegister() [1/6]

void rokae::clr::BaseRobot::readRegister ( System::String^  name,
List< bool >^%  value,
[Out] ErrorCode^%  ec 
)

读取bit/bool类型寄存器数组。

参数
name寄存器名称
value寄存器数值
ec错误码

◆ readRegister() [2/6]

void rokae::clr::BaseRobot::readRegister ( System::String^  name,
List< float >^%  value,
[Out] ErrorCode^%  ec 
)

读取float类型寄存器数组。

参数
name寄存器名称
value寄存器数值
ec错误码

◆ readRegister() [3/6]

void rokae::clr::BaseRobot::readRegister ( System::String^  name,
List< int >^%  value,
[Out] ErrorCode^%  ec 
)

读取int16/int32类型寄存器数组。

参数
name寄存器名称
value寄存器数值
ec错误码

◆ readRegister() [4/6]

void rokae::clr::BaseRobot::readRegister ( System::String^  name,
unsigned  index,
bool%  value,
[Out] ErrorCode^%  ec 
)

读取bit/bool类型寄存器值。可读取单个寄存器,或按索引读取寄存器数组

参数
name寄存器名称
index按索引读取寄存器数组中元素,从0开始。下列两种情况会报错:1) 索引超出数组长度; 2) 寄存器不是数组但index大于0
value寄存器数值
ec错误码

◆ readRegister() [5/6]

void rokae::clr::BaseRobot::readRegister ( System::String^  name,
unsigned  index,
float%  value,
[Out] ErrorCode^%  ec 
)

读取float类型寄存器值。可读取单个寄存器,或按索引读取寄存器数组

参数
name寄存器名称
index按索引读取寄存器数组中元素,从0开始。下列两种情况会报错:1) 索引超出数组长度; 2) 寄存器不是数组但index大于0
value寄存器数值
ec错误码

◆ readRegister() [6/6]

void rokae::clr::BaseRobot::readRegister ( System::String^  name,
unsigned  index,
int%  value,
[Out] ErrorCode^%  ec 
)

读取int16/int32类型寄存器值。可读取单个寄存器,或按索引读取寄存器数组

参数
name寄存器名称
index按索引读取寄存器数组中元素,从0开始。下列两种情况会报错:1) 索引超出数组长度; 2) 寄存器不是数组但index大于0
value寄存器数值
ec错误码

◆ recoverState()

void rokae::clr::BaseRobot::recoverState ( int  item,
[Out] ErrorCode^%  ec 
)

根据选项恢复机器人状态

参数
item恢复选项,1:急停恢复
ec错误码

◆ robotInfo()

Info rokae::clr::BaseRobot::robotInfo ( [Out] ErrorCode^%  ec)

查询机器人基本信息

参数
ec错误码
返回
机器人基本信息

◆ runProject()

void rokae::clr::BaseRobot::runProject ( [Out] ErrorCode^%  ec)

开始运行当前加载的工程

参数
ec错误码

◆ sdkVersion()

String rokae::clr::BaseRobot::sdkVersion ( )

查询xCoreSDK版本

返回
版本号

◆ setAO()

void rokae::clr::BaseRobot::setAO ( unsigned  board,
unsigned  port,
double  value,
[Out] ErrorCode^%  ec 
)

设置模拟量输出信号

参数
boardIO板序号
port信号端口号
value输出值
ec错误码

◆ setBaseFrame()

void rokae::clr::BaseRobot::setBaseFrame ( Frame frame,
[Out] ErrorCode^%  ec 
)

设置基坐标系, 设置后仅保存数值,重启控制器后生效

参数
frame坐标系,默认使用自定义安装方式
ec错误码

◆ setDefaultConfOpt()

void rokae::clr::BaseRobot::setDefaultConfOpt ( bool  forced,
[Out] ErrorCode^%  ec 
)

设置是否使用轴配置数据(confData)计算逆解。初始值为false

参数
forcedtrue - 使用运动指令的confData计算笛卡尔点位逆解, 如计算失败则返回错误; false - 不使用,逆解时会选取机械臂当前轴角度的最近解
ec错误码

◆ setDefaultSpeed()

void rokae::clr::BaseRobot::setDefaultSpeed ( int  speed,
[Out] ErrorCode^%  ec 
)

设定默认运动速度,初始值为100。该数值表示末端最大线速度(单位mm/s), 自动计算对应关节速度。 关节速度百分比划分为5个的范围:

  • < 100 10%
  • 100 ~ 200 30%
  • 200 ~ 500 50%
  • 500 ~ 800 80%
  • > 800 100%

空间旋转速度为200°/s

参数
speed该接口不对参数进行范围限制。末端线速度的实际有效范围分别是5-4000(协作), 5-7000(工业)。
ec错误码

◆ setDefaultZone()

void rokae::clr::BaseRobot::setDefaultZone ( int  zone,
[Out] ErrorCode^%  ec 
)

设定默认转弯区。初始值为为0 (fine, 无转弯区)。该数值表示运动最大转弯区半径(单位:mm), 自动计算转弯百分比 转弯百分比划分4个范围:

  • < 1 0 (fine)
  • 1 ~ 20 10 %
  • 20 ~ 60 30 %
  • > 60 100 %

参数
zone该接口不对参数进行范围限制。转弯区半径大小实际有效范围是0-200。
ec错误码

◆ setDI()

void rokae::clr::BaseRobot::setDI ( unsigned int  board,
unsigned int  port,
bool  state,
[Out] ErrorCode^%  ec 
)

设置数字量输入信号,仅当输入仿真模式打开时可以设置(见setSimulationMode())

参数
boardIO板序号
port信号端口号
statetrue-开 | false-关
ec错误码

◆ setDO()

void rokae::clr::BaseRobot::setDO ( unsigned int  board,
unsigned int  port,
bool  state,
[Out] ErrorCode^%  ec 
)

设置数字量输出信号值

参数
boardIO板序号
port信号端口号
statetrue-开 | false-关
ec错误码

◆ setEventWatcher()

void rokae::clr::BaseRobot::setEventWatcher ( Event  eventType,
EventCallbackDelegate^  callback,
[Out] ErrorCode^%  ec 
)

设置接收事件的回调函数。

参数
eventType事件类型
callback处理事件的回调函数
  • Event::moveExecution 回调函数在同一个线程执行, 请避免函数中有执行时间较长的操作
  • Event::safety 每次独立线程回调, 没有执行时间的限制
ec错误码

◆ setMaxCacheSize()

void rokae::clr::BaseRobot::setMaxCacheSize ( int  number,
[Out] ErrorCode^%  ec 
)

设置最大缓存指令个数,指发送到控制器待规划的路径点个数,允许的范围[1,300],初始值为30。

如果轨迹多为短轨迹,可以调大这个数值,避免因指令发送不及时导致机器人停止运动(停止后如果有未执行的指令,可moveStart()继续);

参数
number个数
ec错误码

◆ setMotionControlMode()

void rokae::clr::BaseRobot::setMotionControlMode ( MotionControlMode  mode,
[Out] ErrorCode^%  ec 
)

设置运动控制模式.

在调用各运动控制接口之前, 必须设置对应的控制模式。

参数
mode模式
ec错误码

◆ setOperateMode()

void rokae::clr::BaseRobot::setOperateMode ( OperateMode  mode,
[Out] ErrorCode^%  ec 
)

切换手自动模式

参数
mode手动/自动
ec错误码

◆ setPowerState()

void rokae::clr::BaseRobot::setPowerState ( Boolean  on,
[Out] ErrorCode^%  ec 
)

机器人上下电。注: 只有无外接使能开关或示教器的机器人才能手动模式上电。

参数
ontrue-上电 | false-下电
ec错误码

◆ setProjectRunningOpt()

void rokae::clr::BaseRobot::setProjectRunningOpt ( double  rate,
bool  loop,
[Out] ErrorCode^%  ec 
)

更改工程的运行速度和循环模式

参数
rate运行速率,范围 0.01 - 1
looptrue - 循环执行 | false - 单次执行
ec错误码

◆ setRailParameter() [1/6]

void rokae::clr::BaseRobot::setRailParameter ( System::String^  name,
array< double >^  value,
[Out] ErrorCode^%  ec 
)

设置导轨软限位和运动范围

参数
name参数名,见value说明
value参数及参数名
  • 软限位(m), [下限,上限] - softLimit
  • 运动范围(m), [下限,上限] - range
ec错误码。参数名不存在或数据类型不匹配返回错误码

◆ setRailParameter() [2/6]

void rokae::clr::BaseRobot::setRailParameter ( System::String^  name,
bool  value,
[Out] ErrorCode^%  ec 
)

打开关闭导轨

参数
name参数名,"enable"
valuetrue - 打开
ec错误码。参数名不存在或数据类型不匹配返回错误码

◆ setRailParameter() [3/6]

void rokae::clr::BaseRobot::setRailParameter ( System::String^  name,
double  value,
[Out] ErrorCode^%  ec 
)

设置导轨参数

参数
name参数名,见value说明
value参数及参数名
  • 减速比 - reductionRatio
  • 最大速度(m/s) - maxSpeed
  • 最大加速度(m/s^2) - maxAcc
  • 最大加加速度(m/s^3) - maxJerk
ec错误码。参数名不存在或数据类型不匹配返回错误码

◆ setRailParameter() [4/6]

void rokae::clr::BaseRobot::setRailParameter ( System::String^  name,
Frame value,
[Out] ErrorCode^%  ec 
)

设置导轨基坐标系

参数
name参数名,"baseFrame"
value基坐标系数值
ec错误码。参数名不存在或数据类型不匹配返回错误码

◆ setRailParameter() [5/6]

void rokae::clr::BaseRobot::setRailParameter ( System::String^  name,
int  value,
[Out] ErrorCode^%  ec 
)

设置导轨参数

参数
name参数名,见value说明
value参数及参数名
  • 编码器分辨率 - encoderResolution
  • 电机最大转速(rpm) - motorSpeed
ec错误码。参数名不存在或数据类型不匹配返回错误码

◆ setRailParameter() [6/6]

void rokae::clr::BaseRobot::setRailParameter ( System::String^  name,
System::String^  value,
[Out] ErrorCode^%  ec 
)

设置导轨名称

参数
name参数名,"name"
value导轨名称
ec错误码。参数名不存在或数据类型不匹配返回错误码

◆ setSimulationMode()

void rokae::clr::BaseRobot::setSimulationMode ( bool  state,
[Out] ErrorCode^%  ec 
)

设置输入仿真模式

参数
statetrue - 打开 | false - 关闭
ec错误码

◆ setSoftLimit()

void rokae::clr::BaseRobot::setSoftLimit ( bool  enable,
array< double, 2 >^  limits,
[Out] ErrorCode^%  ec 
)

设置软限位。软限位设定要求:

  • 打开软限位时,机械臂应下电且处于手动模式
  • 软限位不能超过机械硬限位
  • 机械臂当前各轴角度应在设定的限位范围内

参数
enabletrue - 打开 | false - 关闭
limits各轴[下限, 上限],单位:弧度。
  • 当limits为默认值时,视为仅打开软限位不修改数值; 不为默认值时,先修改软限位再打开
  • 关闭软限位时不会修改限位数值
ec错误码
异常
System::NullReferenceExceptionRobot类未构造

◆ setToolset() [1/2]

void rokae::clr::BaseRobot::setToolset ( System::String^  toolName,
System::String^  wobjName,
[Out] ErrorCode^%  ec 
)

使用已创建的工具和工件,设置工具工件组信息

设置前提: 已加载一个RL工程,且创建了工具和工件。否则,只能设置为默认的工具工件,即"tool0"和"wobj0"。一组工具工件无法同时为手持或外部;如果有冲突,以工具的位置为准,例如工具工件同时为手持,不会返回错误,但是工件的坐标系变成了外部

参数
toolName工具名称
wobjName工件名称
ec错误码

◆ setToolset() [2/2]

void rokae::clr::BaseRobot::setToolset ( Toolset toolset,
[Out] ErrorCode^%  ec 
)

设置工具工件组信息。

此工具工件组仅为SDK运动控制使用, 不与RL工程相关。 设置后RobotAssist右上角会显示“toolx", "wobjx", 状态监控显示的末端坐标也会变化。 除此接口外, 如果通过RobotAssist更改默认工具工件(右上角的选项), 该工具工件组也会相应更改. </remarks> <param name="toolset">工具工件组信息</param> <param name="ec">错误码

◆ startJog()

void rokae::clr::BaseRobot::startJog ( JogSpace  space,
double  rate,
double  step,
unsigned  index,
bool  direction,
[Out] ErrorCode^%  ec 
)

开始jog机器人,需要切换到手动操作模式。调用此接口并且机器人开始运动后,无论机器人是否已经自行停止,都必须调用stop()来结束jog操作,否则机器人会一直处于jog的运行状态。

参数
spacejog参考坐标系。
  • 工具/工件坐标系使用原则同setToolset()
  • 工业六轴机型和xMateCR和xMateSR六轴机型支持两种奇异规避方式Jog:Space.singularityAvoidMode, Space.baseParallelMode
  • CR5轴机型支持平行基座模式Jog:Space::baseParallelMode
rate速率, 范围 0.01 - 1
step步长。单位: 笛卡尔空间-毫米 | 轴空间-度。步长大于0即可,不设置上限,如果机器人无法继续jog会自行停止运动。
index根据不同的space,该参数含义如下:
  • 世界坐标系,基坐标系,法兰坐标系,工具工件坐标系: 6轴机型: 0~5分别对应X, Y, Z, Rx, Ry, Rz; >5代表外部轴(若有)。 7轴机型6代表肘关节, > 6代表外部轴(若有)
  • 轴空间: 关节序号,从0开始计数
  • 奇异规避模式,平行基座模式: 六轴机型0~5分别对应X, Y, Z, J4(4轴), Ry, J6(6轴); 5轴机型0~4分别对应X, Y, Z, Ry, J5(5轴)
direction根据不同的space和index,该参数含义如下:
  • 奇异规避模式 J4: true - ±180° | false - 0°
  • 平行基座模式 J4,Ry: true - ±180° | false - 0°
  • 其它,true - 正向 | false - 负向
ec错误码

◆ startReceiveRobotState()

void rokae::clr::BaseRobot::startReceiveRobotState ( int  interval,
array< System::String^>^  fields 
)

让机器人控制器开始发送实时状态数据。阻塞等待收到第一帧消息,超时时间为3秒

参数
interval控制器发送状态数据的间隔,单位ms,允许的时长:1ms/2ms/4ms/8ms/1s
fields接收的机器人状态数据, 最大总长度为1024个字节。支持的数据及名称见getStateData()
异常
rokae::clr::ApiException设置了不支持的状态数据;或机器人无法开始发送数据;或总长度超过1024; 或已经开始发送数据;或超时后仍未收到第一帧数据
System::NullReferenceExceptionRobot类未构造

◆ stop()

void rokae::clr::BaseRobot::stop ( [Out] ErrorCode^%  ec)

暂停机器人运动; 暂停后可调用moveStart()继续运动。若需要完全停止,不再执行已添加的指令,可调用moveReset()

目前支持stop2停止类型:规划停止不断电, 见StopLevel

参数
ec错误码

◆ syncTimeWithServer()

void rokae::clr::BaseRobot::syncTimeWithServer ( [Out] ErrorCode^%  ec)

手动同步一次时间,远端IP是通过configNtp配置的。耗时几秒钟,阻塞等待同步完成,接口预设的超时时间是12秒

参数
ec错误码,NTP服务未正确安装,或无法和服务端同步

◆ toolset()

Toolset rokae::clr::BaseRobot::toolset ( [Out] ErrorCode^%  ec)

查询当前工具工件组信息.

此工具工件组仅为SDK运动控制使用, 不与RL工程相关

参数
ec错误码
返回
工具工件组

◆ toolsInfo()

List< WorkToolInfo^> rokae::clr::BaseRobot::toolsInfo ( [Out] ErrorCode^%  ec)

查询当前加载工程的工具信息

参数
ec错误码
返回
工具信息列表, 若未加载任何工程或没有创建工具, 则返回默认工具tool0的信息

◆ updateRobotState()

unsigned rokae::clr::BaseRobot::updateRobotState ( int  timeout_ms)

接收一次机器人状态数据,在每周期读取数据前,需调用此函数。阻塞等待收到新数据,或超时返回。 建议按照设定的发送频率来调用,以获取最新的数据

参数
timeout_ms超时时间[ms]
返回
接收到的数据长度。如果超时前没有收到数据,那么返回0。
异常
rokae::clr::ApiException无法收到数据;或收到的数据有错误导致无法解析

◆ wobjsInfo()

List< WorkToolInfo^> rokae::clr::BaseRobot::wobjsInfo ( [Out] ErrorCode^%  ec)

查询当前加载工程的工件信息

参数
ec错误码
返回
工件信息列表, 若未加载任何工程或没有创建工件, 则返回空vector

◆ writeRegister() [1/6]

void rokae::clr::BaseRobot::writeRegister ( System::String^  name,
unsigned  index,
array< bool >^  value,
[Out] ErrorCode^%  ec 
)

写bool/bit类型寄存器数组

参数
name寄存器名称
index数组索引,写入数组时忽略
value写入的数值
ec错误码

◆ writeRegister() [2/6]

void rokae::clr::BaseRobot::writeRegister ( System::String^  name,
unsigned  index,
array< float >^  value,
[Out] ErrorCode^%  ec 
)

写float类型寄存器数组。

参数
name寄存器名称
index数组索引,写入数组时忽略
value写入的数值
ec错误码

◆ writeRegister() [3/6]

void rokae::clr::BaseRobot::writeRegister ( System::String^  name,
unsigned  index,
array< int >^  value,
[Out] ErrorCode^%  ec 
)

写int16/int32类型寄存器数组。

参数
name寄存器名称
index数组索引,写入数组时忽略
value写入的数值
ec错误码

◆ writeRegister() [4/6]

void rokae::clr::BaseRobot::writeRegister ( System::String^  name,
unsigned  index,
bool  value,
[Out] ErrorCode^%  ec 
)

写bool/bit类型寄存器值。可写入单个寄存器,或按索引写入寄存器数组中某一元素。

参数
name寄存器名称
index数组索引,从0开始。下列两种情况会报错:1) 索引超出数组长度; 2) 寄存器不是数组但index大于0
value写入的数值
ec错误码

◆ writeRegister() [5/6]

void rokae::clr::BaseRobot::writeRegister ( System::String^  name,
unsigned  index,
float  value,
[Out] ErrorCode^%  ec 
)

写float类型寄存器值。可写入单个寄存器,或按索引写入寄存器数组中某一元素。

参数
name寄存器名称
index数组索引,从0开始。下列两种情况会报错:1) 索引超出数组长度; 2) 寄存器不是数组但index大于0
value写入的数值
ec错误码

◆ writeRegister() [6/6]

void rokae::clr::BaseRobot::writeRegister ( System::String^  name,
unsigned  index,
Int32  value,
[Out] ErrorCode^%  ec 
)

写byte/int16/int32寄存器值。可写入单个寄存器,或按索引写入寄存器数组中某一元素。

参数
name寄存器名称
index数组索引,从0开始。下列两种情况会报错:1) 索引超出数组长度; 2) 寄存器不是数组但index大于0
value写入的数值
ec错误码

类成员变量说明

◆ _moveManagedDelegate

EventCallbackDelegate rokae::clr::BaseRobot::_moveManagedDelegate
staticprotected

在文件 robot_cli.hpp63 行定义.

◆ _moveNativeDelegate

EventCallbackNativeDelegate rokae::clr::BaseRobot::_moveNativeDelegate
protected

在文件 robot_cli.hpp62 行定义.

◆ _rlExecutionManagedDelegate

EventCallbackDelegate rokae::clr::BaseRobot::_rlExecutionManagedDelegate
staticprotected

在文件 robot_cli.hpp67 行定义.

◆ _rlExecutionNativeDelegate

EventCallbackNativeDelegate rokae::clr::BaseRobot::_rlExecutionNativeDelegate
protected

在文件 robot_cli.hpp66 行定义.

◆ _safetyManagedDelegate

EventCallbackDelegate rokae::clr::BaseRobot::_safetyManagedDelegate
staticprotected

在文件 robot_cli.hpp65 行定义.

◆ _safetyNativeDelegate

EventCallbackNativeDelegate rokae::clr::BaseRobot::_safetyNativeDelegate
protected

在文件 robot_cli.hpp64 行定义.

◆ cobot5

rokae::xMateCr5Robot* rokae::clr::BaseRobot::cobot5
protected

在文件 robot_cli.hpp49 行定义.

◆ cobot6

rokae::xMateRobot* rokae::clr::BaseRobot::cobot6
protected

在文件 robot_cli.hpp50 行定义.

◆ cobot7

rokae::xMateErProRobot* rokae::clr::BaseRobot::cobot7
protected

在文件 robot_cli.hpp51 行定义.

◆ ir3

rokae::PCB3Robot* rokae::clr::BaseRobot::ir3
protected

在文件 robot_cli.hpp47 行定义.

◆ ir4

rokae::PCB4Robot* rokae::clr::BaseRobot::ir4
protected

在文件 robot_cli.hpp48 行定义.

◆ ir6

rokae::StandardRobot* rokae::clr::BaseRobot::ir6
protected

在文件 robot_cli.hpp46 行定义.

◆ model3

rokae::Model_T<3>* rokae::clr::BaseRobot::model3
protected

在文件 robot_cli.hpp52 行定义.

◆ model4

rokae::Model_T<4>* rokae::clr::BaseRobot::model4
protected

在文件 robot_cli.hpp53 行定义.

◆ model5

rokae::Model_T<5>* rokae::clr::BaseRobot::model5
protected

在文件 robot_cli.hpp54 行定义.

◆ model6

rokae::Model_T<6>* rokae::clr::BaseRobot::model6
protected

在文件 robot_cli.hpp55 行定义.

◆ model7

rokae::Model_T<7>* rokae::clr::BaseRobot::model7
protected

在文件 robot_cli.hpp56 行定义.

◆ robot

rokae::BaseRobot* rokae::clr::BaseRobot::robot
protected

在文件 robot_cli.hpp45 行定义.


该类的文档由以下文件生成: