3. Robot basics
3.1. Instantiate robot
1/**
2* @brief Robot interface class constructor
3*/
4Robot robot = new Robot();
3.2. Establish communication with controller
1/**
2* @brief Establish communication with robot controller
3* @param [in] ip Controller ip address, default is 192.168.58.2
4* @return Error code
5*/
6int RPC(String ip);
3.3. Close communication with robot
1/**
2* @brief Close communication with robot
3* @return Error code
4*/
5int CloseRPC();
3.4. Query sdk version
1/**
2* @brief Query sdk version
3* @return Version number
4*/
5String GetSDKVersion();
3.5. Get controller ip
1/**
2* @brief Get controller ip
3* @param [out] ip Controller ip
4* @return Error code
5*/
6int GetControllerIP(String[] ip);
3.6. Control robot to enter or exit drag teaching mode
1/**
2* @brief Control robot to enter or exit drag teaching mode
3* @param [in] state 0-exit drag teaching mode, 1-enter drag teaching mode
4* @return Error code
5*/
6int DragTeachSwitch(int state);
3.7. Query whether robot is in drag teaching mode
1/**
2* @brief Query whether robot is in drag teaching mode
3* @param [in] state 0-not in drag teaching mode, 1-in drag teaching mode
4* @return Error code
5*/
6int IsInDragTeach(List<Number> state);
3.8. Control robot enable or disable
1/**
2* @brief Control robot enable or disable, robot is enabled by default after power on
3* @param [in] state 0-disable, 1-enable
4* @return Error code
5*/
6int RobotEnable(int state);
3.9. Control robot manual/auto mode switch
1/**
2* @brief Control robot manual/auto mode switch
3* @param [in] mode 0-auto mode, 1-manual mode
4* @return Error code
5*/
6int Mode(int mode);
3.10. Shut down robot os
New in version Java: SDK-v1.0.4-3.8.1
1/**
2* @brief Shut down robot os
3* @return Error code
4*/
5int ShutDownRobotOS();
3.11. Set robot communication reconnect parameters
1/**
2* @brief Set robot communication reconnect parameters
3* @param [in] enable Whether to enable, true:enable, false:disable
4* @param [in] times Reconnect times
5* @param [in] period Reconnect interval
6* @return Error code
7*/
8int SetReconnectParam(boolean enable, int times, int period);
3.12. Initialize log parameters
1/**
2* @brief Initialize log parameters
3* @param [in] logType Output mode, DIRECT-direct output; BUFFER-buffer output; ASYNC-async output
4* @param [in] logLevel Log filter level, ERROR-error; WARNING-warning; INFO-information; DEBUG-debug
5* @param [in] filePath File save path, e.g. "D://Log/"
6* @param [in] saveFileNum Save file count, files exceeding both save file count and save file days will be deleted
7* @param [in] saveDays Save file days, files exceeding both save file count and save file days will be deleted
8* @return Error code
9*/
10int LoggerInit(FrLogType logType, FrLogLevel logLevel, String filePath, int saveFileNum, int saveDays)
3.13. Set log filter level
1/**
2* @brief Set log filter level
3* @param [in] logLevel Log filter level, ERROR-error; WARNING-warning; INFO-information; DEBUG-debug
4* @return Error code
5*/
6int SetLoggerLevel(FrLogLevel logLevel)
3.14. Robot basic control code example
1public static void main(String[] args)
2{
3 Robot robot = new Robot();
4 robot.SetReconnectParam(true,20,500);
5 robot.LoggerInit(FrLogType.DIRECT, FrLogLevel.INFO, "D://log", 10, 10);
6 int rtn = robot.RPC("192.168.58.2");
7 if(rtn == 0)
8 {
9 System.out.println("Rpc connection success");
10 }
11 else
12 {
13 System.out.println("Rpc connection fail");
14 return ;
15 }
16 String[] ip={""};
17 String version = "";
18 version=robot.GetSDKVersion();
19 System.out.println("SDK version : " + version);
20 int rtn = robot.GetControllerIP(ip);
21 System.out.println("Controller ip : " + ip[0] + " " + rtn);
22 robot.Mode(1);//1-manual mode 0-auto mode
23 robot.Sleep(1000);
24 robot.DragTeachSwitch(1);//Enter drag mode
25 robot.Sleep(1000);
26 ROBOT_STATE_PKG pkg = robot.GetRobotRealTimeState();
27 System.out.println("Drag state : " + pkg.robot_state);
28 robot.Sleep(1000);
29 robot.DragTeachSwitch(0);//Exit drag mode
30 robot.Sleep(1000);
31 pkg = robot.GetRobotRealTimeState();
32 System.out.println("Drag state : " + pkg.robot_state);
33
34 if (pkg.robot_state ==4){
35 System.out.println("Drag mode");
36 }else {
37 System.out.println("Non-drag mode");
38 }
39}
3.15. Get robot software version
1/**
2* @brief Get robot software version
3* @param [out] robotModel Robot model
4* @param [out] webVersion Web version
5* @param [out] controllerVersion Controller version
6* @return Error code
7*/
8int GetSoftwareVersion(String robotModel, String webVersion, String controllerVersion);
3.16. Get robot hardware version
1/**
2* @brief Get robot hardware version
3* @param [out] ctrlBoxBoardVersion Control box board hardware version
4* @param [out] driver1Version Driver 1 hardware version
5* @param [out] driver2Version Driver 2 hardware version
6* @param [out] driver3Version Driver 3 hardware version
7* @param [out] driver4Version Driver 4 hardware version
8* @param [out] driver5Version Driver 5 hardware version
9* @param [out] driver6Version Driver 6 hardware version
10* @param [out] endBoardVersion End board hardware version
11* @return Error code
12*/
13int GetHardwareVersion(String ctrlBoxBoardVersion, String driver1Version, String driver2Version, String driver3Version,
14 String driver4Version, String driver5Version, String driver6Version, String endBoardVersion);
3.17. Get robot firmware version
1/**
2* @brief Get robot firmware version
3* @param [out] ctrlBoxBoardVersion Control box board firmware version
4* @param [out] driver1Version Driver 1 firmware version
5* @param [out] driver2Version Driver 2 firmware version
6* @param [out] driver3Version Driver 3 firmware version
7* @param [out] driver4Version Driver 4 firmware version
8* @param [out] driver5Version Driver 5 firmware version
9* @param [out] driver6Version Driver 6 firmware version
10* @param [out] endBoardVersion End board firmware version
11* @return Error code
12*/
13int GetFirmwareVersion(String ctrlBoxBoardVersion, String driver1Version, String driver2Version, String driver3Version,
14 String driver4Version, String driver5Version, String driver6Version, String endBoardVersion);
3.18. Get robot software/firmware version code example
1public static void main(String[] args)
2{
3 Robot robot = new Robot();
4 robot.SetReconnectParam(true,20,500);//Set reconnect times and interval
5 robot.LoggerInit(FrLogType.DIRECT, FrLogLevel.INFO, "D://log", 10, 10);
6 int rtn = robot.RPC("192.168.58.2");
7 if(rtn == 0)
8 {
9 System.out.println("Rpc connection success");
10 }
11 else
12 {
13 System.out.println("Rpc connection fail");
14 return ;
15 }
16 String ctrlBoxBoardVersion = "";
17 String driver1Version = "";
18 String driver2Version = "";
19 String driver3Version = "";
20 String driver4Version = "";
21 String driver5Version = "";
22 String driver6Version = "";
23 String endBoardVersion = "";
24 robot.GetHardwareVersion(ctrlBoxBoardVersion ,driver1Version, driver2Version, driver3Version,
25 driver4Version, driver5Version, driver6Version, endBoardVersion);
26
27 robot.GetFirmwareVersion(ctrlBoxBoardVersion, driver1Version, driver2Version, driver3Version,
28 driver4Version, driver5Version, driver6Version, endBoardVersion);
29}