3. Fundamentos do Robô

3.1. Instanciar o Robô

1/**
2* @brief  Construtor da classe de interface do robô
3*/
4Robot robot = new Robot();

3.2. Estabelecer Comunicação com o Controlador

1/**
2* @brief  Estabelece comunicação com o controlador do robô
3* @param  [in] ip  Endereço IP do controlador, padrão de fábrica é 192.168.58.2
4* @return Código de erro
5*/
6int RPC(String ip);

3.3. Encerrar Comunicação com o Robô

1/**
2* @brief Encerra a comunicação com o robô
3* @return Código de erro
4*/
5int CloseRPC();

3.4. Consultar Número da Versão do SDK

1/**
2* @brief Consulta o número da versão do SDK
3* @return Número da versão
4*/
5String GetSDKVersion();

3.5. Obter IP do Controlador

1/**
2* @brief  Obtém o IP do controlador
3* @param  [out] ip  IP do controlador
4* @return  Código de erro
5*/
6int GetControllerIP(String[] ip);

3.6. Controlar a Entrada ou Saída do Modo de Arrastagem de Ensino do Robô

1/**
2* @brief  Controla a entrada ou saída do modo de arrastagem de ensino do robô
3* @param  [in] state 0-sair do modo de arrastagem de ensino, 1-entrar no modo de arrastagem de ensino
4* @return  Código de erro
5*/
6int DragTeachSwitch(int state);

3.7. Consultar se o Robô Está no Modo de Arrastagem de Ensino

1/**
2* @brief  Consulta se o robô está no modo de arrastagem de ensino
3* @param  [in] state 0-não está no modo de arrastagem de ensino, 1-está no modo de arrastagem de ensino
4* @return  Código de erro
5*/
6int IsInDragTeach(List<Number> state);

3.8. Controlar a Habilitação ou Desabilitação do Robô

1/**
2* @brief  Controla a habilitação ou desabilitação do robô. O robô é automaticamente habilitado após a inicialização por padrão.
3* @param  [in] state  0-desabilitar, 1-habilitar
4* @return  Código de erro
5*/
6int RobotEnable(int state);

3.9. Controlar a Alternância entre Modo Manual e Automático do Robô

1/**
2* @brief Controla a alternância entre modo manual e automático do robô
3* @param [in] mode 0-modo automático, 1-modo manual
4* @return Código de erro
5*/
6int Mode(int mode);

3.10. Desligar o Sistema Operacional do Robô

Novo na versão Java: SDK-v1.0.4-3.8.1

1/**
2* @brief Desliga o sistema operacional do robô
3* @return Código de erro
4*/
5int ShutDownRobotOS();

3.11. Definir Parâmetros de Reconexão com o Robô

1/**
2* @brief Define os parâmetros de reconexão com o robô
3* @param [in] enable Se habilita, true: habilitar, false: desabilitar
4* @param [in] times Número de tentativas de reconexão
5* @param [in] period Intervalo de tempo entre tentativas de reconexão
6* @return Código de erro
7*/
8int SetReconnectParam(boolean enable, int times, int period);

3.12. Inicializar Parâmetros de Log

 1/**
 2* @brief Inicializa os parâmetros de log
 3* @param [in] logType Modo de saída, DIRETO - saída direta; BUFFER - saída com buffer; ASSÍNCRONO - saída assíncrona
 4* @param [in] logLevel Nível de filtro de log, ERRO - erro; AVISO - aviso; INFO - informação; DEBUG - depuração
 5* @param [in] filePath Caminho para salvar o arquivo, ex: "D://Log/"
 6* @param [in] saveFileNum Número de arquivos a serem salvos. Arquivos que excederem tanto o número de arquivos salvos quanto os dias de salvamento serão excluídos.
 7* @param [in] saveDays Número de dias para salvar os arquivos. Arquivos que excederem tanto o número de arquivos salvos quanto os dias de salvamento serão excluídos.
 8* @return Código de erro
 9*/
10int LoggerInit(FrLogType logType, FrLogLevel logLevel, String filePath, int saveFileNum, int saveDays)

3.13. Definir Nível de Filtro de Log

