3. Fundamentos do Robô

3.1. Instanciar o Robô

Protótipo

RPC(ip)

Descrição

Instancia um objeto robô

Parâmetros obrigatórios

  • ip: Endereço IP do robô, o IP padrão de fábrica é 192.168.58.2

Parâmetros padrão

Nenhum

Valor de retorno

  • Sucesso: retorna um objeto robô

  • Falha: o objeto criado é destruído

3.2. Fechar Conexão RPC

Protótipo

CloseRPC()

Descrição

Fecha a conexão RPC

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Nenhum

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

Protótipo

GetSDKVersion()

Descrição

Consulta o número da versão do SDK

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • sdk: Número da versão do SDK, número da versão do controlador

3.4. Obter IP do Controlador

Protótipo

GetControllerIP()

Descrição

Consulta o IP do controlador

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • ip: IP do controlador

3.5. Controlar a Entrada ou Saída do Modo de Ensino por Arrasto do Robô

Protótipo

DragTeachSwitch(state)

Descrição

Controla a entrada ou saída do modo de ensino por arrasto do robô

Parâmetros obrigatórios

  • state: 1-entrar no modo de ensino por arrasto, 0-sair do modo de ensino por arrasto

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

3.6. Verificar se o Robô está em Modo de Arrasto

Protótipo

IsInDragTeach()

Descrição

Verifica se o robô está em modo de ensino por arrasto

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • state: 0-não está em modo de ensino por arrasto, 1-está em modo de ensino por arrasto

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

Protótipo

RobotEnable(state)

Descrição

Controla a habilitação ou desabilitação do robô

Parâmetros obrigatórios

  • state: 1-habilitar, 0-desabilitar

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

3.8. Controlar a Comutação entre Modo Manual e Automático do Robô

Protótipo

Mode(state)

Descrição

Controla a comutação entre modo manual e automático do robô

Parâmetros obrigatórios

  • state: 0-modo automático, 1-modo manual

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

3.9. Desligar o Sistema Operacional do Robô

Novo na versão python: SDK-v2.1.1

Protótipo

ShutDownRobotOS()

Descrição

Desliga o sistema operacional do robô

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

3.10. Inicializar Parâmetros de Log

Novo na versão python: SDK-v2.1.1

Protótipo

LoggerInit(output_model=1, file_path=", file_num=5)

Descrição

Inicializa os parâmetros de log

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

  • output_model: Modo de saída, 0-saída direta; 1-saída com buffer; 2-saída assíncrona, padrão 1

  • file_path: Caminho + nome do arquivo de salvamento, o nome deve estar no formato xxx.log, ex: /home/fr/linux/fairino.log. Padrão é o caminho do programa em execução, nome padrão: fairino_ano+mês+data.log (ex: fairino_2024_03_13.log);

  • file_num: Número de arquivos armazenados em rotação, 1~20, padrão 5. Limite máximo de 50 MB por arquivo;

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

3.11. Definir Nível de Filtro de Log

Novo na versão python: SDK-v2.0.2

Protótipo

SetLoggerLevel(lvl=1)

Descrição

Define o nível de filtro de log

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

  • lvl: Nível de filtro, quanto menor o valor, menos logs são exibidos, 1-erro, 2-aviso, 3-informação, 4-depuração, padrão 1

Valor de retorno

Código de erro: sucesso-0, falha-código de erro

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

 1from fairino import Robot
 2import time
 3# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 4robot = Robot.RPC('192.168.58.2')
 5error, version = robot.GetSDKVersion()
 6print(f"SDK version: {version}")
 7error, ip = robot.GetControllerIP()
 8print(f"controller ip: {ip}")
 9robot.Mode(1)
10time.sleep(1)
11robot.DragTeachSwitch(state=1)
12time.sleep(1)
13error, state = robot.IsInDragTeach()
14print(f"drag state: {state}")
15time.sleep(3)
16robot.DragTeachSwitch(state=0)
17time.sleep(1)
18error, state = robot.IsInDragTeach()
19print(f"drag state: {state}")
20time.sleep(3)
21robot.RobotEnable(0)
22time.sleep(3)
23robot.RobotEnable(1)
24robot.Mode(0)
25time.sleep(1)
26robot.Mode(1)
27robot.CloseRPC()

3.13. Obter Versão do Software do Robô

Novo na versão python: SDK-v2.0.1

Protótipo

GetSoftwareVersion()

Descrição

Obtém a versão do software do robô

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • robotModel: Modelo do robô

  • webVersion: Versão web

  • controllerVersion: Versão do controlador

3.14. Obter Informações da Versão do Hardware do Robô

Novo na versão python: SDK-v2.0.1

Protótipo

GetSlaveHardVersion()

Descrição

Obtém as informações da versão do hardware do robô

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • ctrlBoxBoardVersion: Versão da caixa de controle

  • driver1Version

  • driver2Version

  • driver3Version

  • driver4Version

  • driver5Version

  • driver6Version

  • endBoardVersion

3.15. Obter Informações da Versão do Firmware do Robô

Novo na versão python: SDK-v2.0.1

Protótipo

GetSlaveFirmVersion()

Descrição

Obtém as informações da versão do firmware do robô

Parâmetros obrigatórios

Nenhum

Parâmetros padrão

Nenhum

Valor de retorno

  • Código de erro: sucesso-0, falha-código de erro

  • ctrlBoxBoardVersion: Versão da caixa de controle

  • driver1Version

  • driver2Version

  • driver3Version

  • driver4Version

  • driver5Version

  • driver6Version

  • endBoardVersion

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

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
 3robot = Robot.RPC('192.168.58.2')
 4rtn, robotModel, webversion, controllerVersion = robot.GetSoftwareVersion()
 5print(f"Getsoftwareversion rtn is: {rtn}")
 6print(f"robotmodel is: {robotModel}, webversion is: {webversion}, controllerVersion is: {controllerVersion}\n")
 7rtn, ctrlBoxBoardversion, driver1version, driver2version, driver3version, driver4version, driver5version, driver6version, endBoardversion = robot.GetHardwareversion()
 8print(f"GetHardwareversion rtn is: {rtn}")
 9print(f"GetHardwareversion get hardware version is: {ctrlBoxBoardversion}, {driver1version}, {driver2version}, "
10      f"{driver3version}, {driver4version}, {driver5version}, {driver6version}, {endBoardversion}\n")
11rtn, ctrlBoxBoardversion, driver1version, driver2version, driver3version, driver4version, driver5version, driver6version, endBoardversion = robot.GetFirmwareVersion()
12print(f"GetFirmwareversion rtn is: {rtn}")
13print(f"GetFirmwareversion get firmware version is: {ctrlBoxBoardversion}, {driver1version}, {driver2version}, "
14      f"{driver3version}, {driver4version}, {driver5version}, {driver6version}, {endBoardversion}\n")
15robot.CloseRPC()