Que boas plataformas de software / sistemas operacionais de robótica estão disponíveis? [fechadas]

19

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
Rocketmagnet
fonte
5
Não é uma pergunta de pesquisa subjetiva? O que é contrário ao espírito do StackExchange. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Chris Mansley
2
Porém, podemos criar a qualidade desse StackExchange. Deveríamos estabelecer um precedente de perguntas objetivas de alta qualidade que possam ser respondidas e aprendidas.
Chris Mansley
2
Concordo com você, mas 1) Esta foi a pergunta mais votada na definição e 2) um pequeno número de perguntas não prejudicam o site (veja a eletrônica, por exemplo). 3) Tais perguntas produzem respostas que são genuinamente úteis para muitos usuários.
Rocketmagnet
4
Se vamos deixar isso acontecer, deve ser pelo menos um wiki da comunidade, idealmente com uma única resposta do wiki da comunidade com todas as melhores descrições. Isso seria melhor do que muitas respostas, todas descrevendo opções diferentes e / ou fornecendo descrições / opiniões diferentes para as mesmas opções.
Mark Booth
5
Eu acho que as perguntas da pesquisa são realmente ótimas, porque podem economizar muito tempo para alguém descobrir onde procurar. O Google não encontra nem todas as opções populares em muitos casos. Eu acho que torná-lo uma resposta do Wiki da Comunidade é um bom resultado.
Jon Watte

Respostas:

20

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.

giogadi
fonte
Nota: embora o ROS possa funcionar na maioria dos sistemas operacionais, ele foi testado mais detalhadamente para funcionar na distribuição Ubuntu do Linux.
giogadi
1
Além disso, acho que a Página de introdução do ROS faz um trabalho fantástico de cobrir as principais premissas e ideais da plataforma ROS. Do ponto de vista do desenvolvedor, a plataforma ROS pode ser usada como um invólucro muito "fino" em torno das bibliotecas existentes (como drivers), para obter rapidamente acesso ao ecossistema ROS maior.
Mjcarroll 23/10/12
5

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).

sylvain.joyeux
fonte
Talvez para adicionar essa resposta, o Rock seja baseado no Orocos, que está listado em outra resposta e, portanto, torna muito mais fácil para os sistemas baseados nele serem capazes em tempo real.
26412 Jakob
5

Orocos

É uma das estruturas de código aberto mais antigas em robótica, em desenvolvimento desde 2001, e com aplicações e produtos industriais profissionais que a utilizam desde 2005. O foco do Orocos sempre foi fornecer uma estrutura de componentes com capacidade em tempo real - chamado Real-Time Toolkit (RTT) implementado em C ++ - e o mais independente possível de qualquer middleware de comunicação e sistema operacional.

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.

Maverik
fonte
Existem também maneiras de emparelhar o Orocos com outras estruturas. Por exemplo, aproveitando o ROS com Orocos.
Barrett Ames
1
FYI, Rocha está usando Orocos / RTT como a sua implementação do componente - apenas adicionando um monte de ferramentas e bibliotecas em torno dele
sylvain.joyeux
O orocos pode ser bom, mas agora o site oficial e os fóruns não estão mais atualizando nada e nenhum novo usuário pode entrar nos fóruns, então o orocos é uma merda agora.
3

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.

roboticsmeche
fonte
2

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 .

ThomasH
fonte
1

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.

rsegal
fonte
1

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:

  • RTC Builder: uma ferramenta para geração de código de esqueleto. É lançado no ambiente de desenvolvimento do eclipse. O OpenRTM-aist também suporta o modelo RTC, que é uma ferramenta de geração de código-esqueleto do tipo linha de comando.
  • RT System Editor: uma cadeia de ferramentas baseada em Eclipse para projetar componentes e sistemas baseados em componentes.
  • O rtshell é uma ferramenta de linha de comando que fornece os seguintes serviços
  • Depurador RTC: uma ferramenta de depuração para RTCs. O depurador RTC é um plug-in do Eclipse.
Maverik
fonte