Minha empresa em breve iniciará um novo projeto de robótica, e ainda estamos tentando decidir se devemos projetar e codificar uma plataforma de software de robótica a partir do zero ou se existem boas.
Seria muito útil se houvesse uma plataforma de software comumente usada entre acadêmicos e indústria, para que nosso sistema robótico fosse geralmente compatível com outros e para que as pessoas já estivessem familiarizadas com ele.
Gostaríamos que a plataforma de software fosse capaz de:
- Integre facilmente novos componentes de hardware robóticos.
- Já contém uma ampla variedade de ferramentas úteis de processamento e visualização de dados
- Faça uso eficiente do hardware de computação
Respostas:
O ROS está rapidamente se tornando o novo padrão para robótica industrial e de pesquisa. A maioria dos grupos de pesquisa que conheço estão adotando o ROS para o seu trabalho e, em seguida, empurrando seus resultados de volta à tona para que todos possam usar e melhorar. A Willow Garage está desenvolvendo um conjunto de plataformas de hardware e software, todas centralizadas no ROS. ROS é um bom lugar para começar sua pesquisa.
fonte
O Robot Construction Kit é uma alternativa ao ROS. Ele é direcionado para a engenharia orientada a modelos e o design / gerenciamento de sistemas complexos. Também é direcionado para "não ser fortemente dependente do Rock". A maioria dos algoritmos / drivers no Rock são independentes da camada de componentes. Veja também esta página para um rápido resumo das diferenças entre Rock e ROS.
Como uma resposta anterior aponta, o ROS é usado principalmente como uma biblioteca de comunicação fina. A camada de componentes da Rock é mais espessa, para fornecer as ferramentas necessárias para dimensionar sistemas complexos.
O que você precisa entender é o seguinte: atualmente, o único software robótico de código aberto que vale a pena examinar é independente da estrutura (OpenCV, PCL, OpenRave, Gazebo, ...). Até a Willow Garage finalmente entendeu isso. Portanto, ele pode ser integrado a uma quantidade mínima de trabalho em qualquer estrutura.
Agora: sua melhor escolha também depende do seu objetivo. Se o que você deseja é vender hardware, é bem possível que ter um nó ROS seja sua melhor escolha (mesmo que tenha uma boa biblioteca de drivers que seja integrada a um nó ROS seja ainda melhor).
fonte
Orocos
Como o @BarretAmes disse, existem integrações que permitem a implementação de sistemas híbridos, onde o Orocos e outro Software Framework trabalham juntos.
fonte
Minha plataforma preferida é o ROS. No entanto, há outro candidato forte da ... ouso dizer ... da Microsoft. É chamado de Robotics Developer Studio (RDS). Comece sua pesquisa aqui: http://www.microsoft.com/robotics/
Eles têm muitos vídeos de aplicações impressionantes. Para mim, o maior benefício é o suporte interno ao Kinect via Kinect SDK da Microsoft. Tecnicamente, aquele que o ROS usa do OpenNI tem os mesmos recursos, mas parece reconfortante saber que o SDK que o RDS usa é escrito pela mesma empresa que produziu o hardware.
fonte
Player / Stage ainda é um dos projetos de robótica de código aberto mais populares do mercado. Já existe há muito tempo e alguns de seus desenvolvedores passaram a iniciar o ROS, mas isso não prejudica a utilidade do Player. De fato, todos os três componentes principais, Player (a estrutura), Stage (o simulador 2D) e Gazebo (o simulador 3D), foram feitos para serem um pouco compatíveis com o ROS .
fonte
MOOS é o analógico ROS de Oxford. http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php É usado para várias aplicações navais, de UUVs de varredura de porto a baixa potência, que surgem para informar em intervalos contados em meses.
fonte
OpenRTM
O OpenRTM-aist é desenvolvido pelo Instituto Nacional Japonês de Ciência e Tecnologia Industrial Avançada, que também contribui para a definição do padrão RT-middleware.
É uma estrutura baseada em componente de código aberto, que fornece recursos em tempo real. Além da estrutura, algumas ferramentas estão disponíveis:
fonte