Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 PLANEJAMENTO DE CAMINHO LIVRE DE COLISÃO PARA ROBÔ SCARA EM AMBIENTE MONITORADO POR SENSOR DE IMAGEM NÍCOLAS S. PEREIRA, JOSÉ L. N. DA SILVA, GEORGE A. P. THÉ Centro de Referência em Automação e Robótica, Depto. de Engenharia de Teleinformática, Universidade Federal do Ceará Campus do Pici, Bloco 725, 60.455-970, Fortaleza, CE, BRASIL E-mails: [email protected], [email protected], [email protected] Abstract In this work, the problem of free collision path planning for a SCARA manipulator inside of a space monitored by a low resolution image industrial sensor is considered. It is presented the applied methodology, where the systems integration exposes a solution for the problem presented taking into account the entire structure of the robot. Keywords Path planning, Digital image processing, SCARA, Systems integration. Resumo Neste trabalho, considera-se o problema de planejamento de caminhos livres de colisão para um manipulador SCARA que se encontra em um espaço monitorado por um sensor industrial de imagens de baixa resolução. É apresentada a metodologia aplicada, onde a partir da integração de sistemas é exposta uma solução para o problema formulado levando em conta toda a estrutura do robô. Palavras-chave Planejamento de caminhos, Processamento digital de imagens, SCARA, Integração de sistemas. 1 Na literatura há duas abordagens principais para este problema (Spong, 2006): o algoritmo de campos de potenciais artificiais e os métodos de roadmaps probabilísticos, onde a primeira abordagem é utilizada neste trabalho. O presente trabalho se encontra neste contexto, a apresentação e descrição de uma solução para o problema de prevenção de colisões de um robô SCARA, mediante o uso de uma câmera industrial. Comparado a outros trabalhos da literatura, aqui consideramos colisões com toda a cadeia articulada do robô. Os resultados apresentados se referem à abordagem do problema no plano cartesiano, apenas. Este artigo está organizado como segue. Seção 2 trata da formulação do problema o qual o trabalho se propõe a desenvolver uma solução. Seção 3 apresenta o dispositivo utilizado para aquisição de imagens. Seção 4 descreve a metodologia desenvolvida para resolução do problema, explicitando a teoria na qual a solução se baseia. Seção 5 apresenta os resultados obtidos para um cenário tal qual o formulado na seção 2. Na seção 6 apresenta-se a conclusão do artigo e menções para possíveis trabalhos futuros. Introdução O uso de robôs em tarefas de manipulação tem crescido sensivelmente no contexto de produção industrial, nos últimos anos. Este problema é especialmente desafiador porque a identificação e localização dos obstáculos implica o uso de técnicas de processamento mais sofisticadas, de fato, não é raro que se utilize de técnicas de decisão para o reconhecimento de obstáculos, que podem até mesmo estar em movimento na cena. Uma questão neste contexto é a necessidade de se transformar a informação de localização do obstáculo na cena, levando-a do domínio de pontos do espaço cartesiano em pontos do espaço de configurações do robô. Isto se consegue mediante cálculo de cinemática inversa do robô em questão, para cada ponto da superfície do obstáculo, gerando o chamado espaço de configurações de obstáculos ou QO. A prevenção de uma colisão é, portanto, uma estratégia que impeça o robô de atingir alguma configuração constante em QO. A complexidade e o esforço computacional para gerar o QO de uma dada cena crescem se não apenas o end-effector, mas toda a cadeia articulada do robô tiver que ser protegida de colisões. Como mencionado em (Spong, 2006), a complexidade vem do fato de que o tamanho da representação do espaço de configurações tende a crescer exponencialmente com o número de graus de liberdade. Naturalmente, se o problema de prevenção de colisão considerar as três dimensões cartesianas na descrição do robô e dos objetos da cena, a solução de obtenção QO ganha em sofisticação, em comparação com a uma representação 2D, mas isto ocorre ao custo do aumento de esforço comoputacional. 2 Formulação do problema Considere a situação de um ambiente monitorado por um sensor de imagens que mede distâncias e neste ambiente um robô do tipo SCARA deverá partir de uma posição inicial fixa e atingir um ponto específico no espaço, desviando de obstáculos presentes no ambiente monitorado. A ideia consiste em se utilizar das imagens provenientes do sensor para realizar o planejamento 3946 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 de caminho para o manipulador sem que haja colisão da sua estrutura com os obstáculos. devido a forma circular proporcionar uma redução da possibilidade de mínimos locais (Volpe, 1990). A partir da figura 2 serão demonstradas técnicas de PDI com a finalidade de se obter o mapeamento dos obstáculos. 3 Sensor de imagens O sensor PMD 03D200 é uma câmera de medição de distância utilizada em ambientes industriais. Ele contém uma matriz de 64x50 pixels e é capaz de prover imagens de baixa resolução de intensidade de luminosidade ou de distância. Para este trabalho são utilizadas imagens de distância por não apresentar a mesma dependência do material das superfícies monitoradas. A medição de distância do sensor é baseada no princípio de tempo de voo onde é calculado o tempo que um feixe de luz gasta para atingir a superfície monitorada e retornar ao dispositivo. Figura 2: Imagem de distância obtida do sensor (ampliada em duas vezes para melhor visualização). 4.1.1 Limiarização A limiarização é uma das técnicas utilizadas para se realizar uma segmentação numa imagem, onde segmentação pode ser definida como a subdivisão de uma imagem em regiões ou objetos que a compõem (Gonzalez, 2009). Para o problema em questão, a segmentação é utilizada para dividir a imagem em obstáculo e fundo, a partir dos níveis de cinza presentes na imagem. De maneira geral, seleciona-se um valor de referência de tom de cinza e a partir deste referencial se impõe que valores de cinza superiores são considerados obstáculo (recebem o valor 255, apresentando a cor branca) e valores de cinza inferiores ao referencial são considerados fundo (recebem o valor de 0, apresentando a cor preta). Considerando que os cenários não necessariamente serão os mesmos, uma escolha manual de valor de referência não é adequada, pois para diferentes situações podem ser necessários diferentes valores de referência, impossibilitando a análise automática com resultado ótimo. Visando esta solução mais global, que se adeque melhor a diferentes tipos de cenários, é utilizado o método de Otsu (Otsu, 1979), que é uma abordagem ótima no sentido de que maximiza a variância entre as classes distintas (Gonzalez, 2009). Aplicando o método de Otsu na figura 2, obtémse o resultado visualizado pela figura 3. Figura 1: Sensor industrial de imagens PMD O3D200. 4 Metodologia A metodologia apresentada é dividida em duas partes onde a primeira responsável pelo processamento digital de imagem (PDI), englobando desde a obtenção da imagem do sensor até o mapeamento dos obstáculos na cena e a segunda parte sendo aquela responsável pelo processamento do mapeamento dos obstáculos com intuito de obtenção do caminho livre de colisão. 4.1 Processamento digital de imagens O processamento digital de imagens é utilizado como um conjunto de tratamentos realizados na imagem vinda do sensor com o intuito de extrair informações referentes aos obstáculos presentes na cena em questão. As saídas que se deseja obter através deste PDI é a posição de centro de cada obstáculo no espaço cartesiano e valores de raio para cada obstáculo, permitindo que estes possam ser inteiramente representados por circunferências que os circunscrevem. É preferível a circunferência que circunscreve o obstáculo ao contorno deste próprio 3947 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 Figura 3: Imagem segmentada após utilização do método de Otsu (ampliada em duas vezes para melhor visualização). Figura 5: Resultado da subtração da figura 3 e a sua imagem erodida a partir do elemento estruturante representado na figura 4. Apesar de inúmeros os métodos disponíveis para extração de fronteiras, considerando que a imagem utilizada já se encontra binarizada, este método apresenta resultados precisos junto de um baixo custo computacional. 4.1.2 Erosão e extração de fronteiras Elementos estruturantes (ES) são pequenos conjuntos ou subimagens usadas para examinar uma imagem buscando propriedades de interesse (Gonzalez, 2009). Estes elementos são amplamente empregados no processamento morfológico de imagens para formular operações, como a erosão, por exemplo. Com A e B como conjuntos de Z², a erosão de A por B, indicada por AΘB é definida como: (1) AB {z | ( B) A} 4.1.3 Extração de componentes conexos A extração de componentes conexos de uma imagem binária é essencial para muitas aplicações automáticas de análise de imagem (Gonzalez, 2009). A ideia por trás do método, é selecionar pixels referentes ao conjunto dos obstáculos e através de morfologia, descrever o objeto que representa todos os pixels com conectividade. Desta forma, é possível determinar quantos objetos estão presentes numa cena e quais pixels são referentes a cada objeto. z A equação (1) indica que a erosão de A por B é o conjunto de todos os pontos z de forma que B, transladado por z, está contido em A (Gonzalez, 2009). Na discussão apresentada, o conjunto B é considerado um elemento estruturante. Ao se realizar erosão na figura 3, utilizando como elemento estruturante o conjunto apresentado na figura 4, o efeito obtido na imagem resultante é equivalente a remoção dos pixels de fronteira dos objetos presentes na figura 3. Efetuando uma subtração entre as figuras 3 e sua respectiva imagem erodida o efeito obtido é o apresentado pela figura 5. 4.1.4 Circunscrição de obstáculo A circunscrição do obstáculo é obtida calculando os valores de centro e raio da circunferência que irá circunscrever o obstáculo. A partir de uma média aritmética das coordenadas x e y dos pixels de fronteira dos obstáculos, apresentados na figura 5, são obtidas as posições dos pixels referentes aos centros de cada obstáculo. Utilizando os pixels de centro de cada obstáculo e realizando um cálculo de distância entre estes e cada pixel de fronteira dos obstáculos, obtém-se a maior distância entre o centro e a fronteira do obstáculo, que é o valor utilizado como raio da circunferência que o engloba. A figura 6 mostra o resultado que se obtém ao se calcular os centros e raios para cada obstáculo. Figura 4: Elemento estruturante utilizado na erosão. 3948 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 conseguir realizar um mapeamento de um ponto no espeço cartesiano a partir de uma entrada representada como um conjunto de articulações, ângulos das junções do manipulador. Os quatro parâmetros citados são: comprimento do elo (representado pela letra ‘a’), ângulo de torção do elo (representado pela letra ‘α’), deslocamento ou offset do elo (representado pela ‘d’) e ângulo de junção (representado pela letra ‘θ’) (Spong, 2006). Os parâmetros de DH levantados para o robô associado neste trabalho são apresentados na tabela 1. Tabela 1: Parâmetros de DH para o manipulador. Figura 6: Obstáculos circunscritos. Eixo A partir das técnicas apresentadas, obtém-se o mapeamento dos obstáculos, assim como sua circunscrição, a partir das imagens vindas do sensor. O manipulador utilizado como referência para este trabalho é um SCARA. θ(°) d(cm) 0 1 0 0 0 2 a1 0 0 3 4.2 Planejamento de caminho sem colisão α(°) a(cm) - 1 2 a2 0 0 0 Onde a1 possui 34.8 cm e a2 possui 28.4 cm. A partir da tabela 1, é possível definir a transformação, representada por T, que mapeia o conjunto de ângulos das articulações no espaço cartesiano, assim como mostra a equação 2: (2) P(x, y) T{Q( , )} 1 2 Como resultado do mapeamento, tem-se as equações representadas por (3) e (4) para x e y, respectivamente, a partir dos ângulos 1 e 2 : Figura 7: Manipulador SCARA utilizado como referência. Como formulado anteriormente, a situação que se busca analisar é aquela onde os obstáculos atrapalhem o deslocamento das duas junções de rotação do manipulador apresentado, que são coplanares, tornando o problema uma análise de um robô planar de dois graus de liberdade. A partir da figura 7, pode-se ver que as dimensões dos elos referentes as junções de rotação são de 34.8cm e 28.4 cm respectivamente. x a2 cos(1 2 ) a1 cos(1 ) (3) y a2 sen(1 2 ) a1sen(1 ) (4) 4.2.2 Cinemática inversa O problema da cinemática inversa busca obter os valores de ângulo de rotação do manipulador a partir dos valores de posição cartesiana do atuador do manipulador (Spong, 2006). A cinemática inversa de um robô não necessariamente possui uma única solução, considerando que o manipulador pode adotar mais de uma configuração para atingir o mesmo ponto no espaço cartesiano. Neste trabalho é utilizada uma solução geométrica para obtenção da cinemática inversa do manipulador. A partir da figura 8 obtém-se a seguinte relação: 4.2.1 Cinemática direta Cinemática é a ciência do movimento de um objeto sem levar em conta as forças que geram este movimento (Craig, 2005). O problema da cinemática direta é determinar a posição e orientação do atuador de um robô, dados os valores dos ângulos das juntas deste robô (Spong, 2006). Para o desenvolvimento da cinemática direta neste trabalho, será utilizado o método convencional de Denavit-Hartenberg (DH), que se baseia em distribuir ao longo da estrutura cinemática do manipulador um conjunto de eixos de referência e a partir destes eixos e 4 parâmetros específicos, d x2 y2 Aplicando a lei dos cossenos, vê-se que: d 2 a1 a2 2 arccos( ) 2a1a2 2 3949 2 (5) Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 Considerando a área monitorada pelo sensor de imagem e a posição onde se encontra o manipulador, o espaço de trabalho do manipulador foi estipulado pelas seguintes expressões: 20 1 150 175 2 175 A figura 10 mostra o espaço de trabalho do manipulador e quais áreas sua estrutura cinemática permite que ele seja capaz de atingir dentro do espaço monitorado. Figura 8: Manipulação geométrica utilizada para cálculo do ângulo 2 na cinemática inversa. Espaço de trabalho do manipulador 80 40 A partir da figura 9, obtém-se as seguintes relações: Eixo y a2 sen( 2 ) tan( ) a1 a2 cos( 2 ) y tan( ) x 1 0 -40 -60 -60 -40 -20 0 20 40 60 80 Eixo x tan( ) tan( ) 1 tan( ) tan( ) num den 20 -20 Figura 10: Espaço de trabalho do manipulador. 1 arctan 1 arctan Espaço Monitorado Espaço de trabalho 60 Para o robô utilizado como referência deste trabalho, cada par de ângulos 1 e 2 é suficiente para representar uma configuração na qual o manipulador se encontra. O conjunto de todas as configurações possíveis é referido como espaço de configurações (Spong, 2006), representado por Q. Uma colisão ocorre quando o robô entra em contato com um obstáculo. O conjunto de todas as configurações em que ocorre uma colisão é referido como espaço de configurações de obstáculos (Spong, 2006), representado por QO. Para o mapeamento de QO, são calculadas as configurações do robô, a partir da cinemática inversa, utilizando como entrada as coordenadas cartesianas de cada ponto das circunferências que representam os obstáculos. Porém com esta abordagem, é mapeado somente o QO referente ao atuador do manipulador, de tal forma que as colisões com a estrutura do manipulador não estã sendo analisadas. Para que se tenha um QO que represente por completo as configurações de colisão, a estrutura cinemática do manipulador é discretizada em pontos de controle, agregando uma nova cinemática inversa para cada ponto de controle atribuído. A figura 11 mostra em (a) QO calculado somente para o atuador do manipulador (b) QO calculado para o manipulador discretizado em 2 pontos (c) QO calculado para o manipulador discretizado em 10 pontos. (6) Onde, num (a1 a2 cos( 2 ) y xa2 sen( 2 ) den (a1 a2 cos( 2 ) x ya2 sen( 2 ) Figura 9: Manipulação geométrica utilizada para cálculo do ângulo 1 na cinemática inversa. 4.2.3 Espaço de trabalho e cálculo de QO O espaço de trabalho de um robô é o volume total varrido pelo atuador do robô quando este executa todas as suas configurações possíveis. O espaço de trabalho é limitado pela geometria do robô, assim como pelas limitações mecânicas das juntas (Spong, 2006). 3950 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 elo, o valor do ângulo 2 é irrelevante, sendo então considerados todos os valores de 2 dentro do espaço de trabalho como sendo pertencentes a QO, para este 1 específico. 4.2.4 Planejamento de caminho por campo potencial artificial A ideia por trás do método de campos de potenciais artificiais para planejamento de caminho é tratar o robô como uma partícula no espaço de configurações sob a influência de um campo de potencial artificial U. O campo U é construído de tal forma que o robô é atraído pela configuração em que seu ponto objetivo é alcançado e repelido pelas configurações QO (Spong, 2006). De maneira geral, o campo U é um campo resultante de uma adição onde uma parcela constitui a atração e a outra parcela constitui a repulsão, tal qual na equação 7 (Spong, 2006): (a) U ( ) U atr ( ) U rep ( ) (7) A força resultante dos campos de potencial artificiais que deve ser aplicada no robô é dada por: F ( ) Fatr ( ) Frep ( ) Onde, Fatr ( ) [U atr ( )] Frep ( ) [U rep ( )] Onde F( ) é a força resultante, Fatr( ) é a força de atração gerada pela configuração final desejada e Frep( ) é a resultante de forças repulsivas geradas pelos obstáculos. Para o campo potencial de atração, geralmente se adotam uma das duas formas: 1. Cônico: (b) U atr ( ) Ka o( ) o(f ) 2. (8) Parabolóide: U atr ( ) 1 Ka o( ) o(f ) 2 2 (9) Onde, Ka = Constante de atração, o( ) = Configuração atual do robô, o( f) = Configuração final desejada. (c) Figura 11: Espaços de configuração de obstáculos (QO) calculados para discretização em (a) 1 ponto (b) 2 pontos (c) 10 pontos. Uma escolha que consegue combinar as vantagens de cada uma das possibilidades descritas por (8) e (9) é definindo uma distância de referência onde para distâncias acima desta referência o potencial é da forma cônica e para distâncias menores que a referência o potencial é da forma de parabolóide. A faixa de valores de QO similar a um retângulo, presente nas figuras 11 (b) e (c), corresponde a colisão dos obstáculos com o primeiro elo, indicado na figura 9 com comprimento a1. Esta faixa de valores de QO se apresenta desta forma devido ao fato de que caso ocorra colisão com este primeiro 3951 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 5 Resultados 1 U atr1 ( ) dKa o( ) o(f ) d 2 Ka (10 2 Os resultados apresentados tratam de simulações computacionais utilizando a modelagem feita para o manipulador SCARA. As figuras (12) e (13) mostram as etapas desenvolvidas desde a aquisição da imagem via sensor, até a geração do caminho para o manipulador. ) U atr 2 ( ) 1 Ka o( ) o(f ) 2 2 (11) Ou seja, para distâncias maiores que a distância de referência, aqui indicada pela letra ‘d’, a função do campo de atração toma a forma de (10). Analogamente, para distâncias menores, ou iguais, que a distância de referência a função do campo de atração toma a forma de (11). Consequentemente, a força de atração resultante é apresentada: o( ) o(f ) o( ) o(f ) (12) Fatr 2 ( ) Ka(o( ) o(f )) (13) Fatr1 ( ) dKa Onde a força de atração assume a forma de (12) para distâcias maiores que a de referência e assume a forma de (13) para distâncias menores, ou iguais, que a de referência. O campo potencial de respulsão, por sua vez, pode ser definido como: 1 1 1 Kr 2 p(o( )) p U rep 2 ( ) 0 U rep1 ( ) Figura 12: Imagem do cenário obtida pelo sensor. (14) (15) Onde, Kr = Constante de repulsão, p(o( )) = Menor distância entre o( ) e todo o QO do obstáculo específico, p = distância de referência. Caso a configuração do robô se encontre numa distância menor que a referência, o campo de repulsão assume a forma de (14). Caso contrário, os obstáculos não influem no caminho descrito pelo robô, pois o campo de repulsão assume a forma de (15). Dessa forma os obstáculos só passam a influir no planejamento do caminho do robô a partir do momento que o robô entra numa região próxima do obstáculo, definida pela distância de referência representada pela letra ‘p’. Uma questão que é constantemente apontada com relação ao planejamento de caminhos com campo de potencial artificial é a existência de mínimo local. A solução utilizada neste trabalho para amenizar os problemas obtidos com mínimos locais é presente em (Ding, 2005). Esta solução parte da identificação do mínimo local, seguida da adição de uma novo campo artificial que force o manipulador a sair da configuração que confere a condição de mínimo local. Isto é feito fazendo o manipulador circundar algum dos obstáculos até que o robô não se encontre mais numa configuração de mínimo local. Figura 13: Mapeamento obstáculos no cenário. e circunscrição dos A posição inicial adotada foi (0,63.2) e o ponto que deseja se alcançar no espaço cartesiano foi o ponto (13,25), como mostra a figura (14). Espaço cartesiano 70 Ponto de partida Ponto objetivo Área monitorada 60 50 Eixo y 40 30 20 10 0 0 3952 10 20 Eixo x 30 Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 A partir dos resultados apresentados pode-se concluir que a integração entre tecnologias pôde ser feita e o resultado desejado pôde ser alcançado. Vale ressaltar que através desta análise que se utiliza dos pontos de controle, os resultados gerados de desvio de colisão englobam toda a estrutura do manipulador, não só o end-effector. Para trabalhos futuros, a partir dos tópicos listados e integrados neste trabalho, tem-se: planejamento de caminhos 3D em ambientes monitorados por sensores de imagem, análises sobre o planejamento de caminho com processamento em tempo real. Figura 14: Visualização do cenário com ponto de partida e ponto objetivo. A figura (15) mostra o QO mapeado para o cenário proposto pela figura (12) já com ao planejamento de caminhos desenvolvido pelo método de campo de potencial artificial. 200 150 Configuração inicial Configurações desejadas Caminho por campos de potencial Angulo 32 100 50 0 Referências Bibliográficas -50 CRAIG, J. J. (2005). Introduction to Robotics Mechanics and Control. Third Edition. Pearson -150 Prentice Hall. DING, F., JIAO, P., BIAN, X. & WANG, H. (2005). -200 -40 -20 0 20 40 60 80 100 120 140 160 180 AUV Local Path Planning Based on Virtual PoAngulo 31 tential Field. Proceedings of the IEEE InternaFigura 15: Mapeamento de QO com exibição do tional Conference on Mechatronics & Automacaminho percorrido da configuração inicial à tion Niagara Falls. configuração desejada. GONZALEZ, R.C. and WOODS, R.E. (2009). Processamento Digital de Imagens. Third A figura (16) simula o caminho percorrido pelo Edition. Pearson Prentice Hall. manipulador do ponto de origem ao ponto objetivo. KHATIB, O. (1986). Real-time obstacle avoidance for manipulators and mobile robots. The InternaObstáculo 60 tional Journal of Robotics Research 5(1), 90–98. Atuador OTSU, N. (1979). A Threshold Selection Method Ponto inicial Ponto objetivo 50 from Gray-Level Histograms. IEEE Área Monitorada Transactions on Systems, Man, and Cybernetics, 40 Vol. SMC-9, No. 1. PEREIRA, J. P. P. and DA SILVA, J. P. 30 (2012).Aplicação de algoritmos genéticos ao problema de planejamento de caminhos com a 20 abordagem de decomposição em células convexas para o caso aproximado. Anais do XIX 10 Congresso Brasileiro de Automática. SPONG, M. W., HUTCHINSON, S. & 0 VIDYASAGAR, (2006). Robot Modeling and -20 -10 0 10 20 30 40 50 Control. John Wiley & Sons VOLPE, R. and P. Khosla (1990). Manipulator conFgira 16: Caminho percorrido pelo manipulador para trol with superquadratic artificial potential funcir do ponto inicial ao ponto objetivo. tions: Theory and experiments. IEEE Transactions on Systems, Man, and Cybernetics 20(6), 6 Conclusão 1423–1436. -100 Este trabalho considera o problema de planejamento de caminho para desvio de obstáculos de um manipulador SCARA dentro de um espaço monitorado por um sensor industrial de imagens. A proposta foi utilizar um conjunto de técnicas clássicas de processamento digital de imagens e de prevenção de colisões e integrá-las de maneira a resolver o problema formulado. 3953