S02E06_-_Montagem_-_Thumb

Série 2 – Arcade – Montagem

Neste episódio iniciamos a montagem da arcade do Luís.

Depois de termos todos os painéis cortados e com a primeira camada de primário, chega finalmente a altura de montar tudo para que a arcade comece a ter um aspecto mais definitivo.

Continuando com o tema da build experimental, nenhum de nós tem a certeza de como será a melhor forma de proceder à montagem, pelo que resta mesmo iniciar por um dos lados.

O Sérgio está presente para aprender e tentar evitar os erros cometidos nesta montagem para que não aconteça na dele. 🙂

Damos inicio à montagem propriamente dita usando cola de madeira entre os painéis e as ripas de suporte, com pregos (e não parafusos) pois a madeira é bastante fina. A madeira (MDF) que o Luís está a usar tem problemas de húmidade o que dificulta o pregar.

E agora que temos uma lateral presa aos vários painéis, podemos finalizar colando e pregando a outra lateral, dando assim forma ao corpo da arcade.

No caso da arcade do Luís o “marquee” será em acrílico branco fosco e ficará colocado na arcade graças a uns rasgos que foram feitos nas laterais e será apoiado pelo painel que tem as colunas.

Podemos também começar a planear a localização do joystick e botões, com o Sérgio a juntar-se para apreciar o final da montagem.

 

S02E06_-_Montagem_-_Thumb

S02E05_-_Consideracoes_Sobre_Software_e_Som_-_Thumb

Série 2 – Arcade – Considerações sobre Software e Som

Enquanto pintamos os restantes painéis da arcade do Luís, discutimos algumas considerações do software a utilizar.

Após termos cortado o painel inferior e a porta traseira para a arcade do Luís, procedemos à aplicação de primário mas mesmas. Enquanto estamos literalmente a ver a “tinta a secar”, ponderamos sobre as várias hipoteses à nossa disposição para qual o software emulador que iremos usar.

AVISO: Este artigo contém conteúdo de teor bastante técnico

 

Para que a arcade funcione, necessitamos duas peças fundamentais de software, um emulador e um “frontend”. O emulador é o programa que reproduz o funcionamento da máquina de jogos (emulação de hardware). O frontend é o interface de utilizador que nos permite escolher o tipo de máquina e o jogo propriamente dito.

Quer escolhamos um PC ou um RaspberryPi, haverá sempre um sistema operativo a funcionar. Num PC, podemos escolher desde MS-DOS, Windows (quase qualquer versão) ou Linux. Para o RaspberryPi existem distribuições Linux, sendo que a mais utilizada é o Raspbian. Não vale a pena pensarem em usar a versão Windows 10 para o RaspberryPi. Não é uma plataforma utilizável para este fim.

Começando por falar dos emuladores, diriamos que existe um para cada tipo de categoria de máquina. Com o poder computacional dos processadores actuais, é possível emular por software uma extensa gama de equipamentos.

Um dos mais antigos é o MAME (multiple machine arcade emulator), cujo projecto existe desde 1997 (baseado em MS-DOS) e que actualmente segundo a página do projecto, suporta mais de 7000 “ROM sets” em que existem perto de 3910 jogos únicos. Este emulador tenta reproduzir em formato digital o hardware e software das máquinas Arcade, tão famosas nos anos 80 e 90.

Neste site existe uma vasta colecção de links para projectos que emulam diversos tipos de consolas, em vários estados de funcionamento. Neste momento é praticamente impossível ir testar um a um pelo que deixamos este exercício à vossa disposição. De ter em conta que os emuladores podem estar apenas disponíveis para um sistema operativo e que isso pode limitar a utilização num RaspberryPi.

Cada emulador tem o seu próprio interface, ainda que muitas vezes seja apenas por linha de comandos. É esta a principal razão pela qual foram aparecendo os software de gestão do interface com o utilizador, o chamado “frontend”. Quando ligamos a nossa arcade, é este o software que fica a correr a seguir ao arranque do sistema operativo.

EmulationStation (ES) é um dos frontends  com um aspecto bastante cuidade e que tem sido a escolha da comunidade. Na data de publicação deste artigo, está disponível para Windows, Raspberry Pi, Debian e Arch ou ainda em source code.

