Вы находитесь на странице: 1из 10

INTEGRANDO TECNOLOGIAS EM SISTEMA DE CONTROLE DE MOVIMENTAO DE ROB HUMANOIDE COM CMERA EMBARCADA Raphael Ballet 1; Alessandra Dutra Coelho

; Wnderson de Oliveira Assis


1

Aluno de Iniciao Cientfica da Escola de Engenharia Mau (EEM-CEUN-IMT); 2 Professor(a) da Escola de Engenharia Mau (EEM-CEUN-IMT).

Resumo. Este trabalho tem o objetivo principal de possibilitar um rob humanoide autnomo se movimentar com o auxlio de uma cmera embarcada de forma semelhante ao sistema de viso humana. O desenvolvimento do projeto ser voltado para a criao de um sistema de sensoriamento baseado em uma cmera embarcada, com movimentao pan-tilt, que permita ao rob uma movimentao, reconhecimento do ambiente e decidir qual ser sua ao para alcanar seus objetivos. Para isso, o sistema de movimentao do rob ser baseado em um processamento de imagens e o uso de sensores como acelermetros e giroscpios, que devero dar estabilidade e movimentao precisa ao rob. Apesar de ter um objetivo simples de uma competio de futebol de robs (a Robocup), o conceito de movimentao de um rob autnomo utilizando cmeras embarcadas de grande importncia e objeto de muitas pesquisas na atualidade, j que permite a proximidade de um sistema conhecidamente eficiente de sensoriamento, que a viso humana. Introduo A utilizao de cmeras embarcadas em robs autnomos vem se tornando uma prtica comum em pesquisas ou mesmo na indstria atual. muito comum ver faculdades do mundo inteiro e mesmo empresas investindo em tecnologias de automao atravs de sistema de processamento de imagens atravs de cmeras embarcadas e outros sensores. Sua utilizao tambm pode ser usada para rastrear superfcies, como cmeras acopladas em avies ou helicpteros autnomos ou mesmo em carros autnomos. Outro grande uso o uso em veculos submarinos, como o feito por Crtual e Chaumette (2000), ou mesmo na medicina com cirurgias no presenciais (Palep, 2009). A possibilidade de movimentao de um rob remotamente de grande avano em situaes de perigo ou de condies no favorveis a seres humanos. Com isso, h sempre a necessidade de se evitar acidentes e perigos, o que traz a vantagem de se utilizar robs autnomos. Pode ser na utilizao de robs para explorar territrios no conhecidos, como Marte, ou mesmo situaes de perigo iminente, como um rob usado para desarmar uma bomba ou resgatar feridos em um incndio. Visto suas utilidades, o nosso enfoque ser no uso de robs autnomos, ou seja, robs que no tem nenhuma interferncia humana. Eles devem ser capazes de perceber o ambiente e atuar conforme o objetivo a ele designado. Para se relacionar com o ambiente, o rob deve ter sensores que devem informar ao rob a situao em que ele se encontra. Por exemplo, se um brao robtico usado para encontrar um objeto a certa distncia, podem ser usados sensores acsticos, como os sonares, ou mesmo os sensores infravermelhos, que so sensores ticos. Mas, podem tambm serem usadas cmeras, que identificam formas e cores especficas. A distncia pode ser calculada e o brao robtico pode agir conforme a movimentao do objeto. Como visto, o rob autnomo deve interagir com o ambiente na forma desejada e saber agir conforme seus objetivos. O nosso objetivo principal ser o de utilizar uma cmera embarcada para encontrar uma bola laranja do tamanho de uma bola de golfe e agir de tal forma que seja capaz de se aproximar dela, chut-la e segu-la em campo. H diversos fatores limitantes ao