1/**
2* @brief Define o nível de filtro de log
3* @param [in] logLevel Nível de filtro de log, ERRO - erro; AVISO - aviso; INFO - informação; DEBUG - depuração
4* @return Código de erro
5*/
6int SetLoggerLevel(FrLogLevel logLevel)

3.14. Exemplo de Código de Controle Básico do Robô

 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("Conexão RPC bem-sucedida");
10    }
11    else
12    {
13        System.out.println("Falha na conexão RPC");
14        return ;
15    }
16    String[] ip={""};
17    String version = "";
18    version=robot.GetSDKVersion();
19    System.out.println("Versão do SDK : " + version);
20    int rtn = robot.GetControllerIP(ip);
21    System.out.println("IP do controlador : " +  ip[0] + "  " + rtn);
22    robot.Mode(1);//1-modo manual  0-modo automático
23    robot.Sleep(1000);
24    robot.DragTeachSwitch(1);//Entrar no modo de arrastagem
25    robot.Sleep(1000);
26    ROBOT_STATE_PKG pkg = robot.GetRobotRealTimeState();
27    System.out.println("Estado da arrastagem : " + pkg.robot_state);
28    robot.Sleep(1000);
29    robot.DragTeachSwitch(0);//Sair do modo de arrastagem
30    robot.Sleep(1000);
31    pkg = robot.GetRobotRealTimeState();
32    System.out.println("Estado da arrastagem : " + pkg.robot_state);
33
34    if (pkg.robot_state ==4){
35       System.out.println("Modo de arrastagem");
36    }else {
37       System.out.println("Modo não-arrastagem");
38    }
39}

3.15. Obter Versão do Software do Robô

1/**
2* @brief Obtém a versão do software do robô
3* @param [out] robotModel Modelo do robô
4* @param [out] webVersion Versão do web
5* @param [out] controllerVersion Versão do controlador
6* @return Código de erro
7*/
8int GetSoftwareVersion(String robotModel, String webVersion, String controllerVersion);

3.16. Obter Versão do Hardware do Robô

 1/**
 2* @brief Obtém a versão do hardware do robô
 3* @param [out] ctrlBoxBoardVersion Versão do hardware da placa-mãe do painel de controle
 4* @param [out] driver1Version Versão do hardware do driver 1
 5* @param [out] driver1Version Versão do hardware do driver 2
 6* @param [out] driver1Version Versão do hardware do driver 3
 7* @param [out] driver1Version Versão do hardware do driver 4
 8* @param [out] driver1Version Versão do hardware do driver 5
 9* @param [out] driver1Version Versão do hardware do driver 6
10* @param [out] endBoardVersion Versão do hardware da placa de extremidade
11* @return Código de erro
12*/
13int GetHardwareVersion(String ctrlBoxBoardVersion, String driver1Version, String driver2Version, String driver3Version,
14                                      String driver4Version, String driver5Version, String driver6Version, String endBoardVersion);

3.17. Obter Versão do Firmware do Robô

 1/**
 2* @brief Obtém a versão do firmware do robô
 3* @param [out] ctrlBoxBoardVersion Versão do firmware da placa-mãe do painel de controle
 4* @param [out] driver1Version Versão do firmware do driver 1
 5* @param [out] driver1Version Versão do firmware do driver 2
 6* @param [out] driver1Version Versão do firmware do driver 3
 7* @param [out] driver1Version Versão do firmware do driver 4
 8* @param [out] driver1Version Versão do firmware do driver 5
 9* @param [out] driver1Version Versão do firmware do driver 6
10* @param [out] endBoardVersion Versão do firmware da placa de extremidade
11* @return Código de erro
12*/
13int GetFirmwareVersion(String ctrlBoxBoardVersion, String driver1Version, String driver2Version, String driver3Version,
14                                      String driver4Version, String driver5Version, String driver6Version, String endBoardVersion);

3.18. Exemplo de Código para Obter Versões de Software e Firmware do Robô

 1public static void main(String[] args)
 2{
 3    Robot robot = new Robot();
 4    robot.SetReconnectParam(true,20,500);//Definir número de tentativas de reconexão, intervalo
 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("Conexão RPC bem-sucedida");
10    }
11    else
12    {
13        System.out.println("Falha na conexão RPC");
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}