Programação de robôs aspiradores
Programação de robôs aspiradores e plataformas de serviço: navegação, desvio de obstáculos, mapa do ambiente. A programação de robôs aspiradores nós fazemos em ROS2 + Nav2 + SLAM, Open Interface (Roomba), Valetudo (Xiaomi) e ESP32/Raspberry Pi. Assumimos tanto a programação de robôs aspiradores DIY quanto o aprimoramento de plataformas prontas.
O que está incluso no serviço
Pegamos o robô aspirador do cliente e escrevemos para ele a lógica de controle: configuramos a construção do mapa do ambiente, as rotas de varredura, as zonas proibidas e os cenários de limpeza por agenda. A programação de robôs aspiradores, do nosso jeito, é trabalho com o firmware e o software do dispositivo específico, e não montagem de hardware: o próprio aspirador anda e limpa, nós preparamos o programa e os parâmetros do seu comportamento. Conectamos sensores de obstáculo, lidar ou câmera ao stack de navegação e os calibramos para que o aparelho não confunda parede com soleira. Levamos o controle para a rede local, para que o dispositivo funcione sem a nuvem obrigatória do fabricante. Na saída o cliente recebe um aparelho ajustado, com lógica de desvio previsível, e a documentação dos parâmetros.
Como isso funciona na essência
Na base de qualquer robô aspirador moderno está a tríade: percepção, localização e planejamento de rota. Os sensores captam a geometria do cômodo, o algoritmo de SLAM simultaneamente constrói o mapa e determina a posição do aparelho nele, e o planejador traça a rota pela área já conhecida. Sem localização precisa o robô perde a noção de onde está e começa a limpar uns trechos duas vezes e a pular outros. Configuramos essa cadeia para o ambiente do cliente: definimos os parâmetros de filtragem de ruído dos sensores, a frequência de atualização do mapa e as regras de desvio de obstáculos dinâmicos, como pés de cadeira. O programa confere o tempo todo a posição real contra o mapa e corrige a trajetória em tempo real.
Quando surgiu essa área
O primeiro robô aspirador de série foi lançado pela Electrolux: o protótipo Trilobite foi mostrado em 1996, e o dispositivo finalizado chegou ao mercado em novembro de 2001, tornando-se o primeiro aparelho comercial dessa categoria. Em setembro de 2002 a iRobot apresentou o Roomba, e foi justamente essa linha que estabeleceu o padrão de massa da categoria e se mantém no mercado até hoje. Os modelos iniciais quase não construíam mapa e se moviam de forma semialeatória, ricocheteando nas paredes, o que tornava a cobertura da área irregular. A transição para uma navegação consciente, com construção do mapa do ambiente, levou mais uns dez anos e só se tornou possível com o barateamento dos lidares e o aumento do poder de processamento dos chips de bordo. Foi essa evolução que definiu por que hoje o valor do aparelho está no software, e não nas escovas.
Por que software e precisão são críticos
A mecânica do robô aspirador é barata e quase idêntica em todos os fabricantes, e a diferença no resultado da limpeza vem justamente do software de navegação. Um erro de localização de poucos centímetros faz o aparelho passar de novo por zonas limpas e não chegar aos cantos, gastando carga à toa. Zonas proibidas mal definidas significam que o robô vai subir em cabos, num tapete de franjas, ou entrar numa área onde vai ficar preso. O ajuste preciso da filtragem dos sensores e dos parâmetros do planejador determina diretamente em quantas passadas e com qual cobertura a área é limpa. Por isso a programação de robôs aspiradores nós tratamos como uma tarefa de engenharia com resultado mensurável: cobertura da área, tempo de ciclo e número de travamentos.
Nosso stack e ferramentas
A base é o ROS2 como framework industrial de robótica: sobre ele se constrói a troca de dados entre sensores, mapa e motores. A navegação resolvemos com o stack Nav2, que responde pelo planejamento de rota, desvio de obstáculos e comportamento em caso de perda de localização. O mapa construímos com algoritmos de SLAM, escolhendo a implementação conforme o tipo de sensor do aparelho específico, seja lidar ou câmera. Para robôs aspiradores usamos o Open Interface como canal de baixo nível de comandos para a plataforma e o Valetudo para passar o dispositivo a controle local, sem a nuvem do fabricante. O conjunto de ferramentas escolhemos conforme o hardware do cliente, já que nem todo aparelho suporta a substituição completa do firmware.
Quando surgiram as principais ferramentas
A própria abordagem SLAM tem raízes antigas: os trabalhos fundamentais sobre estimativa probabilística de posição saíram em 1986 com Smith, Self e Cheeseman, e o próprio termo SLAM foi introduzido por Durrant-Whyte e Leonard em 1995. O framework ROS nasceu na Willow Garage em novembro de 2007, e a sua versão reformulada, o ROS2, saiu em fase beta em dezembro de 2016 e ganhou o primeiro release oficial, Ardent Apalone, em 8 de dezembro de 2017. O stack de navegação Nav2 herda cerca de quinze anos de desenvolvimento do antigo stack de navegação do ROS e foi portado para a arquitetura ROS2. O projeto Valetudo, para controle local de aspiradores, começou em 2018 e desde então dá suporte a dezenas de modelos. Essas datas mostram que sob o capô do aparelho estão tecnologias testadas pelo tempo, e não experimentos crus.
Por que dá para confiar isso a nós
A experiência combinada da nossa equipe de desenvolvimento ultrapassa 45 anos em TI, e abordamos o robô como um sistema de engenharia, e não como um gadget doméstico. Não fabricamos nem montamos hardware: o aspirador continua sendo seu, nós escrevemos e depuramos o programa e ajustamos o seu comportamento ao ambiente específico. Cada configuração verificamos em rodagens reais antes da partida de verdade, medindo a cobertura da área, o tempo de ciclo e o comportamento em trechos difíceis. Todos os parâmetros e decisões registramos na documentação, para que a configuração possa ser reproduzida e mantida sem depender de um único executor. Essa abordagem elimina a situação em que o aparelho foi comprado caro, mas trabalha no chute por causa de uma lógica de fábrica crua.
O que inclui
Como trabalhamos
Robô autônomo: programação de robôs aspiradores com mapa do ambiente e desvio de obstáculos — anda sozinho, sem as mãos.
Perguntas e respostas
Pronto ou próprio?+
Programação de robôs aspiradores tanto DIY em ROS2 quanto o aprimoramento de prontos (Roomba Open Interface, Xiaomi via Valetudo).
Em cima do quê?+
Programação de robôs aspiradores em Raspberry Pi, Jetson, ESP32, além de LIDAR para SLAM.