• Nenhum resultado encontrado

Método de Programação da Plataforma

No documento Plataforma robótica multi-funcional (páginas 58-63)

Especificação da Plataforma

24 CAPÍTULO 3 ESPECIFICAÇÃO DA PLATAFORMA

3.4 Método de Programação da Plataforma

A singularidade da plataforma robótica RODA reside na sua arquitectura versátil e no método de programação inovador.

Como referido o capítulo introdutório e citando, os objectivos da plataforma robótica previam que na perspectiva de utilização da plataforma como elemento-base da exposição robótica, deveria ser desenvolvido um mecanismo de programação do comportamento do robô que seja intuitivo e acessível ao visitante comum, sem conhecimentos na área.

Esse mecanismo de programação deveria ser conseguido sem o recurso a qualquer linguagem de programação, literal ou gráfica, e deve permitir a integração de sensores e actuadores que, em conjunto, determinam o comportamento do robô.

A análise de algumas plataformas robóticas de cariz didáctico efectuada no capítulo 2 (Robótica Didáctica), revelou que na maioria destas a programação de comportamentos era efectuada através de métodos de programação simplificados, geralmente em ambientes concebidos especificamente para as mesmas.

Nestes ambiente os elementos sensoriais e actuadores são representados sobre a forma de elementos visuais ou rotinas de código fechado, permitindo ao utilizador estruturar e implementar comportamentos abstraindo-se de saber como é feito o controlo e interacção desses ou com esses elementos.

Independentemente do ambiente ou modo de programação, estas requerem a utilização de um computador, de modo a possibilitar o desenvolvimento de algoritmo ou mesmo compilação de programas. Outro factor já referido, é o facto de estas não proporcionarem ao utilizador uma “sensação física” de interligação directa entre os sensores, os motores e outros componentes básicos de processamento.

Tendo em conta toda esta conjectura, o método de programação da plataforma tem ainda que permitir realizar as experiências definidas na secção 3.2, tendo que integrar de alguma forma os blocos funcionais de manipulação de sinal, sensores e actuadores necessários.

3.4.1 Modo Didáctico: Base de Ligações Virtuais

Resultado de uma fase de análise e projecto, encontrou-se uma solução para o mecanismo de programação didáctico que satisfaz todos os requisitos e objectivos referidos anteriormente, tendo sido apelidada de base de “ligações virtuais”.

Trata-se de uma base circular, de material translúcido, colocada na parte superior da plataforma (base didáctica), sobre a qual estão representados os blocos funcionais de manipulação de sinal, sensores e actuadores (secção 3.2.1). Estes elementos estão representados pelos seus símbolos, impressos na base, junto dos quais estão conectores que correspondem às respectivas entradas e saídas de cada elemento.

A interligação entre os elementos é efectuada usando fios com fichas nas extremidades, os quais encaixam nos conectores dos elementos da plataforma.

Contudo, a ligação entre os elementos não é “física”. Debaixo da base existe uma camada de “virtualização”, isto é, uma camada inteligente que consiste numa placa baseada em micro controlador (apelidada placa de ligações virtuais), a cujos portos I/O estão ligados os conectores da base, correspondentes às entradas e saídas de cada elemento.

Plataforma Robótica Multi-Funcional 37

Actuando sobre os portos do micro controlador, é possível efectuar a “leitura” das ligações efectuadas. Para n pontos de ligação, estando estes a um determinado nível, por exemplo ‘1’ lógico, coloca-se um desses pontos ao nível lógico ‘0’, verificando-se seguidamente o nível dos restantes pontos. Caso algum esteja ao nível lógico ‘0’, então estes encontra-se ligado ao ponto em análise. Repetindo este procedimento para os restantes n-1 pontos, obtém-se todas as ligações efectuadas entre os elementos.

A informação das ligações efectuadas é tratada e ordenada sequencialmente num grafo de ligações, o qual é usado pelo circuito de controlo dos sensores e actuadores, situado na base intermédia, para despoletar o comportamento implementado pelas ligações efectuadas conjugando os dados recolhidos dos sensores, a manipulação de sinal dos blocos funcionais e actuação nos motores.