Este frontend está muito virado para a gestão da emulação de consolas mais antigas e como tal requer a utilização de um comando para “navegar” no interface. Neste momento, (na opinião do Luís), o maior contra é que as configurações efectuadas na atribuição de botões e joysticks no interface do ES não são copiadas para cada um dos emuladores. Durante a fase de prototipagem que o Luís esteve a fazer, em certos emuladores não era possível a perfeita integração dos botões escolhidos o que acaba por por em casa a utilização deste frontend.

Partindo do pressuposto que vamos usar um RaspberryPi, existem algumas distribuições Linux já preparadas para serem utilizadas sem grandes configurações. Uma delas é o RetroPie, um projecto que combina (entre outros) RetroArch, EmulationStation e que tem imagens do cartão SD prontas a ser transferidas.

Existem neste momento (Junho de 2016) duas versões, uma para o RaspberryPi zero e 1, outra para o RaspberryPi 2 e 3 (as versões dependem apenas do tipo de processador utilizado).

O Luís vai usar um PC com o emulador MAME (multiple machine arcade emulator). Como este emulador não tem um interface muito intuitivo para o utilizador e face às questões encontradas com o ES, o Luís ainda não tomou uma decisão final sobre o assunto. Na pior das hipóteses irá usar apenas o interface do MAME.

Para a arcade do Sérgio, vamos desmontar umas colunas e usar toda a electrónica. Discutimos qual será a melhor forma de colocar os dois altifalantes na placa que vai ficar por baixo do “marquee” e logo acima do ecrã.

Ao desmontar as colunas, o Nuno sugere que se use um iman para “agarrar” os parafusos. Não os iremos reutilizar mas é sempre uma forma de os mantermos juntos.

Como as colunas já têm uns anos, a melhor forma de retirar o altifalante do plástico é dar umas pancadas do lado oposto pois normalmente a cola já está seca e acaba por partir.

Noutros modelos de colunas, o altifalante pode estar preso com parafusos. Estas colunas são amplificadas pelo que temos que retirar todos os componentes que iremos reutilizar.

Há diversas formas colocar os altifalantes na madeira de forma a que o som seja claro. Dado ao formato generoso do diafragma que o altifalante tem, o Luís sugere várias formas de montagem e o Nuno sugere que se faça um conjunto de furos em padrão grelha.

O Luís sugere também que o controlo de volume deve ser mais físico e acessível do exterior pois os altifalantes são relativamente potentes para o som que a arcade irá ter. O controle de volume pode ser também feito por software através de combinação de teclas.

 

S02E05_-_Consideracoes_Sobre_Software_e_Som_-_Thumb

 

IMG_2378a

Apresentação do projecto SparroWatch

O SparroWatch é uma rede de sensores sem fios para salvar as nossas florestas, construída pelo OOZ Labs e será apresentada na Maker Faire Lisboa.

São ninhos de pássaros completamente autónomos, capazes de comunicar entre si e alimentados por paineis de energia solar. Os sensores de temperatura e de humidade apresentam os dados num site onde as equipas de protecção florestal podem agir para prevenir os fogos ou detectar incêndios em curso com uma margem de erro de alguns metros. A tecnologia utilizada já existe e está disponível a qualquer pessoa que queira construir já o seu Sparrow Nest.

Estes ninhos estão interligados numa rede em malha, sendo que um ou mais nós desta rede em malha estarão ao alcance de um ponto de acesso que permite o envio de todos os dados recolhidos para um serviço na nuvem (cloud computing).

O uso desta tecnologia era possivel sem a utilização de ninhos, porém os ninhos têm a vantagem de apoiar a nidificação e observação de animais.

A análise dos dados recolhidos é efectuada em tempo quase-real por um sistema informático ainda em desenvolvimento que tratará de processar os dados de forma a poder enviar avisos de potenciais situações de perigo às entidades responsáveis.

Durante a feira teremos um dashboard que mostra valores dos diversos ninhos espalhados pelo recinto da Maker Faire Lisboa 2016. Já temos software disponível no nosso repositório no Github, e continuamos a desenvolver a solução.

Podem obter aqui o Press Release do projecto, amavelmente preparado pela Daniela Azevedo.

