Quels sont les bons logiciels / plateformes d'exploitation de robotique disponibles? [fermé]


19

Mon entreprise va bientôt lancer un tout nouveau projet de robotique, et nous essayons toujours de décider si nous devons concevoir et coder une plateforme logicielle de robotique à partir de zéro, ou s'il y en a de bonnes existantes.

Il serait très utile de disposer d'une plate-forme logicielle couramment utilisée par les universitaires et l'industrie afin que notre système robotique soit généralement compatible avec les autres, et que les gens le connaissent déjà.

Nous souhaitons que la plateforme logicielle soit capable de:

  • Intégrez facilement de nouveaux composants matériels robotiques.
  • Contient déjà un large éventail d'outils utiles de traitement et de visualisation des données
  • Utiliser efficacement le matériel informatique

5
N'est-ce pas une question d'enquête subjective? Ce qui est contraire à l'esprit de StackExchange. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Chris Mansley

2
Mais, nous pouvons créer la qualité de ce StackExchange. Nous devons créer un précédent de questions objectives de haute qualité auxquelles nous pouvons répondre et en tirer des enseignements.
Chris Mansley

2
Je suis d'accord avec vous mais 1) C'était la question la plus votée dans la définition, et 2) un petit nombre de ces questions ne nuisent pas au site (regardez l' électronique par exemple). 3) Ces questions produisent des réponses qui sont vraiment utiles à de nombreux utilisateurs.
Rocketmagnet

4
Si nous voulons laisser cela tenir, alors il devrait au moins être créé wiki communautaire, idéalement avec une seule réponse wiki communautaire avec toutes les meilleures descriptions. Ce serait mieux que de nombreuses réponses décrivant toutes des options différentes et / ou fournissant des descriptions / opinions différentes des mêmes options.
Mark Booth

5
Je pense que les questions du sondage sont en fait géniales, car elles peuvent faire gagner beaucoup de temps à quelqu'un qui cherche où chercher. Google ne trouvera même pas tous les choix populaires dans de nombreux cas. Je pense que d'en faire une réponse Wiki communautaire est un bon résultat.
Jon Watte

Réponses:


20

ROS devient rapidement la nouvelle norme pour la robotique industrielle et de recherche. La plupart des groupes de recherche que je connais adoptent les ROS pour leur travail, puis repoussent leurs résultats au grand jour pour que tout le monde puisse les utiliser et les améliorer. Willow Garage développe une suite de plates-formes matérielles et logicielles qui sont toutes centrées sur ROS en leur cœur. ROS est un bon endroit pour commencer votre recherche.


Remarque: bien que ROS puisse fonctionner sur la plupart des systèmes d'exploitation, il est le plus testé pour fonctionner sur la distribution Ubuntu de Linux.
giogadi

1
De plus, je pense que la page d'introduction de ROS fait un travail fantastique pour couvrir les prémisses et les idéaux de base de la plate-forme ROS. Du point de vue d'un développeur, la plate-forme ROS peut être utilisée comme un wrapper très "mince" autour des bibliothèques existantes (comme les pilotes), pour accéder rapidement à l'écosystème ROS plus large.
mjcarroll

5

Le Robot Construction Kit est une alternative à ROS. Il est orienté vers l'ingénierie basée sur des modèles et la conception / gestion de systèmes complexes. Il est également poussé à «ne pas être étroitement dépendant du rock». La plupart des algorithmes / pilotes de Rock sont indépendants de la couche de composants. Voir également cette page pour un résumé rapide des différences entre Rock et ROS.

Comme le souligne une réponse précédente, ROS est principalement utilisé comme une bibliothèque de communication fine. La couche de composants de Rock est plus épaisse, pour fournir les outils nécessaires pour évoluer vers des systèmes complexes.

Ce que vous devez comprendre est le suivant: de nos jours, le seul logiciel robotique open source qui mérite d'être examiné est indépendant du cadre (OpenCV, PCL, OpenRave, Gazebo, ...). Même Willow Garage a finalement compris cela. Par conséquent, il peut être intégré avec un minimum de travail dans n'importe quel cadre.

Maintenant: votre meilleur choix dépend également de votre objectif. Si ce que vous voulez, c'est vendre du matériel, il est fort possible qu'avoir un nœud ROS soit votre meilleur choix (même si avoir une bonne bibliothèque de pilotes qui est ensuite intégrée dans un nœud ROS est encore mieux).


Peut-être pour ajouter à cette réponse, Rock est basé sur Orocos qui est répertorié dans une autre réponse et permet donc beaucoup plus facilement aux systèmes basés sur lui d'être en temps réel.
Jakob

5

Orocos

Il est l'un des plus anciens framework open source en robotique, en développement depuis 2001, et avec des applications industrielles professionnelles et des produits l'utilisant depuis environ 2005. Orocos a toujours eu pour objectif de fournir un framework de composants capable en temps réel dur - le so appelé Real-Time Toolkit (RTT) implémenté en C ++ - et aussi indépendant que possible de tout middleware de communication et système d'exploitation.

Comme l'a dit @BarretAmes, il existe des intégrations qui permettent la mise en œuvre de systèmes hybrides, où Orocos et d'autres frameworks logiciels travaillent ensemble.


Il existe également des moyens d'associer Orocos à d'autres frameworks. Par exemple, tirer parti de ROS avec Orocos.
Barrett Ames,

1
Pour info, Rock utilise Orocos / RTT comme implémentation de composants - ajoutant juste beaucoup d'outils et de bibliothèques autour de lui
sylvain.joyeux

orocos peut être bon, mais maintenant leur site officiel et leurs forums ne mettent plus rien à jour et aucun nouvel utilisateur ne peut se connecter à leurs forums, donc orocos craint maintenant.

3

Ma plate-forme préférée est ROS. Cependant, il y a un autre concurrent sérieux de ... oserais-je le dire ... Microsoft. Il s'appelle Robotics Developer Studio (RDS). Commencez votre recherche ici: http://www.microsoft.com/robotics/

Ils ont de nombreuses vidéos d'applications impressionnantes. Pour moi, le plus grand avantage est la prise en charge intégrée de Kinect via le SDK Kinect de Microsoft. Techniquement, celui que ROS utilise depuis OpenNI a les mêmes capacités mais il semble rassurant de savoir que le SDK utilisé par RDS est écrit par la même société qui a produit le matériel.


2

Player / Stage est toujours l'un des projets de robotique open source les plus populaires. Il existe depuis longtemps et certains de ses développeurs ont décidé de démarrer ROS, mais cela ne nuit pas à l'utilité de Player. En effet, les trois principaux composants, Player (le framework), Stage (le simulateur 2D) et Gazebo (le simulateur 3D), ont été conçus pour être quelque peu compatibles avec ROS .



1

OpenRTM

OpenRTM-aist est développé par l'Institut national japonais des sciences et technologies industrielles avancées qui contribue également à la définition de la norme RT-middleware.

Il s'agit d'un framework basé sur des composants open source, qui fournit des capacités en temps réel. À côté du cadre, certains outils sont disponibles:

  • RTC Builder: un outil pour la génération de code squelette. Il est lancé dans l'environnement de développement Eclipse. OpenRTM-aist prend également en charge le modèle RTC qui est un outil de génération de code squelette de type ligne de commande.
  • RT System Editor: une chaîne d'outils basée sur Eclipse pour la conception de composants et de systèmes basés sur des composants.
  • rtshell est un outil en ligne de commande qui fournit les services suivants
  • Débogueur RTC: un outil de débogage pour les RTC. Le débogueur RTC est un plug-in Eclipse.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.