2. 机器人基础
2.1. 实例化机器人
1/**
2* @brief 机器人接口类构造函数
3*/
4FRRobot();
2.2. 与控制器建立通信
1/**
2* @brief 与机器人控制器建立通信
3* @param [in] ip 控制器IP地址,出场默认为192.168.58.2
4* @return 错误码
5*/
6errno_t RPC(const char *ip);
2.3. 与控制器关闭通讯
1/**
2 * @brief 与机器人控制器关闭通讯
3 * @return 错误码
4 */
5errno_t CloseRPC();
2.4. 查询SDK版本号
1/**
2* @brief 查询SDK版本号
3* @param [out] version SDK版本号
4* @return 错误码
5*/
6errno_t GetSDKVersion(char *version);
2.5. 获取控制器IP
1/**
2* @brief 获取控制器IP
3* @param [out] ip 控制器IP
4* @return 错误码
5*/
6errno_t GetControllerIP(char *ip);
2.6. 控制机器人进入或退出拖动示教模式
1/**
2* @brief 控制机器人进入或退出拖动示教模式
3* @param [in] state 0-退出拖动示教模式,1-进入拖动示教模式
4* @return 错误码
5*/
6errno_t DragTeachSwitch(uint8_t state);
2.7. 查询机器人是否处于拖动模式
1/**
2* @brief 查询机器人是否处于拖动示教模式
3* @param [out] state 0-非拖动示教模式,1-拖动示教模式
4* @return 错误码
5*/
6errno_t IsInDragTeach(uint8_t *state);
2.8. 控制机器人上使能或下使能
1/**
2* @brief 控制机器人上使能或下使能,机器人上电后默认自动上使能
3* @param [in] state 0-下使能,1-上使能
4* @return 错误码
5*/
6errno_t RobotEnable(uint8_t state);
2.9. 控制机器人手自动模式切换
1/**
2* @brief 控制机器人手自动模式切换
3* @param [in] mode 0-自动模式,1-手动模式
4* @return 错误码
5*/
6errno_t Mode(int mode);
2.10. 代码示例
1#include <cstdlib>
2#include <iostream>
3#include <stdio.h>
4#include <cstring>
5#include <unistd.h>
6#include "FRRobot.h"
7#include "RobotTypes.h"
8
9using namespace std;
10
11int main(void)
12{
13 FRRobot robot; //实例化机器人对象
14 robot.RPC("192.168.58.2"); //与机器人控制器建立通信连接
15
16 char ip[64]="";
17 char version[64] = "";
18 uint8_t state;
19
20 robot.GetSDKVersion(version);
21 printf("SDK version:%s\n", version);
22 robot.GetControllerIP(ip);
23 printf("controller ip:%s\n", ip);
24
25 robot.Mode(1);
26 sleep(1);
27 robot.DragTeachSwitch(1);
28 robot.IsInDragTeach(&state);
29 printf("drag state :%u\n", state);
30 sleep(3);
31 robot.DragTeachSwitch(0);
32 sleep(1);
33 robot.IsInDragTeach(&state);
34 printf("drag state :%u\n", state);
35 sleep(3);
36
37 robot.RobotEnable(0);
38 sleep(3);
39 robot.RobotEnable(1);
40
41 robot.Mode(0);
42 sleep(1);
43 robot.Mode(1);
44
45 return 0;
46}