Juntamos fotos de alguns protótipos dos ninhos que irão estar presentes na feira.

 

Casinha com dois painéis solares

IMG_20160528_180348585

IMG_2378a

 

S02E04_-_Ripas_de_Suporte_e_Quadrados_ao_Comprido_-_Thumb

Série 2 – Arcade – Ripas de Suporte (e Quadrados ao Comprido)

Neste vídeo, todos tratam de cortar e colocar as ripas de suporte.

Apesar de termos referido inicialmente que iríamos usar ferramentas mais comuns, decidimos usar outra “powertool”, apenas para acelerar o processo de corte das (muitas) ripas de suporte.

De notar que todo o processo pode ser efectuado com recurso a um serrote manual. Apenas dará mais trabalho e demorará mais tempo, sendo que alguns cortes com ângulo ficam facilitados pela ferramenta.

Para simplificar o trabalho, e dado que vamos colocar as ripas dos dois lados, vamos cortar ripas aos pares. Isto resolve eventuais problemas no caso dos cortes com ângulo.

Independentemente do tipo de serra que se use para o corte, há que ter em conta que a serra vai sempre “comer” um pouco de madeira em cada corte.

Por isso, não devemos comprar a madeira ao milímetro, corremos o risco de nos faltar material… e não esquecer: “medir duas vezes, cortar uma”.

Passamos à forma de como seguramos as ripas às laterais, para tal podemos usar parafusos ou pregos. Se usarmos parafusos, devemos fazer um furo na ripa para que ela não abra uma lasca e aparafusamos a ripa na lateral (de dentro para “fora”). Se escolhermos o prego, iremos pregar a lateral à ripa (de fora para dentro).

Em qualquer das duas escolhas, usamos cola de madeira para garantir que tudo fica bem unido. Colocamos um bom bocado de cola, posicionamos firmemente a ripa na lateral, fazendo um pequeno movimento para que a cola espalhe.

É boa ideia recorrer a uma ripa de igual espessura da lateral para alinhar a ripa. Depois de termos tudo no sitio, seguramos o conjunto com fita de pintor, damos meia volta e usamos dois pregos (na arcade do Luís vamos usar pregos).

Tendo todas as ripas coladas podemos passar à próxima fase, a da aplicação do primário.

Antes de iniciarmos a pintura das madeiras devemos misturar a tinta. Apesar de existirem ferramentas para facilitar esta tarefa, o Luís gosta de usar uma chave sextavada em ‘L’. Este processo faz com que a tinta fique com um aspecto mais sedoso e uniforme.

Outro truque, para quem não é profissional (ou quando não usamos um tabuleiro de pintura), passa por colocar um pedaço de fita de pintor na borda da lata para ajudar a escorrer a tinta em excesso no pincel. Posto isto, basta aplicar uma boa camada de primário em todos os painéis.

S02E04_-_Ripas_de_Suporte_e_Quadrados_ao_Comprido_-_Thumb

 

OOZ_Labs_-_S02E03_-_Decisoes_e_Detalhes_do_Armario_da_Arcade_do_Sergio_-_Thumb

Série 2 – Arcade – Decisões e Detalhes do Armário da Arcade do Sérgio

Neste vídeo, o Nuno e o Sérgio discutem algumas decisões e detalhes na construção da arcade do Sérgio.

Após termos cortado as laterais segundo a nossa adaptação dos planos disponibilizados no site WeeCade, resta agora tomar algumas decisões sobre como juntar as restantes partes. Há que ter em conta os ângulos da zona de jogo e painel frontal, que vão condicionar a colocação das ripas de suporte.

Para marcar o espaço ocupado pela lateral, usamos um truque que o nosso amigo Fernando Afonso nos ensinou e que passa por usar um paquímetro para “traçar” a madeira à medida pretendida. Em alternativa, o Nuno Correia mostra como se pode fazer “à moda antiga” usando apenas um lápis e o dedo.

Ainda não houve decisão sobre a porta traseira pois vamos depender da colocação ou não da mainboard na própria porta. Há que prever que a colocação das ripas internas vai condicionar a instalação dos restantes componentes internos.