projeto, o que no permite integrar um processo de grande complexidade. Um dos principais fatores limitantes ao projeto o fato de o rob ser um humanoide, ou seja, ele tem apenas dois apoios, sendo que em movimentao ele apenas se apoia em uma perna. Isso apresenta um grande desafio, porque o rob deve sempre manter seu equilbrio a cada movimento e alterar qualquer peso em local no desejado pode mudar o centro de gravidade e deixar o rob instvel. Outro fator limitante o espao reduzido no rob. O rob apresenta pequenas dimenses e no h espaos disponveis para grandes alteraes. O trabalho indicado a seguir apresenta o objetivo de obter um melhor controle e percepo do rob com uma cmera embarcada. O rob apresenta grandes limitaes de programao e dever haver uma integrao entre a cmera, o processamento de imagens e a tomada de decises. Aps tentativas e erros, foi escolhida uma nova forma de controle baseada na descentralizao das atividades do rob, com trs nveis de controle. O primeiro nvel a partir da CMUCAM4, uma placa que contm um sensor CMOS de cmera e com um processador da Parallax P8X32A. Essa placa tem a funo de capturar a imagem, realizar o processamento de imagens e mandar para o segundo e mais importante nvel. O segundo nvel composto por uma placa Arduino, um hardware livre com o qual h diversos projetos e bibliotecas presentes, o que torna rpido e fcil o trabalho de programao. O Arduino ser o comando central do rob. Atravs dos comandos indicados pelo Arduino, o terceiro nvel acionado e ele corresponde ao sistema j existente no rob. A placa MRC-3024, presente no rob, recebe a ao desejada pelo Arduino e realiza os movimentos existentes. Materiais e Mtodos Materiais utilizados O rob humanoide utilizado o Robonova-1(figura 1) produzido pela HiTec. O rob contm 16 servomotores do tipo HSR-8498 e uma placa de controle MRC-3024 (figura 2). A placa MRC-3024 contm um microcontrolador do tipo ATMEL ATMEGA 128 e programada por uma interface em linguagem especfica do Robonova-1, o RoboBasic, que uma linguagem simples e com poucos recursos.Atravs desta limitao de programao, houve a necessidade de obter alternativas para um melhor controle de aes e inteligncia.

Figura 1 Robonova-1.

Figura 2 MRC-3024. O sistema de viso utilizado no projeto composto por uma cmera embarcada CMUCam4(figura 3) e foi implantado um sistema de movimentao com 2 graus de liberdade, sistema pan-tilt, que pode ser visto na figura 4. Este sistema utilizado para movimentao nos trs eixos, o que permite a liberdade de movimentao necessria para a ao desejada. A CMUCam4 apresenta um mdulo de sensor de cmera CMOS 9665 com um processador Parallax P8X32A. A placa open-source e pode ser reprogramada de diversas maneiras. A maneira que ser utilizada para esse projeto ser atravs da biblioteca existente da CMUCam4 para o Arduino. A placa CMUCam4 ser a responsvel por todo o processamento de imagens e clculo dos parmetros da imagem observada. Como se deseja perseguir uma bola laranja, ento necessrio o envio dos parmetros RGB que corresponde cor laranja. Esses parmetros so enviados a partir de um intervalo de valores, para garantir que a cmera consiga visualizar toda a bola mesmo com nveis diferentes de luminosidade. Aps essa anlise de cores, a CMUCam4 envia pacotes de dados(tipo T) contendo diversos parmetros como: -mx = valor mdio (centro geomtrico) horizontal; -my = valor mdio (centro geomtrico) vertical; -x1 = coordenada superior horizontal esquerda da caixa que contm a imagem; -y1 = coordenada superior vertical esquerda da caixa que contm a imagem; -x2 = coordenada inferior horizontal direita da caixa que contm a imagem; -y2 = coordenada inferior vertical direita da caixa que contm a imagem; -pixels = A porcentagem de pixels encontrados com os parmetros desejados na imagem; -confidence = A densidade de pixels reunidos em uma parte da imagem (usado para determinar se h uma regio de certa cor, como uma bola, por exemplo). Essas informaes so enviadas continuamente para o Arduino e a partir delas que feita toda a lgica desejada.

Figura 3 CMUCam4.

