Quali sono le piattaforme software / i sistemi operativi di robotica buoni disponibili? [chiuso]


19

La mia azienda inizierà presto un nuovo progetto di robotica e stiamo ancora cercando di decidere se progettare e codificare da zero una piattaforma software di robotica o se ce ne sono già di buoni.

Sarebbe molto utile se esistesse una piattaforma software che era comunemente usata sia tra accademici che nell'industria in modo che il nostro sistema robotico fosse generalmente compatibile con gli altri e che le persone lo conoscessero già.

Vorremmo che la piattaforma software fosse in grado di:

  • Integra facilmente nuovi componenti hardware robotici.
  • Contiene già una vasta gamma di utili strumenti di elaborazione e visualizzazione dei dati
  • Fare un uso efficiente dell'hardware di elaborazione

5
Non è una domanda di indagine soggettiva? Che è contro lo spirito di StackExchange. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Chris Mansley

2
Ma possiamo creare la qualità di questo StackExchange. Dovremmo stabilire un precedente di domande oggettive e di alta qualità alle quali si possa rispondere e da cui trarre insegnamenti.
Chris Mansley,

2
Sono d'accordo con te, ma 1) Questa è stata la domanda più votata nella definizione e 2) un piccolo numero di tali domande non danneggia il sito (ad esempio l' elettronica ). 3) Tali domande producono risposte che sono veramente utili a molti utenti.
Rocketmagnet,

4
Se intendiamo lasciarlo stare, allora dovrebbe almeno essere creato wiki della comunità, idealmente con una risposta wiki della comunità singola con tutte le migliori descrizioni. Ciò sarebbe meglio di molte risposte che descrivono opzioni diverse e / o forniscono descrizioni / opinioni diverse sulle stesse opzioni.
Mark Booth

5
Penso che le domande del sondaggio siano in realtà grandiose, perché possono far risparmiare molto tempo a qualcuno che capisce dove cercare. Google non troverà nemmeno tutte le scelte popolari in molti casi. Penso che renderlo una risposta Wiki della community sia un buon risultato.
Jon Watte,

Risposte:


20

ROS sta rapidamente diventando il nuovo standard sia per la robotica industriale che per la ricerca. La maggior parte dei gruppi di ricerca che conosco stanno adottando i ROS per il loro lavoro e quindi spingendo i loro risultati allo scoperto affinché tutti possano usarli e migliorarli. Willow Garage sta sviluppando una suite di piattaforme hardware e software tutte incentrate sul ROS. ROS è un buon posto per iniziare la ricerca.


Nota: sebbene ROS possa funzionare sulla maggior parte dei sistemi operativi, è stato testato in modo più approfondito per funzionare sulla distribuzione Ubuntu di Linux.
Giogadi,

1
Inoltre, penso che la pagina di introduzione ROS svolga un lavoro fantastico nel coprire le premesse e gli ideali fondamentali della piattaforma ROS. Dal punto di vista di uno sviluppatore, la piattaforma ROS può essere utilizzata come un wrapper molto "sottile" attorno alle librerie esistenti (come i driver), per ottenere rapidamente l'accesso all'ecosistema ROS più grande.
mjcarroll,

5

Il Robot Construction Kit è un'alternativa al ROS. È orientato all'ingegneria basata su modelli e alla progettazione / gestione di sistemi complessi. Inoltre è guidato verso "non essere strettamente dipendente dal Rock". La maggior parte degli algoritmi / driver in Rock sono indipendenti dal livello dei componenti. Vedi anche questa pagina per un breve riepilogo delle differenze tra Rock e ROS.

Come sottolinea una risposta precedente, ROS viene utilizzato principalmente come libreria di comunicazione sottile. Lo strato di componenti di Rock è più spesso, per fornire gli strumenti necessari per scalare sistemi complessi.

Quello che devi capire è questo: al giorno d'oggi, l'unico software robotico open source che vale la pena guardare è indipendente dal framework (OpenCV, PCL, OpenRave, Gazebo, ...). Perfino Willow Garage lo ha finalmente capito. Pertanto, può essere integrato con una quantità minima di lavoro in qualsiasi framework.

Ora: la tua scelta migliore dipende anche dal tuo obiettivo. Se quello che vuoi è vendere hardware, è possibile che avere un nodo ROS sia la scelta migliore (anche se avere una buona libreria di driver che è poi integrata in un nodo ROS è ancora meglio).


Forse per aggiungere questa risposta, Rock si basa su Orocos che è elencato in un'altra risposta e quindi rende molto più facile per i sistemi basati su di esso essere in tempo reale.
Jakob,

5

OROCOS

È uno dei più antichi framework open source in robotica, in fase di sviluppo dal 2001, e con applicazioni e prodotti industriali professionali che lo utilizzano da circa il 2005. L'obiettivo di Orocos è sempre stato quello di fornire un framework di componenti duramente in grado di supportare in tempo reale - il Real-Time Toolkit (RTT) chiamato implementato in C ++ e il più indipendente possibile da qualsiasi middleware di comunicazione e sistema operativo.

Come affermato da @BarretAmes ci sono integrazioni che consentono l'implementazione di sistemi ibridi, in cui Orocos e altri Software Framework lavorano insieme.


Ci sono anche modi per accoppiare Orocos con altri framework. Ad esempio, sfruttando ROS con Orocos.
Barrett Ames,

1
Cordiali saluti, Rock sta usando Orocos / RTT come implementazione dei suoi componenti - aggiungendo solo un sacco di strumenti e librerie attorno ad esso
sylvain.joyeux,

gli orocos possono essere buoni, ma ora il loro sito Web e forum ufficiali non aggiornano più nulla e nessun nuovo utente può accedere ai loro forum, quindi orocos fa schifo ora.

3

La mia piattaforma preferita è ROS. Tuttavia, c'è un altro contendente forte da ... oserei dire ... Microsoft. Si chiama Robotics Developer Studio (RDS). Inizia la ricerca qui: http://www.microsoft.com/robotics/

Hanno molti video di applicazioni impressionanti. Per me, il più grande vantaggio è il supporto integrato per Kinect tramite Kinect SDK di Microsoft. Tecnicamente, quello che ROS utilizza da OpenNI ha le stesse capacità ma sembra confortante sapere che l'SDK utilizzato da RDS è scritto dalla stessa società che ha prodotto l'hardware.


2

Player / Stage è ancora uno dei progetti di robotica open source più popolari in circolazione. È in circolazione da molto tempo e alcuni dei suoi sviluppatori sono passati ad avviare ROS, ma ciò non toglie l'utilità del giocatore. In effetti, tutti e tre i componenti principali, Player (il framework), Stage (il simulatore 2D) e Gazebo (il simulatore 3D), sono stati resi in qualche modo compatibili con ROS .



1

OpenRTM

OpenRTM-aist è sviluppato dal National Institute of Advanced Industrial Science and Technology, che contribuisce anche alla definizione dello standard RT-middleware.

È un framework basato su componenti open source, che offre funzionalità in tempo reale. Oltre al framework sono disponibili alcuni strumenti:

  • RTC Builder: uno strumento per la generazione di codice scheletro. Viene lanciato nell'ambiente di sviluppo dell'eclissi. OpenRTM-aist supporta anche il modello RTC che è uno strumento di generazione di codice di tipo skeleton da riga di comando.
  • RT System Editor: una toolchain basata su Eclipse per la progettazione di componenti e sistemi basati su componenti.
  • rtshell è uno strumento da riga di comando che fornisce i seguenti servizi
  • Debugger RTC: uno strumento di debug per RTC. Il debugger RTC è un plug-in Eclipse.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.