Em relação à área de jogo, as ripas de suporte não irão complicar a instalação porque, apesar do Sérgio ter escolhido um conjunto completo de comandos, há espaço suficiente. Também ajuda ter o monitor instalado na horizontal.

Esta preocupação tem a ver com a dimensão não visível dos elementos mecânicos e electrónicos dos botões e do joystick, que ocupam um espaço considerável na parte de trás da área de jogo.

Outro aspecto a considerar é a retro-iluminação do painel de acrílico frontal, que referimos como “marquee”. Este painel terá uma decoração ainda a determinar mas a maior preocupação é de afastar a fonte de iluminação do painel, dado que iremos utilizar fitas de LED’s.

Nas fitas os LED’s estão espaçados mais ou menos a cada centímetro. Se colocarmos a fita muito próxima do painel, iremos ver cada um dos LED’s. Se a afastarmos ligeiramente a iluminação ficará bastante mais uniforme.

 

OOZ_Labs_-_S02E03_-_Decisoes_e_Detalhes_do_Armario_da_Arcade_do_Sergio_-_Thumb

 

S02E02_-_Paineis_do_Armario_do_Luis_-_Thumb

Série 2 – Arcade – Painéis do Armário do Luís

Neste episódio, o Nuno e o Luís cortam os painéis para a arcade do Luís.

Começando pelo mockup que o Luís construiu em cartão, tiramos as medidas e transferimos o desenho para a madeira.

Cortamos os painéis à largura com uma serra circular a partir do painel o que simplifica os cortes seguintes. Colocámos uma guia para que o corte fique o mais direito possível, tendo em conta a distância que vai entre a serra de corte e a lateral da ferramenta.

Sugerimos que experimentem cortar primeiro uma sobra de madeira para não estragar a peça final. E lembrem-se, medir duas vezes, cortar uma. É também importante ter cuidado onde fazem o corte para não cortar algo que esteja numa superfície inferior.

Para as laterais usamos uma serra tico-tico que permite melhor precisão de recorte. Fazemos um corte mais grosseiro para separar as “duas metades” e depois cortamos com precisão junto à linha desenhada.

Após termos um dos painéis cortados, usamo-o como guia para cortar o segundo. Caso usem placa de MDF fina, neste caso a madeira é de 8mm, podem simplesmente unir as duas madeiras e cortar ao mesmo tempo.

Tendo os dois painéis cortados, acertamos os pequenos erros de corte com uma lixadeira eléctrica. Este passo também pode ser efectuado com ferramentas manuais, recorrendo a uma grosa para um acabamento grosso e lixa para finalizar.

No vídeo usamos uma lixadeira com aspecto mais profissional simplesmente porque a que temos de uso mais comum estava avariada.

Passamos ao corte dos restantes painéis que compõem a arcade, sendo que a medida de corte depende da largura do monitor, que neste caso são 26cm.

Para segurar o monitor usamos uma madeira como suporte interno, que dá uso ao método de fixação “VESA” que faz parte do monitor. De notar que obtivemos o centro da madeira para referência e não o centro do monitor. No caso do monitor utilizado, temos que utilizar uma broca de escarear pois o monitor tem uns pilares salientes da superfície.

De seguida demonstramos como é que o conjunto ficará montado, sendo que nesta fase ainda estão por cortar painel inferior e traseiro. Falta definir como vai ficar toda a parte traseira pois temos que posicionar a porta de forma a permitir o acesso aos diversos componentes internos.

 

S02E02_-_Paineis_do_Armario_do_Luis_-_Thumb

S02E01_-_Planos_e_protótipos_-_Thumb

Série 2 – Arcade – Planos e protótipos

Neste primeiro episódio da série dedicada a arcades de mesa, vamos falar dos planos e protótipos. Apresentando com detalhe o que nos propomos construir e sobre o material necessário para o fazer.

O Luís e o Sérgio mostram o material que tem de se comprar já feito, desde a parte electrónica, aos botões e joysticks necessários, passando pelos monitores e outros pormenores.

Os botões e joystick podem ser comprados no eBay, tendo a noção que existem vários tipos e preços. A nossa escolha privilegiou os que nos dão uma experiência mais próxima de uma arcade real e que podem encontrar facilmente no eBay usando “Jamma Arcade Button” como frase de pesquisa.