Figura 4 Sistema Pan-Tilt com servomotores. O sistema de controle foi definido a partir da necessidade de prover maior nvel de inteligncia ao rob, podendo haver uma melhor programao e controle das atividades necessrias. O rob apresenta uma placa MRC-3024 que apresenta um microcontrolador ATMEL ATMEGA 128 que programada com uma linguagem especfica para o Robonova-1 que a ROBOBASIC. Essa linguagem tem grandes limitaes, como a no existncia de variveis tipo indexada e a necessidade de chamadas de estruturas condicionais serem limitadas. Por essas limitaes, foram realizadas pesquisas para a substituio da placa de controle por uma que pudesse ser programada em C. O desenvolvimento de uma nova placa de controle foi tema de pesquisas passadas, mas houve problemas na utilizao, o que levou a busca de novos mtodos de controle. Uma das alternativas encontradas foi a introduo de uma placa Arduino ao sistema de controle j existente, o que trouxe grandes benefcios em programao e com baixo custo. Com essa placa, houve a possibilidade de retirar da MRC-3024 a necessidade de deciso de movimentos, que era limitada, e manter apenas as rotinas de movimentao do Robonova-1. As rotinas de movimentao da placa MRC-3024 apresentam importantes caractersticas, as quais no seriam possveis serem reproduzidas no Arduino, como o Grupo de Movimentos, que tem a funo de garantir que todos os servomotores terminem um movimento ao mesmo tempo e tambm o controle de posies dos servomotores, o que garante a correta posio do rob a certo comando. Outro ponto importante de manter a placa MRC-3024 em conjunto com o Arduino a grande quantidade de servomotores necessrios para a movimentao do rob. O Arduino no suporta 16 servomotores e no tem a capacidade de suprir internamente a quantidade de corrente necessria para movimentar esses servos. A placa Arduino utilizada modelo Arduino Nano(figura 5) e apresenta as seguintes caractersticas: -Microcontrolador -Atmel ATmega328 -Voltagem de operao (nvel logico) -5 V -Voltagem de entrada (recomendada) -7-12 V -Voltagem de entrada (limites) -6-20 V -Pinosdigitais I/O -14 (dos quais 6 podem ser sadas PWM) -Pinos de entradaanalgica -8 -Corrente contnua por pino I/O -40 mA -Memria Flash -16 KB (dos quais 2KB so utilizados pelo bootloader)

-SRAM -EEPROM -Velocidade de Clock -Dimenses

-1 KB -512 bytes -16 MHz -0.73" x 1.70"

Figura 5 Arduino Nano. O Arduino Nano programado atravs de um cabo Mini-B USB, que tambm pode ser usado para comunicao serial e portas Rx/Tx, que so usadas para comunicao serial TTL. H tambm a possibilidade de comunicao SPI e IC. O Arduino possui diversas bibliotecas disponveis para diversas situaes, o que torna mais rpida a criao de cdigos mais complexos. Por ser um hardware open-source, ou seja, todo seu esquema eletrnico aberto ao pblico, existe uma grande variedade de cpias e Shields no mercado. Os Shields so placas com elementos adicionais que podem ser montadas em cima de outra placa Arduino, aumentando a quantidade de funes presentes, como rels, controladores de motor, LCD, GPS e at mesmo a prpria CMUCam4. Os sensores adicionais usados no rob so os acelermetros e giroscpios. Os acelermetros medem as aceleraes em um eixo especfico, o que permite obter informaes sobre impactos, foras ou at a queda livre de um objeto. Atravs dele podemos analisar quais foras esto agindo sobre o rob e obter um melhor equilbrio quando houver um movimento no desejado. H diversos tipos de acelermetros existentes, mas os mais utilizados so os acelermetros de material piezoeltricos e os de capacitncia. Os acelermetros de material piezoeltricos so formados por uma massa presente no interior de uma caixa e um material piezoeltrico. A caracterstica de um material piezoeltrico a de que quando ele comprimido, surge uma voltagem eltrica e atravs dessa voltagem pode-se analisar quanto a massa comprime esse material atravs do seu movimento. Nos acelermetros de capacitncia, h outra propriedade envolvida que a distncia entre duas placas inversamente polarizadas, como a de um capacitor. Quando se utiliza um acelermetro de capacitncia, uma das placas fixa e a outra movimentada em relao outra placa. Essa placa mvel presa a uma mola e a outra extremidade da mola fixada na caixa do acelermetro. Quando h acelerao, h uma pequena deformao na mola com a placa. Com essa deformao, h uma aproximao entre a placa mvel e a placa fixa, o que gera uma diferena de potencial no capacitor proporcional distncia

