La a robótica é um campo em expansão. Mais e mais IA e robôs substituem o trabalho de mais pessoas. Eles são o presente e o futuro, por isso é importante treinar nesses tipos de campos para saber como funcionam e quais ferramentas e sistemas você tem à sua disposição para seus projetos de robótica. E, neste artigo, você verá o que é ROS e tudo o que você precisa saber sobre isso.
O que é ROS?
ROS significa Robot Operating System, ou sistema operacional de robô. É um middleware para robótica, ou seja, um conjunto de frameworks que visa facilitar o desenvolvimento de software para robôs. Atualmente é amplamente utilizado em robôs de renome, sendo uma das melhores ferramentas disponíveis hoje, totalmente gratuita, escrita em C e Python, e sob licença BSD de código aberto.
ROS foi originalmente desenvolvido em 2007, dentro da Laboratório de Inteligência Artificial de Stanford, e sob o codinome Switchyard. Inicialmente seria para o projeto do robô STAIR2. Depois disso, foi decidido abrir.
Uma pergunta que muitas vezes se faz é: se não é um sistema operacional, por que se chama assim? Bem, embora seja um conjunto de bibliotecas para desenvolvimento, a verdade é que fornece algumas das funções essenciais de um sistema operacional, como uma camada de abstração do hardware para que os desenvolvedores se preocupem apenas com o software, controle dos diferentes componentes do robô em baixo nível, capacidade de gerenciamento e comunicação de processos, manutenção de pacotes, etc.
A biblioteca é voltada para Sistemas UNIX, como Linux (em várias distros, embora o melhor suporte seja para Ubuntu) e macOS, embora também funcione em outros sistemas operacionais como o Microsoft Windows.
Também é importante diferenciar entre os peças da ROS:
- ros: é a parte que atua como sistema operacional, a base. Esta é a parte do software licenciado BSD. Isso inclui o nó de coordenação principal, fluxos de dados (imagens, estéreo, laser, controle, atuadores, contato, ...), multiplexação de informações, criação e destruição de nós, login, etc.
- ros-pacote: é o conjunto de pacotes criados pelos usuários e que implementam funcionalidades como planejamento, percepção, simulação, mapeamento, localização, etc. Esses outros componentes são licenciados em uma ampla variedade de licenças.
Os ferramentas incluídas em ROS são:
- rviz: para simulação e visualização 3D.
- Rosbag: para gravar e reproduzir mensagens de comunicação.
- amentilho- Ferramenta de construção, baseada no CMake.
- Rosbash- Pacote com ferramentas para estender a funcionalidade do shell bash.
- roslaunch: para executar nós ROS local ou remotamente.
Aplicativos ROS
ROS é um projeto em constante desenvolvimento, e cada vez que pode ser utilizado para mais aplicativos no campo da IA e robótica, e cada vez faz seu trabalho melhor:
- Sistemas de percepção artificial.
- Identificação de objetos e visão artificial.
- Reconhecimento facial, reconhecimento de gestos, etc.
- Rastreamento de objetos.
- Odometria visual.
- Compreensão dos movimentos.
- Visão estéreo.
- Mobilidade do robô.
- Ao controle.
- Planejamento
- Pegando objetos.
- Coordenação
- Testando.
- Etc.
Exemplos de robôs usando ROS
São muitos, e seria difícil listar todos, já que o ROS se tornou quase um "padrão" para muitos deles. Mas alguns de o mais conhecido são:
- PR1: robô pessoal desenvolvido pelo laboratório Ken Salisbury em Stanford.
- PR2: robô pessoal que está sendo desenvolvido pela Willow Garage.
- Baxter: robô da Rethink Robotics, Inc.
- Shadow's Robot: uma mão robótica da empresa Shadow Robot, em colaboração com a Universidade Pierre e Marie Curie de Paris e a Universidade Carlos III de Madrid. Desenvolvido dentro de um quadro europeu.
- HERB: criado em CMU dentro do programa de robótica pessoal da corporação Intel.
- Aldebaran Nao- Um robô humanóide criado pelo Humanoid Robots Labs e pela Universidade de Freiburg.
- Husky UGV: um veículo terrestre e de código aberto.
Por que você deve aprender com ROS?
Os robôs são sistemas complexos e a robótica é difícil de entender. No entanto, ter ferramentas como ROS torna muito mais fácil desenvolver do zero, acelerando a criação dos seus próprios projetos em muito menos tempo e sem tanto conhecimento como se não o tivesse.
Ou seja, a vantagem do ROS é facilitar o caminho para os desenvolvedores, com uma infinidade de add-ons gratuitos e de código aberto, para que você tenha tudo o que precisa. Além disso, você aprenderá mais do que robótica, também eletrônica, mecânica e programação:
- Use linguagens como C ++ e Python para desenvolver aplicativos.
- Administração de redes e sistemas para instalação e manutenção de ROS.
- Conceitos básicos de robótica como mapeamento, IA, localização, cinemática inversa, etc., podendo colocar sensores, atuadores, controladores, etc. em contato.
Não importa o complexidade do robô, com ROS tudo é muito mais simples. Também não se limita a um tipo de robô, pode servir desde robôs de estimação a robôs humanóides, passando por braços robóticos para a indústria ...
Mais informações sobre ROS - Site oficial