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
Réponses:
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.
la source
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).
la source
Orocos
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.
la source
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.
la source
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 .
la source
MOOS est l'analogue ROS d'Oxford. http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php Il est utilisé pour un certain nombre d'applications navales, du balayage portuaire aux UUV de faible puissance, qui font surface pour signaler des intervalles comptés en mois.
la source
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:
la source