De seguida podemos ver mais em detalhe o “cérebro” que o Luís vai utilizar na sua arcade e que se trata de uma board mini-ATX de baixo consumo. A escolha desta board resumiu-se a ser a que o Luís tinha “em stock” que tinha o menor consumo e que aquecia menos.

Dado que para correr os emuladores de consola não têm requisitos muito elevados, praticamente qualquer board que ainda funcione serve.

Depois assistimos ao processo de re-desenhar os planos da arcade do Sérgio, devido à diferença entre o tamanho do monitor que ele pretende utilizar e o monitor considerado nos planos iniciais. O Sérgio e o Nuno Correia redesenham então a arcade e montam um protótipo em cartão da mesma (semelhante ao que o Luís mostrou no prólogo).

Findo este episódio estamos prontos para começar a construir a sério.

Links para sites e artigos relevantes:

  • WeeCade – os planos da arcade na qual o Sérgio se vai basear

S02E01_-_Planos_e_protótipos_-_Thumb

Resumo da série 2.

S02E00_-_Prologo_-_Thumb

Série 2 – Arcade – Prólogo

Nova série, novo convidado, novo tema. Nesta nova série vamos construir máquinas arcade de mesa.

Para nós este é o concretizar um sonho da nossa adolescência. A grande maioria dos jovens da nossa geração passou inúmeras horas de volta das famosas máquinas de arcada, investindo pequenas fortunas (na realidade não, mas na altura parecia) em jogos tipo pacman, galaxian, mooncresta, metal slug.

A geração actual está habituada a ter as suas consolas, computadores e smartphones onde podem jogar todo o tipo de jogos a qualquer altura do dia ou noite, mas “no nosso tempo” tinhamos que juntar dinheiro, de preferência nas moedas certas que a máquina aceitava, e planear o nosso tempo por forma a maximizar o tempo disponível para estar em frente à máquina. Como diz o nosso convidado, o Sérgio, a experiência de jogar numa arcade é muito mais física e até visceral.

Nesta série vamos fazer as coisas de forma algo diferente: vamos construir duas máquinas. Uma delas, a do Sérgio, será adaptada dos planos do modelo WeeCade. A outra seguindo a inspiração e o desenho-conforme-vamos-construindo do Luís. Nenhum de nós construiu uma coisa destas antes e sobretudo, no caso da máquina do Luís, não temos certezas de que conseguiremos construir exactamente o que ele imagina, mas vamos mostrar o que conseguimos fazer e havemos de ter duas máquinas prontas a jogar no final!

Neste episódio o Luís fala-nos sobre a sua motivação e as ideias que tem para a sua arcade, apresentando já os protótipos que construiu previamente. De seguida apresenta-nos o Sérgio e conversa um pouco com ele sobre o que ele pretende na sua arcade e das diferenças que se esperam entre as duas máquinas.

Finalmente o Nuno Correia fala um pouco sobre as ferramentas a utilizar na construção e sobre os processos que pensamos utilizar para transformar as nossas ideias em máquinas de diversão reais!

Links para sites e artigos relevantes:

  • WeeCade – a arcade na qual o Sérgio se vai basear

S02E00_-_Prologo_-_Thumb

Resumo da série 2.

2015-09-19 22.23.44

Projecto OOZ2Mars – Construção do Rover (hardware)

Tal como tinha sido prometido durante a Lisbon Maker Faire, vamos descrever o nosso Rover (hardware).

Brevemente será publicado o artigo sobre o software que faz o Rover andar.

 

A nossa réplica do Mars Rover inspira-se nas dimensões dos Rovers da NASA, Spirit e Opportunity, tendo sido escolhida a escala 1/4 . O elemento que achamos fascinante (e que não nos cansamos de ver) é o modelo de suspensão. Esta suspensão dá pelo nome de “rocker-bogie” e é essencialmente um design que a NASA tem usado em todas as missões de exploração a Marte.

Decidimos usar um misto das tecnologias existentes, e se a parte “rocker-bogie” é inspirada pelos rovers gémeos Spirit e Opportunity, o diferencial é inspirado no rover Curiosity. Podem ver uma excelente explicação destes tipos de suspensões neste link.

