• No results found

5. Dataanalyse

5.6 Analyse av kvalitative data

5.6.2 Scenarioer

A BusyBox fornece vers˜oes simplificadas de alguns comandos b´asicos de Linux a partir de um execut´avel apenas. As vers˜oes dos comandos presentes na busybox tem menos fun- cionalidades mas s˜ao mais pequenas e utilizam menos mem´oria que as vers˜oes originais. Este pacote de utilit´arios foi constru´ıdo a pensar em dispositivos com poucos recursos

Figura 3.4: A4WD1 v1

(mem´oria, poder de processamento). A Busybox ´e instalada na imagem do sistema de ficheiros para fornece as ferramentas necess´arias para interagir com a interface de rede e servidor TFTP.

3.3

Hardware

A totalidade do hardware existente antes do projecto iniciar ´e apresentado nas pr´oximas subsecc¸˜oes. De todo o hardware existente actualmente, uma grande parte estava dis- pon´ıvel antes do projecto iniciar. Este facto significa que esse hardware ´e uma restric¸˜ao ao projecto pois n˜ao foi poss´ıvel escolher ou alterar.

Chassis do Robˆo

Para construir o robot, o chassis A4WD1 v1 (figura 3.4) est´a dispon´ıvel. O chassis tem bastante espac¸o e consegue-se facilmente colocar duas pequenas placas, m´ultiplos senso- res e baterias. Este chassis vem equipado com quatro rodas e respectivos motores e est´a organizado em duas plataformas, a inferior ´e onde a placa controladora dos motores e as baterias para a alimentar s˜ao instaladas e a superior onde podem ser instaladas, placas e sensores. Este chassis consegue suportar 2.2 Quilogramas de equipamento sendo este valor apenas limitado pelos motores utilizados. Adicionalmente ´e poss´ıvel instalar decks adicionais para acomodar mais material.

Figura 3.5: Motor GHM-01

Figura 3.6: Placa controladora Sabertooth 2x12

Motores e placa controladora

Os motores utilizados s˜ao quatro GHM-01 (figura 3.5). Estes motores necessitam de 12 Volt, conseguem efectuar 200 rotac¸˜oes por minuto e suportam um peso de 620 gramas que ´e suficiente para conseguir levar a totalidade das baterias, placas e sensores.

A placa controladora dos motores ´e uma Sabertooth 2x12 (figura 3.6) que permite o controlo dos motores atrav´es de v´arios m´etodos. Os m´etodos de controlo dispon´ıveis s˜ao os seguintes:

• Controlo anal´ogico, em que a placa aguarda por uma tens˜ao de 0 a 5 Volts e de acordo com o que receber multiplica esse valor e aplica-o aos motores (os motores usam de 0 a 12 Volts);

• Controlo R/C ou digital, em que a placa aguarda por um valor digital que pode ser enviado por um receptor R/C ou por um microcontrolador;

• Controlo atrav´es do padr˜ao TTL, em que a placa aguarda por informac¸˜ao enviada pela interface s´erie para depois transmitir esses comandos ao motor.

O objectivo principal desta placa ´e fazer uma ponte entre os motores e um micro- controlador. Esta ponte ´e necess´aria porque o microcontrolador n˜ao consegue debitar

Figura 3.7: Sensor ultra-s´onico SRF05

intensidade de corrente necess´aria para fazer com que os motores respondam.

Sensores de distˆancia

De forma a obter os obst´aculos na proximidade do robˆo sensores de distˆancia s˜ao ne- cess´arios. Os sensores dispon´ıveis s˜ao os SRF05 ultra-sonic sensors (figura 3.7) que medem a distˆancia utilizando impulsos e aguardando pelo eco. Estes sensores s˜ao di- gitais e podem ser ligados directamente a um microcontrolador. Os sensores requerem cinco volts permanentes, necessitam de um impulso de dez microssegundos para inicia- rem uma leitura e demoram no m´aximo 30 milissegundos a retornar uma leitura. Estes sensores foram soldados de acordo com o modo de configurac¸˜ao dois que define que a porta que ´e utilizada para enviar o impulso para iniciar a leitura ´e tamb´em utilizada para obter a leitura da distˆancia. Os valores de leitura da distˆancia ap´os recebidos necessitam ser transformados em cent´ımetros dividindo o valor obtido pelo n´umero 116.136. Este valor deriva do valor fornecido pelo manual e significa que cada 116 unidades retornadas pelo microcontrolador (58 nanossegundos) s˜ao iguais a um cent´ımetro.

Existem alguns cuidados a ter com o posicionamento destes sensores. Estes sensores enviam um impulso na direcc¸˜ao em que os mesmos est˜ao apontados mas a onda n˜ao se dispersa apenas nessa direcc¸˜ao. Como podemos observar na FIGURA 3.8, a onda dis- persa essencialmente dentro de um ˆangulo de 60 graus em volta do sensor.

Placas

De forma a permitir a separac¸˜ao requerida dos componentes do middleware, duas placas est˜ao dispon´ıveis: a Bot Board II com um microcontrolador Atom Pro 28-M; a H4090 com a H6042, ambas da Hectronic.

A Bot Board II(figura 3.9) actua como uma placa m˜ae onde podem ser ligados sensores e motores, contendo uma ranhura para ser instalado um microcontrolador que neste caso ´e o Atom Pro 28-M. Adicionalmente esta placa cont´em uma porta s´erie que ser´a utilizada

Figura 3.8: Caracter´ısticas da dispers˜ao da onda criada pelo sensor SFR05