de separao das duas placas. Essa diferena de potencial analisada e pode-se observar a acelerao produzida. Os giroscpios so muito importantes, principalmente em sistemas de navegao de aeronaves, navios, piloto automtico, voos espaciais e etc. Ele se baseia em dois conceitos importantes da fsica que so a inrcia e a precesso. O giroscpio constitudo basicamente de um rotor suspenso com um eixo em rotao. Esse rotor mantem uma posio fixa mesmo aps ser forada em uma determinada direo no paralela roda. Atravs desse sistema pode se observar a direo do objeto em relao ao rotor, o que permite a correta orientao do corpo. Para se obter as orientaes em um espao tridimensional necessrio que haja 3 giroscpios em posies perpendiculares. J nos equipamentos eletrnicos, o giroscpio usado da categoria MEMS(Microelectromechanical systems) ou at mesmo NEMS(Nanoelectromechanical systems), que so dispositivos extremamente pequenos (nanotecnologia) e que so muito utilizados em equipamentos de eletrnica embarcada, como automveis e avies. Os giroscpios do tipo MEMS utilizam o conceito de Pndulo de Foucault e usam elementos vibratrios. Em conjunto, o giroscpio e o acelermetro constituem a base do IMU(Inercial Measurement Unit), que so equipamentos eletrnicos capazes de medir a acelerao, orientao e direo do movimento. s vezes podem ser integrados GPS, magnetmetros e at tubos de Pitot, para um completo controle de movimento no espao. No Robonova-1, o giroscpio e o acelermetro sero responsveis pelo equilbrio do rob e a correta percepo do seu estado em relao ao desejado. Outro aspecto importante perceber quando o rob est cado e como ele est cado. Atravs dos dois sensores poderemos determinar sua posio e agir para levant-lo de forma adequada. Projeto e testes Como j dito, o projeto consiste em tornar possvel um rob humanoide se orientar atravs de uma cmera embarcada e demais sensores e atravs disso ser possvel realizar operaes simples, como andar, dar um passo para o lado, chutar, levantar, sentar, virar e etc. O controle ser baseado em nveis de controle bem definidos, nos quais so necessrias comunicaes bilaterais, de forma a tornar o sistema o mais robusto possvel. Abaixo est esquematizado o sistema de controle atravs da figura 6:

