• UFRJ Nautilus

ROS: o Cérebro

Imagine um cérebro responsável por apenas uma tarefa: fechar uma mão. Ele precisa orquestrar da rede de neurônios do corpo o envio de um aglomerado de sinais elétricos distintos e individuais para os 127 ligamentos musculares responsáveis pelo movimento de uma mão humana. Cada um dos 127 ligamentos musculares precisa de uma instrução específica explicitando precisamente o grau de contração ou relaxamento que precisa executar durante a movimentação coordenada de fechar a mão. Apenas fechar a mão.



ROS, acrônimo para Robot Operating System, é uma coleção de frameworks para desenvolvimento de softwares para robótica. Não propriamente um sistema operacional, mas melhor descrito como um kit de desenvolvimento de software, o ROS é uma tecnologia intermediária cuja maior vantagem é a capacidade de integrar diferentes tipos de componentes em um mesmo sistema e oferecer ferramentas para administrá-lo.


Portanto, seria possível, no contexto de um sistema ROS, vincular cada componente necessário ao cérebro (neurônios, músculos e ossos) em sistemas (nervoso, muscular e ósseo). Esses sistemas poderiam ser controlados individualmente, cada um recebendo e enviando seu próprio conjunto de mensagens, de forma que no caso de um mal funcionamento, em qualquer componente de qualquer sistema, seria possível identificá-lo e atuar precisamente para corrigir o erro, sem necessariamente que os outros sistemas fossem interrompidos.


A cada um desses sistemas seria encaminhados mensagens específicas para seus componentes, agrupando os tipos de mensagens de forma a otimizar a sua circulação pela rede de comunicação. E tendo sido estabelecido essa rede de comunicação onde cada componente individual é coordenado em um sistema e cada sistema gerenciado pelo cérebro.


Além disso, no contexto do ROS, seria possível fixar uma combinação de envio de mensagens específicas para componentes específicos e assim, ao invés de gerenciar o envio de milhões de mensagens individualmente para inúmeros componentes, o cérebro poderia simplesmente “apertar um botão” de fechar a mão.



Tornar tarefas impossivelmente complexas possíveis está no coração do ROS desde o seu surgimento. Foram dois estudantes (de PhD) na Universidade de Stanford que criaram os primeiros segmentos do que o ROS é hoje, Eric Berger e Keenan Wyrobek. Os dois perceberam que muitos do seus colegas de trabalho enfrentavam muitas dificuldades perante a natureza multidisciplinar da robótica.


Tendo isso em mente, os dois estudantes começaram a projetar um sistema que pudesse fornecer um ponto de base onde todos os estudantes pudessem começar seu desenvolvimento por um sistema de “blocos” de software onde ferramentas e programas padrão para determinadas tarefas estivessem disponíveis a estudantes que desejando estruturar seus projetos, pudessem escolher quais “blocos” lhes seriam mais benéficos.


Um sistema escalável, onde novos softwares sendo criados por outros estudantes pudesse ser incluídos na caixa de ferramentas e que a variedade sempre crescente de “blocos” tornasse também sempre crescente a diversidade de possíveis projetos de robótica a serem criados. E tudo isso, de graça.




O ROS foi desenvolvido desde seu princípio como uma plataforma open-source. Atualmente, desde seu surgimento, já foram disponibilizados para estudantes em todo o mundo inúmeras distribuições do sistema, cada uma recebendo novas ferramentas, novos softwares ou versões atualizadas de softwares antigos.


Em 2014, foi anunciado em uma conferência de ROS a proposta do ROS 2, uma significativa renovação completa do framework com o objetivo de adaptá-lo à programação em tempo real, a uma mais ampla variedade de ambientes de computação e à utilização de tecnologias modernas. A primeira distribuição de ROS2, Ardent Apalone, foi lançada em 8 de dezembro de 2017.


De acordo com a ABI Research, uma empresa de pesquisas de mercado, em 2024 aproximadamente 55% de todos os robôs comerciais, equivalente a 915 mil unidades, possuirão, pelo menos, um pacote ROS instalado.


A robótica hoje, no mundo, não seria o que é se não fosse por ROS.



Escrito por Roberto Marcos.