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
●Dobot
●Doosan
●Robôs de elite
●Epson
●Han's
●Hanwha
●JAKA
●Kawasaki
●KEBA
●Kinova
●KUKA KRC
●KUKA IIWA
●Mecadêmico
●Mitsubishi
●Niryo
●Staubli
●uFactory xArm
●Wlkata
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.Selecione
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.
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
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.
É 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 programa
2.Selecione
O programa deve começar a ser executado no robô e o status da conexão do robô será atualizado de acordo.
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"
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.Selecione
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.
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
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.
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.
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 selecionando
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
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.
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.