Figura 6 Esquema de controle do rob. A CMUCam4 responsvel por todo o processamento e envio de dados sobre o posicionamento do objeto desejado e atravs desses dados o Arduino realiza, primeiramente, o ajuste do sistema pan-tilt at que o centro geomtrico da imagem fique exatamente alinhado com o centro da cmera. Isso possvel atravs de um algoritmo de controle proporcional-derivativo (PD) desenvolvido no Arduino e que possibilita um movimento estvel ao seguir um objeto. O mesmo algoritmo utilizado tanto para o movimento de Pan (rotao no eixo y), quando para o movimento de Tilt (rotao no eixo x). Quando a cmera no consegue mais observar o objeto, a cmera volta posio inicial e comea a procurar o objeto e, se ainda no achar, enviado um cdigo para o rob girar para o lado at achar o objeto. Como o Arduino Nano apresenta apenas um par Rx/Tx e precisa se comunicar com dois dispositivos, necessrio haver uma forma de multiplexar as comunicaes seriais. Isso feito atravs do circuito integrado 74HC4052, que um Multiplexador/Demultiplexador analgico de 4 canais, o que o ideal para a aplicao do projeto, j que necessrio multiplexar dois sinais Tx para a entrada Rx do Arduino e demultiplexar o sinal Tx para um dos dispositivos. Isso feito atravs de um sinal de controle do Arduino, sendo que quando o sinal zero o Arduino se comunica com a CMUCam4 e quando o sinal 1 o Arduino se comunica com o MRC-3024. O sistema de deciso de comando se baseia em regras de movimentao definidas. Quando o nvel 2, ou nvel de comando, decide uma ao ele envia um byte para MRC-3024 que representa a ao desejada. Esse cdigo representado pelo cdigo ASCII de 0 a 8, como visto a seguir pela Tabela 1. Os cdigos so recebidos pela MRC-3024 e definem o movimento desejado. Esse movimento realizado uma nica vez e envia de volta um sinal, informando que o movimento acabou e que precisa de novas informaes. Isso necessrio para que seja possvel um controle e estabilidade de movimentos do rob e no execute movimentos no desejados. O conjunto de movimentos est presente na placa MRC-3024 de fbrica pela Hitec, o que facilita o trabalho de movimentao, j que deve ser definido o ngulo de cada motor para cada tipo de movimento, o que seria um trabalho iterativo, exaustivo e com poucos resultados desejados. Para desenvolver um correto sistema de movimentao para o rob deveria ser feito um modelo completo de todo o sistema dinmico do rob e tema de pesquisas de muitas universidades e empresas. um

processo complexo e que seria tema para pesquisas avanadas, o que no o objetivo principal desse projeto.
Tabela 1 Cdigos de movimentao. ASCII Decimal 0 48 1 49 2 50 3 51 4 52 5 53 6 54 7 55 8 56

Ao Posio inicial Andar para Frente Andar para Trs Virar para Direita Virar para Esquerda Passo para Direita Passo para Esquerda Levanta(Costas) Levanta(Frente)

Binrio 0011 0000 0011 0001 0011 0010 0011 0011 0011 0100 0011 0101 0011 0110 0011 0111 0011 1000

Resultados e Discusso Atravs de todas as modificaes houve um grande avano nas funcionalidades do Robonova-1, transformando-o em um rob inteiramente autnomo e capaz de realizar aes complexas para um rob humanoide. A introduo de uma cmera embarcada e o desenvolvimento do novo sistema de controle, baseado na subdiviso de tarefas, trouxeram amplas possibilidades de controle e aes, sendo que os resultados podem ser usados muito alm da capacidade de jogar futebol de robs. Apesar das importantes melhorias, houve tambm problemas devido quantidade de equipamentos adicionados na estrutura do rob. O peso adicional transladou o centro de gravidade do rob para diferentes posies, o que gerou instabilidade em certos movimentos bruscos. O rob deve se movimentar de uma maneira mais lenta para no ocorrerem quedas e danific-lo. H tambm a necessidade futura de haver protees para a cmera e as placas eletrnicas da parte de trs do Robonova-1, j que, com a adio de componentes como o Arduino e o circuito integrado 74HC4052, a proteo original no pode mais ser utilizada. Outro problema existente foi a dificuldade de a cmera encontrar a bola laranja a uma distncia maior do que um metro. Ela tem boa preciso ao encontrar e seguir uma bola at uma distncia de 30 centmetros, mas se torna instvel conforme se aumenta a distncia entre a cmera e a bola. Alm da distncia, h tambm o problema de luminosidade do ambiente. Os parmetros RGB enviados para a cmera devem ser alterados toda vez em que h variao de luminosidade, o que no desejado. O sistema de controle mostrou-se muito eficiente em condies ideais, mas muito instvel quando havia a necessidade de mudanas bruscas de movimentao, o que gera a necessidade de se aprimorar o controle e os equipamentos utilizados para o projeto. Apesar disso, o rob aproximou-se corretamente da bola e realizou corretamente algumas aes de busca quando necessrio. O sistema Pan-Tilt tambm funcionou corretamente e obteve resultados melhores do que o esperado, obtendo velocidades altas ao perseguir o objeto em movimento.

