![]() |
xCore-SDK
0.6.0
xCore SDK C# API
|
机器人通用接口 更多...
#include <robot_cli.hpp>
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) |
| 断开与机器人连接。断开前会停止机器人运动, 请注意安全。 更多... | |
| void | setConnectionHandler (ConnectionHandlerDelegate^ handler) |
| 设置连接断开回调函数 更多... | |
| 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) |
| 切换手自动模式 更多... | |
| void | rebootSystem ([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) |
| 读取基坐标系, 相对于世界坐标系 更多... | |
| StateList | getStateList ([Out] ErrorCode^% ec) |
| 查询当前位置, IO信号, 操作模式, 程序速度比例 更多... | |
| 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 (double speed, [Out] ErrorCode^% ec) |
设定默认运动速度,初始值为100。该数值表示末端最大线速度(单位mm/s), 自动计算对应关节速度。 关节速度百分比划分为5个的范围:
空间旋转速度为200°/s 更多... | |
| void | setDefaultZone (double zone, [Out] ErrorCode^% ec) |
设定默认转弯区。初始值为为0 (fine, 无转弯区)。该数值表示运动最大转弯区半径(单位:mm), 自动计算转弯百分比 转弯百分比划分4个范围:
| |
| void | setDefaultConfOpt (bool forced, [Out] ErrorCode^% ec) |
| 设置是否使用轴配置数据(confData)计算逆解。初始值为false 更多... | |
| void | setAutoIgnoreZone (bool enable, [Out] ErrorCode^% ec) |
| 设置运动指令是否自动取消转弯区。初始值为true 更多... | |
| void | moveStart ([Out] ErrorCode^% ec) |
| 开始/继续运动 更多... | |
| void | setMaxCacheSize (int number, [Out] ErrorCode^% ec) |
| 设置最大缓存指令个数,指发送到控制器待规划的路径点个数,允许的范围[1,1000],初始值为300。 更多... | |
| 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) |
| 更改工程的运行速度和循环模式 更多... | |
| String | importProject (String^ file_path, bool overwrite, [Out] ErrorCode^% ec) |
| 将本地的RL工程压缩包导入控制器, 阻塞等到导入完成或失败 更多... | |
| void | removeProject (String^ project_name, bool remove_all, [Out] ErrorCode^% ec) |
| 删除控制器里的RL工程 更多... | |
| String | importFile (String^ src_file_path, String^ dest, bool overwrite, [Out] ErrorCode^% ec) |
| 导入本地文件到控制器。阻塞等到导入完成或失败 更多... | |
| void | removeFiles (array< String^>^ file_path_list, [Out] ErrorCode^% ec) |
| 删除控制器中文件。注: 工程.xml, .json等配置文件不能删除,只能替换 更多... | |
| void | setToolInfo (WorkToolInfo^ tool_info, [Out] ErrorCode^% ec) |
设置全局工具信息,或新建/设置RL工程中工具的位姿信息和负载信息。 说明:
| |
| void | setWobjInfo (WorkToolInfo^ wobj_info, [Out] ErrorCode^% ec) |
设置全局工件信息,或新建/设置RL工程中工件的位姿信息和负载信息 说明:
| |
| 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秒 更多... | |
| void | setTeachPendantMode (bool enable, [Out] ErrorCode^% ec) |
| 示教器热插拔。注:仅部分机型支持示教器热插拔,不支持的机型会返回错误码。不使用示教器后,使能按键和急停按键将失效。 更多... | |
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 |
| EventCallbackNativeDelegate | _logReporterNativeDelegate |
| ConnectionHandlerDelegate | _connectionHandlerDelegate |
静态 Protected 属性 | |
| static EventCallbackDelegate | _moveManagedDelegate |
| static EventCallbackDelegate | _safetyManagedDelegate |
| static EventCallbackDelegate | _rlExecutionManagedDelegate |
| static EventCallbackDelegate | _logReporterManagedDelegate |
机器人通用接口
在文件 robot_cli.hpp 第 42 行定义.
| void rokae::clr::BaseRobot::adjustAcceleration | ( | double | acc, |
| double | jerk, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
调节运动加/减速度和加加速度。如果在机器人运动中调用,当前正在执行的指令不生效,下一条指令生效
| acc | 系统预设加速度的百分比,范围[0.2, 1.5], 超出范围不会报错,自动改为上限或下限值 |
| jerk | 系统预设的加加速度的百分比,范围[0.1, 2], 超出范围不会报错,自动改为上限或下限值 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::adjustSpeedOnline | ( | double | scale, |
| [Out] ErrorCode^% | ec | ||
| ) |
动态调整机器人运动速率,非实时模式时生效。
| scale | 运动指令的速度的比例,范围 0.01 - 1。当设置scale为1时,机器人将以路径原本速度运动。 |
| ec | 错误码 |
| array< double > rokae::clr::BaseRobot::baseFrame | ( | [Out] ErrorCode^% | ec | ) |
读取基坐标系, 相对于世界坐标系
| ec | 错误码 |
| CartesianPosition rokae::clr::BaseRobot::calcFk | ( | array< double >^ | joints, |
| [Out] ErrorCode^% | ec | ||
| ) |
根据轴角度计算正解
| joints | 轴角度,数组长度应与轴数一致。单位: 弧度 |
| ec | 错误码 |
| System::NullReferenceException | Robot类未构造 |
| CartesianPosition rokae::clr::BaseRobot::calcFk | ( | array< double >^ | joints, |
| Toolset^ | toolset, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
根据轴角度计算给定工具工件坐标系下正解
| joints | 轴角度,数组长度应与轴数一致。单位: 弧度 |
| toolset | 工具工件坐标系设置 |
| ec | 错误码 |
| System::NullReferenceException | Robot类未构造 |
| array< double > rokae::clr::BaseRobot::calcIk | ( | CartesianPosition^ | posture, |
| [Out] ErrorCode^% | ec | ||
| ) |
根据位姿计算逆解
| posture | 机器人末端位姿,相对于外部参考坐标系 |
| ec | 错误码 |
| System::NullReferenceException | Robot类未构造 |
| array< double > rokae::clr::BaseRobot::calcIk | ( | CartesianPosition^ | posture, |
| Toolset^ | toolset, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
根据位姿计算给定工具工件坐标系下逆解
| posture | 机器人末端位姿,相对于外部参考坐标系 |
| toolset | 工具工件坐标系设置 |
| ec | 错误码 |
| System::NullReferenceException | Robot类未构造 |
| 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_held | true - 机器人手持 | false - 外部。仅影响工具/工件的标定 |
| base_aux | 基坐标系标定时用到的辅助点, 单位[米] |
| ec | 错误码 |
| System::NullReferenceException | Robot类未构造 |
| CartesianPosition rokae::clr::BaseRobot::cartPosture | ( | CoordinateType | ct, |
| [Out] ErrorCode^% | ec | ||
| ) |
获取机器人法兰或末端的当前位姿
| ct | 坐标系类型 |
| ec | 错误码 |
| 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 | 校验失败的原因 |
| 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 | 含不可达的错误原因 |
| 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 | 含不可达的错误原因 |
| array< double > rokae::clr::BaseRobot::checkPath | ( | CartesianPosition^ | start, |
| array< double >^ | start_joint, | ||
| CartesianPosition^ | target, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
检验直线轨迹是否可达。支持导轨,返回的目标轴角为轴数+外部轴数
| start | 起始点 |
| start_joint | 起始轴角 |
| target | 目标点 |
| ec | 含不可达的错误原因 |
| void rokae::clr::BaseRobot::clearServoAlarm | ( | [Out] ErrorCode^% | ec | ) |
清除伺服报警
| ec | 错误码,当有伺服报警且清除失败的情况下错误码置为-1 |
| void rokae::clr::BaseRobot::configNtp | ( | System::String^ | server_ip, |
| [Out] ErrorCode^% | ec | ||
| ) |
配置NTP
| server_ip | NTP服务端IP |
| ec | 错误码,NTP服务未正确安装,或地址非法 |
| void rokae::clr::BaseRobot::connectToRobot | ( | [Out] ErrorCode^% | ec | ) |
连接到机器人。机器人地址为创建StandardRobot实例时传入的
| ec | 错误码 |
| void rokae::clr::BaseRobot::connectToRobot | ( | String^ | remoteIP | ) |
| void rokae::clr::BaseRobot::connectToRobot | ( | String^ | remoteIP, |
| String^ | localIP | ||
| ) |
| void rokae::clr::BaseRobot::disconnectFromRobot | ( | [Out] ErrorCode^% | ec | ) |
断开与机器人连接。断开前会停止机器人运动, 请注意安全。
| ec | 错误码 |
| void rokae::clr::BaseRobot::executeCommand | ( | MoveCommand::Type | type, |
| List< MoveCommand^>^ | cmd, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
执行单条或多条运动指令,调用后机器人立刻开始运动
| type | 指令类型 |
| cmd | 指令列表, 允许的个数为1-100, 需为同类型指令 |
| ec | 错误码,仅反馈执行前的错误, 包括:
|
| void rokae::clr::BaseRobot::getAcceleration | ( | double% | acc, |
| double% | jerk, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取当前加/减速度和加加速度
| acc | 系统预设加速度的百分比 |
| jerk | 系统预设的加加速度的百分比 |
| ec | 错误码 |
| double rokae::clr::BaseRobot::getAI | ( | unsigned | board, |
| unsigned | port, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取模拟量输入信号值
| board | IO板序号 |
| port | 信号端口号 |
| ec | 错误码 |
| bool rokae::clr::BaseRobot::getDI | ( | unsigned int | board, |
| unsigned int | port, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
查询数字量输入信号值
| board | IO板序号 |
| port | 信号端口号 |
| ec | 错误码 |
| bool rokae::clr::BaseRobot::getDO | ( | unsigned int | board, |
| unsigned int | port, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
查询数字输出量信号值
| board | IO板序号 |
| port | 信号端口号 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::getRailParameter | ( | System::String^ | name, |
| array< double >^% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取导轨软限位和运动范围
| name | 参数及参数名
|
| value | 参数数值 |
| ec | 错误码 参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::getRailParameter | ( | System::String^ | name, |
| bool% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取导轨是否打开
| name | 参数名,"enable" |
| value | true - 打开 |
| ec | 错误码 参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::getRailParameter | ( | System::String^ | name, |
| double% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取导轨参数
| name | 参数及参数名
|
| value | 参数数值 |
| ec | 错误码 参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::getRailParameter | ( | System::String^ | name, |
| Frame^% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取导轨基座标系
| name | 参数名,"baseFrame" |
| value | 导轨基坐标系 |
| ec | 错误码 参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::getRailParameter | ( | System::String^ | name, |
| int% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取导轨参数
| name | 参数及参数名
|
| value | 参数数值 |
| ec | 错误码 参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::getRailParameter | ( | System::String^ | name, |
| String^% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取导轨名称
| name | 参数名,"name" |
| value | 导轨名称 |
| ec | 错误码 参数名不存在或数据类型不匹配返回错误码 |
| bool rokae::clr::BaseRobot::getSoftLimit | ( | array< double, 2 >^% | limits, |
| [Out] ErrorCode^% | ec | ||
| ) |
获取当前软限位数值
| limits | 各轴软限位 [下限, 上限],单位: 弧度 |
| ec | 错误码 |
| System::NullReferenceException | Robot类未构造 |
| 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 | 数值 |
| rokae::clr::ApiException | 网络错误 |
| int rokae::clr::BaseRobot::getStateData | ( | String^ | name, |
| double% | data | ||
| ) |
读取机器人状态数据
支持的数据名称 臂角[rad]"psi_m"
| name | 数据名 |
| data | 数值 |
| rokae::clr::ApiException | 网络错误 |
| int rokae::clr::BaseRobot::getStateData | ( | String^ | name, |
| UInt64% | data | ||
| ) |
读取机器人状态数据
支持的数据名称 时间戳,精确到微秒"ts"
| name | 数据名 |
| data | 数值 |
| rokae::clr::ApiException | 网络错误 |
查询当前位置, IO信号, 操作模式, 程序速度比例
| ec | 错误码 |
| String rokae::clr::BaseRobot::importFile | ( | String^ | src_file_path, |
| String^ | dest, | ||
| bool | overwrite, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
导入本地文件到控制器。阻塞等到导入完成或失败
| src_file_path | 本地文件路径。文件大小在10M以内 |
| dest | 目标路径
|
| overwrite | 覆盖同名文件: true - 覆盖 | false - 自动重命名。仅.mod文件支持自动重命名 |
| ec | 本地文件不存在; 文件格式错误; 传输失败; 目标路径不符合要求等 |
| String rokae::clr::BaseRobot::importProject | ( | String^ | file_path, |
| bool | overwrite, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
将本地的RL工程压缩包导入控制器, 阻塞等到导入完成或失败
| file_path | 本地 .zip压缩包路径, 文件大小在10M以内 |
| overwrite | 是否覆盖同名文件,true:覆盖;false:自动重命名 |
| ec | 错误码 |
| array< double > rokae::clr::BaseRobot::jointPos | ( | [Out] ErrorCode^% | ec | ) |
机器人当前轴角度 [rad], 机器人本体以及外部轴(若有)。 导轨[m]
| ec | 错误码 |
| array< double > rokae::clr::BaseRobot::jointTorque | ( | [Out] ErrorCode^% | ec | ) |
关节力传感器数值 [Nm]
| ec | 错误码 |
| array< double > rokae::clr::BaseRobot::jointVel | ( | [Out] ErrorCode^% | ec | ) |
机器人当前关节速度 [rad/s], 机器人本体以及外部轴(若有)。 导轨[m/s]
| ec | 错误码 |
| void rokae::clr::BaseRobot::loadProject | ( | String^ | name, |
| System::Collections::Generic::List< System::String^>^ | tasks, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
加载工程
| name | 工程名称 | ||
| tasks |
| ||
| ec | 错误码 |
| 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 | 错误码,仅反馈执行前的错误, 包括:
|
| void rokae::clr::BaseRobot::moveAppend | ( | MoveCommand::Type | type, |
| MoveCommand^ | cmd, | ||
| System::String^% | cmdId, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
下发单条运动指令
| type | 类型 |
| cmd | 指令 |
| cmdId | 本条指令的ID, 可用于查询指令执行信息。MoveWait指令没有信息反馈 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::moveReset | ( | [Out] ErrorCode^% | ec | ) |
运动重置, 清空已发送的运动指令, 清除执行信息。 Robot类在初始化时会调用一次运动重置。RL程序和SDK运动指令切换控制,需要先运动重置。
每次程序开始运行并第一次执行运动指令之前, 调用该函数来重置运动缓存
| ec | 错误码 |
| void rokae::clr::BaseRobot::moveStart | ( | [Out] ErrorCode^% | ec | ) |
开始/继续运动
| ec | 错误码 |
| OperateMode rokae::clr::BaseRobot::operateMode | ( | [Out] ErrorCode^% | ec | ) |
查询机器人当前操作模式
| ec | 错误码 |
| OperationState rokae::clr::BaseRobot::operationState | ( | [Out] ErrorCode^% | ec | ) |
查询机器人当前运行状态 (空闲, 运动中, 拖动开启等)
| ec | 错误码 |
| void rokae::clr::BaseRobot::pauseProject | ( | [Out] ErrorCode^% | ec | ) |
暂停运行工程
| ec | 错误码 |
| array< double > rokae::clr::BaseRobot::posture | ( | CoordinateType | ct, |
| [Out] ErrorCode^% | ec | ||
| ) |
获取机器人法兰或末端的当前位姿
| ct | 坐标系类型
|
| ec | 错误码 |
| PowerState rokae::clr::BaseRobot::powerState | ( | [Out] ErrorCode^% | ec | ) |
查询机器人上下电以及急停状态
| ec | 错误码 |
| void rokae::clr::BaseRobot::ppToMain | ( | [Out] ErrorCode^% | ec | ) |
程序指针跳转到main。调用后,等待控制器解析完工程后返回,阻塞时间视工程大小而定,超时时间设定为10秒。
| ec | 错误码。错误码能提供的信息有限,不能反馈如RL语法错误、变量不存在等错误。可通过queryControllerLog()查询错误日志。 |
| List< RLProjectInfo^> rokae::clr::BaseRobot::projectsInfo | ( | [Out] ErrorCode^% | ec | ) |
查询工控机中RL工程名称及任务
| ec | 错误码 |
| List< LogInfo^> rokae::clr::BaseRobot::queryControllerLog | ( | unsigned | count, |
| LogInfo::Level | level, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
查询控制器最新的日志
| count | 查询个数,上限是10条 |
| level | 指定日志等级 |
| ec | 错误码 |
查询事件信息。
| eventType | 事件类型 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::readRegister | ( | System::String^ | name, |
| List< bool >^% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取bit/bool类型寄存器数组。
| name | 寄存器名称 |
| value | 寄存器数值 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::readRegister | ( | System::String^ | name, |
| List< float >^% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取float类型寄存器数组。
| name | 寄存器名称 |
| value | 寄存器数值 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::readRegister | ( | System::String^ | name, |
| List< int >^% | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
读取int16/int32类型寄存器数组。
| name | 寄存器名称 |
| value | 寄存器数值 |
| ec | 错误码 |
| 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 | 错误码 |
| 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 | 错误码 |
| 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 | 错误码 |
| void rokae::clr::BaseRobot::rebootSystem | ( | [Out] ErrorCode^% | ec | ) |
重启工控机 注:在自动模式、下电状态、运动和非空闲状态不允许重启操作
| ec | 错误码 |
| void rokae::clr::BaseRobot::recoverState | ( | int | item, |
| [Out] ErrorCode^% | ec | ||
| ) |
根据选项恢复机器人状态
| item | 恢复选项,1:急停恢复 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::removeFiles | ( | array< String^>^ | file_path_list, |
| [Out] ErrorCode^% | ec | ||
| ) |
删除控制器中文件。注: 工程.xml, .json等配置文件不能删除,只能替换
| file_path_list | 文件路径的列表, 单个文件路径如下:
|
| ec | 参数格式错误或网络错误。工程或任务或文件不存在不返回错误码 |
| void rokae::clr::BaseRobot::removeProject | ( | String^ | project_name, |
| bool | remove_all, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
删除控制器里的RL工程
| project_name | 工程名 |
| remove_all | 是否删除所有工程,true:是 false:否 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::runProject | ( | [Out] ErrorCode^% | ec | ) |
开始运行当前加载的工程
| ec | 错误码 |
| String rokae::clr::BaseRobot::sdkVersion | ( | ) |
查询xCoreSDK版本
| void rokae::clr::BaseRobot::setAO | ( | unsigned | board, |
| unsigned | port, | ||
| double | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置模拟量输出信号
| board | IO板序号 |
| port | 信号端口号 |
| value | 输出值 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setAutoIgnoreZone | ( | bool | enable, |
| [Out] ErrorCode^% | ec | ||
| ) |
设置运动指令是否自动取消转弯区。初始值为true
| enable | true - 自动取消转弯区 | false - 不会自动取消转弯区 |
| ec | 错误码 |
设置基坐标系, 设置后仅保存数值,重启控制器后生效
| frame | 坐标系,默认使用自定义安装方式 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setConnectionHandler | ( | ConnectionHandlerDelegate^ | handler | ) |
设置连接断开回调函数
| handler | 回调函数, 参数为bool, true-连接 | false-断开 |
| void rokae::clr::BaseRobot::setDefaultConfOpt | ( | bool | forced, |
| [Out] ErrorCode^% | ec | ||
| ) |
设置是否使用轴配置数据(confData)计算逆解。初始值为false
| forced | true - 使用运动指令的confData计算笛卡尔点位逆解, 如计算失败则返回错误; false - 不使用,逆解时会选取机械臂当前轴角度的最近解 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setDefaultSpeed | ( | double | speed, |
| [Out] ErrorCode^% | ec | ||
| ) |
设定默认运动速度,初始值为100。该数值表示末端最大线速度(单位mm/s), 自动计算对应关节速度。 关节速度百分比划分为5个的范围:
空间旋转速度为200°/s
| speed | 该接口不对参数进行范围限制。末端线速度的实际有效范围分别是(0, 4000](协作), (0, 7000](工业)。 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setDefaultZone | ( | double | zone, |
| [Out] ErrorCode^% | ec | ||
| ) |
设定默认转弯区。初始值为为0 (fine, 无转弯区)。该数值表示运动最大转弯区半径(单位:mm), 自动计算转弯百分比 转弯百分比划分4个范围:
| zone | 该接口不对参数进行范围限制。转弯区半径大小实际有效范围是[0, 200]。 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setDI | ( | unsigned int | board, |
| unsigned int | port, | ||
| bool | state, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置数字量输入信号,仅当输入仿真模式打开时可以设置(见setSimulationMode())
| board | IO板序号 |
| port | 信号端口号 |
| state | true-开 | false-关 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setDO | ( | unsigned int | board, |
| unsigned int | port, | ||
| bool | state, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置数字量输出信号值
| board | IO板序号 |
| port | 信号端口号 |
| state | true-开 | false-关 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setEventWatcher | ( | Event | eventType, |
| EventCallbackDelegate^ | callback, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置接收事件的回调函数。
| eventType | 事件类型 |
| callback | 处理事件的回调函数
|
| ec | 错误码 |
| void rokae::clr::BaseRobot::setMaxCacheSize | ( | int | number, |
| [Out] ErrorCode^% | ec | ||
| ) |
设置最大缓存指令个数,指发送到控制器待规划的路径点个数,允许的范围[1,1000],初始值为300。
如果轨迹多为短轨迹,可以调大这个数值,避免因指令发送不及时导致机器人停止运动(停止后如果有未执行的指令,可moveStart()继续);
| number | 个数 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setMotionControlMode | ( | MotionControlMode | mode, |
| [Out] ErrorCode^% | ec | ||
| ) |
设置运动控制模式.
在调用各运动控制接口之前, 必须设置对应的控制模式。
| mode | 模式 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setOperateMode | ( | OperateMode | mode, |
| [Out] ErrorCode^% | ec | ||
| ) |
切换手自动模式
| mode | 手动/自动 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setPowerState | ( | Boolean | on, |
| [Out] ErrorCode^% | ec | ||
| ) |
机器人上下电。注: 只有无外接使能开关或示教器的机器人才能手动模式上电。
| on | true-上电 | false-下电 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setProjectRunningOpt | ( | double | rate, |
| bool | loop, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
更改工程的运行速度和循环模式
| rate | 运行速率,范围 0.01 - 1 |
| loop | true - 循环执行 | false - 单次执行 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setRailParameter | ( | System::String^ | name, |
| array< double >^ | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置导轨软限位和运动范围
| name | 参数名,见value说明 |
| value | 参数及参数名
|
| ec | 错误码。参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::setRailParameter | ( | System::String^ | name, |
| bool | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
打开关闭导轨
| name | 参数名,"enable" |
| value | true - 打开 |
| ec | 错误码。参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::setRailParameter | ( | System::String^ | name, |
| double | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置导轨参数
| name | 参数名,见value说明 |
| value | 参数及参数名
|
| ec | 错误码。参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::setRailParameter | ( | System::String^ | name, |
| Frame^ | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置导轨基坐标系
| name | 参数名,"baseFrame" |
| value | 基坐标系数值 |
| ec | 错误码。参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::setRailParameter | ( | System::String^ | name, |
| int | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置导轨参数
| name | 参数名,见value说明 |
| value | 参数及参数名
|
| ec | 错误码。参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::setRailParameter | ( | System::String^ | name, |
| System::String^ | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置导轨名称
| name | 参数名,"name" |
| value | 导轨名称 |
| ec | 错误码。参数名不存在或数据类型不匹配返回错误码 |
| void rokae::clr::BaseRobot::setSimulationMode | ( | bool | state, |
| [Out] ErrorCode^% | ec | ||
| ) |
设置输入仿真模式
| state | true - 打开 | false - 关闭 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::setSoftLimit | ( | bool | enable, |
| array< double, 2 >^ | limits, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
设置软限位。软限位设定要求:
| enable | true - 打开 | false - 关闭 |
| limits | 各轴[下限, 上限],单位:弧度。
|
| ec | 错误码 |
| System::NullReferenceException | Robot类未构造 |
| void rokae::clr::BaseRobot::setTeachPendantMode | ( | bool | enable, |
| [Out] ErrorCode^% | ec | ||
| ) |
示教器热插拔。注:仅部分机型支持示教器热插拔,不支持的机型会返回错误码。不使用示教器后,使能按键和急停按键将失效。
| enable | true - 使用示教器 | false - 不使用示教器 |
| ec | 当前机器人状态不能切换(运动中/手动模式上电); 机型等原因切换失败 |
| void rokae::clr::BaseRobot::setToolInfo | ( | WorkToolInfo^ | tool_info, |
| [Out] ErrorCode^% | ec | ||
| ) |
设置全局工具信息,或新建/设置RL工程中工具的位姿信息和负载信息。 说明:
| tool_info | 工具信息 |
| ec | 全局工具一般不会设置失败。工程中工具可能会设置失败,比如给控制器推送了工程的工具配置文件但是没有重新加载工程,工具配置不一致的情况下会返回错误码 |
| void rokae::clr::BaseRobot::setToolset | ( | System::String^ | toolName, |
| System::String^ | wobjName, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
使用已创建的工具和工件,设置工具工件组信息
设置前提: 已加载一个RL工程,且创建了工具和工件。否则,只能设置为默认的工具工件,即"tool0"和"wobj0"。一组工具工件无法同时为手持或外部;如果有冲突,以工具的位置为准,例如工具工件同时为手持,不会返回错误,但是工件的坐标系变成了外部
| toolName | 工具名称 |
| wobjName | 工件名称 |
| ec | 错误码 |
设置工具工件组信息。
此工具工件组仅为SDK运动控制使用, 不与RL工程相关。 设置后RobotAssist右上角会显示“toolx", "wobjx", 状态监控显示的末端坐标也会变化。 除此接口外, 如果通过RobotAssist更改默认工具工件(右上角的选项), 该工具工件组也会相应更改. </remarks> <param name="toolset">工具工件组信息</param> <param name="ec">错误码
| void rokae::clr::BaseRobot::setWobjInfo | ( | WorkToolInfo^ | wobj_info, |
| [Out] ErrorCode^% | ec | ||
| ) |
设置全局工件信息,或新建/设置RL工程中工件的位姿信息和负载信息 说明:
| wobj_info | 工件信息 |
| ec | 同理设置工具接口,全局工件一般不会设置失败。工程中工件可能会设置失败 |
| void rokae::clr::BaseRobot::startJog | ( | JogSpace | space, |
| double | rate, | ||
| double | step, | ||
| unsigned | index, | ||
| bool | direction, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
开始jog机器人,需要切换到手动操作模式。调用此接口并且机器人开始运动后,无论机器人是否已经自行停止,都必须调用stop()来结束jog操作,否则机器人会一直处于jog的运行状态。
| space | jog参考坐标系。
|
| rate | 速率, 范围 0.01 - 1 |
| step | 步长。单位: 笛卡尔空间-毫米 | 轴空间-度。步长大于0即可,不设置上限,如果机器人无法继续jog会自行停止运动。 |
| index | 根据不同的space,该参数含义如下:
|
| direction | 根据不同的space和index,该参数含义如下:
|
| ec | 错误码 |
| 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::NullReferenceException | Robot类未构造 |
| void rokae::clr::BaseRobot::stop | ( | [Out] ErrorCode^% | ec | ) |
暂停机器人运动; 暂停后可调用moveStart()继续运动。若需要完全停止,不再执行已添加的指令,可调用moveReset()
目前支持stop2停止类型:规划停止不断电, 见StopLevel。
| ec | 错误码 |
| void rokae::clr::BaseRobot::syncTimeWithServer | ( | [Out] ErrorCode^% | ec | ) |
手动同步一次时间,远端IP是通过configNtp配置的。耗时几秒钟,阻塞等待同步完成,接口预设的超时时间是12秒
| ec | 错误码,NTP服务未正确安装,或无法和服务端同步 |
查询当前工具工件组信息.
此工具工件组仅为SDK运动控制使用, 不与RL工程相关
| ec | 错误码 |
| List< WorkToolInfo^> rokae::clr::BaseRobot::toolsInfo | ( | [Out] ErrorCode^% | ec | ) |
查询当前加载工程的工具信息
| ec | 错误码 |
| unsigned rokae::clr::BaseRobot::updateRobotState | ( | int | timeout_ms | ) |
接收一次机器人状态数据,在每周期读取数据前,需调用此函数。阻塞等待收到新数据,或超时返回。 建议按照设定的发送频率来调用,以获取最新的数据
| timeout_ms | 超时时间[ms] |
| rokae::clr::ApiException | 无法收到数据;或收到的数据有错误导致无法解析 |
| List< WorkToolInfo^> rokae::clr::BaseRobot::wobjsInfo | ( | [Out] ErrorCode^% | ec | ) |
查询当前加载工程的工件信息
| ec | 错误码 |
| void rokae::clr::BaseRobot::writeRegister | ( | System::String^ | name, |
| unsigned | index, | ||
| array< bool >^ | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
写bool/bit类型寄存器数组
| name | 寄存器名称 |
| index | 数组索引,写入数组时忽略 |
| value | 写入的数值 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::writeRegister | ( | System::String^ | name, |
| unsigned | index, | ||
| array< float >^ | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
写float类型寄存器数组。
| name | 寄存器名称 |
| index | 数组索引,写入数组时忽略 |
| value | 写入的数值 |
| ec | 错误码 |
| void rokae::clr::BaseRobot::writeRegister | ( | System::String^ | name, |
| unsigned | index, | ||
| array< int >^ | value, | ||
| [Out] ErrorCode^% | ec | ||
| ) |
写int16/int32类型寄存器数组。
| name | 寄存器名称 |
| index | 数组索引,写入数组时忽略 |
| value | 写入的数值 |
| ec | 错误码 |
| 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 | 错误码 |
| 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 | 错误码 |
| 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 | 错误码 |
|
protected |
在文件 robot_cli.hpp 第 72 行定义.
|
staticprotected |
在文件 robot_cli.hpp 第 70 行定义.
|
protected |
在文件 robot_cli.hpp 第 69 行定义.
|
staticprotected |
在文件 robot_cli.hpp 第 64 行定义.
|
protected |
在文件 robot_cli.hpp 第 63 行定义.
|
staticprotected |
在文件 robot_cli.hpp 第 68 行定义.
|
protected |
在文件 robot_cli.hpp 第 67 行定义.
|
staticprotected |
在文件 robot_cli.hpp 第 66 行定义.
|
protected |
在文件 robot_cli.hpp 第 65 行定义.
|
protected |
在文件 robot_cli.hpp 第 49 行定义.
|
protected |
在文件 robot_cli.hpp 第 50 行定义.
|
protected |
在文件 robot_cli.hpp 第 51 行定义.
|
protected |
在文件 robot_cli.hpp 第 47 行定义.
|
protected |
在文件 robot_cli.hpp 第 48 行定义.
|
protected |
在文件 robot_cli.hpp 第 46 行定义.
|
protected |
在文件 robot_cli.hpp 第 52 行定义.
|
protected |
在文件 robot_cli.hpp 第 53 行定义.
|
protected |
在文件 robot_cli.hpp 第 54 行定义.
|
protected |
在文件 robot_cli.hpp 第 55 行定义.
|
protected |
在文件 robot_cli.hpp 第 56 行定义.
|
protected |
在文件 robot_cli.hpp 第 45 行定义.
1.9.4