A ideia por trás desta suspensão sem molas nem amortecedores é permitir que o rover ultrapasse obstáculos maiores do que o diâmetro de uma roda, tolerando inclinações laterais até 45º. O diferencial mantém o chassis do rover o mais horizontal possível. Por erro na montagem das peças, o segmento “rocker-bogie” acabou por ficar montado ao contrário do que os rovers originais.

Depois de várias considerações, escolhemos construir o chassis do Rover numa estrutura em madeira. Embora não seja leve, é de fácil construção e, em caso de algum erro, podemos facilmente corrigir.

 

As três gerações do nosso Mars Rover
As três gerações do nosso Mars Rover

A electrónica do Rover tem duas facetas, por um lado, obter dados de telemetria, por outro controlar o movimento. No exterior, o Rover tem uma câmara de vídeo, a placa wireless e três sensores de ultrassons para detectar e (na maioria das vezes) evitar colisões. Estes sensores estão ligados ao Arduino Makerfaire Edition, que também lê a tensão das duas baterias, enviando os valores quatro vezes por segundo para o Raspberry Pi 2 (raspi2).

O raspi2 é o cérebro do nosso rover e as funções principais são: enviar dados de telemetria para o “Mission Control”, manter um livestream da câmara frontal, receber e processar os comandos vindos do Comandante da Missão. a câmera e a placa wireless estão ligadas directamente ao raspi2. Usamos o módulo de câmera específico do Raspberry Pi pois o tratamento de imagem é efectuado pelo GPU, reduzindo a carga no processador do raspi2. A placa wireless utiliza a norma 802.11n para conseguirmos melhor largura de banda para transmissão de dados.

O Arduino MakerFaire Edition 2014 é responsável pela leitura dos três sensores de ultrasons que nos informam da distância para os obstáculos. Este Arduino também lê as tensões das baterias. A informação de telemetria recolhida é enviada para o raspi2 através da porta série interna, usando um “level shifter”, pois os dois dispositivos usam tensões de funcionamento diferentes.

O Arduino Leonardo recebe e processa a lista de comandos vindos do raspi2. Os comandos são executados em sequência, sendo apenas interrompidos em caso de colisão iminente. O rover executa comandos para evitar o obstéculo, retomando a sequência logo que não tiver mais nenhum obstáculo à sua volta.

Para comando dos motores, usamos um circuito baseado no chip L298 que é o mais indicado para o tipo de motores que temos no nosso rover. Ao contrário dos multicopters que utilizam motores trifásicos com controladores bastante complexos, os motores de escovas podem ser comandados com quatro transístores de potência. O chip L298 contém dentro dois conjuntos de quatro transistores de potência capazes de fornecer a corrente suficiente.

 

Exemplo de implementação
Exemplo de implementação

Construímos dois módulos idênticos em protoboard e usámos um dissipador que tínhamos por aqui para dissipar algum calor extra. Nunca notámos alguma espécie de aquecimento anormal durante os três dias da feira. O nosso Rover movimenta-se da mesma forma que um tanque de guerra, sendo que os motores são controlados aos pares como se fossem apenas dois, o motor esquerdo e motor direito.

As peças azuis foram modeladas e impressas pelo Basílio Vieira que foi o nosso convidado especial para este projecto. Os modelos foram criados no Sketchup e impressas numa BEETHEFIRST da BeeVeryCreative.

Em antecipação da explicação mais detalhada do software, juntamos aqui os links para todos os módulos que usámos para criar esta Experiência de condução de um Rover “em Marte”.

 

Código fonte do projecto

 

Bibliotecas adicionais

  • mosquitto.org – Linux, Servidor de Mensagens MQTT
  • paho-mqtt – Linux, ligações python para MQTT
  • RunningMedian – Arduino, obter mediana de uma série de valores
  • NewPing – Arduino, ler distância de objectos com sensores ultrasons
  • LMotorController – Arduino, controlador de motores

 

Lista de componentes

Glossário:

  • level-shifter – adaptador de sinais que permite que o Arduino (5V) comunique com o Raspberry Pi (3.3v)
  • shield – placa que liga nos pinos do Arduino e que permite expansão
  • GPU – processador gráfico
  • Protoboard – Placa de circuito impresso para prototipagem com furação e ilhas para soldar componentes

