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.