Motoristas de robôs

Um driver de robô pode controlar um robô real que esteja conectado a um computador. Os drivers de robô usam interfaces de software específicas para controlar e monitorar um controlador de robô específico, permitindo que um computador controle diretamente um braço de robô.

Os drivers de robô oferecem uma alternativa à programação off-line (em que um programa é simulado, gerado e, em seguida, transferido para o robô e executado). Com os drivers de robô, o senhor pode mover um robô enquanto ele está sendo simulado (Programação on-line).

O artigo a seguir mostra um exemplo de um projeto de programação on-line usando drivers de robô: https://robodk.com/blog/online-programming/

Qualquer simulação de robô programada no RoboDK pode ser executada no robô usando um driver de robô. O movimento do robô no simulador é então sincronizado com o robô real e é possível depurar os programas do robô em tempo real.

A lista a seguir fornece alguns dos drivers de robô compatíveis com o RoboDK:

Annin Robotics

ABB

Automata

Comau

Denso

Dobot

Doosan

Robôs de elite

Epson

Fanuc

Han's

Hanwha

JAKA

Kawasaki

KEBA

Kinova

KUKA KRC

KUKA IIWA

Mecadêmico

Mitsubishi

Niryo

Staubli

Técnico/Omron

uFactory xArm

Universal Robots

Wlkata

Yaskawa Motoman

Como usar os drivers de robôs

Esta seção mostra como se conectar a um braço de robô real do RoboDK usando drivers de robô e realizar algumas operações simples.

1.Clique com o botão direito do mouse em um robô

2.SelecioneRobot Drivers - Imagem 1 Connect to robot...

3.Digite o IP do robô

4.Selecione Conectar

Se a conexão for bem-sucedida, aparecerá uma mensagem verde exibindo Ready (Pronto), conforme mostrado na imagem a seguir.

Robot Drivers - Imagem 2

Usando a GUI

Um programa de robô que tenha sido criado usando a interface gráfica do usuário (GUI) pode ser executado no robô seguindo estas etapas.

1.Clique com o botão direito do mouse em um programa Robot Drivers - Imagem 3

2.Marque a opção Executar no robô

3.Clique duas vezes no programa para iniciá-lo

O programa deve iniciar no robô real e o simulador seguirá os movimentos do robô. O status da conexão exibirá Working... em amarelo quando o robô estiver ocupado.

Robot Drivers - Imagem 4

Usando a API

É possível controlar o movimento de um robô a partir da API do RoboDK, por exemplo, para programar um robô a partir de um programa Python ou de um aplicativo C#.

A opção Run on robot (Executar no robô) é gerenciada automaticamente quando um programa Python é executado a partir do RoboDK. Siga estas etapas para executar um programa Python no robô:

1.Clique com o botão direito do mouse em um programaRobot Drivers - Imagem 5 Python

2.SelecioneRobot Drivers - Imagem 6 Run on robot (Executar no robô)

O programa deve começar a ser executado no robô e o status da conexão do robô será atualizado de acordo.

Robot Drivers - Imagem 7