Nota: links válidos a 4 de novembro de 2015

Rover1

OOZ2Mars – Projecto MakerFaire 2015

(Este artigo vai sofrer inúmeras alterações durante os próximos dias, à medida em que vamos adicionando mais conteúdo pós MakerFaire Lisboa)

 

Foi há dois meses atrás que tivemos a ideia de propor como projecto para a Lisbon Maker Faire deste ano uma experiência condução de um Rover em Marte.

Para ilustrar o que nos proporíamos a fazer, produzimos este vídeo.

A organização da Maker Faire gostou tanto do desafio que aceitou a nossa participação, o que nos fez iniciar os trabalhos de imediato.

Pegando na ideia de comandar um rover à distância, e do que sabemos do projecto da NASA, qualquer interacção com o mesmo tem um atraso que varia entre 4 e 24 minutos. Isto acontece devido à distância entre os dois planetas e também a variações na posição orbital.

Tipicamente entre o envio de um comando para Marte e o retorno com a confirmação passam-se 40 minutos (mais detalhes neste link em Inglês). A NASA criou um sistema em que são enviadas directivas para o rover, e em que este pode ter autonomia na sua execução por forma a evitar obstáculos e escolher uma rota favorável.

No nosso caso vamos simplificar um pouco a experiência de comando, dando ao Comandante da Missão a hipótese de escolher uma sequência de comandos para envio. Os comandos serão executados pelo rover de imediato, evitando obstáculos que surjam pelo caminho.

Falando do hardware que vamos usar para este projecto, o rover tem dentro um computador Raspberry Pi 2, uma camera de vídeo, um Arduino Redboard (Lisbon Mini Maker Faire edition) e um Arduino Pro Micro (compatível com o Arduino Leonardo).

Usa sensores de ultra-sons para detectar obstáculos à frente e atrás e tem dois módulos baseados no chip L298 para controlo dos motores. Temos ainda dois circuitos para monitorar os níveis das baterias de lítio que alimentam todo o circuito.

 

Rover1
Imagem: o Rover fotografado por Basílio Vieira

 

O rover comunica via wireless com o nosso servidor, ao qual demos o nome “Mission Control”, e é a partir dele que serão dadas todas as ordens de comando. São também enviados dados de telemetria sobre os obstáculos e os valores de carga das baterias.

O centro de comando consiste numa página web onde damos as ordens de comando e assistimos a uma transmissão vídeo a partir do rover, com um ligeiro atraso.

No fim de cada missão executada, o/a Comandante da Missão vai receber um certificado de participação na missão para recordação.


Para este projecto tivemos a ajuda preciosa do Basílio Vieira que desenhou e imprimiu todas as peças à medida que necessitámos criar. As rodas, os suportes dos motores, os “linkage” que permitem a suspensão funcionar e ainda o suporte da câmera (que não consta da foto).

O Nuno Correia construiu todo o chassis e painéis laterais, ajudando nas decisões do projecto, fornecendo o espaço OOZLabs para a construção e mantendo o stock do minibar em níveis aceitáveis.

O Luís Correia seleccionou o hardware e os módulos da electrónica, escreveu todo o código que corre nos dois Arduino (C++), o código que corre no Raspberry Pi 2 (Python) e trata comunicação de dados com Mission Control e ainda o código que corre em Mission Control (Javascript + Websockets).


Actualização 2015 09 21:
o código fonte usado no projecto está disponível no Github


O projecto não se fez só com a nossa vontade pelo que temos que agradecer a algumas pessoas e empresas:

  • inMotion – forneceu os motores e os L298
  • João Neves – doou um servidor Dell PowerEdge R200
  • Luis Silva – emprestou um módulo WiFi de dimensões reduzidas
  • Bruno Amaral – ajudou a criar o Mission Control web interface
  • Lobsters – ajudaram com todo o encorajamento que bem falta nos fez :p
  • MEOCloud – alojar imagens e documentos das missões
  • SAPO Puny – fornece links curtos para todas as URL do projecto

 

Contamos convosco na Lisbon Maker Faire 2015 a partir de sexta-feira à tarde até domingo!