Robô de seis eixos com microautomação
Quanto espaço você precisa para um robô de seis eixos de microautomação?
Se você pretende usar um braço de robô de seis eixos de microautomação, como o Meca500 da Mecademic usado neste tutorial como exemplo, provavelmente está interessado em posicionar e orientar a ferramenta do robô (end-effector ) dentro vários locais. Portanto, você certamente desejará saber o conjunto de locais que pode alcançar com um efetuador final específico montado em um braço robótico específico de seis eixos. Você provavelmente pedirá algum tipo de diagrama mostrando a “área de trabalho”, “volume de trabalho”, “envelope de trabalho” ou “faixa de trabalho” do robô. E, infelizmente, muitas vezes você será apresentado a um diagrama simplista como o mostrado aqui, ou pior ainda, com o chamado alcance do robô.
Em robótica, o termo adequado para o que você procura é espaço de trabalho . O alcance nada mais é do que a distância máxima entre o centro do pulso do robô (o ponto de interseção dos eixos das três últimas articulações do robô) e o eixo da articulação 1. A área cinza na figura acima é a área atingível pelo centro do pulso, para uma determinada rotação da articulação 1. Esta área, ou mesmo o volume varrido girando esta área sobre o eixo da junta 1, não é o espaço de trabalho do robô. Não há absolutamente nenhuma garantia de que você pode alcançar uma posição neste volume com a dica de ferramenta de um determinado efetuador final, muito menos alcançar essa posição com qualquer orientação. De fato, se você montar um efetuador relativamente longo, não conseguirá alcançar nenhuma posição deste volume com a ponta de sua ferramenta.
O espaço de trabalho de um robô de seis eixos de microautomação é o conjunto de todas as poses (posições e orientações) atingíveis por um efetuador final específico montado naquele robô. Assim, (1) ninguém pode dizer qual é o espaço de trabalho de um braço robótico específico de seis eixos, a menos que você especifique qual é o efetuador final que pretende usar e (2) esse espaço de trabalho é uma entidade de seis dimensões que geralmente é impossível de representar graficamente.
Claro, existem algumas exceções no campo da robótica, quando se trata de representação gráfica. O espaço de trabalho de um robô cartesiano de seis eixos, como o mostrado abaixo, é trivial de descrever, mas apenas para uma escolha específica de dica de ferramenta. De fato, se a dica de ferramenta do efetuador final do robô coincidir com o ponto de interseção dos eixos das três juntas de revolução, esse robô de seis eixos de microautomação pode posicionar sua dica de ferramenta em qualquer lugar dentro do cubóide amarelo, com absolutamente qualquer orientação de ferramenta.
Infelizmente, a grande maioria dos robôs industriais de seis eixos não é cartesiana, por várias razões práticas. Por exemplo, o robô cartesiano acima tem um espaço de trabalho muito pequeno em termos de posicionamento. O típico braço robótico de seis eixos, muitas vezes chamado de robô articulado verticalmente , consiste em sete elos (corpos), conectados em série por meio de seis juntas de revolução acionadas. O primeiro desses corpos é a base do robô e o último é o flange do robô (também chamada interface mecânica ). Além disso, o eixo da primeira junta é vertical, os eixos das juntas 2 e 3 são horizontais, o eixo da junta 4 é normal ao eixo da junta 3 e os eixos das últimas três juntas normalmente se cruzam em um ponto.
Enquanto os braços de robôs industriais são geralmente vendidos sem ferramentas, um efetuador final (como uma garra ou uma sonda de toque) é eventualmente conectado ao flange do robô. O usuário deve então associar um referencial de ferramenta , fixado a este efetuador final. Este quadro de referência da ferramenta é definido em relação ao quadro de referência do flange . A origem do quadro de referência da ferramenta é chamada de TCP (ponto central da ferramenta ). Por fim, você deve, portanto, estar interessado no conjunto de poses em relação ao quadro de referência básico do robô , onde o robô pode trazer um referencial específico da ferramenta. Assim, o espaço de trabalho de um robô é o conjunto de poses atingíveis pelo quadro de referência da ferramenta do robô.
Em um típico braço de robô de seis eixos de microautomação, como o nosso Meca500, qualquer que seja o efetuador final, para cada posição viável do TCP, a gama de orientações de ferramenta atingíveis é completamente diferente, devido a interferências mecânicas, limites de junta e limitações de comprimento de link. Além desse alto acoplamento entre o posicionamento e as capacidades de orientação dos típicos braços robóticos de seis eixos, esses robôs têm as chamadas singularidades . Em uma singularidade, o robô não pode se mover em certas direções. Este é um bloqueio físico, não algum tipo de problema matemático, e absolutamente todos os braços robóticos de seis eixos da microautomação (incluindo o cartesiano mostrado acima) têm singularidades. Por exemplo, quando todas as juntas do Meca500 estão em zero grau, como na figura à esquerda abaixo, o efetuador final do robô não pode se mover ao longo de uma linha paralela à base y -eixo (o verde). Para se mover ao longo desta linha, as juntas 4 e 6 teriam que girar ±90° primeiro (em direções opostas).
Singularidades são um fenômeno muito importante (ou melhor, um incômodo) na robótica e serão tratadas em um tutorial separado. Aqui, basta dizer que mesmo que um caminho esteja dentro do espaço de trabalho de um robô, como no exemplo acima, o quadro de referência da ferramenta do robô pode não ser capaz de segui-lo continuamente (ou seja, sem pausas no movimento do TCP) , por causa das singularidades.
Assim, as singularidades do robô limitam ainda mais as partes utilizáveis do espaço de trabalho de um robô. Na verdade, o espaço de trabalho de um típico braço robótico de seis eixos de microautomação é a combinação de vários subconjuntos de espaços de trabalho livres de singularidades, separados por singularidades. O robô pode se mover em qualquer lugar dentro do espaço de trabalho total, no modo conjunto, mas apenas em um dos subconjuntos do espaço de trabalho livre de singularidade quando no modo cartesiano (ou seja, quando seu TCP segue continuamente um caminho específico).
Cada um desses subconjuntos de espaço de trabalho sem singularidade corresponde a uma configuração de robô específica. Este tópico será tratado no próximo tutorial sobre singularidades de robôs. Por enquanto, observe que se uma determinada pose parece inacessível com a configuração atual do robô, ela pode ser acessível com outra configuração. Por exemplo, a pose do quadro de referência da ferramenta na figura abaixo só pode ser obtida em uma das oito configurações do robô. No entanto, um erro comum é considerar apenas um dos subconjuntos de espaço de trabalho livre de singularidade em vez do espaço de trabalho total (ou seja, trabalhar em apenas um dos oito modos de configuração). Observe que se você especificar uma pose usando x , y , z coordenadas e ângulos de Euler e, em seguida, use o comando MovePose, o robô encontrará automaticamente a melhor configuração. Infelizmente, no entanto, os usuários normalmente ensinam as posições do robô correndo, em vez de especificar uma pose.
Freqüentemente, um usuário já tem um conjunto de poses de efetuador final para obter para seu aplicativo específico. Por exemplo, uma peça de trabalho deve ser retirada de um transportador, apresentada na frente de uma câmera em várias orientações e, finalmente, depositada em outro transportador. Encontrar o posicionamento ideal para a câmera, a instalação ideal da pinça e o design ideal para os dedos está longe de ser trivial. Infelizmente, até o momento, não há nenhum procedimento automático comercialmente disponível para encontrar o design de célula ideal — o único método é por tentativa e erro.
Felizmente, você não precisa ter a configuração real para isso; você pode usar um software de simulação como o RoboDK. Dito isto, você ainda precisa de algumas habilidades de robótica, ou então você pode gastar muito esforço em tentativa e erro. Assim, a seguir, daremos dez orientações para você aproveitar ao máximo o espaço de trabalho do seu robô. Embora usemos nosso Meca500 como exemplo, essas diretrizes se aplicam a qualquer braço de robô típico de seis eixos de microautomação.
Diretriz 1: Posicione seu TCP o mais próximo possível do flange do robô
Na inspeção, é bastante comum ter que apresentar uma peça na frente de uma câmera com uma grande variedade de orientações. Em tal aplicação, a primeira regra é colocar o quadro de referência da ferramenta o mais próximo possível do quadro de referência do flange. Em outras palavras, você deve projetar um sistema de garras que permita segurar a peça a ser inspecionada o mais próximo possível do flange do robô.
Observe que fornecemos nossa garra elétrica opcional com uma placa adaptadora que permite prender a garra como mostrado acima. No entanto, para algumas aplicações, pode ser melhor projetar sua própria placa adaptadora para prender a garra de forma que os dedos e o eixo da junta 6 estejam em um plano ou para prender a garra ao longo do eixo da junta 6 ( como neste vídeo). Outra alternativa pode ser usar dedos em forma de L.
Diretriz 2: Não se mova no modo cartesiano, a menos que siga um caminho
Na inspeção, muitas vezes você precisa girar uma peça em diferentes orientações. Obviamente, nesses casos, é muito mais fácil usar o comando MoveLinRelTRF ou movimentar o robô no modo cartesiano. No entanto, ambas as abordagens falham se uma singularidade estiver presente ao longo da rotação, como no exemplo ilustrado na figura abaixo. Nesse exemplo, você não pode girar o efetuador final sobre seu y -axis (o verde) em 90°, por causa de uma singularidade (os eixos das juntas 4 e 6 ficam alinhados).
Assim, você deve aprender a usar ângulos de Euler e usar o comando MovePose em seu lugar. Como alternativa, você pode usar o RoboDK. Como o RoboDK é um simulador, ele permite que você passe por singularidades no modo jogging cartesiano. Independentemente das singularidades, sempre use os comandos MovePose ou MoveJoints, a menos que você queira que seu TCP siga um caminho específico. O uso desses comandos geralmente leva a tempos de ciclo mais rápidos.
Diretriz 3: Se o cabeamento restringir demais a junta 6, alinhe os eixos das juntas 1, 4 e 6
Embora a junta 6 seja mecanicamente ilimitada, se você usar um efetuador que tenha cabeamento conectado, como nossa pinça, o alcance da junta 6 será limitado a cerca de ±180° ou até menos. Se precisar de mais alcance, você pode alinhar os eixos das juntas 4 e 6, ou mesmo das juntas 1, 4 e 6. Claro, tal configuração será singular, então você precisará usar o comando MoveJoints para girar sobre eles eixos coincidentes
Diretriz 4: Se você usar um efetuador com cabeamento, mantenha a junta 6 o mais próximo possível de zero graus
Sempre que possível, em uma posição desejada, tente manter a junta 6 o mais próximo possível de zero graus. Se, por exemplo, você agarrar uma peça de trabalho em uma posição de robô onde a junta 6 está em 170° e, em seguida, executar um comando MovePose, a junta 6 provavelmente girará muito. Por exemplo, se na nova pose desejada, a junta 6 puder estar em 190°, o robô irá girar automaticamente sua última junta 340° na direção negativa (ao invés de 20° na direção positiva).
Diretriz 5: Se você precisa orientar muito, posicione seu TCP no eixo da junta 1
Se você precisa cobrir uma ampla gama de orientações, então você deve posicionar seu TCP no eixo da junta 1. Tal configuração permitirá você deve girar ±175° sobre o eixo da articulação 1 e ±180° sobre o eixo da articulação 6. Quanto mais distante o centro do punho do robô da articulação 1, menores serão as capacidades de orientação do robô.
Diretriz 6: Tente todas as configurações do robô
Às vezes, o robô estará muito próximo de uma singularidade em uma ou mais das poses do efetor final que devem ser alcançadas. Em um aplicativo de inspeção, isso pode não ser um problema, mas se você precisar pegar ou colocar um objeto, provavelmente precisará chegar e partir da pose final no modo linear. Nesse caso, teste todas as configurações possíveis do robô e escolha aquela que estiver mais distante das singularidades. Por exemplo, na figura abaixo, a configuração da esquerda está muito próxima de uma singularidade (os eixos 4 e 6 estão quase alinhados), mas a da direita está suficientemente distante de uma singularidade.
Diretriz 7: Considere mais do que apenas atingibilidade
Como já mencionamos, o espaço de trabalho de um braço de robô de seis eixos de microautomação é um conjunto de vários subconjuntos de espaço de trabalho separados por singularidades. Além disso, nem todas as poses atingíveis são igualmente “boas”. De fato, o espaço de trabalho de um braço robótico de seis eixos é altamente heterogêneo em termos de critérios de desempenho, como velocidade e precisão. Já mencionamos que você precisa estar o mais longe possível das singularidades, ao se mover no modo cartesiano. Além disso, quanto mais esticado o braço do robô, menor sua precisão (mais flexível ele é) e mais tempo leva para suprimir as vibrações na ponta da ferramenta.
Diretriz 8: Aproveite a redundância do robô se você não precisar de seis graus de liberdade
Em muitos casos, você só precisa de cinco graus de liberdade. Por exemplo, se o seu efetuador final é um dispensador de cola ou um fuso, provavelmente você não se preocupa em orientá-lo sobre o eixo da agulha ou do eixo, respectivamente. Além disso, se você inspecionar uma peça de trabalho usando um sensor axissimétrico, como uma câmera, em muitos casos poderá apresentar a peça de trabalho em qualquer rotação em torno do eixo do sensor. Nestes casos, não alinhe o eixo da junta 6 com o eixo de simetria da sua ferramenta ou sensor e escolha a melhor das infinitas posições do robô para cada pose que deseja atingir. Melhor significa longe das singularidades, mas também mais próximo das poses anteriores e posteriores a serem alcançadas.
Diretriz 9: Fixe seu robô na posição vertical, a menos que seja absolutamente necessário
Como a maioria dos robôs industriais, o Meca500 pode ser fixado em qualquer orientação (por exemplo, de cabeça para baixo ou em uma parede). O único problema com qualquer acessório não vertical é que você precisa de um acessório muito sólido, o que pode tornar sua célula mais pesada e cara. Portanto, opte por fixações não verticais somente após ter tentado fixar o robô na posição vertical.
Diretriz 10: Meça sete vezes, corte uma vez
O ditado inglês diz “Meça duas vezes, corte uma vez”, mas quando se trata de design de células robóticas, opte pela versão russa “Meça sete vezes, corte uma vez”. Se sua célula for relativamente complexa ou o espaço de trabalho de seu robô parecer restrito, você deve usar um pacote de simulação de robô e passar por muitas iterações de projeto até encontrar uma solução satisfatória. No entanto, não confie inteiramente na simulação. Um pacote de simulação genérico como o RoboDK não simula o comportamento exato de um robô. Por exemplo, um movimento linear específico pode ser possível no RoboDK, mas impossível em um robô real devido às singularidades. Portanto, você também deve testar seu programa no robô real.
Em conclusão, a menos que sua aplicação envolva apenas alguns movimentos repetitivos, você deve entender completamente o espaço de trabalho de seu robô e gastar um tempo considerável projetando sua célula robótica. O design da célula robótica não é apenas capaz de executar todos os movimentos do robô, mas também otimizar o tempo de ciclo e outros critérios de desempenho (precisão, consumo de energia).
Sistema de controle de automação