2. 机器人基础
2.1. 实例化机器人
1/**
2* @brief 机器人接口类构造函数
3*/
4Robot();
2.2. 与控制器建立通信
1/**
2* @brief 与机器人控制器建立通信
3* @param [in] ip 控制器IP地址,出场默认为192.168.58.2
4* @return 错误码
5*/
6int RPC(string ip);
2.3. 与机器人断开通信
1/**
2* @brief 与机器人控制器断开通信
3* @return 错误码
4*/
5int CloseRPC();
2.4. 查询SDK版本号
1/**
2* @brief 查询 SDK 版本号
3* @param [out] version SDK 版本号
4* @return 错误码
5*/
6int GetSDKVersion(ref string version);
2.5. 获取控制器IP
1/**
2* @brief 获取控制器IP
3* @param [out] ip 控制器IP
4* @return 错误码
5*/
6int GetControllerIP(ref string ip);
2.6. 控制机器人进入或退出拖动示教模式
1/**
2* @brief 控制机器人进入或退出拖动示教模式
3* @param [in] state 0-退出拖动示教模式,1-进入拖动示教模式
4* @return 错误码
5*/
6int DragTeachSwitch(byte state);
2.7. 查询机器人是否处于拖动模式
1/**
2* @brief 查询机器人是否处于拖动示教模式
3* @param [out] state 0-非拖动示教模式,1-拖动示教模式
4* @return 错误码
5*/
6int IsInDragTeach(ref byte state);
2.8. 控制机器人上使能或下使能
1/**
2* @brief 控制机器人上使能或下使能,机器人上电后默认自动上使能
3* @param [in] state 0-下使能,1-上使能
4* @return 错误码
5*/
6int RobotEnable(byte state);
2.9. 控制机器人手自动模式切换
1/**
2* @brief 控制机器人手自动模式切换
3* @param [in] mode 0-自动模式,1-手动模式
4* @return 错误码
5*/
6int Mode(int mode);
2.10. 代码示例
1private void btnStandard_Click(object sender, EventArgs e)
2{
3 Robot robot = new Robot();
4 robot.RPC("192.168.58.2");
5
6 string ip = "";
7 string version = "";
8 byte state = 0;
9
10 robot.GetSDKVersion(ref version);
11 Console.WriteLine($"SDK version : {version}");
12 robot.GetControllerIP(ref ip);
13 Console.WriteLine($"controller ip : {ip}");
14
15 robot.Mode(1);
16 Thread.Sleep(1000);
17 robot.DragTeachSwitch(1);
18 int rtn = robot.IsInDragTeach(ref state);
19 Console.WriteLine($"drag state : {state}");
20 Thread.Sleep(3000);
21 robot.DragTeachSwitch(0);
22 Thread.Sleep(1000);
23 robot.IsInDragTeach(ref state);
24 Console.WriteLine($"drag state : {state}");
25 Thread.Sleep(3000);
26 robot.RobotEnable(0);
27 Thread.Sleep(3000);
28 robot.RobotEnable(1);
29
30 robot.Mode(0);
31 Thread.Sleep(1000);
32 robot.Mode(1);
33}