Concluses O projeto apresentou resultados positivos e conseguiu o seu objetivo de propiciar um rob humanoide de utilizar uma cmera embarcada para sua movimentao e, atravs disso, conseguiu desenvolver um sistema mais eficiente de controle. No houve, porm, uma preocupao em estratgia e desenvolvimento de melhorias para a prtica de futebol de robs, o que deve ser desenvolvido futuramente atravs dessas ferramentas. H, tambm, o estudo da implementao da placa BotBoarduino da Lynxmotion, que poderia substituir tanto o Arduino como a placa MRC-3024, o que tornaria o rob mais leve e sem a necessidade de haver o circuito integrado 74HC4052. A nova forma de controle mostrou-se muito confivel e com grande potencial de melhorias pela sua capacidade de programao e de sensoriamento. A mudana de linguagem de programao e a maior memria disponvel tornam-se importantes ferramentas para o desenvolvimento de um controle de qualidade e a possibilidade de aprimoramentos. H diversos pontos importantes a serem melhorados tanto na estrutura quanto na programao do rob, mas houve um grande avano nas capacidades do Robonova-1. A melhoria na estabilidade, proteo e aprimoramento do controle do rob devem ser temas futuros importantes para aumentar a capacidade do rob. A insero de sensores adicionais como acelermetros e giroscpios e a pesquisa de novos meios de viso para o melhor controle devem ser os pontos principais a serem analisados. Atravs do desenvolvimento deste projeto, foi de grande importncia a pesquisa de controle e movimentao de robs humanoides, sendo que h sempre a necessidade de manter equilbrio e estabilidade ao movimentar-se um rob bpede. Outro ponto importante deste projeto foi o estudo de meios eficientes de obter viso computacional para o rob, j que atravs dele que todas as aes so tomadas. Quanto mais eficiente o processamento da imagem e percepo do ambiente, maior ser a quantidade de informaes disponveis para um controle melhor. O projeto desenvolveu-se atravs de muitas limitaes e entre erros e acertos, mas, apesar de todos os obstculos, o objetivo foi alcanado de forma positiva e foi possvel obter uma alternativa de controle de relativo baixo custo e com boa eficincia. Por isso, considera-se que o projeto aprimorou as possibilidades de estudos futuros com robs humanoides e o conhecimento adquirido atravs desta pesquisa pode ser levado a reas importantes na robtica autnoma e at em desenvolvimentos de pesquisas de movimentos de bpedes. Referncias Bibliogrficas Assis, W.O.; Genova, W.J.; Gomes, M.M.; Coelho, A.D. (2007) Aplicao de Tecnologias de Controle de Processos Contnuos e Processamento de Imagens no Futebol de Robs. Anais do SBAI 2007 Simpsio Brasileiro de Automao Inteligentes, Florianpolis, SC, Brasil. Crtual, A.; Chaumette, F. (2000). Dynamic stabilization of a pan and tilt cmera for submarine image visualization. Computer Vision and Imagem Understanding, 79, 47-65 Gonzales, R. C., Woods, R. E. (2000) Processamento de ImagensDigitais. Edgard Blcher Ltda.

Kikuchi, D. Y. (2007). Sistema de controle servo visual de uma cmera pan-tilt com rastreamento de uma regio de referncia. Tese (Mestrado) Escola Politcnica, Universidade de So Paulo, So Paulo, SP. Nicholls, E. (1998). Bipedal Dynamic Walking in Robotics.Honours Thesis The University of Western Australia; Department of Electrical and Electronic Engineering. Palep, J. H. (2009). Robotic Assisted Minimally Invasive Surgery. Journal of Minimal Access Surgery, 5, 1-7. Rowe, A. (2003) ROBONOVA-I 16 Servo Edutainment Robot Box Kit Introduction Manual.Edited by Charles Rosenberg and IllahNourbakhsh, Carnegie Mellon University.

Похожие интересы