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}