Se o programa for executado fora da GUI do RoboDK (para fins de depuração ou se estivermos usando a API do RoboDK para C#, por exemplo), podemos definir o RunMode usando RDK.setRunMode para RUNMODE_RUN_ROBOT. Isso forçará o programa a ser executado no robô. Também é possível estabelecer a conexão usando robot.Connect().

O código a seguir mostra um breve exemplo para estabelecer uma conexão com o robô diretamente da API:

# Iniciar a API do RoboDK

RDK= Robolink()

robô= RDK.Item('',ITEM_TYPE_ROBOT)

 

# Conectar-se ao robô usando os parâmetros de conexão padrão

success= robot.Connect()

status, status_msg= robot.ConnectedState()

se status != ROBOTCOM_READY:

    # Parar se a conexão não for bem-sucedida

    raise Exception("Failed to connect: "+ status_msg)

 

# Definir para executar os comandos do robô no robô

RDK.setRunMode(RUNMODE_RUN_ROBOT)

# Observação: Isso é definido automaticamente se usarmos

# robot.Connect() por meio da API

 

# Mova o robô:

robot.MoveJ([10,20,30,40,50,60])

prog= RDK.Item('MainProgram', ITEM_TYPE_PROGRAM)

prog.setRunType(PROGRAM_RUN_ON_ROBOT) # Define a opção de execução no robô

# Defina PROGRAM_RUN_ON_SIMULATOR para ser executado somente no simulador

prog.RunProgram()

while prog.Busy()== 1:

    pausa(0,1)

print("Program done"


 

Personalize os drivers de robôs

Os drivers do robô estão na pasta /RoboDK/api/Robot/ por padrão. O RoboDK se vincula a um driver específico nas configurações de conexão do robô:

1.Clique com o botão direito do mouse em um robô

2.SelecioneRobot Drivers - Imagem 8 Connect to robot...

3.Selecione Mais opções...

4.Localize ou insira o caminho do caminho do driver na seção Caminho do driver

Um driver de robô é um aplicativo de console autônomo. Os drivers do robô podem ser desenvolvidos usando qualquer plataforma de programação, por exemplo, podem ser um módulo Python (formato PY) ou qualquer programa executável criado em qualquer ambiente de desenvolvimento.

Robot Drivers - Imagem 9

O driver do robô permite a comunicação com um robô por meio da linha de comando. Os mesmos comandos que podem ser executados manualmente também são usados pelo RoboDK para acionar o robô a partir do PC. Cada driver de robô pode ser executado no modo console para testá-lo.

Um exemplo de driver Python (apimecademic.py) com seu código-fonte para controlar os robôs Mecademic está disponível em C:/RoboDK/bin/robot/.

Clique duas vezes no arquivo apimecademic.py para executar o módulo no modo console (o Python deve estar instalado). O driver aguardará novos comandos. Por exemplo, podemos digitar o seguinte comando para nos conectarmos ao robô, fornecendo um IP e uma porta de comunicação:

CONECTAR 192.168.100.1 10000

Se a conexão for bem-sucedida, veremos uma mensagem SMS:Ready. Em seguida, podemos digitar o seguinte comando para recuperar as articulações atuais do robô:

CJNT

Também podemos digitar outros comandos, como MOVJ, MOVL ou SETTOOL, para mover o robô ou atualizar o TCP:

MOVJ 10 20 30 40 50 60

Robot Drivers - Imagem 10

Alguns robôs permitem o monitoramento da posição da junta em tempo real. Nesse caso, é possível fornecer feedback da posição da junta à medida que o robô se move, enviando o comando JNTS_MOVING. Quando o driver for executado a partir do RoboDK, o robô virtual seguirá o movimento do robô real em tempo real. Um novo comando não será processado até que a mensagem Ready seja enviada.

A interação com o console e a conexão com o robô são gerenciadas por um módulo Python para o driver Mecademic. A interação com o console deve ser a mesma para todos os robôs, conforme descrito nesta seção. No entanto, a interação com cada robô depende do fabricante do robô; nesse caso, consultamos o manual de programação do Meca 500 para enviar os comandos apropriados. Esses comandos permitem mover e monitorar o robô Meca 500.


Solução de problemas

A configuração do driver do robô pode não ser tão simples quanto gerar programas off-line (Programação off-line). Se a conexão não funcionar, esta seção fornece algumas dicas para ajudá-lo a encontrar a origem dos problemas.

1.Certifique-se de que o IP do robô esteja correto e acessível: Selecione o botão de ping no menu de conexão do robô (ou faça ping no robô por meio da linha de comando) para garantir que o robô e o computador estejam na mesma rede.

2.Defina um IP estático para o computador se o robô e o computador não estiverem na mesma rede.

3.Se o senhor estiver usando o Windows: Certifique-se de que o Firewall do Windows esteja desativado para evitar o bloqueio de qualquer conexão.

4.Certifique-se de que a porta de comunicação seja apropriada e esteja disponível no lado do robô.

5.Certifique-se de que as instruções apropriadas sejam seguidas no controlador do robô, dependendo do modelo do controlador.

6.Clique duas vezes em Disconnect na janela de conexão do Robô para forçar a parada do driver e, em seguida, selecione connect again para tentar uma nova conexão.

Teste de ping

Um teste de ping testará a capacidade de alcance de um robô em uma rede IP (Internet Protocol).

Siga estas etapas para realizar um teste de ping no Windows:

1.Abra uma nova janela de console selecionandoRobot Drivers - Imagem 11 (tecla Windows + R)

2.Digite cmd e selecione OK

3.Digite ping IP, onde o IP deve ser o IP do seu robô.) Exemplo:      
ping 192.168.125.2

Devemos ver uma resposta semelhante à imagem com 0% de perda de sinal

Robot Drivers - Imagem 12

Se não houver comunicação, devemos verificar se o IP do robô e o PC estão na mesma rede local (LAN). Pode ser necessário desativar o Firewall do Windows ou adicionar uma regra para permitir a comunicação.

Definir um IP estático

Siga estas etapas para alterar o IP de um computador:

1.Selecione Windows Start➔ Control Panel➔ Network and Internet➔ Network Connections

2.Clique duas vezes na placa de conexão de área local

3.Selecione Properties (Propriedades).

4.Selecione Internet Protocol Version 4 (TCP/IPv4)

5.Selecionar propriedades

6.Digite o IP do computador de acordo com o IP do robô e uma máscara de sub-rede.

Robot Drivers - Imagem 13