Figura 3.9: Bot Board II

para comunicac¸˜oes. Esta placa ir´a conter parte do wormhole e a camada de sensores.

A placa Bot Board II cont´em 16 pinos directamente ligados ao microcontrolador que podem ser utilizado para ligar sensores ou motores. A placa cont´em tamb´em 4 bot˜oes e 4 leds, 3 dos quais podem ser programados para executar func¸˜oes como ordens directas ao robˆo ou indicar o estado do robˆo (no caso dos leds).

Em termos de energia, a placa Bot Board II necessita de pelo menos uma bateria de 6 volts mas pode levar duas para um maior tempo de utilizac¸˜ao. Esta placa fornece m´ultiplos pinos a 5 V DC que podem ser utilizado para alimentar sensores e pequenos motores.

Figura 3.10: Atom Pro 28-M

Figura 3.11: H4090

O processador Atom Pro 28-M(figura 3.10) permite a utilizac¸˜ao de 32 Kilobytes para c´odigo e constantes, 2 Kilobytes para vari´aveis, 3 temporizador por hardware, interrupc¸˜oes pelo hardware, 8 portas capazes de convers˜ao de anal´ogico para digital (10 bits), n´umeros de v´ırgula flutuante de 32bits e n´umeros inteiros at´e 32bits.

A placa H4090(figura 3.11) actua como uma motherboard e cont´em alguns controla- dores na placa como USB, Ethernet, s´erie e leitor de cart˜oes SD e a H6042 actua como uma placa de expans˜ao obrigat´oria que cont´em o processador e uma FPGA. O processador tratar´a do sistema operativo e dos componentes payload e wormhole bridge, enquanto a FPGA ir´a tratar do m´odulo TTFD Task do wormhole. O sistema operativo a ser instalado ´e Linux logo os programas instalados nesta placa podem ser interrompidos assincronamente por outros programas a correr no sistema. A placa H4090, em adic¸˜ao aos controladores indicados anteriormente, cont´em m´ultiplos pinos que permite a comunicac¸˜ao directa para o CPU ou FPGA. Isso permite que um outro hardware comunique directamente com o processador ou FPGA sem latˆencias adicionais.

Figura 3.12: H6042

Figura 3.13: Placa D-Link G730ap

Xilink Spartan 3E 500. Adicionalmente cont´em 32 Megabytes de RAM que pode ser uti- lizado para guardar informac¸˜ao das aplicac¸˜oes instaladas e 16 Megabytes de flash que podem ser utilizados para guardar o kernel e sistema de ficheiro quando o desenvolvi- mento do robˆo terminar.

Componentes adicionais

Adicionalmente as placas referidas anteriormente est´a dispon´ıvel outra placa, a D-Link G730ap(figura 3.13). Esta placa ´e necess´aria porque a placa H4090 n˜ao tem um contro- lador sem fios.

Para alimentar todos estes componentes s˜ao necess´arias pelo menos cinco baterias de 6 Volts(figura 3.14) cada (vinte cinco pilhas de 1.2 Volts ligadas em s´erie em grupos de cinco). A distribuic¸˜ao das baterias ´e feita da seguinte forma: Uma bateria para alimentar o microcontrolador, duas baterias para alimentar a placa H4090 e mais duas para alimentar a placa controladora dos motores e motores.

Alguns componentes, neste caso o aceler´ometro e girosc´opio, necessitam de 3.3V DC em vez de 5V DC. Para ser poss´ıvel converter os 5.0V DC em 3,3V DC, um regulador foi adquirido. Um regulador de tens˜ao permite a tens˜ao pretendida e permite alimentar v´arios sensores.

Figura 3.14: baterias de 6 Volts

Figura 3.15: Esquema do circuito el´ectrico

Para mitigar a desorganizac¸˜ao resultante de ligar v´arios sensores a uma placa foram adicionados ligadores de forma a centrar todas as ligac¸˜oes de um certo tipo (terra, 5Volts, 3,3Volts). Uma imagem representativa do circuito est´a dispon´ıvel na figura 3.15.

Na imagem podemos verificar que a partir da fonte de 5V fornecida pela placa Bot Board II ´e gerado 3,3V atrav´es do regulador de tens˜ao. Ligados a cada ligador est˜ao os elementos que necessitam daquele tipo de alimentac¸˜ao (5V DC,3.3V DC ou terra).

Planeamento

Como indicado anteriormente os objectivos deste trabalho s˜ao:

• Melhorar os algoritmos do middleware mencionado anteriormente;

• Criar uma camada de sensores e motores que permita a interacc¸˜ao com o wormhole; • Adaptar o middleware para um robˆo m´ovel;

• Validar a propriedade de execuc¸˜ao s´ıncrona do wormhole.

Destes objectivos e do contexto em que o robˆo ser´a utilizado ´e poss´ıvel obter um con- junto de requisitos necess´arios para que estes objectivos sejam alcanc¸ados. Esses requi- sitos s˜ao divididos em dois grupos: funcionais e n˜ao funcionais. Os requisitos funcionais s˜ao requisitos que definem a func¸˜ao principal do projecto que neste caso ´e criar um robˆo que consegue fazer tarefas de vigilˆancia sobre espac¸os conhecidos. Os requisitos n˜ao fun- cionais s˜ao requisitos que definem a arquitectura do sistema mas n˜ao o funcionamento do mesmo. Estes requisitos normalmente est˜ao englobados nas ´areas de performance e seguranc¸a.