Full text
Outubro 2022 Mafalda Campos Conde Projeto, construção e controlo de um pescoço antropomórfico de um robô
Outubro 2022 Mafalda Campos Conde Projeto, construção e controlo de um pescoço antropomórfico de um robô Dissertação de Mestrado Mestrado Integrado em Engenharia Mecânica Trabalho efetuado sob a orientação de: Professor Doutor João Paulo Flores Fernandes Professor Doutor Pedro Filipe Lima Marques
i DIREITOS DE AUTOR E CONDIÇÕES DE UTILIZAÇÃO DO TRABALHO POR TERCEIROS Este é um trabalho académico que pode ser utilizado por terceiros desde que respeitadas as regras e boas práticas internacionalmente aceites, no que concerne aos direitos de autor e direitos conexos. Assim, o presente trabalho pode ser utilizado nos termos previstos na licença abaixo indicada. Caso o utilizador necessite de permissão para poder fazer um uso do trabalho em condições não previstas no licenciamento indicado, deverá contactar o autor, através do RepositóriUM da Universidade do Minho. Licença concedida aos utilizadores deste trabalho Atribuição-NãoComercial CC BY-NC https://creativecommons.org/licenses/by-nc/4.0/
ii AGRADECIMENTOS À minha família, pela educação, pelos conselhos e pelo amor que me trouxeram a este ponto. Ao pessoal do LAR que, desde o início, me acolheu de braços abertos e me auxiliou ao longo deste projeto. Em especial à Joana Coelho, que me guiou imensamente e sempre se disponibilizou para solucionar qualquer problema, ao Ricardo Remelgado e ao Marco Luís, pelas opiniões amigas e ajuda diária. Ao Professor Filipe Marques, que se revelou um guia indispensável, encaminhando-me com críticas construtivas e sempre bom humor. Aos meus amigos da Universidade, que me fizeram quem sou hoje e por todos os momentos passados. Ao Guilherme, que me acompanhou desde o início e me puxou para cima, mesmo nos momentos mais difíceis, mostrando-me que tudo é possível. Para terminar, a todos os que de qualquer maneira contribuíram para a finalização deste projeto com conhecimento ou com a apenas um sorriso. Obrigada.
iii DECLARAÇÃO DE INTEGRIDADE Declaro ter atuado com integridade na elaboração do presente trabalho académico e confirmo que não recorri à prática de plágio nem a qualquer forma de utilização indevida ou falsificação de informações ou resultados em nenhuma das etapas conducente à sua elaboração. Mais declaro que conheço e que respeitei o Código de Conduta Ética da Universidade do Minho. STATEMENT OF INTEGRITY I declare that I acted with integrity elaborating the present academic work and confirm that I did not resort to plagiarism or any other form of misuse or falsification of information or results in any leading steps to its elaboration. I further declare that I know and have respected the Code of Ethical Conduct of the University of Minho Universidade do Minho, 31 de outubro de 2022
iv RESUMO A população tem procurado sempre por meios de desenvolvimento de máquinas inteligentes para futuro emprego numa variedade de áreas e aplicações, o que levou a um tremendo avanço na área da robótica nos últimos anos. Os robôs antropomórficos existem desde a segunda metade do século XX e apresentam-se como uma ótima solução em ambientes e tarefas que requerem a interação com o ser humano, como em fins educativos, de auxílio e entretenimento. A presente dissertação apresenta como principal objetivo a construção e controlo de um pescoço antropomórfico para o robô CHARMIE ( Collaborative Healthcare/Home Assistance by Minho Industrial Electronics ), um robô a ser desenvolvido no LAR (Laboratório de Automação e Robótica da Universidade do Minho) que tem como função o auxílio da população mais velha em ambientes domésticos, de saúde e de instalações auxiliares. O pescoço deve ser capaz de se movimentar como um pescoço humano, detetando e rastreando objetos através de visão por computador. Após uma introdução ao tema, é realizada a revisão bibliográfica dos conceitos relevantes para a execução do tema. De seguida, é abordado o projeto mecânico, onde são exibidos todos os requisitos iniciais, escolhido o mecanismo do pescoço, e modelado e construída a solução final. Devido a problemas de compatibilidade com o Arduíno, o modelo do pescoço sofreu alterações em relação aos requisitos iniciais. Posteriormente à construção do pescoço, é desenvolvido o seu controlo. A cinemática direta e o seu espaço de trabalho são calculados e os algoritmos de visão por computador, utilizando Python , e Arduíno são explicados, bem como a sua ligação. No final deste capítulo, são exibidos os testes experimentais realizados. Por fim, com o pescoço concluído, a solução final conseguida é avaliada em relação aos objetivos e requisitos inicias propostos, apresentando os resultados e as suas conclusões. Palavras-Chave Robô Antropomórfico, Pescoço; Controlo; Visão por computador; Arduíno
v ABSTRACT People have always been looking for ways to develop intelligent machines for further employment in a variety of areas and applications, which has led to a tremendous advance in robotics in recent years. Anthropomorphic robots have been around since the second half of the 20th century and present an optimal solution in environments and tasks that require human interaction, such as education, assistance, and entertainment. The main goal of this dissertation is the construction and control of CHARMIE's neck, an anthropomorphic robot, in LAR (Laboratory of Automation and Robotics of University of Minho). Its purpose is the assistance of elders in domestic, healthcare, and ancillary facilities settings. The neck must be able to move like a human neck, detecting and tracking objects through computer vision. After an introduction, a bibliographic review of the concepts is carried out. Furthermore, the mechanical project of the neck is approached, the initial requirements are exhibited, the neck mechanism is chosen, and the final model is designed and built. Due to Arduino compatibility issues, the neck model had to be changed concerning its initial requirements. Next to its construction, the control of the neck is developed. Direct kinematics and the workspace of the neck are computed and the algorithms of computer vision, using python, and Arduino are explained. At the end of this chapter, the experimental tests were displayed. The final solution is evaluated using the initial goals and requirements, and the results and conclusions are presented. Keywords ANTHROPOMORPHIC ROBOT; NECK; CONTROL; COMPUTER VISION; ARDUINO
vi ÍNDICE Agradecimentos ................................................................................................................................... ii Resumo.............................................................................................................................................. iv Abstract............................................................................................................................................... v Índice ................................................................................................................................................. vi Índice de Figuras ...............................................................................................................................viii Índice de Tabelas ................................................................................................................................ x 1. Introdução .................................................................................................................................. 1 1.1. Motivação ........................................................................................................................... 1 1.2. Objetivos ............................................................................................................................. 2 1.3. Estrutura de Dissertação ..................................................................................................... 2 2. Revisão Bibliográfica ................................................................................................................... 4 2.1. Robôs Antropomórficos ....................................................................................................... 5 2.2. Anatomia do Pescoço Humano ............................................................................................ 9 2.3. Pescoços Antropomórficos................................................................................................. 13 2.4. Sistema de Controlo .......................................................................................................... 21 3. Projeto Mecânico ...................................................................................................................... 29 3.1. Requisitos Iniciais .............................................................................................................. 29 3.2. Modelo Conceptual ........................................................................................................... 37 3.3. Construção do Pescoço ..................................................................................................... 44 3.4. Conclusões do capítulo ...................................................................................................... 49 4. Controlo do pescoço ................................................................................................................. 50 4.1. Sistema de Coordenadas ................................................................................................... 51 4.2. Cinemática direta .............................................................................................................. 52 4.3. Algoritmo de visão ............................................................................................................. 56
vii 4.4. Arduíno ............................................................................................................................. 61 4.5. Testes Experimentais ........................................................................................................ 63 4.6. Conclusões do capítulo ...................................................................................................... 69 5. Considerações finais ................................................................................................................. 70 5.1. Conclusões ....................................................................................................................... 70 5.2. Perspetivas e Trabalhos Futuros ........................................................................................ 71 Apêndice I – Desenhos Técnicos de Apoio ........................................................................................ 72 Apêndice II – Algoritmos utilizados .................................................................................................... 78 Bibliografia ....................................................................................................................................... 79
Projeto, construção e controlo de um pescoço antropomórfico de um robô 2 1.2. OBJETIVOS O objetivo principal desta dissertação prende-se da construção e controlo de um pescoço antropomórfico, de três graus de liberdade, capaz de reproduzir o movimento do pescoço humano e que seja concordante com CHARMIE ( Collaborative Healthcare/Home Assistance by Minho Industrial Electronics ), um robô antropomórfico de assistência médica e doméstica destinado ao auxílio da população. O sistema deste pescoço deve conter 3 graus de liberdade e atuar utilizando visão por computador para deteção e rastreamento de objetos. Quanto a características principais, estas são, a modularidade, leveza e baixo custo. Posto isto, estão adjacentes a este objetivo principal um conjunto de objetivos complementares, necessários ao desenvolvimento da presente dissertação. Especificamente, o estudo de robôs e pescoços antropomórficos, o estudo do sistema anatómico do pescoço humano, o estudo e implementação de sistemas de deteção e rastreamento de objetos por visão por computador que permita a localização relativa de objetos no espaço bidimensional, para além de, calcular a trajetória a realizar e, finalmente, o estudo e implementação de um sistema de controlo capaz de satisfazer as características anatómicas de um pescoço, apto ao controlo simultâneo de três motores e funcionamento em conjunto com o sistema de visão. 1.3. ESTRUTURA DE DISSERTAÇÃO A presente dissertação encontra-se dividida em cinco capítulos lógicos, que seguem a ordem de tarefas necessárias à realização de todos os objetivos propostos e ao desenvolvimento do projeto. O Capítulo 1 faz uma introdução ao tema de estudo, revelando o enquadramento, os objetivos delineados e a estrutura da dissertação. O Capítulo 2 inicia o estudo do tema, é feita uma revisão bibliográfica dos assuntos relevantes ao desenvolvimento do projeto, nomeadamente, robôs antropomórficos, o CHARMIE, a anatomia do pescoço humano, os pescoços antropomórficos, visão por computador, cinemática direta de sistemas multicorpo e Arduíno. No Capítulo 3, o projeto mecânico do pescoço de CHARMIE é descrito, começando pela descrição dos requisitos iniciais ao projeto e a escolha do mecanismo mais adequado, seguido da exposição do modelo conceptual e da construção do pescoço. O Capítulo 4 destina-se ao controlo do pescoço, é ilustrado o sistema de coordenadas do pescoço, calculada a cinemática direta e o espaço de trabalho deste, são também esclarecidos os algoritmos de visão por computador e Arduíno, bem como a ligação destes dois para que o pescoço
Projeto, construção e controlo de um pescoço antropomórfico de um robô 3 possa atingir o objetivo. No final deste capítulo, são exibidos os estes experimentais realizados de modo a melhorar a performance do pescoço. Por fim, o Capítulo 5 apresenta as considerações finais sobre o projeto, divulgando as conclusões e os trabalhos futuros.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 4 2. REVISÃO BIBLIOGRÁFICA Atualmente, a população global está consistentemente a envelhecer, com o grupo de maiores de 65 anos a ultrapassar todos os outros grupos etários. Na União Europeia, estima-se que este crescimento seja de 19% a 29% nos próximos 50 anos [4]. Sendo este o grupo etário mais fragilizado, um crescimento obriga à necessidade de estratégias e recursos que suportem as fragilidades diárias de indivíduos dependentes, não sobrecarregando o sistema público de saúde. Isto apresenta desafios significativos, com implicações, não só a nível social, mas também a nível económico [4]. Nos estados iniciais de desenvolvimento robótico, os projetistas focavam-se principalmente em robôs industriais automatizados ou robôs com tarefas definidas, que apenas operam em ambientes limitados. Mas, recentemente, o destaque tem sido orientado para “robôs amigos do humano”, devido ao facto de a indústria já ter atingido o máximo benefício possível da tecnologia robótica [3]. Com isto em vista, pode-se considerar os robôs antropomórficos como uma boa solução em termos de suporte e auxílio a uma vida independente. Robôs antropomórficos são considerados uma das últimas formas de robôs inteligentes, estes apresentam as mesmas dimensões e figura dos humanos e, portanto, têm a vantagem de conseguir manipular ferramentas da mesma forma que a sua inspiração, o que sugere a possibilidade de aprendizagem de habilidades humanas [5]. Alguns dos pontos a favor são o facto de conseguirem operaram em diversos ambientes projetados para humanos e a aceitação destes, por parte de utilizadores não qualificados, ser estatisticamente mais elevada, pois apresentam movimentos previsíveis e conhecidos [6]. Combinando as necessidades da população global e o desenvolvimento robótico, surge a idealização de CHARMIE, um robô antropomórfico colaborativo de assistência médica e doméstica. No entanto, a versão mais recente de CHARMIE não apresenta um pescoço, a construção e o controlo de um apresenta-se como o objetivo deste caso de estudo. Este capítulo tem como objetivo a aquisição e melhor compreensão dos conceitos teóricos a aplicar na presente dissertação, bem como a análise de projetos semelhantes já desenvolvidos. Com isto em vista, serão abordados um conjunto de conceitos, nomeadamente robôs antropomórficos, CHARMIE, anatomia do pescoço humano, soluções existentes de pescoços antropomórficos, bem como, conceitos e dispositivos auxiliares ao controlo de um sistema, particularmente, análise cinemática, visão por computador e Arduíno.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 5 2.1. ROBÔS ANTROPOMÓRFICOS Um robô antropomórfico é um sistema mecatrónico altamente complexo, visto que os requisitos funcionais deste apenas podem ser obtidos através da interação de componentes mecatrónicos, com tecnologia sensorial extensa, atuadores de última geração e software altamente desenvolvido [6]. WABOT-1 , desenvolvido por Kato e os seus colegas em 1973, foi o primeiro robô antropomórfico, este foi contruído como um sistema integrado com dois braços, duas pernas, um sistema de reconhecimento de voz, entre outros. O mesmo grupo também desenvolveu um robô antropomórfico tocador de piano, WABOT-2 , em 1985[7]. Figura 2.1 - Fotos ilustrativas dos robôs antropomórficos WABOT-1 e WABOT-2, à esquerda e à direita respetivamente [8][9]. A estes primeiros robôs seguiram-se outros, ao longos dos anos. Um deles é o Qrio , construído pela Sony em 2001, foi projetado para entretenimento através da sua interação com humanos com movimentos e fala. Este conta com 38 juntas flexíveis, apresenta 580 mm de altura e um peso de aproximadamente 6,5 kg [10].
Projeto, construção e controlo de um pescoço antropomórfico de um robô 6 Figura 2.2 – Imagem representativa de Qrio [11]. Outro exemplo, é o caso de ASIMO , também de 2001, apresenta 26 graus de liberdade, podendo andar e executar algumas tarefas muito semelhantes a um ser humano, a sua altura é de 120mm e o peso 52 kg [10]. Figura 2.3 – Foto ilustrativa de ASIMO ao lado de uma pessoa [10]. Mais recentemente, é de destacar o desenvolvimento de WABIAN-2 , que tem como objetivo simular a marcha humana e, assim, testar dispositivos como assistentes de marcha usados em indivíduos com deficiências nos membros inferiores [12].
Projeto, construção e controlo de um pescoço antropomórfico de um robô 7 Figura 2.4 - Foto ilustrativa de WABIAN-2 [13]. 2.1.1. CHARMIE O desenvolvimento de robôs humanoides interativos abre a porta a novas áreas de aplicação como assistência médica, reabilitação, assistência doméstica, educação e entretenimento [3]. Neste sentido, o Collaborative Healthcare/Home Assistance by Minho Industrial Electronics (CHARMIE), na Figura 2.5, é um robô antropomórfico de serviços domésticos e de saúde capaz de realizar tarefas em ambientes não padronizados. Este robô tem como objetivo social ser capaz de auxiliar lares, instalações de saúde, casas domésticas, entre outros. O seu objetivo científico é o desenvolvimento de um robô antropomórfico multifacetado capaz de realizar uma grande variedade de tarefas, baseando-se, apenas, em soluções de machine learning .
Projeto, construção e controlo de um pescoço antropomórfico de um robô 8 Apesar de, no momento, o CHARMIE não ser totalmente antropomórfico, algumas partes já o são, como o braço, o objetivo é alcançar o nível antropomórfico apresentado na Figura 2.5 (a). O hardware do CHARMIE pode ser dividido em 4 secções: (i) a Plataforma de movimento; (ii) o braço robótico; (iii) o mecanismo de elevação e torso; e a (iv) a cabeça do robô. A sua forma antropomórfica garante que as pessoas que interagem com este robô tenham uma sensação de mais conforto e “amizade” em relação a robôs com outras formas [4]. A versão mais recente de CHARMIE, Figura 2.5 (c), conta com uma câmara RGB-D, uma interface do utilizador multimodal e um microfone, como o peso da cabeça do robô não pôde ser ajustado no sistema atual de elevação, foi introduzido um grau de liberdade para simular um possível pescoço e permitir a rotação da cabeça, este movimento também permite o ajuste da câmara RGB-D para ver objetos a diferentes alturas [4]. Assim, perante as limitações do pescoço existente, é imperativo o desenvolvimento de um mecanismo antropomórfico, com 3 graus de liberdade, capaz de reproduzir os movimentos do pescoço humano para o CHARMIE. (a) (b) (c) Figura 2.5 – (a) Desenho conceptual de CHARMIE; (b) desenvolvimento do design antropomórfico; (c) Primeiro protótipo montado.[4]
Projeto, construção e controlo de um pescoço antropomórfico de um robô 9 2.2. ANATOMIA DO PESCOÇO HUMANO Para desenvolver um pescoço antropomórfico para CHARMIE, é necessário estudar a anatomia do pescoço humano e a natureza do seu movimento de modo a projetar um mecanismo que o possa replicar. O pescoço humano fornece estabilidade, mantém a postura da cabeça, capacita a movimentação, transmite cargas e absorve choques, e, por essa razão, necessita de ser forte e suficientemente móvel [14]. Este apresenta um mecanismo bastante complexo, com mais de 20 músculos e 10 ossos [2]. É constituído por sete vertebras cervicais, geralmente referidas de C1 a C7. A primeira vertebra (C1) designa-se como vertebra Atlas e tem como função o suporte da cabeça[15], possibilitando também a realização do movimento de flexão/ extensão superior [2]. A segunda vertebra (C2), vertebra Áxis, permite a rotação da cabeça. A representação anatómica das vértebras pertencentes ao pescoço encontra-se na Figura 2.6. Figura 2.6 – Representação anatómica das vértebras existentes no pescoço humano [16].
Projeto, construção e controlo de um pescoço antropomórfico de um robô 10 Na Tabela 2.1 está presente os ângulos de movimentos do pescoço que acontecem nas vertebras cervicais. Tabela 2.1Ângulo de movimento em cada vertebra cervical do pescoço humano [3]. Segmento Flexão lateral (°) Flexão lateral (°) Rotação (°) C0/C1 30 10 1.0 C1/C2 30 40.5 C2/C3 12 70 3.0 C3/C4 18 6.5 C4/C5 20 6.8 C5/C6 20 6.9 C6/C7 15 5.4 Apesar de cada vertebra ter 6 graus de liberdade, investigadores consideram que o pescoço apresenta 6 graus de liberdade, correspondendo a 3 graus de liberdade de translação e 3 graus de liberdade de rotação. De um ponto de vista prático, os efeitos da translação podem ser negligenciados em maior parte das aplicações, e portanto, o pescoço humano pode ser simplificado a 3 graus de liberdade: inclinação para a frente/trás (flexão/extensão); inclinação para a esquerda/direita (flexão lateral) e torsão para a esquerda/direita (rotação), ou em alternativa podem-se designar por roll, pitch e yaw , respetivamente [15]. O alcance, velocidade e aceleração médios destes movimentos do pescoço estão evidenciados na Figura 2.2. Figura 2.7 – Graus de liberdade do pescoço humano.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 11 Tabela 2.2Especificações do pescoço humano [17]. A certo ponto no tempo, o pescoço pode estar numa das seguintes nove posições estáticas, presentes na Figura 2.8, designadas por posturas do pescoço, ou pode-se movimentar em qualquer ordem entre estas nove posturas[18]. Através de [19] foi possível obter as proporções médias do pescoço humano, esta informação encontra-se sumarizada na Tabela 2.3. Figura 2.8 – Posições estáticas do pescoço. (a) PMpescoço no meio; (b) PEEpescoço na extrema esquerda; (c) PED – pescoço na extrema direita;(d) PCDpescoço na direita em cima;(C) PEC – pescoço na esquerda em cima;(f)PPMC – pescoço no ponto máximo de cima;(g) PPMB – pescoço no ponto máximo baixo;(h) PBEpescoço em baixo à esquerda; (i) PBD – pescoço em baixo à direito. Alcance (°) Velocidade max (°/s) Aceleração max (°/s2) Pitch -71 to +103 352 3300 Roll +/- 63.5 352 3300 Yaw +/- 100 352 3300 (a) PM (b) PEE (c) PED (d) PDC (e) PEC (f) PPMC (g) PPMB (h) PBE (i) PBD
Projeto, construção e controlo de um pescoço antropomórfico de um robô 18 Tabela 2.4 – Tabela resumo das soluções existentes para pescoços antropomórficos. Nome GDL Massa (kg) Dimensões (cm) Princípio do mecanismo Vantagens Desvantagens Imagem esquemática Ref iCub 3 1,5 l =7 c =9 Configuração usando uma mola • Baixa massa • Baixa custo • Alta velocidade com consumo de energia diminuto •Baixa Inércia, o que é indicado na interação com objetos frágeis e ações delicadas • Os motores teriam de ser posicionados no peito do robô, prejudicando assim a modularidade do design. •O centro de rotação é difícil de estimar porque depende do tamanho da mola, da sua elasticidade e na tipologia dos atuadores [2], [10] Configuração em paralelo •Alta precisão •Alta capacidade de carga •Alta rigidez •Espaço interior para cabos •Soluções simples na cinemática inversa. •Como os motores se encontram fixos na base a inercia da zona que move é relativamente pequena •Área de trabalho reduzida devido ao par esférico passivo. •Os atuadores tiveram que ser feitos à medida. •Muito difícil de evitar interferências entre várias partes para movimentos grandes Configuração em série •Simples e robusto •Fácil de controlar •Alta performance •Foi necessário adicionar um sistema de embraiagem de sobrecarga, na ligação do movimento de Yaw de modo a tornar este design mais resiliente a quedas e acidentes
Projeto, construção e controlo de um pescoço antropomórfico de um robô 19 Tabela 2.4 – Tabela resumo das soluções existentes para pescoços antropomórficos (continuação). Nome GDL Massa (kg) Dimensões (cm) Princípio do mecanismo Vantagens Desvantagens Imagem esquemática Ref IRH 3 1,42 h =31 l =20 Configuração em série •Robusto •Fácil de controlar •Ainda em fase de construção, informações apenas relativas a modelos e simulações [3] The humanoid neck 4 3,7 NE Dois atuadores em série e um estático na base •Compacto •Baixa carga móvel •Os motores do yaw, lower e pitch são estáticos em relação ao pescoço, o que significa que podem ser escolhidos motores maiores e mais potentes sem afetar a performance do pescoço •O uso de um acionamento diferencial acarreta a desvantagem de ser complexo em relação a uma configuração em série [17]
Projeto, construção e controlo de um pescoço antropomórfico de um robô 20 Tabela 2.4 – Tabela resumo das soluções existentes para pescoços antropomórficos (continuação). Nome GDL Massa (kg) Dimensões (cm) Princípio do mecanismo Vantagens Desvantagens Imagem esquemática Ref Low motion noise humanoid head 3+1 maxilar NE NE Configuração utilizando uma mola e pratos rotativos • O uso de um grupo composto de cabos e caixas tem como vantagens: a simplificação da transferência mecânica significativamente • Redução de ruído •Número elevado de componentes [15] Marko 3 2 h =0,92 l =1,64 c=0,84 Mecanismo diferencial com duas engrenagens acionadoras e uma acionada •Engrenagens cónicas espirais fornecem baixafolga •Peças com processo de fabrico complexo [14] *NENão Especificado
Projeto, construção e controlo de um pescoço antropomórfico de um robô 21 2.4. SISTEMA DE CONTROLO Automação robótica é um processo de extrema importância em ambientes industriais, já que melhora a qualidade de uma dada tarefa, reduzindo o tempo e a intervenção humana [20]. Atualmente, existem inúmeros cursos online /plataformas e software de acesso livre que mudaram a maneira como técnicos e engenheiros atualizam e evoluem o seu conhecimento, como Matlab e Python , mas, de um modo geral, carece de implementação em sistemas reais [21]. Neste sentido, torna-se valioso o uso de sistemas de baixo custo com uma variedade de sensores e atuadores capazes de ser aplicados em diferentes cenários e tarefas [21], como o Arduíno. Neste capítulo serão estudadas as opções mais viáveis, tanto em termos de software, como sistemas de implementação para o controlo do pescoço de CHARMIE, tendo em conta o seu objetivo. Começando pela elucidação teórica sobre a cinemática direta de sistemas multicorpo, seguida da exposição da visão por computador e do Arduíno. 2.4.1. CINEMÁTICA DIRETA DE SISTEMAS MULTICORPO Apesar dos robôs antropomórficos terem diferentes formas estruturais, nos últimos anos, têm sido mais desenvolvidos aqueles com movimentos rotativos com 3 ou mais eixos [22]. De uma forma geral, pode-se considerar que um sistema multicorpo apresenta duas caraterísticas principais: (i) componentes mecânicos que descrevem grandes deslocamentos translacionais e rotacionais e (ii) juntas cinemáticas que impõem constrangimentos e restrições em corpos com movimento relativo [23]. A análise cinemática é o ponto de partida para o estudo de um manipulador robótico. Kecskeméthy, Krupp e Hiller (1997) aconselham a decomposição de um sistema de várias cadeias em subsistemas para que a sua análise cinemática seja simplificada [24]. O número mínimo de variáveis necessárias para descrever completamente a configuração de um sistema é denominado GDL. Quando um sistema multicorpo é completamente definido pela orientação de um dos seus corpos, diz-se que este apresenta um grau de liberdade [23]. O número de graus de liberdade de um sistema multicorpo pode ser avaliado como a diferença entre sistema de coordenadas e o número de constrangimentos independentes. A expressão matemática que sumariza esta ideia é conhecida como o critério de Gruebler Kutzback e pode ser escrito como [23]:
Projeto, construção e controlo de um pescoço antropomórfico de um robô 22 𝑁𝐺𝐷𝐿=6𝑛𝑏−𝑚 (1) Em que 𝑛𝑏 representa o número de corpos que compõem um sistema multicorpo e 𝑚 é o número de constrangimentos independentes. Na cinemática direta, os parâmetros conhecidos (parâmetros de entrada) são ângulos absolutos de rotação de, por exemplo, 3 elementos móveis e o parâmetro a determinar (parâmetros de saída) são 3 coordenadas absolutas do ponto 𝑃, correspondente ao efetor final [22]. Em relação à definição da cinemática direta, a metodologia para obtenção da modelagem matemática da sua posição exige a fixação dos sistemas de referenciais em cada uma das juntas do pescoço, uma vez alocados os sistemas de referenciais, torna-se possível localizar a descrição espacial dos respetivos elos das juntas[24]. Depois, recorre-se à determinação dos parâmetros de Denavit-Hartenberg para cada transformação individual entre uma junta e a seguinte, através da análise do manipulador. Os parâmetros são os seguintes: 𝑎𝑖−1: Translação no eixo do 𝑥 𝛼𝑖−1: Ângulo de rotação segundo o eixo do 𝑥 𝑑𝑖: Translação no eixo 𝑧 𝜃𝑖: Ângulo de rotação segundo o eixo do 𝑧 O passo final é o produto das matrizes individuais de transformação, originando a matriz total, transformação que apresentará as coordenadas cartesianas em termos de coordenadas conjuntas. As matrizes de transformação individual seguem a seguinte base: i-1Ti = [ cos(𝜃𝑖)−sin(𝜃𝑖)cos(𝜃𝑖) sin(𝜃𝑖)sin(𝛼𝑖)𝑎𝑖cos(𝜃𝑖) sin(𝜃𝑖)cos(𝜃𝑖)cos(𝛼𝑖)−cos(𝜃𝑖)sin(𝛼𝑖)𝑎𝑖sin(𝜃𝑖) 0 sin(𝛼𝑖)cos(𝛼𝑖)𝑑𝑖 0 0 0 1 ] (2)
Projeto, construção e controlo de um pescoço antropomórfico de um robô 23 2.4.2. VISÃO POR COMPUTADOR Nos últimos anos, métodos de deep learning demonstraram ter uma performance superior a técnicas anteriores de machine learning de última geração em diversos campos, sendo a visão por computador um dos casos mais proeminente [25]. Sendo um método não destrutivo que pode ser usado para inspeção, avanços na visão por computador, permitiram novas oportunidades para criação de aplicações não só na robótica, mas também em ramos como a agricultura, indústria alimentar [26], indústria têxtil [27] e medicina [28]. Soluções tecnológicas baseadas em processamento de imagem e técnicas de visão por computador são caracterizadas por uma alta fiabilidade e eficiência e podem remover desvantagens presentes em técnicas tradicionais [27] . Além disto, atualmente, soluções de sistemas de controlo, usando estas duas técnicas, não requerem programação complexa. Existem várias bibliotecas que compreendem ferramentas que possibilitam a resolução de diversas aplicações industriais diferentes, permitindo um desenvolvimento rápido e algoritmos mais seguros. Assim, a tarefa principal passa por escolher a melhor combinação de ferramentas de processamento de imagem e organizá-las na sequência correta [27]. De entre os problemas mais comuns resolvidos, recorrendo à visão por computador, destaca-se a deteção de objetos/determinação de posição, rastreamento de objetos, reconhecimento de ação, estimativa de pose humana e segmentação semântica [25]. No presente trabalho, apenas serão, objeto de estudo a deteção de objetos e rastreamento de objetos. A deteção de objetos/determinação de posição é um processo de deteção de instâncias de objetos semânticos de uma certa classe (como humanos, aviões, pássaros) em imagens digitais e vídeos [25]. Este método pode ser usado para caminhos pré-definidos e desvio de obstáculos [29]. Primeiro a visão tem que capturar a imagem que contem o objeto e depois usar uma ferramenta de Pattern Locating para o encontrar. A região de interesse é então filtrada, de modo a reduzir o ruído de fundo, finalmente, outra ferramenta é usada para medir a área do objeto [30]. O rastreamento de objetos, com um nome autoexplicativo, teve como trabalho pioneiroo proposto em 1988 por Kass, Witkin e Terzopoulos, que foi denominado modelo de contorno ativo (ACMActive Contour Model ) ou snakes . Nesta técnica, a segmentação do objeto é feita através de splines que são guiadas, iterativamente, a partir de forças de restrição externas à imagem e forças localizadas no contorno do objeto, na direção de um mínimo local, viabilizando a deteção de arestas, linhas, contornos e outras características [31]. A Iluminação e obstrução são as principais falhas observadas em rastreamento de objetos [32].
Projeto, construção e controlo de um pescoço antropomórfico de um robô 24 Figura 2.11 – Comparação entre resultados de deteção de objetos [25]. Figura 2.12 – Etapas do método de deteção de objetos utilizando visão por computador [30]. A biblioteca OpenCV ( Open Source Computer Vision ) foi criada em 1999 por Gary Bradski , tendo como objetivo acelerar a investigação e as aplicações comerciais em visão por computadores, tornando assim este ramo de programação mais fácil. Sendo uma ferramenta de livre acesso, esta tem um forte apoio da comunidade que a utiliza, que contribuindoativamente no melhoramento desta biblioteca [33]. Atualmente, o OpenCV tem interface para as linguagens de programação C++, C, Phyton e Java , tendo suporte nos principais sistemas operativos como a Windows, Linux, Mac OS, iOS e Android. As suas aplicações variam desde sistemas de controlo até robótica avançada [34].
Projeto, construção e controlo de um pescoço antropomórfico de um robô 25 Dentro da biblioteca OpenCV, pode-se destacar um conjunto de comandos relevantes no presente trabalho: GaussianBlur – este comando permite que quaisquer zonas com demasiado detalhe na imagem sejam suavizadas minimizando o desfoque excessivo [35] e pormenores irrelevantes. FindContours - esta ferramenta localiza contornos dentro de uma imagem de entrada correspondente a um contorno pré-treinado de um objeto de interesse [36]. Não se restringe apenas a retas, encontrando também contornos curvilíneos, estes contornos podem ser posteriormente colocados em retângulos, possibilitando a medição da sua área [33]. O comando cv.CHAIN_APPROX_NONE guarda apenas os pontos dos limites necessários ao contorno do objeto, removendo os pontos redundantes e com isto salvando memória [36]. DrawContours - apresenta-se como uma ferramenta complementar a FindContours desenhando os contornos encontrados. Tem como primeiro argumento a imagem de origem, segundo argumento os contornos numa lista de python e terceiro o índice desses contornos (no caso de se querer desenhar todos os contornos coloca-se -1), os restantes argumentos referem-se à cor, espessura, etc [36]. Na Figura 2.13é possível ver o resultado da utilização destas ferramentas numa imagem de origem. Os contornos da imagem da esquerda, são detetados pelo comando FindContours eo comando DrawContours faz com que estes contornos sejam visíveis (linha verde). Figura 2.13 -Resultado da utilização das ferramentas DrawContours, e FindContours [37].
Projeto, construção e controlo de um pescoço antropomórfico de um robô 26 Moments - O momento de uma imagem em OpenCV é uma média ponderada da intensidade de pixéis numa determinada imagem/forma. Com a ajuda do momento da imagem, é possível encontrar propriedades específicas, tais como o seu raio, área, centroide etc. O centroide de uma forma é a média aritmética de todos os seus pontos [38]. A fórmula do centroide é dada pelo seguinte: 𝐶𝑥=𝑀10 𝑀00 (3) 𝐶𝑦=𝑀01 𝑀00 (4) Onde, 𝐶𝑥é a coordenada do 𝑥, 𝐶𝑦é a coordenada do 𝑦 do centroide e 𝑀 é o momento. Circle - Este comando foi construído com o intuito de desenhar um círculo em qualquer imagem, este apresenta como primeiro argumento a imagem de origem, como segundo as coordenadas do centro, como terceiro o raio e como últimos a sua cor e espessura [39]. Este comando é geralmente utilizado em conjunto com o comando Moments. A Figura 2.14 apresenta o resultado da utilização dos comandos FindContours, drawContours, Moments e Circle . Figura 2.14 - resultado da utilização dos comandos FindContours, drawContours, Moments e Circle [40]. Na presente dissertação, será utilizada a cor do objeto no algoritmo para deteção e rastreamento do mesmo. A identificação e rastreamento a partir da cor é realizada a partir da comparação entre os parâmetros que representam os pixels da imagem no espaço de cor adotado, com um intervalo de valores especificada pelo utilizador. Feita a comparação, é composta uma matriz binária, a partir da imagem original. Nela, os elementos que se encaixam no intervalo de valores desejada são representados pelo
Projeto, construção e controlo de um pescoço antropomórfico de um robô 27 valor binário "1", enquanto os restantes elementos são substituídos por "0", gerando um mapa de bits [41]. Ao utilizar OpenCV, a imagem/vídeo utilizado é automaticamente convertido para o sistema GBR ( green, blue, red ), no entanto, este sistema apresenta algumas desvantagens no processo de rastreamento, pois, num espaço de cores aditivo, as componentes como luminosidade e crominância encontram-se distribuídos entre os valores de vermelho, verde e azul, estabelecendo uma interdependência entre as cores básicas para quaisquer variações [41]. Por isso, neste caso, será utilizado o modelo HSV ( hue, saturation e value ), este funciona como o sistema visual humano e é uma combinação de matiz ( hue ), que representa o tipo de cor, saturação, que representa a pureza da cor e o valor, que representa a claridade da cor [32]. Este sistema apresenta maior sensibilidade a ruídos quando comparado com GBR [41]. 2.4.3. ARDUÍNO O Arduíno foi criado em Itália em 2005 por Massimo Banzi . Este dispositivo consiste numa placa de controlo de entrada de dados (IN) como, por exemplo, sensores, e saída de dados (OUT), como motores e leds. Apresenta um cristal oscilador de 16 Mhz, um regulador de tensão de 5V, botão reset , plug de alimentação, pinos conectores e alguns LEDs para facilitar a verificação do seu funcionamento. A entrada USV fornece alimentação enquanto estiver conectada ao computador e a tensão de alimentação quando desconectado pode variai de 7V a 12V, graças ao regulador presente na placa [42]. No Arduíno as ordens são transmitidas pelo computador através de Bluetooth , wireless , USB ou infravermelho e são traduzidas utilizando a linguagem Wiring que se baseia em C/C++. Os programas escritos usando Arduíno são chamados sketches que são escritos no editor de texto, e são salvas com a extensão de “arquivo.ino”. A consola mostra a saída de texto do Arduíno , incluindo mensagens de erro completas e outras informações. O canto inferior direito mostra a board atual e a porta série [42]. A vantagem da utilização do Arduíno deve-se ao seu baixo custo, à sua compatibilidade com vários sistemas operativos, à utilização de uma linguagem simples e ao seu software livre que conta com documentação extensiva e exemplos de código. Atualmente existem vários modelos de Arduíno , nomeadamente, Arduíno UNO , Arduíno 2009 , Arduíno Mega 2560 , Arduíno Nano e Arduíno Mega . No presente trabalho será utilizado o Arduíno UNO , na Figura 2.15. A breadboard é uma base de construção de protótipos eletrónicos que não requer soldagem e, portanto, é reutilizável. Normalmente, apresenta quatro matrizes e a ligação de circuitos é feira através
Projeto, construção e controlo de um pescoço antropomórfico de um robô 34 Tabela 3.3 – Pontuação relativamente aos requisitos específicos de cada solução. Nome Baixa complexidade Seguro Baixo custo Anatomicamente concordante Baixo peso Adequado aos motores existentes Modular GDL Imagem esquemática Ref. Total iCub a) -- -- +/- ++ ++ -- ++ ++ [2], [48] 2 b) -- ++ +/- ++ ++ + ++ ++ 9 c) ++ ++ ++ ++ ++ + ++ ++ 15
Projeto, construção e controlo de um pescoço antropomórfico de um robô 35 Tabela 3.3 – Pontuação relativamente aos requisitos específicos de cada solução (continuação). Nome Baixa complexidade Seguro Baixo custo Anatomicamente concordante Baixo peso Adequado aos motores existentes Modular GDL Imagem esquemática Ref. Total IRH ++ ++ ++ ++ ++ + ++ ++ [3] 15 The humanoidn eck -- ++ - ++ -- -- -- + [17] -3
Projeto, construção e controlo de um pescoço antropomórfico de um robô 36 Tabela 3.3 – Pontuação relativamente aos requisitos específicos de cada solução (continuação). Nome Baixa complexidade Seguro Baixo custo Anatomicamente concordante Baixo peso Adequado aos motores existentes Modular GDL Imagem esquemática Ref. Total Low motion noise humanoid head +/- ++ +/- + +/- -- ++ ++ [15] 5 Marko ++ ++ + ++ + - ++ ++ [14] 11 * Inadequado (--); Fraco (-); Satisfatório (+/-); Bom (+); Excelente (++)
Projeto, construção e controlo de um pescoço antropomórfico de um robô 37 3.2. MODELO CONCEPTUAL Através do estudo dos requisitos iniciais relativamente aos mecanismos já existentes, foi possível concluir que a melhor opção será uma configuração em série composta por 3 juntas de revolução, cada uma realizando o movimento de roll, pitch e yaw . Este tipo de mecanismo vai permitir a conceção de um pescoço simples, robusto, mas de alta performance. No Capítulo 3.1.2 foram avaliados os motores a utilizar, uma das características avaliadas foi o seu binário máximo face ao binário máximo necessário para realizar os 3 três graus de liberdade necessários. A conclusão dita a utilização do Servo DF15RMG para a realização do movimento de yaw e a utilização dos dois Servos Dynamixel MX-64T para a realização dos movimentos de pitch e roll. Sabe-se que o binário ou torque de um braço, depende proporcionalmente do tamanho (distância) desse mesmo braço, (5). Por isso, para evitar a realização de binários mais elevados que o necessário, os servos que necessitam de efetuar momentos mais elevados (neste caso os servos de pitch e roll ), serão posicionados mais perto da cabeça (câmara 3D D455 Intel Realsense ) diminuindo a sua distância, 𝑑, ao final do braço. 𝑀=𝐹𝑑 (5) Onde, 𝑀 é o momento em Nm, 𝐹, é a intensidade da força em N e 𝑑, é a distância em m. Neste capítulo, serão abordados dois modelos conceptuais realizados através do software SolidWorks 2019 . Apesar do primeiro modelo ser mecanicamente coerente e seguir os requisitos iniciais do sistema, posteriormente, não foi possível realizar o controlo dos servos Dynamixel MX-64T em Arduíno, o que originou a necessidade da modelação e construção de uma nova estrutura para o pescoço de CHARMIE. O modelo final utiliza três Servos DF15RMG. De realçar que, em ambos os modelos conceptuais, os componentes passaram por várias iterações, no entanto apenas serão exibidas as iterações finais. Os desenhos técnicos de apoio das peças finais estão exibidos no Apêndice I. 3.2.1. PRIMEIRO MODELO Começando pela base, foi modelado uma peça de encaixe com o primeiro servo (servo DF15RMG) e com o disco rotativo. Na Figura 3.2é possível observar a peça modelada em (a) bem como o encaixe, em (b).
Projeto, construção e controlo de um pescoço antropomórfico de um robô 38 (a) (b) Figura 3.2 – (a) Modelação da base do pescoço, encaixe para o servo que realiza o yaw ; (b) Modelação do encaixe do servo DF15RMG na base e no disco rotativo. De seguida, foi necessário conectar a peça da base com o próximo servo, neste caso, o que realiza o movimento de roll . Com esse intuito, usou-se como base uma peça de encaixe já existente no mercado para encaixe entre dois servos Dynamixel MX-64T , nomeadamente FR05-S101 presente na Figura 3.3, e alterou-se os furos para que correspondessem aos furos do disco rotativo em Figura 3.2 (b). A peça final está representada na Figura 3.5 (a). Figura 3.3 – Representação esquemática do encaixe da peça FR05-S101 no servo Dynamixel MX-64T [49].
Projeto, construção e controlo de um pescoço antropomórfico de um robô 39 Relativamente à peça da Figura 3.5(b),esta também foi inspirada numa peça já existente para o Dynamixel MX-64T , a FR05-H101 (Figura 3.4), no entanto, a altura desta peça foi reduzida relativamente à original (de 32,5 mm para 26,64 mm), para que a altura do pescoço não divergisse da altura anatómica normal de um pescoço. A Figura 3.5 (c) exibe a modelação do encaixe destas duas peças no servo. (a) (b) (c) Figura 3.5 – (a) Modelação do encaixe inferior, furos centrais compatíveis com o disco rotativo da base; (b) Modelação do encaixe superior; (c) Modelação do encaixe superior e inferior no servo Dynamixel MX-64T. Figura 3.4 - Representação esquemática do encaixe da peça FR05-H101 no servo Dynamixel MX-64T [53].
Projeto, construção e controlo de um pescoço antropomórfico de um robô 40 O último servo realiza o movimento de pitch e situa-se no topo do pescoço, a ligação deste com o servo anterior foi feita através da peça FR05-S101, já apresentada na Figura 3.3. Foi, também, necessária a modelação de um suporte para a Câmara 3D D455 Intel Realsense que se encaixa no servo, as Figura 3.6 (a) e (b) apresentam a parte frontal do suporte da câmara e a parte traseira (tampa) respetivamente, a Figura 3.6 (c) exibe a modelação do encaixe final. (a) (b) (c) Figura 3.6 – (a)Modelação da parte frontal do suporte da câmara3D D455 Intel Realsense ; (b) Modelação da tampa do suporte da câmara 3D D455 Intel Realsense com encaixe para os discos rotativos do servo Dynamixel MX-64T (c)Modelação do encaixe. Através da junção destas três partes, obtém-se a montagem final do pescoço. A modelação desta montagem está representada na Figura 3.7, a realização desta permitiu verificar a concordância dos encaixes, de modo à realização da impressão 3D das peças. Apresenta um total de três graus de liberdade e três juntas ativas. A sua massa total é de 0,420 Kg e uma altura de 185 mm.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 41 Figura 3.7 – Modelação do encaixe total do pescoço; (a) Vista de frente; (b) Vista lateral; (c) Vista em perspetiva da traseira. Quando comparado com as proporções anatómicas na Tabela 2.3, é possível observar que o comprimento médio de um pescoço humano é de 106 mm, pelo que o erro relativo será de 75%. Para colmatar este erro relativo, aquando da montagem do pescoço no tronco de CHARMIE, este deve ser embutido no peito 79 mm. Além do comprimento elevado, a integração dos dois motores Dynamixel MX-64T com o Arduíno não é direta, visto que estes motores não estão adequados às especificações do Arduíno, apesar de tentativas, usando métodos de compatibilidade, esta ligação não foi conseguida com sucesso, e, portanto, o controlo destes dois em conjunto com o Servo DF15RMG não foi possível. Em consequência, foi modelada uma nova estrutura, utilizando três servos DF15RMG, pois estes apresentam compatibilidade direta com o Arduíno. 3.2.2. MODELO FINAL Apesar dos servos DF15RMG apresentarem menos binário que os servos Dynamixel MX 64T , o seu binário continua a ser suficiente para acarretar os esforços necessários ao movimento dos 3 graus de liberdade do pescoço. Tanto os valores de binário do servo DF15RMG como os dos movimentos de roll, pitch e yaw são apresentados no capítulo 3.1.2. (a) (b) (c)
Projeto, construção e controlo de um pescoço antropomórfico de um robô 42 Após a montagem do primeiro modelo, foi concluído que a peça utilizada na base não permitia o encaixe total do disco rotativo, pelo que a peça base foi alterada ligeiramente para o modelo da Figura 3.8. (a) (b) Figura 3.8– (a) Modelação da base do pescoço, encaixe para o servo que realiza o yaw ; (b) Modelação do encaixe do servo DF15RMG na base e no disco rotativo. Para a realização do encaixe do servo do movimento de rol com a base, tirou-se partido das peças existentes no mercado para o servo DF15RMG, nomeadamente “ Short U-sharp servo bracket ” e “ Long U-sharp servo bracket ” representadas na Figura 3.9. (a) (b) (c) Figura 3.9 – (a)Modelação do encaixe inferior - Short U-sharp servo bracket ; (b)Modelação do encaixe superior - Long Usharp servo bracket ; (c) Modelação do encaixe superior e inferior no servo DF15RMG.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 43 Relativamente ao terceiro e último servo, responsável pelo pitch, apenas foi alterada a tampa do suporte da câmara 3D D455 Intel Realsense, que apresentava um encaixe compatível com os discos rotativos o Dynamixel MX-64T. A nova tampa apresenta um encaixe compatível com os discos rotativos do servo DF15RMG (Figura 3.10(b)), para além disso, foi adicionado mais um “ Short U-sharp servo bracket ”, na zona inferior do servo, para permitir o encaixe com o servo que realiza o rol (Figura3.10 (c)). (a) (b) (c) Figura 3.10 - (a) Modelação da parte frontal do suporte da câmara 3D D455 Intel Realsense ; (b) Modelação da tampa do suporte da câmara 3D D455 Intel Realsense com encaixe para os discos rotativos do servoDF15RMG (c) Modelação do encaixe. A modelação do encaixe final está apresentada na Figura 3.11, confirmando a veracidade dos encaixes modelados. A estrutura tem uma altura de 175,5 mm e uma massa de 0,44 kg. Relativamente à modelação anterior, esta exibe menos peças com necessidade de manufatura por impressão 3D, além de uma altura inferior, o que se demonstra vantajoso.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 50 4. CONTROLO DO PESCOÇO Tendo a estrutura do pescoço construída, é necessário implementar o controlo que tem como objetivo a deteção e rastreamento de objetos. O controlo do pescoço de CHARMIE é definido por duas etapas principais, interligando conhecimentos de dois domínios, visão por computador e Arduíno. Na presente dissertação, apesar do pescoço de CHARMIE ser composto por 3 servos capazes de realizar 3 graus de liberdade, apenas serão utilizados os servos responsáveis pelo movimento de yaw e pitch . Isto deve-se à conclusão de que, com apenas a utilização dos servos que realizam movimento no eixo do x e do y, é possível a realizar o rastreamento da posição de um objeto. A utilização do servo que realiza o movimento de roll apenas se revelaria importante caso fosse necessário seguir a orientação de um objeto. A Figura 4.1 apresenta um esquema do funcionamento do controlo de CHARMIE. O pescoço movimenta-se recolhendo informações da câmara, no topo do pescoço, sobre a localização e movimentação do objeto a detetar/rastrear, estas serão processadas pelo algoritmo de visão que as transforma em mensagens que incluem o número de graus a movimentar por cada servo e qual a direção axial que se devem mover (esquerda, direita, cima ou baixo). As mensagens para o Arduíno que movimentará os servos motores existentes apropriadamente. A cada instante existe uma realimentação desta informação. A realização de um estudo adequado do controlo do pescoço requer uma boa definição do sistema considerado. Por isso, este capítulo inicia com a definição do sistema de coordenadas do pescoço, seguido do cálculo da cinemática direta e do espaço de trabalho que se ocupam da descrição dos movimentos das juntas dos corpos. Os subcapítulos seguintes debruçam-se na elucidação do algoritmo utilizado na visão por computador da câmara e do algoritmo utilizado no Arduíno, bem como a coordenação dos dois. A consulta dos algoritmos pode ser feita através do Apêndice II.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 51 Figura 4.1 – Esquema representativo do funcionamento do controlo de CHARMIE. 4.1. SISTEMA DE COORDENADAS A definição de um sistema global de coordenadas é essencial para um estudo do controlo de um mecanismo claro e conciso. Por razões de cálculo, foi considerado que todos os segmentos apresentam o seu centro de massa no ponto médio entre as duas juntas. A Figura 4.2 exibe uma representação esquemática do pescoço desenvolvido apresentando os referenciais acoplados a cada corpo. (a) (b) Figura 4.2Representação dos referenciais relativos utilizados na cinemática direta; (a) a partir de um esquema; (b) No pescoço.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 52 De realçar que a primeira junta realiza o movimento de yaw , com um alcance mínimo de -100° e máximo de 100°, a segunda junta realiza o movimento de roll e apresenta um alcance mínimo de – 63,5° e máximo de 63,5°e a terceira e última junta realiza o movimento de pitch exibindo um alcance mínimo -71° de e máximo de 103°. Em relação aos comprimentos, estes apresentam: 𝐿1= 45 mm, 𝐿2=65 mm e 𝐿3=25 mm. 4.2. CINEMÁTICA DIRETA A cinemática direta permite determinar a relação entre o valor angular de cada articulação e a posição dos apoios [50]. Na Figura 4.2 é possível observar a representação dos referenciais das transformações individuais relativas utilizadas no cálculo da cinemática direta. Recorrendo à formulação de Denavit-Hartenberg , já descrita no capítulo 2.4.1, é possível descrever as transformações relativas entre os referenciais, obtendo os parâmetros exibidos na Tabela 4.1 . Tabela 4.1 – Parâmetros de rotação e translação de Denavit-Hartenberg. Transformação Translação em X (𝑎𝑖−1) Rotação em X (𝛼𝑖−1) Translação em Z (𝑑𝑖) Rotação em Z 𝜃𝑖 {0}→{1} 0 -90 𝐿1 𝜃′1 {1}→{2} 𝐿2 90 0 𝜃′2 {2}→{3} 𝐿3 0 0 𝜃′3 Em que: 𝜃′1=𝜃1−90° (6) 𝜃′2=𝜃2−90° (7) 𝜃′3=𝜃3+90° (8) As matrizes de transformação obtidas através da (2) estão representadas nas (9), (10), (11), o seu produto deu origem à matriz de transformação total da (12).
Projeto, construção e controlo de um pescoço antropomórfico de um robô 53 0T1 =[cos(𝜃′1)−sin(𝜃′1)cos(𝜃′1)−sin(𝜃1)0 sin(𝜃′1)0cos(𝜃1)0 0 −1 0 𝐿1 0 0 0 1] (9) 1T2=[cos(𝜃′2)−sin(𝜃′2)cos(𝜃′2)sin(𝜃′2)𝐿2cos(𝜃′2) sin(𝜃′2)0 −cos(𝜃′2)𝐿2sin(𝜃′2) 0 1 0 0 0 0 0 1 ] (10) 2T3= [cos (𝜃3) −sin(𝜃3)cos(𝜃3)0 𝐿3cos (𝜃3) sin(𝜃3)cos(𝜃3)0 𝐿3sin(𝜃3) 0 0 1 0 0 0 0 1 ] (11) 0T3=0T1∙1T2∙2T3∙3T4= [ c(θ′1)c(θ′2)c(θ3)−s(θ′1)s(θ′3) −s(θ′1)c(θ′3)−c(θ′1)c(θ′1)s(θ′3) c(θ′1)s(θ′2) 𝐿2c(θ′1)c(θ′2)−𝐿3s(θ′1)s(θ′3)+ 𝐿3c(θ′1)c(θ′2)c(θ′3) c(θ′1)s(θ′3)+ c(θ′2).sin (θ′1)c(θ′3)c(θ′1)c(θ′3)−c(θ′2)s (θ′1)s(θ′3) s(θ′1)s(θ′2) 𝐿3c(θ′1)s(θ′3)+𝐿2c(θ′2).s(θ′1)+𝐿3c(θ′2)s(θ′1)c(θ′3) −s(θ′2)c(θ′3)s(θ′2)s(θ′3) c(θ′2)L1−L2s(θ′2)−𝐿3s(θ′2)c(θ′3) 0 0 0 1 ] (12) A matriz transformada final apresenta as equações para o cálculo da posição do end effector , neste caso câmara no topo do pescoço, de acordo com os ângulos desejados das juntas. As equações são as seguintes: 𝑥𝑒=𝐿2cos(𝜃′1)cos(𝜃′2)−𝐿3sen(θ′1)sen(θ′3)+L3cos(θ′1)cos(θ′2)cos(θ′3) (13) 𝑦𝑒=𝐿3cos(θ′1)sen(θ′3)−L2cos(θ′2)sen(θ′1)+𝐿3cos(𝜃′2)cos(𝜃′3)sen(𝜃′1) (14) 𝑧𝑒=𝐿1−𝐿2sen(𝜃′2)−𝐿3cos(𝜃′3)sen(θ′2) (15)
Projeto, construção e controlo de um pescoço antropomórfico de um robô 54 É, também, possível averiguar a direção da cabeça (câmara), através da análise da primeira coluna da matriz transformação que nos dá indicação da direção do eixo do 𝑥, em relação ao referencial base. Por exemplo, se usarmos a posição normal do pescoço, isto é, todos os 𝜃′s iguais a zero graus, as coordenadas do eixo do 𝑥, em relação ao referencial base, são N ( 1,0,0 ) . O que significa que o pescoço se encontra na posição representada na Figura 4.2. Por outro lado, se considerarmos que 𝜃1 é igual a 90°e os restantes são iguais a zero, então as coordenadas do eixo do 𝑥 serão iguais a 𝑁(0,1,0). O que significa que o eixo do 𝑥 do cabeça se encontra agora no lugar do eixo do 𝑦 dos referenciais da base, o que faz sentido, visto que a cabeça virou 90º apenas na primeira junta de revolução. Na Figura 4.3, podemos observar esta transformação e os referenciais da base e da cabeça. Figura 4.3 – Referenciais do pescoço de CHARMIE após revolução de 90º na primeira junta. Utilizando esta lógica, é possível analisar qualquer que seja a direção da cabeça, apenas através da matriz transformação.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 55 4.2.1. ESPAÇO DE TRABALHO O espaço de trabalho de um robô manipulador é definido como um conjunto de pontos que podem ser alcançados pelo seu terminal, este vai depender do tamanho dos segmentos e dos limites angulares das juntas. Para o cálculo do espaço de trabalho, foi utilizado um algoritmo em Python , onde se produz um gráfico 3D com o espaço de trabalho do pescoço do CHARMIE, como se pode ver na Figura 4.4. Para o efeito, foram adicionados os requisitos de movimento antropomórfico, nomeadamente os ângulos máximos e mínimos de cada junta ( roll, pitch e yaw ) presentes na Tabela 3.1. Figura 4.4 – Espaço de trabalho do pescoço de CHARMIE.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 56 4.3. ALGORITMO DE VISÃO Para a deteção, rastreamento e determinação da posição de objetos foram utilizadas técnicas de visão por computador. Foi utilizada a linguagem Python no ambiente PyCharm , um ambiente de desenvolvimento integrado que fornece uma boa interface para desenvolvimento de algoritmos em Python , com especial foco na biblioteca OpenCV , que contém os comandos mais relevantes aquando de aplicações de visão por computador. Os comandos mais relevantes para o presente trabalho estão apresentados no Capítulo 2.4.2 a sua aplicação será explorada neste capítulo. Para além do processamento da imagem recebida na visão por computador, para o controlo do pescoço é necessário conseguir transmitir a informação recolhida ao Arduíno. Assim, o algoritmo de visão incluí também a utilização da biblioteca PySerial , que fornece suporte para conexões seriais numa variedade de dispositivos diferentes [51], sendo um deles o Arduíno. Na Figura 4.5 está apresentado o esquema lógico das operações realizadas no algoritmo de visão do pescoço do CHARMIE. As operações a castanho dizem respeito à utilização de técnicas de visão por computador, enquanto as operações em azul, dizem respeito à utilização de comando associados à biblioteca PySerial . Por uma questão de simplicidade, neste capítulo os dois tipos de operações serão explicados separadamente. Figura 4.5 – Esquema lógico do algoritmo de visão do pescoço de CHARMIE.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 57 4.3.1. PROCESSAMENTO DE IMAGEM E VISÃO POR COMPUTADOR Começando pela configuração da câmara, sendo esta a câmara 3D D455 Intel Realsense, foi necessário a utilização dos comandos da biblioteca pyrealsense2 , criada especificamente para este tipo de aplicações. Esta inclui a configuração dos fluxos de profundidade e cor e a configuração da resolução da imagem. O início da contagem do tempo é feito de seguida, para que possa ser utilizada na obtenção da velocidade da bola e a velocidade máxima. Posteriormente, inicia-se o processamento da imagem, com a utilização dos comandos de OpenCV, este contém as etapas representadas na Figura 4.6, para melhor compreensão é recomendada a leitura do Capítulo 2.4.2. O produto final desta etapa é uma máscara que distingue os objetos azuis e os rodeia, evidenciado o seu centro e sendo possível obter as coordenadas deste a cada instante. Figura 4.6 - Esquema lógico do algoritmo que realiza o processamento de imagem.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 58 Através das informações retiradas por visão por computador, é calculada a distância do centro do objeto ao centro da imagem em cada instante no eixo do 𝑥 e do 𝑦,(𝑑𝑥 e 𝑑𝑦) e a distância do centro do objeto atual ao centro do objeto na imagem/posição anterior, também no eixo do 𝑥 e do 𝑦. Este segundo valor é dividido pelo tempo, 𝑡, gerando a velocidade do objeto a cada instante para o eixo do 𝑥 e do 𝑦 (𝑣𝑥 e 𝑣𝑦). São então introduzidas no algoritmo duas equações de posição e velocidade ((16) e (17)), em que a sua solução é igual ao número de graus a movimentar pelos servos de yaw (eixo do𝑥)e pitch (eixo doy). Para obter tal solução, foi necessário encontrar um valor coerente para as constantes 𝐾1, 𝐾2, 𝐾3 e 𝐾4. Os valores de 𝐾1, 𝐾2,𝐾3 e 𝐾4 foram obtidos por um processo iterativo de testes experimentais, que serão apresentados em mais detalhe no capítulo 4.5. Os valores das constantes conseguidos são os seguintes: Por fim, como abordado no capítulo 3.1.1, a velocidade máxima natural de um pescoço humano é de 342°/s, o que significa que o ângulo máximo possível de movimentar em cada espaço de tempo em que é enviada uma instrução é igual a: 𝑚𝑎𝑥𝛼=342.𝑡 (18) 𝛼𝑥=𝐾1.𝑑𝑥+𝐾2.𝑣𝑥 (16) 𝛼𝑦=𝐾3.𝑑𝑦+𝐾4.𝑣𝑦 (17) 𝐾1=0,03 𝐾2=0,0043 𝐾3=0,03 𝐾4= 0,0043
Projeto, construção e controlo de um pescoço antropomórfico de um robô 59 Esta equação foi adicionada ao algoritmo bem como a condição de que ambos 𝛼𝑥 e 𝛼𝑦 não devem ultrapassar 𝑚𝑎𝑥𝛼. Se isto acontecer o ângulo a movimentar passa a ser igual a 𝑚𝑎𝑥𝛼. 4.3.2. LIGAÇÃO COM O ARDUÍNO No que diz respeito às operações de ligação com o Arduíno das informações recolhidas na visão por computador, através da utilização da biblioteca PySerial , tem-se como primeira etapa a introdução das configurações do Arduíno. Estas configurações consistem na criação da variável serial, identificação da porta serial que vai ser usada para a comunicação, neste caso “COM8”, introdução do baud rate , que corresponde ao ritmo a que a informação é transferida no canal de comunicação, que será 9600bps e, por fim, a abertura da comunicação serial. De seguida, é construída a função que vai receber as informações da visão e transmiti-las através de comunicação serial para o Arduíno. Esta função apresenta-se como um conjunto de declarações “ if ”. Na Figura 4.7 estão representados o sistema de eixos que a biblioteca OpenCv utiliza (estes não estão representados aquando da utilização normal do programa), como é possível de observar o eixo do 𝑥 aumenta na direção da direita e o eixo do 𝑦 aumenta para baixo. Isto significa que, quando 𝛼𝑥 é positivo, o objeto está a movimentar para a direita e quando é negativo, está a movimentar a esquerda. O mesmo raciocínio aplica-se para 𝛼𝑦, quando este é positivo, o objeto está a movimentar-se para baixo e quando é negativo, o movimento do objeto é ascendente. Assim, como também representado na Figura 4.7, através das declarações “ if ”, foi delimitada uma área de 400 pixéis à volta do centro da imagem, onde o centro do objeto deve sempre constar. Se o objeto sair da zona limite, no eixo do 𝑥 e/ou no do 𝑦 será enviada para uma mensagem, para o Arduíno, com o valor de absoluto de 𝛼𝑥 e /ou 𝛼𝑦 juntamente com um indicativo em forma de string da direção para onde este se move. Por exemplo, a mensagem “ r10 ” significa que o motor do eixo do 𝑥 se deve movimentar 10 graus para a direita. A mensagem é enviada para o Arduíno utilizando o comando encode . Para além disso, se o valor absoluto de 𝛼𝑥 e /ou 𝛼𝑦 for superior à𝑚𝑎𝑥𝛼 , o número de graus enviado passa a corresponder 𝑚𝑎𝑥𝛼, já que um número de graus superior a este máximo implicaria uma velocidade maior do que aquela que é possível anatomicamente.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 66 Tabela 4.2 – Resultados dos testes experimentais para o eixo do 𝑥. Tabela 4.3 - Resultados dos testes experimentais para o eixo do 𝑦. Assim, conclui-se os seguintes valores ótimos para as constantes das equações (16) e (17) : Eixo do 𝑥 Constantes 𝑣𝑜𝑏𝑗𝑒𝑡𝑜(°/s) 16,6 25 50 𝐾1 𝐾2 0,01 𝑑𝑚 𝑣𝑚 96 90 92 0,004 54 75 146 0,02 48 60 69 0,005 80 89 150 0,03 35 40 54 0,006 83 109 174 0,04 65 67 70 0,007 337 178 326 Média Constantes com melhor performance 𝐾1= 0,03 𝐾2= 0,005 𝐾1= 0,03 𝐾2= 0,004 𝐾1= 0,03 𝐾2= 0,004 𝐾1= 0,03 𝐾2= 0,0043 Eixo do 𝑦 Constantes 𝑣𝑜𝑏𝑗𝑒𝑡𝑜(°/s) 16,6 25 50 𝐾3 𝐾4 0,01 𝑑𝑚 𝑣𝑚 81 75 99 0,004 69 99 188 0,02 48 49 66 0,005 85 111 178 0,03 40 41 50 0,006 84 118 186 0,04 116 85 99 0,007 603 484 528 Média Constantes com melhor performance 𝐾3= 0,03 𝐾4= 0,004 𝐾3= 0,03 𝐾4= 0,004 𝐾3= 0,03 𝐾4= 0,005 𝐾3= 0,03 𝐾4= 0,0043 𝐾1=0,03 𝐾2=0,0043 𝐾3=0,03 𝐾4= 0,0043
Projeto, construção e controlo de um pescoço antropomórfico de um robô 67 Analisando a Tabela 4.2 e Tabela 4.3, é possível aferir que, para valores de constantes demasiado baixos e demasiado altos, os valores de 𝑑𝑚 aumentam. Isto acontece por duas razões, quando 𝐾1 e 𝐾3 são demasiado baixos, os valores de 𝛼𝑥 e 𝛼𝑦 enviados para os Arduíno não são suficientemente elevados para levar a uma aproximação coerente ao centro do objeto, levando a um aumento da distância média. Quando 𝐾1 e 𝐾3 são demasiado elevados, os valores 𝛼𝑥 e 𝛼𝑦 enviados, provocam uma deslocação excessiva da posição do pescoço, não conseguindo manter uma distância diminuta ao centro do objeto. Comparando gráficos obtidos, para o eixo do 𝑥, utilizando as constantes ótimas e constantes com má performance (Figura 4.13 e Figura 4.12) é clara a diferença na qualidade de atuação do pescoço de CHARMIE. Para os 𝐾’s ótimos, o valor máximo da distância e velocidade corresponde ao início do programa, quando a visão está à procura do objeto, no entanto o valor da distância mantém-se reduzida ao longo do movimento, provando um bom rastreamento. Quando os 𝐾’s não são ótimos, o valor máximo da distância e velocidade mantém-se altoe apresentam picos irregulares. Isto acontece devido à atribuição de constantes demasiado elevadas referida acima, não permitindo um rastreamento cuidado. Os resultados no eixo do 𝑦 seguem a mesma lógica. Figura 4.13 – Teste experimental utilizando as constantes ótimas, usando uma velocidade de 25°/s (𝐾1= 0,03; 𝐾2= 0,0043; 𝐾1= 0,03; 𝐾4= 0,0043). (a) (b)
Projeto, construção e controlo de um pescoço antropomórfico de um robô 68 Figura 4.14 - Teste experimental utilizando as constantes com má performance, usando uma velocidade de 25°/s (𝐾1= 0,04; 𝐾2= 0,007; 𝐾1= 0,04; 𝐾4= 0,007). (a) (b)
Projeto, construção e controlo de um pescoço antropomórfico de um robô 69 4.6. CONCLUSÕES DO CAPÍTULO Este capítulo permitiu a inferir algumas conclusões não esperadas aquando do projeto mecânico, bem como a exploração de novos software e modos de controlo. Em primeiro lugar, foi depreendido que a utilização de um servo para a realização do movimento de roll , não tinha interferência significativa na capacidade do pescoço de detetar e rastrear objetos e a sua inclusão tornaria o controlo bastante mais complexo. Ainda assim, a cinemática direta e o espaço de trabalho foram calculados para a utilização dos 3 servos, já que a inclusão deste deve ser um trabalho futuro para um pescoço mais completo e fiel antropomorficamente. Apesar da familiaridade com as linguagens de Python e Arduíno, a utilização destas duas juntamente num novo contexto, permitiu adquirir novas capacidades, através da utilização de novas bibliotecas e modos de organização de pensamento e algoritmia. Os testes experimentais permitiram a escolha adequada das constantes para a equação de posição de movimento, bem como a análise do comportamento do pescoço ao longo de um ciclo de utilização. Por fim, o protótipo final do pescoço preenche os objetivos iniciais propostos, conseguindo reproduzir os movimentos do pescoço humano bem como detetar e rastrear um objeto, apresentando baixo custo, baixa complexidade e baixa massa.
Projeto, construção e controlo de um pescoço antropomórfico de um robô 70 5. CONSIDERAÇÕES FINAIS Após a realização da presente dissertação pode-se considerar que de um modo geral os objetivos propostos foram alcançados, cumprindo o objetivo principal, a construção de um pescoço antropomórfico capaz de detetar e rastrear objetos. Neste capítulo, serão abordadas as conclusões retiradas no decorrer da realização deste projeto bem como quais as perspetivas e trabalhos futuros em relação a este tema. 5.1. CONCLUSÕES Durante a etapa de pesquisa e revisão bibliográfica do tema foi evidente a existência de bastante informação no mesmo tópico que a presente dissertação, havendo a possibilidade de estudo de várias soluções já implementadas A etapa mais longa foi a do projeto mecânico, devido à necessidade de construção de um novo modelo de pescoço, repetindo todo o seu processo. Apesar de um dos requisitos iniciais ser a utilização de dois servos Dynamixel MX-64T , o mesmo não foi possível, estes revelaram-se incompatíveis com o Arduíno, mesmo após a aplicação de diferentes técnicas e tentativas. Não obstante, a construção do pescoço foi terminada a tempo, chegando a um resultado equivalente, sendo uma solução de baixo custo, modular, baixo peso, segura, com baixa complexidade e com uma altura mais próxima da altura de um pescoço humano do que do primeiro modelo. A massa do protótipo final do pescoço revela-se mais baixa que as soluções existentes sendo um ponto a seu favor. A última etapa, corresponde à realização do controlo do pescoço. Apesar do conhecimento básico em ambas as tecnologias de Python e Arduíno, a sua ligação, bem como a utilização de visão por computador, permitiu adquirir novas competências. Devido à complexidade da tarefa, inicialmente os algoritmos foram programados para a utilização de apenas dois servos, um que se movimenta no eixo do 𝑥 e outro que se movimenta no eixo do 𝑦. No entanto, isto provou que o pescoço conseguia realizar todo o tipo de movimentos necessário para a deteção/rastreamento da posição de um objeto de uma maneira completa, levando à conclusão de que a utilização do eixo do roll era dispensável. Caso fosse necessário rastrear a orientação do objeto, para além da sua posição, então a utilização desde servo tornar-se-ia relevante. Portanto, apesar da existência de três servos no pescoço de CHARMIE, o seu controlo apenas utiliza dois destes, correspondentes aos yaw e ao pitch .
Projeto, construção e controlo de um pescoço antropomórfico de um robô 71 Os testes experimentais revelaram-se importantes no aperfeiçoamento do movimento do pescoço de CHARMIE para uma deteção e rastreamento mais correto. Outro aspeto, foi a possibilidade de analisar os padrões de movimento deste em cada ciclo de utilização. O controlo final do pescoço revela-se como competente, suave e preenche os objetivos desejados. 5.2. PERSPETIVAS E TRABALHOS FUTUROS Embora os objetivos da dissertação tenham sido alcançados, existe ainda possibilidade de trabalhos futuros com vista à melhoria do pescoço de CHARMIE. Seria interessante explorar o uso do servo que realiza o movimento de roll , averiguando o seu efeito na deteção e rastreamento de objetos, quando comparado com o uso apenas dos servos do pitch e do yaw, bem como o seu efeito na aparência do movimento, isto é, se o movimento se torna mais antropomórfico. Outra propriedade passível de melhoria são as constantes ligadas às equações de posição e velocidade do pescoço. Apesar da sua progressão através dos testes experimentais, um estudo mais aprofundado é ainda possível, com mais tipos de testes e utilização de funções e algoritmos de otimização para atribuição das constantes. Outro trabalho futuro interessante é modelação e construção de uma carcaça para o mecanismo do pescoço de CHARMIE que apresente as proporções de um pescoço humano presentes na Tabela 2.3, tornando o seu aspeto mais apelativo e antropomórfico. Por fim, um importante trabalho futuro será a ligação do sistema construído ao resto do corpo do CHARMIE, tanto em termos de ligações mecânicas como eletrónicas
Projeto, construção e controlo de um pescoço antropomórfico de um robô 72 APÊNDICE I – DESENHOS TÉCNICOS DE APOIO
40,0 4,0 22 45,0 55,5 3 40,5 12 3 x R 2 30 R 13,5 R10 17 14,5 A A B B C C D D E E F F 4 4 3 3 2 2 1 1 Base 1:1 Pescoço Robô CHARMIE Mafalda Conde
95 25,6 AA 46,5 40,5 32,6 141,5 135,5 128,1 21 95 3 2,5 10 Secção A-A A A B B C C D D E E F F 4 4 3 3 2 2 1 1 Suporte da Câmara 1:2 Pescoço Robô CHARMIE Mafalda Conde
135,5 39,8 55,8 51,8 R4 4 46,5 40,5 20,5 7,5 2 x R 4,5 2 x R 9,4 4 x R 6,3 8 x R 3,5 40 17,75 3 46,5 20 R4 6 x R 1,4 A A B B C C D D E E F F 4 4 3 3 2 2 1 1 Tampa do Suporte da Câmara 1:2 Pescoço Robô CHARMIE Mafalda Conde