Em relação aos blocos de manipulação de sinal, sensores e actuadores, estes são na sua maioria implementados por software. Isto é, fisicamente, as únicas fontes de sinal real são oriundas dos sensores da plataforma, sendo a aplicação física desses sinais só passível de efectuar nos motores. Nos restantes elementos (somadores, inversores, comutadores, temporizador, gerador sinal, bloco ganho e medidor de sinal) a manipulação de sinal mediante a sua função é efectuada por rotinas de software, conjugando a informação sensorial e o grafo de ligações resultante das ligações efectuadas pelo utilizador.

No capítulo 4 (secção 4.3) são pormenorizados os algoritmos do mecanismo de programação, bem como descritas as rotinas usadas para implementar os blocos funcionais de manipulação de sinal.

Para além da detecção das ligações efectuados, o mecanismo de programação efectua também uma validação das ligações efectuadas. A cada um dos pontos de ligações está associados elementos visuais e sonoros (led’s, LCD1 e piezo buzzer) que assinalam a ligação efectuada e informam o utilizador sobre a validade da mesma. De modo a permitir uma total liberdade de programação, apenas a interligação entre duas fontes de sinal (saídas dos blocos funcionais e sensores) não será permitida, sendo o utilizador alertado com a conjugação de sinas visuais e sonoros.

A introdução de um LCD na base de ligações virtuais serve como elemento auxiliar de programação. É usado para representar os valores do blocos de manipulação reguláveis (gerador de sinal, bloco de ganho e temporizadores), apresentar mensagem ao utilizador e também permite (com o auxilio de um cursor) a introdução de um menu de ajuda. Este menu possibilita a selecção de uma das 8 experiências definidas na secção 3.2, indicando sequencialmente ao utilizador, usando os led’s associados aos pontos de ligação, quais as ligações a efectuar para o comportamento desejado.

A denominação “ligações virtuais” advém precisamente do modo de funcionamento deste mecanismo de programação. A interligação entre os elementos efectuada pelo utilizador é analisada por uma camada inteligente, os sinais são validados, processados e adaptados às gamas definidas, sendo posteriormente conjugados para implementar o comportamento pretendido.

No capítulo 5 (secção 5.3) é descrito a solução final da base de ligações virtuais, contendo uma descrição mais pormenorizada do seu modo de utilização e características.

Na figura 3.20 está representada a disposição dos todos os elementos na base de ligações virtuais:

1

38 CAPÍTULO 3. ESPECIFICAÇÃO DA PLATAFORMA

Figura 3.20 – Modo Didáctico: A base de ligações virtuais

3.4.2 Modo Micro-Rato e Robô Bombeiro

A utilização da plataforma robótica no âmbito dos concursos Micro-Rato e Robô Bombeiro requer um nível de programação da plataforma mais exigente e com um nível de complexidade bastante superior comparativamente ao modo didáctico.

Como mencionado, a adaptação da plataforma é obtida usando duas bases distintas colocadas na parte superior do robô (base Micro-Rato e base Robô Bombeiro respectivamente), as quais possuem conectores para as interligar com o circuito de controlo de sensores e motores situado na base intermédia da plataforma.

Plataforma Robótica Multi-Funcional 39

Esse circuito de controlo é baseado numa placa com micro controlador (placa de controlo global), o qual terá de ser programado pelo utilizador para implementar os comportamentos pretendidos para aplicação no concurso. Pressupõe obviamente um conhecimento total dos elementos da plataforma, dos circuitos eléctricos, da linguagem de programação, sinais de resposta sensorial e sinais de controlo para os actuadores.

De modo a permitir alguma abstracção do programador relativa aos elementos da plataforma mencionados, tornou-se imperativo o desenvolvimento de uma biblioteca de funções de controlo da plataforma. O programador tem apenas que usar essas funções, inclui-las no seu programa e desenvolver o seu algoritmo. Essas funções encontram-se descritas no capítulo 4 (secção 4.3).

41

Capítulo 4

No documento Plataforma robótica multi-funcional (páginas 58-63)

Documentos relacionados