Introdução ao DAMI

No dia 28 de Maio de 2018 decidi iniciar-me na robótica. A minha ideia era, e é, fazer um robot que fizesse um mapa da casa e “soube-se” a sua localização nesse mapa (denominado em robotica de “mapeamento e autolocalização”, conhecido em inglês por SLAM), assim como a localização da sua “base” e voltar a ela de forma autonoma quando for necessário carregar a bateria. Imaginar é bem mais facil que fazer e nem fazia a ideia de onde me estava a meter. 

Para começar, comprei um kit básico de robot com duas rodas. Semelhante ao apresentado na imagem abaixo.

Comprei também um clone do arduino uno, um sensor ultra-som, um giroscópio (MPU6050), jumpers/fios de ligação. No dia seguinte comprei um módulo L298N (bridge H), um multimetro e um ferro de soldar.

Dois dias depois fiz o primeiro teste. Basicamente foi a implementação de um programa simples (encontrado na net) para “evitar obstaculos”, com base na informação de um sonar fixo à frente.

A minha primeira impressão negativa foi verificar que o movimento não era rectilinio. Não andava a direito, fazia sempre uma ligeira curva para a esquerda.

Ao longo do tempo fui “melhorando”, troquei o Uno por um Mega, e colocando mais equipamento em cima: coloquei o sonar frontal num servo, acrescentei mais sonares, acrescentei encoders e introduzi o controlo PID dos motores, troquei de motores por uns com encoder de maior resolução, um IMU 10DOF,  um ESP8266 que mais tarde substitui por um Banana pi, e por último coloquei uma camara de video num suporte pan&tilt.

 

No entanto o “melhorando” nunca foi suficiente satisfatório face à precisão na navegação que é necessária para atingir o objectivo inicial (SLAM). O problema da primeira impressão mantinha-se, se bem que mais atenuado conforme se pode ver no video, mas ainda com um comportamento irregular, especialmente no arranque.

 

Foi quando decidi refazer de novo o robot. Esté momento marca o principio da segunda fase.

Começei apenas com os componentes minimos necessários para o controlo dos motores, dedicado quase exclusivamente a esse controlo e á precisão dos movimentos.

Também experimentei várias configurações fisicas entre as quais uma versão de 4 rodas.

Nesta fase aproveitei para documentar os problemas e os métodos/processos necessários para encontrar as soluções numa especie de manual genérico  intitulado “Movimentos em robots com propulsão diferencial” que ainda está em fase de elaboração pois ainda não resolvi de forma satisfatória o problema inicial e o mais basico de todos: andar a direito (incluindo arrancar a direito).

Um dos problemas inumeros problemas que encontrei é a fixação dos componentes. Uma colocação incorrecta de determinados componentes, introduz desvios que afectam a precisão que quero eliminar ou minimizar.

Recentemente descobri que a Biblioteca Municipal tem uma impressora 3D de uso publico a um preço razoavel, o que me permitiu fixar os motores com maior precisão e abre-me alguns horizontes na concepção fisica do robot.

Neste momento tenho 3 modelos de robot em testes o DAMI-M1, o DAMI-M2 e o DAMI-M3, que irei desenvolver já com base em algum conhecimento já adquirido durante a segunda fase.

Com o tempo irei relatar algumas impressões e experiencias anteriores a esta data (2018/10/10).