| xCore-SDK 0.7.1 xCore SDK C# API

robot_cli.hpp
浏览该文件的文档.
1
8#pragma once
9#ifndef XCORESDK_SRC_CLI_ROBOT_CLI_HPP_
10#define XCORESDK_SRC_CLI_ROBOT_CLI_HPP_
11
12#include <unordered_map>
13#include <any>
14#include "robot.h"
15#include "data_types_cli.hpp"
16#include "exception_cli.hpp"
17#include "force_control_cli.hpp"
18#include "ethercat_cli.hpp"
19
20 using namespace System;
21 using namespace System::Collections::Generic;
22 using namespace System::Runtime::InteropServices;
23
24 namespace rokae {
25
26 class BaseRobot;
27 class BaseCobot;
28 template<unsigned short DoF>
29 class Model_T;
30 class StandardRobot;
31 class xMateRobot;
32 class xMateCr5Robot;
33 class xMateErProRobot;
34 class ArRobot;
35 class PCB3Robot;
36 class PCB4Robot;
37 template<unsigned short DoF>
38 class Cobot;
39
40}
41
42 namespace rokae::clr {
43
47 public ref class BaseRobot {
48 protected:
49
50 rokae::BaseRobot* robot;
51 rokae::StandardRobot* ir6;
52 rokae::PCB3Robot* ir3;
53 rokae::PCB4Robot* ir4;
54 rokae::xMateCr5Robot* cobot5;
55 rokae::xMateRobot* cobot6;
56 rokae::Cobot<7>* cobot7;
57 rokae::Model_T<3>* model3;
58 rokae::Model_T<4>* model4;
59 rokae::Model_T<5>* model5;
60 rokae::Model_T<6>* model6;
61 rokae::Model_T<7>* model7;
62
63
64 void _moveEventCallback(const std::unordered_map<std::string, std::any>& info);
65 void _safetyEventCallback(const std::unordered_map<std::string, std::any>& info);
66 void _rlExecutionEventCallback(const std::unordered_map<std::string, std::any>& info);
67 void _logReporterEventCallback(const std::unordered_map<std::string, std::any>& info);
68 EventCallbackNativeDelegate^ _moveNativeDelegate;
69 static EventCallbackDelegate^ _moveManagedDelegate;
70 EventCallbackNativeDelegate^ _safetyNativeDelegate;
71 static EventCallbackDelegate^ _safetyManagedDelegate;
72 EventCallbackNativeDelegate^ _rlExecutionNativeDelegate;
73 static EventCallbackDelegate^ _rlExecutionManagedDelegate;
74 EventCallbackNativeDelegate^ _logReporterNativeDelegate;
75 static EventCallbackDelegate^ _logReporterManagedDelegate;
76
77 ConnectionHandlerDelegate^ _connectionHandlerDelegate;
78
79 public:
83 virtual ~BaseRobot();
84
89 void connectToRobot([Out] ErrorCode^% ec);
90
96 void connectToRobot(String^ remoteIP);
97
104 void connectToRobot(String^ remoteIP, String^ localIP);
105
110 void disconnectFromRobot([Out] ErrorCode^% ec);
111
116 void setConnectionHandler(ConnectionHandlerDelegate^ handler);
117
123 Info robotInfo([Out] ErrorCode^% ec);
124
127 String^ sdkVersion();
128
134 PowerState powerState([Out] ErrorCode^% ec);
135
141 void setPowerState(Boolean on, [Out] ErrorCode^% ec);
142
148 OperateMode operateMode([Out] ErrorCode^% ec);
149
155 void setOperateMode(OperateMode mode, [Out] ErrorCode^% ec);
156
161 void rebootSystem([Out] ErrorCode^% ec);
162
167 void shutdownSystem([Out] ErrorCode^% ec);
168
174 OperationState operationState([Out] ErrorCode^% ec);
175
182 array<double>^ jointPos([Out] ErrorCode^% ec);
183
190 array<double>^ jointVel([Out] ErrorCode^% ec);
191
197 array<double>^ jointTorque([Out] ErrorCode^% ec);
198
211 array<double>^ posture(CoordinateType ct, [Out] ErrorCode^% ec);
212
219 CartesianPosition^ cartPosture(CoordinateType ct, [Out] ErrorCode^% ec);
220
226 array<double>^ baseFrame([Out] ErrorCode^% ec);
227
233 StateList getStateList([Out] ErrorCode^% ec);
234
240 Toolset^ toolset([Out] ErrorCode^% ec);
241
252 void setToolset(Toolset^ toolset, [Out] ErrorCode^% ec);
253
263 void setToolset(System::String^ toolName, System::String^ wobjName, [Out] ErrorCode^% ec);
264
268 BaseEthercat^ ethercat();
269
275 void setBaseFrame(Frame^ frame, [Out] ErrorCode^% ec);
276
282 void setMotionControlMode(MotionControlMode mode, [Out] ErrorCode^% ec);
283
291 void moveReset([Out] ErrorCode^% ec);
292
299 void stop([Out] ErrorCode^% ec);
300
308 void executeCommand(MoveCommand::Type type, List<MoveCommand^>^ cmd, [Out] ErrorCode^% ec);
309
318 void moveAppend(MoveCommand::Type type, List<MoveCommand^>^ cmd, System::String^% cmdId, [Out] ErrorCode^% ec);
319
327 void moveAppend(MoveCommand::Type type, MoveCommand^ cmd, System::String^% cmdId, [Out] ErrorCode^% ec);
328
343 void setDefaultSpeed(double speed, [Out] ErrorCode^% ec);
344
357 void setDefaultZone(double zone, [Out] ErrorCode^% ec);
358
365 void setDefaultConfOpt(bool forced, [Out] ErrorCode^% ec);
366
372 void setAutoIgnoreZone(bool enable, [Out] ErrorCode^% ec);
373
378 void moveStart([Out] ErrorCode^% ec);
379
386 void setMaxCacheSize(int number, [Out] ErrorCode^% ec);
387
393 void adjustSpeedOnline(double scale, [Out] ErrorCode^% ec);
394
401 void getAcceleration(double% acc, double% jerk, [Out] ErrorCode^% ec);
402
409 void adjustAcceleration(double acc, double jerk, [Out] ErrorCode^% ec);
410
417 EventInfo queryEventInfo(Event eventType, [Out] ErrorCode^% ec);
418
430 void setEventWatcher(Event eventType, EventCallbackDelegate^ callback, [Out] ErrorCode^% ec);
431
461 void startJog(JogSpace space, double rate, double step, unsigned index, bool direction, [Out] ErrorCode^% ec);
462
474 void startJogWithExt(JogSpace space, double rate, double step, unsigned index, bool direction,
475 String^ fixed_name, bool is_ext, [Out] ErrorCode^% ec);
476
481 void clearServoAlarm([Out] ErrorCode^% ec);
482
490 List<LogInfo^>^ queryControllerLog(unsigned count, LogInfoLevel level, [Out] ErrorCode^% ec);
491
500 List<LogInfo^>^ queryControllerLog(unsigned count, array<LogInfoLevel>^ levels, unsigned offset, [Out] ErrorCode^% ec);
501
509 void setDI(unsigned int board, unsigned int port, bool state, [Out] ErrorCode^% ec);
510
518 bool getDI(unsigned int board, unsigned int port, [Out] ErrorCode^% ec);
519
527 void setDO(unsigned int board, unsigned int port, bool state, [Out] ErrorCode^% ec);
528
536 bool getDO(unsigned int board, unsigned int port, [Out] ErrorCode^% ec);
537
545 double getAI(unsigned board, unsigned port, [Out] ErrorCode^% ec);
546
554 void setAO(unsigned board, unsigned port, double value, [Out] ErrorCode^% ec);
555
561 void setSimulationMode(bool state, [Out] ErrorCode^% ec);
562
569 void readRegister(System::String^ name, List<bool>^% value, [Out] ErrorCode^% ec);
570
577 void readRegister(System::String^ name, List<int>^% value, [Out] ErrorCode^% ec);
578
585 void readRegister(System::String^ name, List<float>^% value, [Out] ErrorCode^% ec);
586
594 void readRegister(System::String^ name, unsigned index, bool% value, [Out] ErrorCode^% ec);
595
603 void readRegister(System::String^ name, unsigned index, int% value, [Out] ErrorCode^% ec);
604
612 void readRegister(System::String^ name, unsigned index, float% value, [Out] ErrorCode^% ec);
613
621 void writeRegister(System::String^ name, unsigned index, bool value, [Out] ErrorCode^% ec);
622
630 void writeRegister(System::String^ name, unsigned index, Int32 value, [Out] ErrorCode^% ec);
631
639 void writeRegister(System::String^ name, unsigned index, float value, [Out] ErrorCode^% ec);
640
648 void writeRegister(System::String^ name, unsigned index, array<bool>^ value, [Out] ErrorCode^% ec);
649
657 void writeRegister(System::String^ name, unsigned index, array<int>^ value, [Out] ErrorCode^% ec);
658
666 void writeRegister(System::String^ name, unsigned index, array<float>^ value, [Out] ErrorCode^% ec);
667
673 List<RLProjectInfo^>^ projectsInfo([Out] ErrorCode^% ec);
674
685 void loadProject(String^ name, System::Collections::Generic::List<System::String^>^ tasks, [Out] ErrorCode^% ec);
686
691 void ppToMain([Out] ErrorCode^% ec);
692
697 void runProject([Out] ErrorCode^% ec);
698
703 void pauseProject([Out] ErrorCode^% ec);
704
711 void setProjectRunningOpt(double rate, bool loop, [Out] ErrorCode^% ec);
712
720 String^ importProject(String^ file_path, bool overwrite, [Out] ErrorCode^% ec);
721
728 void removeProject(String^ project_name, bool remove_all, [Out] ErrorCode^% ec);
729
742 String^ importFile(String^ src_file_path, String^ dest, bool overwrite, [Out] ErrorCode^% ec);
743
753 void removeFiles(array<String^>^ file_path_list, [Out] ErrorCode^% ec);
754
769 void setToolInfo(WorkToolInfo^ tool_info, [Out] ErrorCode^% ec);
770
785 void setWobjInfo(WorkToolInfo^ wobj_info, [Out] ErrorCode^% ec);
786
792 List<WorkToolInfo^>^ toolsInfo([Out] ErrorCode^% ec);
793
799 List<WorkToolInfo^>^ wobjsInfo([Out] ErrorCode^% ec);
800
807 void setRailParameter(System::String^ name, Frame^ value, [Out] ErrorCode^% ec);
808
815 void setRailParameter(System::String^ name, System::String^ value, [Out] ErrorCode^% ec);
816
830 void setRailParameter(System::String^ name, double value, [Out] ErrorCode^% ec);
831
838 void setRailParameter(System::String^ name, bool value, [Out] ErrorCode^% ec);
839
851 void setRailParameter(System::String^ name, array<double>^ value, [Out] ErrorCode^% ec);
852
864 void setRailParameter(System::String^ name, int value, [Out] ErrorCode^% ec);
865
872 void getRailParameter(System::String^ name, bool% value, [Out] ErrorCode^% ec);
873
880 void getRailParameter(System::String^ name, String^% value, [Out] ErrorCode^% ec);
881
888 void getRailParameter(System::String^ name, Frame^% value, [Out] ErrorCode^% ec);
889
901 void getRailParameter(System::String^ name, int% value, [Out] ErrorCode^% ec);
902
915 void getRailParameter(System::String^ name, double% value, [Out] ErrorCode^% ec);
916
927 void getRailParameter(System::String^ name, array<double>^% value, [Out] ErrorCode^% ec);
928
936 void getMechUnit(String^ name, String^ info, bool% value, [Out] ErrorCode^% ec);
937
945 void getMechUnit(String^ name, String^ info, int% value, [Out] ErrorCode^% ec);
946
954 void getMechUnit(String^ name, String^ info, array<String^>^% value, [Out] ErrorCode^% ec);
955
956
964 void getExtAxisInfo(String^ name, String^ info, bool% value, [Out] ErrorCode^% ec);
965
973 void getExtAxisInfo(String^ name, String^ info, int% value, [Out] ErrorCode^% ec);
974
982 void getExtAxisInfo(String^ name, String^ info, double% value, [Out] ErrorCode^% ec);
983
991 void getExtAxisInfo(String^ name, String^ info, String^% value, [Out] ErrorCode^% ec);
992
1000 void getExtAxisInfo(String^ name, String^ info, array<String^>^% value, [Out] ErrorCode^% ec);
1001
1002
1024 int getStateData(String^ name, array<double>^% data);
1025
1037 int getStateData(String^ name, UInt64% data);
1038
1050 int getStateData(String^ name, double% data);
1051
1055 void stopReceiveRobotState();
1056
1064 unsigned updateRobotState(int timeout_ms);
1065
1071 void configNtp(System::String^ server_ip, [Out] ErrorCode^% ec);
1072
1077 void syncTimeWithServer([Out] ErrorCode^% ec);
1078
1087 array<double>^ checkPath(CartesianPosition^ start, array<double>^ start_joint,
1088 CartesianPosition^ target, [Out] ErrorCode^% ec);
1089
1098 int checkPath(array<double>^ start_joint,
1099 array<CartesianPosition^>^ targets,
1100 array<double>^% target_joint_calculated,
1101 [Out] ErrorCode^% ec);
1102
1112 array<double>^ checkPath(CartesianPosition^ start, array<double>^ start_joint,
1113 CartesianPosition^ aux, CartesianPosition^ target,
1114 [Out] ErrorCode^% ec);
1115
1127 array<double>^ checkPath(CartesianPosition^ start, array<double>^ start_joint,
1128 CartesianPosition^ aux1, CartesianPosition^ aux2,
1129 double angle, double rot_type, [Out] ErrorCode^% ec);
1130
1136 void recoverState(int item, [Out] ErrorCode^% ec);
1137
1145 array<double>^ calcIk(CartesianPosition^ posture, [Out] ErrorCode^% ec);
1146
1155 array<double>^ calcIk(CartesianPosition^ posture, Toolset^ toolset, [Out] ErrorCode^% ec);
1156
1164 CartesianPosition^ calcFk(array<double>^ joints, [Out] ErrorCode^% ec);
1165
1174 CartesianPosition^ calcFk(array<double>^ joints, Toolset^ toolset, [Out] ErrorCode^% ec);
1175
1181 void setTcpCoor(array<double>^ f_t_ee, array<double>^ ee_t_k);
1182
1189 void setGravityDirection(double gx, double gy, double gz);
1190
1197 array<double>^ jacobian(array<double>^ jntPos, SegmentFrame nr);
1198
1206 array<double>^ jacobianDot(array<double>^ jntPos, array<double>^ jntVel, SegmentFrame nr);
1207
1213 array<double>^ getMassMatrix(array<double>^ jntPos);
1214
1221 array<double>^ getCoriolisVector(array<double>^ jntPos, array<double>^ jntVel);
1222
1233 void getTorqueNoFriction(array<double>^ jntPos, array<double>^ jntVel, array<double>^ jntAcc,
1234 array<double>^% trq_full, array<double>^% trq_inertia,
1235 array<double>^% trq_coriolis, array<double>^% trq_gravity);
1236
1255 FrameCalibrationResult^ calibrateFrame(FrameType type, List<array<double>^>^ points, bool is_held,
1256 array<double>^ base_aux, [Out] ErrorCode^% ec);
1257
1265 bool getSoftLimit(array<double, 2>^% limits, [Out] ErrorCode^% ec);
1266
1284 void setSoftLimit(bool enable, array<double, 2>^ limits, [Out] ErrorCode^% ec);
1285
1293 void startReceiveRobotState(int interval, array<System::String^>^ fields);
1294
1301 array<double>^ getRobotCfg_DHparam(bool get_nominal, [Out] ErrorCode^% ec);
1302
1308 void setTeachPendantMode(bool enable, [Out] ErrorCode^% ec);
1309
1317 array<array<double>^>^ calcAllIkSolutions(CartesianPosition^ posture, array<array<int>^>^% confs, [Out] ErrorCode^% ec);
1318
1319 };
1320
1324 public ref class StandardRobot : public BaseRobot {
1325 public:
1329 StandardRobot();
1330
1336 StandardRobot(String^ remoteIP);
1337
1344 StandardRobot(String^ remoteIP, String^ localIP);
1345 ~StandardRobot(){};
1346
1353 void enableCollisionDetection(array<double>^ sensitivity, double fallback, [Out] ErrorCode^% ec);
1354
1359 void disableCollisionDetection([Out] ErrorCode^% ec);
1360
1374 void setAvoidSingularity(AvoidSingularityMethod method, bool enable, double limit, [Out] ErrorCode^% ec);
1375
1382 bool getAvoidSingularity(AvoidSingularityMethod method, [Out] ErrorCode^% ec);
1383
1384 };
1385
1389 public ref class Cobot : public BaseRobot {
1390 protected:
1391 rokae::BaseCobot* robot;
1392 public:
1393
1400 void enableDrag(DragOpt::Space space, DragOpt::Type type, [Out] ErrorCode^% ec);
1401
1409 void enableDrag(DragOpt::Space space, DragOpt::Type type, bool enable_drag_button, [Out] ErrorCode^% ec);
1410
1415 void disableDrag([Out] ErrorCode^% ec);
1416
1430 void enableCollisionDetection(array<double>^ sensitivity, StopLevel behaviour, double fallback_compliance, [Out] ErrorCode^% ec);
1431
1436 void disableCollisionDetection([Out] ErrorCode^% ec);
1437
1445 void calibrateForceSensor(bool all_axes, int axis_index, [Out] ErrorCode^% ec);
1446
1451 void startRecordPath([Out] ErrorCode^% ec);
1452
1457 void stopRecordPath([Out] ErrorCode^% ec);
1458
1463 void cancelRecordPath([Out] ErrorCode^% ec);
1464
1471 void saveRecordPath(String^ name, String^ saveAs, [Out] ErrorCode^% ec);
1472
1480 void replayPath(String^ name, double rate, [Out] ErrorCode^% ec);
1481
1488 void removePath(String^ name, bool removeAll, [Out] ErrorCode^% ec);
1489
1495 List<String^>^ queryPathLists([Out] ErrorCode^% ec);
1496
1502 void setxPanelVout(xPanelOpt::Vout opt, [Out] ErrorCode^% ec);
1503
1510 void setxPanelRS485(xPanelOpt::Vout opt, bool if_rs485, [Out] ErrorCode^% ec);
1511
1523 void XPRWModbusRTUReg(int slave_addr, int fun_cmd, int reg_addr, String^ data_type, int num,
1524 array<int>^% data_array, bool if_crc_reverse, [Out] ErrorCode^% ec);
1525
1536 void XPRWModbusRTUCoil(int slave_addr, int fun_cmd, int coil_addr, int num, array<bool>^% data_array,
1537 bool if_crc_reverse, [Out] ErrorCode^% ec) ;
1538
1547 void XPRS485SendData(int send_byte, int rev_byte, array<Byte>^ send_data, array<Byte>^% recv_data, [Out] ErrorCode^% ec);
1548
1556 void CANReceiveData(int timeout_ms, String^ data_type, [Out] CANFrame^% recv_frame, [Out] ErrorCode^% ec);
1557
1564 void CANSendData(String^ data_type, array<CANFrame^>^ send_frame, [Out] ErrorCode^% ec);
1565
1571 KeyPadState getKeypadState([Out] ErrorCode^% ec);
1572
1578 array<bool>^ getKeypadStateArray([Out] ErrorCode^% ec);
1579
1585 void useRciClient(bool use, [Out] ErrorCode^% ec);
1586
1592 ForceControl^ forceControl();
1593 };
1594
1598 public ref class xMateRobot : public Cobot {
1599 public:
1603 xMateRobot();
1604
1610 xMateRobot(String^ remoteIP);
1611
1618 xMateRobot(String^ remoteIP, String^ localIP);
1619
1623 ~xMateRobot() {};
1624
1642 void setAvoidSingularity(AvoidSingularityMethod method, bool enable, double limit, [Out] ErrorCode^% ec);
1643
1650 bool getAvoidSingularity(AvoidSingularityMethod method, [Out] ErrorCode^% ec);
1651 };
1652
1656 public ref class xMateCr5Robot : public Cobot {
1657 public:
1661 xMateCr5Robot();
1662
1668 xMateCr5Robot(String^ remoteIP);
1669
1676 xMateCr5Robot(String^ remoteIP, String^ localIP);
1677
1682 void enableCompletePostureLerp(Boolean enable, [Out] ErrorCode^% ec);
1683
1687 ~xMateCr5Robot() {};
1688 };
1689
1693 public ref class PCB3Robot : public BaseRobot {
1694 public:
1698 PCB3Robot();
1699
1705 PCB3Robot(String^ remoteIP);
1706
1710 ~PCB3Robot() {};
1711
1712 };
1713
1717 public ref class PCB4Robot : public BaseRobot {
1718 public:
1722 PCB4Robot();
1723
1729 PCB4Robot(String^ remoteIP);
1730
1734 ~PCB4Robot() {};
1735 };
1736
1740 public ref class xMateErProRobot : public Cobot {
1741 public:
1745 xMateErProRobot();
1746
1752 xMateErProRobot(String^ remoteIP);
1753
1760 xMateErProRobot(String^ remoteIP, String^ localIP);
1761
1765 ~xMateErProRobot() {};
1766 };
1767
1771 public ref class ArRobot : public Cobot {
1772 public:
1776 ArRobot();
1777
1783 ArRobot(String^ remoteIP);
1784
1791 ArRobot(String^ remoteIP, String^ localIP);
1792
1796 ~ArRobot() {};
1797 };
1798
1799}
1800
1801
1802#endif //XCORESDK_SRC_CLI_ROBOT_CLI_HPP_
rokae::Cobot
Definition: robot_cli.hpp:38
rokae::Model_T
Definition: robot_cli.hpp:29
rokae::clr::ArRobot
AR机型（7轴协作）
Definition: robot_cli.hpp:1771
rokae::clr::ArRobot::ArRobot
ArRobot()
默认构造，需调用connectToRobot(remoteIP)初始化
rokae::clr::ArRobot::ArRobot
ArRobot(String^ remoteIP, String^ localIP)
创建机器人实例并建立连接
rokae::clr::ArRobot::~ArRobot
~ArRobot()
deconstructor
Definition: robot_cli.hpp:1796
rokae::clr::ArRobot::ArRobot
ArRobot(String^ remoteIP)
创建机器人实例并建立连接
rokae::clr::BaseEthercat
EtherCAT 从站访问（与 C++ BaseRobot::ethercat() / rokae::BaseEthercat 对应）
Definition: ethercat_cli.hpp:20
rokae::clr::BaseRobot
机器人通用接口
Definition: robot_cli.hpp:47
rokae::clr::BaseRobot::setRailParameter
void setRailParameter(System::String^ name, Frame^ value, [Out] ErrorCode^% ec)
设置导轨基坐标系
rokae::clr::BaseRobot::cartPosture
CartesianPosition cartPosture(CoordinateType ct, [Out] ErrorCode^% ec)
获取机器人法兰或末端的当前位姿
rokae::clr::BaseRobot::getRailParameter
void getRailParameter(System::String^ name, Frame^% value, [Out] ErrorCode^% ec)
读取导轨基座标系
rokae::clr::BaseRobot::getRailParameter
void getRailParameter(System::String^ name, String^% value, [Out] ErrorCode^% ec)
读取导轨名称
rokae::clr::BaseRobot::setMotionControlMode
void setMotionControlMode(MotionControlMode mode, [Out] ErrorCode^% ec)
设置运动控制模式.
rokae::clr::BaseRobot::setTeachPendantMode
void setTeachPendantMode(bool enable, [Out] ErrorCode^% ec)
示教器热插拔。注：仅部分机型支持示教器热插拔，不支持的机型会返回错误码。不使用示教器后，使能按键和急停按键将失效。
rokae::clr::BaseRobot::pauseProject
void pauseProject([Out] ErrorCode^% ec)
暂停运行工程
rokae::clr::BaseRobot::updateRobotState
unsigned updateRobotState(int timeout_ms)
接收一次机器人状态数据，在每周期读取数据前，需调用此函数。阻塞等待收到新数据，或超时返回。 建议按照设定的发送频率来调用，以获取最新的数据
rokae::clr::BaseRobot::writeRegister
void writeRegister(System::String^ name, unsigned index, float value, [Out] ErrorCode^% ec)
写float类型寄存器值。可写入单个寄存器，或按索引写入寄存器数组中某一元素。
rokae::clr::BaseRobot::runProject
void runProject([Out] ErrorCode^% ec)
开始运行当前加载的工程
rokae::clr::BaseRobot::connectToRobot
void connectToRobot(String^ remoteIP)
建立与机器人的连接。
rokae::clr::BaseRobot::operationState
OperationState operationState([Out] ErrorCode^% ec)
查询机器人当前运行状态 (空闲, 运动中, 拖动开启等)
rokae::clr::BaseRobot::getExtAxisInfo
void getExtAxisInfo(String^ name, String^ info, int% value, [Out] ErrorCode^% ec)
读取外部轴参数（int类型）
rokae::clr::BaseRobot::importProject
String importProject(String^ file_path, bool overwrite, [Out] ErrorCode^% ec)
将本地的RL工程压缩包导入控制器, 阻塞等到导入完成或失败
rokae::clr::BaseRobot::getExtAxisInfo
void getExtAxisInfo(String^ name, String^ info, array< String^>^% value, [Out] ErrorCode^% ec)
读取外部轴参数（double类型）
rokae::clr::BaseRobot::setDefaultSpeed
void setDefaultSpeed(double speed, [Out] ErrorCode^% ec)
设定默认运动速度，初始值为100。该数值表示末端最大线速度(单位mm/s), 自动计算对应关节速度。 关节速度百分比划分为5个的范围: < 100 10% 100 ~ 200 30% 200 ~ 500...
rokae::clr::BaseRobot::configNtp
void configNtp(System::String^ server_ip, [Out] ErrorCode^% ec)
配置NTP
rokae::clr::BaseRobot::setToolset
void setToolset(System::String^ toolName, System::String^ wobjName, [Out] ErrorCode^% ec)
使用已创建的工具和工件，设置工具工件组信息
rokae::clr::BaseRobot::baseFrame
array< double > baseFrame([Out] ErrorCode^% ec)
读取基坐标系, 相对于世界坐标系
rokae::clr::BaseRobot::adjustSpeedOnline
void adjustSpeedOnline(double scale, [Out] ErrorCode^% ec)
动态调整机器人运动速率，非实时模式时生效。
rokae::clr::BaseRobot::setWobjInfo
void setWobjInfo(WorkToolInfo^ wobj_info, [Out] ErrorCode^% ec)
设置全局工件信息，或新建/设置RL工程中工件的位姿信息和负载信息 说明： 全局工件控制器支持16个全局工件，名称固定为 "g_wobj_0" ~ "g_wobj_15" RL工程工件使用起来限制条件较多...
rokae::clr::BaseRobot::jointPos
array< double > jointPos([Out] ErrorCode^% ec)
机器人当前轴角度 [rad], 机器人本体以及外部轴（若有）。 导轨[m]
rokae::clr::BaseRobot::getExtAxisInfo
void getExtAxisInfo(String^ name, String^ info, double% value, [Out] ErrorCode^% ec)
读取外部轴参数（double类型）
rokae::clr::BaseRobot::setDefaultConfOpt
void setDefaultConfOpt(bool forced, [Out] ErrorCode^% ec)
设置是否使用轴配置数据(confData)计算逆解。初始值为false
rokae::clr::BaseRobot::calcFk
CartesianPosition calcFk(array< double >^ joints, [Out] ErrorCode^% ec)
根据轴角度计算正解
rokae::clr::BaseRobot::setDO
void setDO(unsigned int board, unsigned int port, bool state, [Out] ErrorCode^% ec)
设置数字量输出信号值
rokae::clr::BaseRobot::getRailParameter
void getRailParameter(System::String^ name, double% value, [Out] ErrorCode^% ec)
读取导轨参数
rokae::clr::BaseRobot::syncTimeWithServer
void syncTimeWithServer([Out] ErrorCode^% ec)
手动同步一次时间，远端IP是通过configNtp配置的。耗时几秒钟，阻塞等待同步完成，接口预设的超时时间是12秒
rokae::clr::BaseRobot::getRobotCfg_DHparam
array< double > getRobotCfg_DHparam(bool get_nominal, [Out] ErrorCode^% ec)
读取DH参数
rokae::clr::BaseRobot::posture
array< double > posture(CoordinateType ct, [Out] ErrorCode^% ec)
获取机器人法兰或末端的当前位姿
rokae::clr::BaseRobot::setAO
void setAO(unsigned board, unsigned port, double value, [Out] ErrorCode^% ec)
设置模拟量输出信号
rokae::clr::BaseRobot::setToolset
void setToolset(Toolset^ toolset, [Out] ErrorCode^% ec)
设置工具工件组信息。
rokae::clr::BaseRobot::writeRegister
void writeRegister(System::String^ name, unsigned index, array< int >^ value, [Out] ErrorCode^% ec)
写int16/int32类型寄存器数组。
rokae::clr::BaseRobot::setOperateMode
void setOperateMode(OperateMode mode, [Out] ErrorCode^% ec)
切换手自动模式
rokae::clr::BaseRobot::readRegister
void readRegister(System::String^ name, unsigned index, int% value, [Out] ErrorCode^% ec)
读取int16/int32类型寄存器值。可读取单个寄存器，或按索引读取寄存器数组
rokae::clr::BaseRobot::wobjsInfo
List< WorkToolInfo^> wobjsInfo([Out] ErrorCode^% ec)
查询当前加载工程的工件信息
rokae::clr::BaseRobot::removeProject
void removeProject(String^ project_name, bool remove_all, [Out] ErrorCode^% ec)
删除控制器里的RL工程
rokae::clr::BaseRobot::getMechUnit
void getMechUnit(String^ name, String^ info, int% value, [Out] ErrorCode^% ec)
读取机械单元参数（int类型）
rokae::clr::BaseRobot::getTorqueNoFriction
void getTorqueNoFriction(array< double >^ jntPos, array< double >^ jntVel, array< double >^ jntAcc, array< double >^% trq_full, array< double >^% trq_inertia, array< double >^% trq_coriolis, array< double >^% trq_gravity)
计算不含摩擦力的关节力矩分量。
rokae::clr::BaseRobot::jointVel
array< double > jointVel([Out] ErrorCode^% ec)
机器人当前关节速度 [rad/s], 机器人本体以及外部轴（若有）。 导轨[m/s]
rokae::clr::BaseRobot::recoverState
void recoverState(int item, [Out] ErrorCode^% ec)
根据选项恢复机器人状态
rokae::clr::BaseRobot::~BaseRobot
virtual ~BaseRobot()
Deconstructor
rokae::clr::BaseRobot::sdkVersion
String sdkVersion()
查询xCoreSDK版本
rokae::clr::BaseRobot::getDO
bool getDO(unsigned int board, unsigned int port, [Out] ErrorCode^% ec)
查询数字输出量信号值
rokae::clr::BaseRobot::writeRegister
void writeRegister(System::String^ name, unsigned index, array< bool >^ value, [Out] ErrorCode^% ec)
写bool/bit类型寄存器数组
rokae::clr::BaseRobot::executeCommand
void executeCommand(MoveCommand::Type type, List< MoveCommand^>^ cmd, [Out] ErrorCode^% ec)
执行单条或多条运动指令，调用后机器人立刻开始运动
rokae::clr::BaseRobot::setRailParameter
void setRailParameter(System::String^ name, double value, [Out] ErrorCode^% ec)
设置导轨参数
rokae::clr::BaseRobot::readRegister
void readRegister(System::String^ name, List< int >^% value, [Out] ErrorCode^% ec)
读取int16/int32类型寄存器数组。
rokae::clr::BaseRobot::getRailParameter
void getRailParameter(System::String^ name, array< double >^% value, [Out] ErrorCode^% ec)
读取导轨软限位和运动范围
rokae::clr::BaseRobot::connectToRobot
void connectToRobot(String^ remoteIP, String^ localIP)
建立与机器人的连接。
rokae::clr::BaseRobot::writeRegister
void writeRegister(System::String^ name, unsigned index, array< float >^ value, [Out] ErrorCode^% ec)
写float类型寄存器数组。
rokae::clr::BaseRobot::getStateData
int getStateData(String^ name, array< double >^% data)
读取机器人状态数据,注意传入的data类型要和数据类型一致。 支持的数据名称及数组长度 关节角度[rad]"q_m" | DoF 关节速度[rad/s]"dq_m" | DoF 关节力矩[Nm]"tau...
rokae::clr::BaseRobot::removeFiles
void removeFiles(array< String^>^ file_path_list, [Out] ErrorCode^% ec)
删除控制器中文件。注: 工程.xml, .json等配置文件不能删除，只能替换
rokae::clr::BaseRobot::setProjectRunningOpt
void setProjectRunningOpt(double rate, bool loop, [Out] ErrorCode^% ec)
更改工程的运行速度和循环模式
rokae::clr::BaseRobot::loadProject
void loadProject(String^ name, System::Collections::Generic::List< System::String^>^ tasks, [Out] ErrorCode^% ec)
加载工程
rokae::clr::BaseRobot::checkPath
array< double > checkPath(CartesianPosition^ start, array< double >^ start_joint, CartesianPosition^ aux1, CartesianPosition^ aux2, double angle, double rot_type, [Out] ErrorCode^% ec)
检验全圆轨迹是否可达
rokae::clr::BaseRobot::readRegister
void readRegister(System::String^ name, unsigned index, bool% value, [Out] ErrorCode^% ec)
读取bit/bool类型寄存器值。可读取单个寄存器，或按索引读取寄存器数组
rokae::clr::BaseRobot::getExtAxisInfo
void getExtAxisInfo(String^ name, String^ info, bool% value, [Out] ErrorCode^% ec)
读取外部轴参数（bool类型）
rokae::clr::BaseRobot::getMechUnit
void getMechUnit(String^ name, String^ info, bool% value, [Out] ErrorCode^% ec)
读取机械单元参数（bool类型）
rokae::clr::BaseRobot::checkPath
array< double > checkPath(CartesianPosition^ start, array< double >^ start_joint, CartesianPosition^ target, [Out] ErrorCode^% ec)
检验直线轨迹是否可达。支持导轨，返回的目标轴角为轴数+外部轴数
rokae::clr::BaseRobot::startJog
void startJog(JogSpace space, double rate, double step, unsigned index, bool direction, [Out] ErrorCode^% ec)
开始jog机器人，需要切换到手动操作模式。调用此接口并且机器人开始运动后，无论机器人是否已经自行停止，都必须调用stop()来结束jog操作，否则机器人会一直处于jog的运行状态。
rokae::clr::BaseRobot::getMassMatrix
array< double > getMassMatrix(array< double >^ jntPos)
获取质量矩阵（行优先，长度为 DoF x DoF）。
rokae::clr::BaseRobot::powerState
PowerState powerState([Out] ErrorCode^% ec)
查询机器人上下电以及急停状态
rokae::clr::BaseRobot::setConnectionHandler
void setConnectionHandler(ConnectionHandlerDelegate^ handler)
设置连接断开回调函数
rokae::clr::BaseRobot::connectToRobot
void connectToRobot([Out] ErrorCode^% ec)
连接到机器人。机器人地址为创建StandardRobot实例时传入的
rokae::clr::BaseRobot::setAutoIgnoreZone
void setAutoIgnoreZone(bool enable, [Out] ErrorCode^% ec)
设置运动指令是否自动取消转弯区。初始值为true
rokae::clr::BaseRobot::jointTorque
array< double > jointTorque([Out] ErrorCode^% ec)
关节力传感器数值 [Nm]
rokae::clr::BaseRobot::getRailParameter
void getRailParameter(System::String^ name, bool% value, [Out] ErrorCode^% ec)
读取导轨是否打开
rokae::clr::BaseRobot::setRailParameter
void setRailParameter(System::String^ name, int value, [Out] ErrorCode^% ec)
设置导轨参数
rokae::clr::BaseRobot::ppToMain
void ppToMain([Out] ErrorCode^% ec)
程序指针跳转到main。调用后，等待控制器解析完工程后返回，阻塞时间视工程大小而定，超时时间设定为10秒。
rokae::clr::BaseRobot::projectsInfo
List< RLProjectInfo^> projectsInfo([Out] ErrorCode^% ec)
查询工控机中RL工程名称及任务
rokae::clr::BaseRobot::shutdownSystem
void shutdownSystem([Out] ErrorCode^% ec)
关闭工控机。在自动模式、下电状态、运动和非空闲状态不允许重启操作。控制柜断电后重新上电才能重新启动控制器软件。
rokae::clr::BaseRobot::readRegister
void readRegister(System::String^ name, unsigned index, float% value, [Out] ErrorCode^% ec)
读取float类型寄存器值。可读取单个寄存器，或按索引读取寄存器数组
rokae::clr::BaseRobot::moveStart
void moveStart([Out] ErrorCode^% ec)
开始/继续运动
rokae::clr::BaseRobot::clearServoAlarm
void clearServoAlarm([Out] ErrorCode^% ec)
清除伺服报警
rokae::clr::BaseRobot::startJogWithExt
void startJogWithExt(JogSpace space, double rate, double step, unsigned index, bool direction, String^ fixed_name, bool is_ext, [Out] ErrorCode^% ec)
开始jog机器人（支持外部轴固定名扩展）。
rokae::clr::BaseRobot::calcIk
array< double > calcIk(CartesianPosition^ posture, [Out] ErrorCode^% ec)
根据位姿计算逆解
rokae::clr::BaseRobot::calcFk
CartesianPosition calcFk(array< double >^ joints, Toolset^ toolset, [Out] ErrorCode^% ec)
根据轴角度计算给定工具工件坐标系下正解
rokae::clr::BaseRobot::checkPath
array< double > checkPath(CartesianPosition^ start, array< double >^ start_joint, CartesianPosition^ aux, CartesianPosition^ target, [Out] ErrorCode^% ec)
检验圆弧轨迹是否可达
rokae::clr::BaseRobot::disconnectFromRobot
void disconnectFromRobot([Out] ErrorCode^% ec)
断开与机器人连接。断开前会停止机器人运动, 请注意安全。
rokae::clr::BaseRobot::toolset
Toolset toolset([Out] ErrorCode^% ec)
查询当前工具工件组信息.
rokae::clr::BaseRobot::setGravityDirection
void setGravityDirection(double gx, double gy, double gz)
设置重力矢量方向（xMate模型库）。
rokae::clr::BaseRobot::setSimulationMode
void setSimulationMode(bool state, [Out] ErrorCode^% ec)
设置输入仿真模式
rokae::clr::BaseRobot::moveAppend
void moveAppend(MoveCommand::Type type, MoveCommand^ cmd, System::String^% cmdId, [Out] ErrorCode^% ec)
下发单条运动指令
rokae::clr::BaseRobot::writeRegister
void writeRegister(System::String^ name, unsigned index, bool value, [Out] ErrorCode^% ec)
写bool/bit类型寄存器值。可写入单个寄存器，或按索引写入寄存器数组中某一元素。
rokae::clr::BaseRobot::getAcceleration
void getAcceleration(double% acc, double% jerk, [Out] ErrorCode^% ec)
读取当前加/减速度和加加速度
rokae::clr::BaseRobot::getExtAxisInfo
void getExtAxisInfo(String^ name, String^ info, String^% value, [Out] ErrorCode^% ec)
读取外部轴参数（字符串类型）
rokae::clr::BaseRobot::ethercat
BaseEthercat ethercat()
获取 EtherCAT 访问对象（与 C++ BaseRobot::ethercat() 一致），用于从站 SDO/PDO 等。
rokae::clr::BaseRobot::setBaseFrame
void setBaseFrame(Frame^ frame, [Out] ErrorCode^% ec)
设置基坐标系, 设置后仅保存数值，重启控制器后生效
rokae::clr::BaseRobot::getSoftLimit
bool getSoftLimit(array< double, 2 >^% limits, [Out] ErrorCode^% ec)
获取当前软限位数值
rokae::clr::BaseRobot::importFile
String importFile(String^ src_file_path, String^ dest, bool overwrite, [Out] ErrorCode^% ec)
导入本地文件到控制器。阻塞等到导入完成或失败
rokae::clr::BaseRobot::setMaxCacheSize
void setMaxCacheSize(int number, [Out] ErrorCode^% ec)
设置最大缓存指令个数，指发送到控制器待规划的路径点个数，允许的范围[1,1000]，初始值为300。
rokae::clr::BaseRobot::getStateData
int getStateData(String^ name, UInt64% data)
读取机器人状态数据 支持的数据名称 时间戳,精确到微秒"ts"
rokae::clr::BaseRobot::setDI
void setDI(unsigned int board, unsigned int port, bool state, [Out] ErrorCode^% ec)
设置数字量输入信号，仅当输入仿真模式打开时可以设置(见setSimulationMode())
rokae::clr::BaseRobot::toolsInfo
List< WorkToolInfo^> toolsInfo([Out] ErrorCode^% ec)
查询当前加载工程的工具信息
rokae::clr::BaseRobot::calibrateFrame
FrameCalibrationResult calibrateFrame(FrameType type, List< array< double >^>^ points, bool is_held, array< double >^ base_aux, [Out] ErrorCode^% ec)
坐标系标定 (N点标定).
rokae::clr::BaseRobot::adjustAcceleration
void adjustAcceleration(double acc, double jerk, [Out] ErrorCode^% ec)
调节运动加/减速度和加加速度。如果在机器人运动中调用，当前正在执行的指令不生效，下一条指令生效
rokae::clr::BaseRobot::moveReset
void moveReset([Out] ErrorCode^% ec)
运动重置, 清空已发送的运动指令, 清除执行信息。 Robot类在初始化时会调用一次运动重置。RL程序和SDK运动指令切换控制，需要先运动重置。
rokae::clr::BaseRobot::rebootSystem
void rebootSystem([Out] ErrorCode^% ec)
重启工控机 注：在自动模式、下电状态、运动和非空闲状态不允许重启操作
rokae::clr::BaseRobot::setEventWatcher
void setEventWatcher(Event eventType, EventCallbackDelegate^ callback, [Out] ErrorCode^% ec)
设置接收事件的回调函数。
rokae::clr::BaseRobot::moveAppend
void moveAppend(MoveCommand::Type type, List< MoveCommand^>^ cmd, System::String^% cmdId, [Out] ErrorCode^% ec)
添加单条或多条运动指令, 添加后调用moveStart()开始运动
rokae::clr::BaseRobot::setPowerState
void setPowerState(Boolean on, [Out] ErrorCode^% ec)
机器人上下电。注: 只有无外接使能开关或示教器的机器人才能手动模式上电。
rokae::clr::BaseRobot::setTcpCoor
void setTcpCoor(array< double >^ f_t_ee, array< double >^ ee_t_k)
设置TCP坐标系（xMate模型库）。
rokae::clr::BaseRobot::setToolInfo
void setToolInfo(WorkToolInfo^ tool_info, [Out] ErrorCode^% ec)
设置全局工具信息，或新建/设置RL工程中工具的位姿信息和负载信息。 说明: 全局工具控制器支持16个全局工具，名称固定为 "g_tool_0" ~ "g_tool_15" RL工程工具使用起来限制条件较...
rokae::clr::BaseRobot::calcAllIkSolutions
array< array< double >^> calcAllIkSolutions(CartesianPosition^ posture, array< array< int >^>^% confs, [Out] ErrorCode^% ec)
计算笛卡尔位姿所有逆解结果。支持除xMateSR(XMS)之外的所有机型
rokae::clr::BaseRobot::jacobianDot
array< double > jacobianDot(array< double >^ jntPos, array< double >^ jntVel, SegmentFrame nr)
获取雅克比矩阵时间导数（行优先，长度为 6 x DoF）。
rokae::clr::BaseRobot::getAI
double getAI(unsigned board, unsigned port, [Out] ErrorCode^% ec)
读取模拟量输入信号值
rokae::clr::BaseRobot::startReceiveRobotState
void startReceiveRobotState(int interval, array< System::String^>^ fields)
让机器人控制器开始发送实时状态数据。阻塞等待收到第一帧消息，超时时间为3秒
rokae::clr::BaseRobot::jacobian
array< double > jacobian(array< double >^ jntPos, SegmentFrame nr)
获取雅克比矩阵（行优先，长度为 6 x DoF）。
rokae::clr::BaseRobot::setRailParameter
void setRailParameter(System::String^ name, bool value, [Out] ErrorCode^% ec)
打开关闭导轨
rokae::clr::BaseRobot::getStateData
int getStateData(String^ name, double% data)
读取机器人状态数据 支持的数据名称 臂角[rad]"psi_m"
rokae::clr::BaseRobot::setSoftLimit
void setSoftLimit(bool enable, array< double, 2 >^ limits, [Out] ErrorCode^% ec)
设置软限位。软限位设定要求： 打开软限位时，机械臂应下电且处于手动模式 软限位不能超过机械硬限位 机械臂当前各轴角度应在设定的限位范围内
rokae::clr::BaseRobot::setRailParameter
void setRailParameter(System::String^ name, System::String^ value, [Out] ErrorCode^% ec)
设置导轨名称
rokae::clr::BaseRobot::checkPath
int checkPath(array< double >^ start_joint, array< CartesianPosition^>^ targets, array< double >^% target_joint_calculated, [Out] ErrorCode^% ec)
校验多个直线轨迹
rokae::clr::BaseRobot::getRailParameter
void getRailParameter(System::String^ name, int% value, [Out] ErrorCode^% ec)
读取导轨参数
rokae::clr::BaseRobot::readRegister
void readRegister(System::String^ name, List< bool >^% value, [Out] ErrorCode^% ec)
读取bit/bool类型寄存器数组。
rokae::clr::BaseRobot::robotInfo
Info robotInfo([Out] ErrorCode^% ec)
查询机器人基本信息
rokae::clr::BaseRobot::getStateList
StateList getStateList([Out] ErrorCode^% ec)
查询当前位置, IO信号, 操作模式, 程序速度比例
rokae::clr::BaseRobot::queryControllerLog
List< LogInfo^> queryControllerLog(unsigned count, LogInfoLevel level, [Out] ErrorCode^% ec)
查询控制器最新的日志
rokae::clr::BaseRobot::setRailParameter
void setRailParameter(System::String^ name, array< double >^ value, [Out] ErrorCode^% ec)
设置导轨软限位和运动范围
rokae::clr::BaseRobot::queryEventInfo
EventInfo queryEventInfo(Event eventType, [Out] ErrorCode^% ec)
查询事件信息。
rokae::clr::BaseRobot::getCoriolisVector
array< double > getCoriolisVector(array< double >^ jntPos, array< double >^ jntVel)
获取离心力和科里奥利力向量。
rokae::clr::BaseRobot::setDefaultZone
void setDefaultZone(double zone, [Out] ErrorCode^% ec)
设定默认转弯区。初始值为为0 (fine, 无转弯区)。该数值表示运动最大转弯区半径(单位:mm), 自动计算转弯百分比 转弯百分比划分4个范围: < 1 0 (fine) 1 ~ 20 10 % 20...
rokae::clr::BaseRobot::operateMode
OperateMode operateMode([Out] ErrorCode^% ec)
查询机器人当前操作模式
rokae::clr::BaseRobot::stop
void stop([Out] ErrorCode^% ec)
暂停机器人运动; 暂停后可调用moveStart()继续运动。若需要完全停止，不再执行已添加的指令，可调用moveReset()
rokae::clr::BaseRobot::writeRegister
void writeRegister(System::String^ name, unsigned index, Int32 value, [Out] ErrorCode^% ec)
写byte/int16/int32寄存器值。可写入单个寄存器，或按索引写入寄存器数组中某一元素。
rokae::clr::BaseRobot::getMechUnit
void getMechUnit(String^ name, String^ info, array< String^>^% value, [Out] ErrorCode^% ec)
读取机械单元参数（字符串数组类型）
rokae::clr::BaseRobot::calcIk
array< double > calcIk(CartesianPosition^ posture, Toolset^ toolset, [Out] ErrorCode^% ec)
根据位姿计算给定工具工件坐标系下逆解
rokae::clr::BaseRobot::queryControllerLog
List< LogInfo^> queryControllerLog(unsigned count, array< LogInfoLevel >^ levels, unsigned offset, [Out] ErrorCode^% ec)
查询控制器日志（多级过滤 + 偏移）。
rokae::clr::BaseRobot::stopReceiveRobotState
void stopReceiveRobotState()
停止接收实时状态数据，同时控制器停止发送。可用于重新设置要接收的状态数据。
rokae::clr::BaseRobot::readRegister
void readRegister(System::String^ name, List< float >^% value, [Out] ErrorCode^% ec)
读取float类型寄存器数组。
rokae::clr::BaseRobot::getDI
bool getDI(unsigned int board, unsigned int port, [Out] ErrorCode^% ec)
查询数字量输入信号值
rokae::clr::CANFrame
CAN数据帧结构
Definition: data_types_cli.hpp:693
rokae::clr::CartesianPosition
笛卡尔点位
Definition: data_types_cli.hpp:397
rokae::clr::Cobot
协作机器人通用接口
Definition: robot_cli.hpp:1389
rokae::clr::Cobot::startRecordPath
void startRecordPath([Out] ErrorCode^% ec)
开始录制路径。录制的时长需要限制在30分钟以内, 此接口不会阻塞等待，录制完毕调用stopRecordPath()来停止录制
rokae::clr::Cobot::getKeypadState
KeyPadState getKeypadState([Out] ErrorCode^% ec)
获取末端按键状态，不支持的机型会返回错误码。
rokae::clr::Cobot::forceControl
ForceControl forceControl()
力控指令类
rokae::clr::Cobot::CANSendData
void CANSendData(String^ data_type, array< CANFrame^>^ send_frame, [Out] ErrorCode^% ec)
发送CAN协议裸数据
rokae::clr::Cobot::enableDrag
void enableDrag(DragOpt::Space space, DragOpt::Type type, [Out] ErrorCode^% ec)
打开拖动
rokae::clr::Cobot::XPRWModbusRTUCoil
void XPRWModbusRTUCoil(int slave_addr, int fun_cmd, int coil_addr, int num, array< bool >^% data_array, bool if_crc_reverse, [Out] ErrorCode^% ec)
通过xPanel末端读写modbus线圈或离散输入
rokae::clr::Cobot::setxPanelRS485
void setxPanelRS485(xPanelOpt::Vout opt, bool if_rs485, [Out] ErrorCode^% ec)
使用CR和SR末端的485通信功能，需要修改末端的参数配置，可通过此接口进行参数配置
rokae::clr::Cobot::CANReceiveData
void CANReceiveData(int timeout_ms, String^ data_type, [Out] CANFrame^% recv_frame, [Out] ErrorCode^% ec)
接收CAN协议裸数据
rokae::clr::Cobot::calibrateForceSensor
void calibrateForceSensor(bool all_axes, int axis_index, [Out] ErrorCode^% ec)
力传感器标定。标定过程需要约100ms, 该函数不会阻塞等待标定完成。 标定前需要通过setToolset()设置正确的负载(Toolset.load), 否则会影响标定结果准确性。
rokae::clr::Cobot::queryPathLists
List< String^> queryPathLists([Out] ErrorCode^% ec)
查询已保存的所有路径名称
rokae::clr::Cobot::disableDrag
void disableDrag([Out] ErrorCode^% ec)
关闭拖动
rokae::clr::Cobot::getKeypadStateArray
array< bool > getKeypadStateArray([Out] ErrorCode^% ec)
获取末端按键状态（兼容旧接口，长度为7的数组）。
rokae::clr::Cobot::enableCollisionDetection
void enableCollisionDetection(array< double >^ sensitivity, StopLevel behaviour, double fallback_compliance, [Out] ErrorCode^% ec)
设置碰撞检测相关参数, 打开碰撞检测功能。
rokae::clr::Cobot::stopRecordPath
void stopRecordPath([Out] ErrorCode^% ec)
停止录制路径, 若录制成功(无错误码)则路径数据保存在缓存中
rokae::clr::Cobot::setxPanelVout
void setxPanelVout(xPanelOpt::Vout opt, [Out] ErrorCode^% ec)
设置xPanel对外供电模式。注：仅部分机型支持xPanel功能，不支持的机型会返回错误码
rokae::clr::Cobot::useRciClient
void useRciClient(bool use, [Out] ErrorCode^% ec)
设置是否使用第一代RCI客户端。
rokae::clr::Cobot::XPRS485SendData
void XPRS485SendData(int send_byte, int rev_byte, array< Byte >^ send_data, array< Byte >^% recv_data, [Out] ErrorCode^% ec)
通过xPanel末端直接传输RTU协议裸数据
rokae::clr::Cobot::removePath
void removePath(String^ name, bool removeAll, [Out] ErrorCode^% ec)
删除已保存的路径
rokae::clr::Cobot::saveRecordPath
void saveRecordPath(String^ name, String^ saveAs, [Out] ErrorCode^% ec)
保存录制好的路径
rokae::clr::Cobot::replayPath
void replayPath(String^ name, double rate, [Out] ErrorCode^% ec)
运动指令-路径回放。 和其它运动指令类似，调用replayPath之后，需调用moveStart才会开始运动。
rokae::clr::Cobot::cancelRecordPath
void cancelRecordPath([Out] ErrorCode^% ec)
取消录制, 缓存的路径数据将被删除
rokae::clr::Cobot::XPRWModbusRTUReg
void XPRWModbusRTUReg(int slave_addr, int fun_cmd, int reg_addr, String^ data_type, int num, array< int >^% data_array, bool if_crc_reverse, [Out] ErrorCode^% ec)
通过xPanel末端读写modbus寄存器
rokae::clr::Cobot::disableCollisionDetection
void disableCollisionDetection([Out] ErrorCode^% ec)
关闭碰撞检测功能
rokae::clr::Cobot::enableDrag
void enableDrag(DragOpt::Space space, DragOpt::Type type, bool enable_drag_button, [Out] ErrorCode^% ec)
打开拖动
rokae::clr::ErrorCode
xCoreSDK错误码
Definition: data_types_cli.hpp:24
rokae::clr::ForceControl
力控指令
Definition: force_control_cli.hpp:31
rokae::clr::FrameCalibrationResult
坐标系标定结果
Definition: data_types_cli.hpp:575
rokae::clr::Frame
坐标系
Definition: data_types_cli.hpp:359
rokae::clr::MoveCommand
非实时运动指令
Definition: data_types_cli.hpp:442
rokae::clr::MoveCommand::Type
Type
指令类型
Definition: data_types_cli.hpp:447
rokae::clr::PCB3Robot
PCB3轴机型
Definition: robot_cli.hpp:1693
rokae::clr::PCB3Robot::~PCB3Robot
~PCB3Robot()
deconstructor
Definition: robot_cli.hpp:1710
rokae::clr::PCB3Robot::PCB3Robot
PCB3Robot()
默认构造，需调用connectToRobot(remoteIP)初始化
rokae::clr::PCB3Robot::PCB3Robot
PCB3Robot(String^ remoteIP)
创建机器人实例并建立连接
rokae::clr::PCB4Robot
PCB4轴机型
Definition: robot_cli.hpp:1717
rokae::clr::PCB4Robot::~PCB4Robot
~PCB4Robot()
deconstructor
Definition: robot_cli.hpp:1734
rokae::clr::PCB4Robot::PCB4Robot
PCB4Robot()
默认构造，需调用connectToRobot(remoteIP)初始化
rokae::clr::PCB4Robot::PCB4Robot
PCB4Robot(String^ remoteIP)
创建机器人实例并建立连接
rokae::clr::StandardRobot
工业六轴机器人
Definition: robot_cli.hpp:1324
rokae::clr::StandardRobot::disableCollisionDetection
void disableCollisionDetection([Out] ErrorCode^% ec)
关闭碰撞检测功能
rokae::clr::StandardRobot::setAvoidSingularity
void setAvoidSingularity(AvoidSingularityMethod method, bool enable, double limit, [Out] ErrorCode^% ec)
打开/关闭奇异点规避功能。三种方式都支持
rokae::clr::StandardRobot::getAvoidSingularity
bool getAvoidSingularity(AvoidSingularityMethod method, [Out] ErrorCode^% ec)
查询是否处于规避奇异点的状态
rokae::clr::StandardRobot::StandardRobot
StandardRobot(String^ remoteIP, String^ localIP)
创建机器人实例并建立连接，适用机型: 工业六轴
rokae::clr::StandardRobot::StandardRobot
StandardRobot()
默认构造，需调用connectToRobot(remoteIP)初始化
rokae::clr::StandardRobot::enableCollisionDetection
void enableCollisionDetection(array< double >^ sensitivity, double fallback, [Out] ErrorCode^% ec)
设置碰撞检测相关参数, 打开碰撞检测功能。工业机型只支持stop1（安全停止）
rokae::clr::StandardRobot::StandardRobot
StandardRobot(String^ remoteIP)
创建机器人实例并建立连接，适用机型: 工业六轴
rokae::clr::Toolset
工具工件组信息, 根据一对工具工件的坐标、负载、机器人手持设置计算得出
Definition: data_types_cli.hpp:561
rokae::clr::WorkToolInfo
工具/工件信息。工件的坐标系已相对其用户坐标系变换
Definition: data_types_cli.hpp:731
rokae::clr::xMateCr5Robot
xMate五轴机器人5轴协作机器人, 包括 XMC17_5/XMC25_5
Definition: robot_cli.hpp:1656
rokae::clr::xMateCr5Robot::enableCompletePostureLerp
void enableCompletePostureLerp(Boolean enable, [Out] ErrorCode^% ec)
是否使能平行基座模式
rokae::clr::xMateCr5Robot::xMateCr5Robot
xMateCr5Robot()
默认构造，需调用connectToRobot(remoteIP)初始化
rokae::clr::xMateCr5Robot::~xMateCr5Robot
~xMateCr5Robot()
decosntructor
Definition: robot_cli.hpp:1687
rokae::clr::xMateCr5Robot::xMateCr5Robot
xMateCr5Robot(String^ remoteIP, String^ localIP)
创建机器人实例并建立连接
rokae::clr::xMateCr5Robot::xMateCr5Robot
xMateCr5Robot(String^ remoteIP)
创建机器人实例并建立连接
rokae::clr::xMateErProRobot
协作七轴机器人, 包括 xMateER3 Pro / xMateER7 Pro
Definition: robot_cli.hpp:1740
rokae::clr::xMateErProRobot::xMateErProRobot
xMateErProRobot(String^ remoteIP, String^ localIP)
创建机器人实例并建立连接
rokae::clr::xMateErProRobot::xMateErProRobot
xMateErProRobot(String^ remoteIP)
创建机器人实例并建立连接
rokae::clr::xMateErProRobot::xMateErProRobot
xMateErProRobot()
默认构造，需调用connectToRobot(remoteIP)初始化
rokae::clr::xMateErProRobot::~xMateErProRobot
~xMateErProRobot()
decosntructor
Definition: robot_cli.hpp:1765
rokae::clr::xMateRobot
xMate六轴机器人6轴协作机器人, 包括 xMateCR7/12, xMateSR3/4, xMateER3/7
Definition: robot_cli.hpp:1598
rokae::clr::xMateRobot::xMateRobot
xMateRobot()
默认构造，需调用connectToRobot(remoteIP)初始化
rokae::clr::xMateRobot::~xMateRobot
~xMateRobot()
decosntructor
Definition: robot_cli.hpp:1623
rokae::clr::xMateRobot::setAvoidSingularity
void setAvoidSingularity(AvoidSingularityMethod method, bool enable, double limit, [Out] ErrorCode^% ec)
打开/关闭奇异点规避功能。只适用于部分机型: 四轴锁定支持xMateCR和xMateSR机型 牺牲姿态支持所有协作六轴机型 轴空间插补不支持
rokae::clr::xMateRobot::getAvoidSingularity
bool getAvoidSingularity(AvoidSingularityMethod method, [Out] ErrorCode^% ec)
查询是否处于规避奇异点的状态
rokae::clr::xMateRobot::xMateRobot
xMateRobot(String^ remoteIP, String^ localIP)
创建机器人实例并建立连接
rokae::clr::xMateRobot::xMateRobot
xMateRobot(String^ remoteIP)
创建机器人实例并建立连接
data_types_cli.hpp
rokae::clr::OperationState
OperationState
机器人工作状态
Definition: data_types_cli.hpp:80
rokae::clr::SegmentFrame
SegmentFrame
连杆标号
Definition: data_types_cli.hpp:174
rokae::clr::FrameType
FrameType
笛卡尔空间坐标系类型
Definition: data_types_cli.hpp:228
rokae::clr::StopLevel
StopLevel
机器人停止运动等级
Definition: data_types_cli.hpp:130
rokae::clr::CoordinateType
CoordinateType
位姿坐标系类型
Definition: data_types_cli.hpp:120
rokae::clr::JogSpace
JogSpace
Jog选项: 坐标系
Definition: data_types_cli.hpp:190
rokae::clr::MotionControlMode
MotionControlMode
SDK运动控制模式
Definition: data_types_cli.hpp:144
rokae::clr::AvoidSingularityMethod
AvoidSingularityMethod
奇异规避方式
Definition: data_types_cli.hpp:309
rokae::clr::LogInfoLevel
LogInfoLevel
控制器日志等级（与 LogInfo 配合使用）
Definition: data_types_cli.hpp:588
rokae::clr::PowerState
PowerState
机器人上下电及急停状态
Definition: data_types_cli.hpp:52
rokae::clr::OperateMode
OperateMode
机器人操作模式
Definition: data_types_cli.hpp:68
rokae::clr::Event
Event
事件类型
Definition: data_types_cli.hpp:329
ethercat_cli.hpp
C++/CLI wrapper for rokae::BaseEthercat (see include/rokae/servo.h)
force_control_cli.hpp
rokae::clr::DragOpt::Space
Space
Definition: data_types_cli.hpp:250
rokae::clr::DragOpt::Type
Type
Definition: data_types_cli.hpp:256
rokae::clr::Info
机器人基本信息，在与建立机器人连接后加载
Definition: data_types_cli.hpp:343
rokae::clr::KeyPadState
末端按键状态
Definition: data_types_cli.hpp:614
rokae::clr::StateList
状态列表
Definition: data_types_cli.hpp:527
rokae::clr::xPanelOpt::Vout
Vout
xPanel对外供电模式
Definition: data_types_cli.hpp:294