Niryo One et ROS (Robot Operating System)

ROS signifie Robot Operating System. C’est un framework pour les développeurs en robotique. Si vous l’avez déjà essayé, vous savez qu’apprendre ROS n’est pas facile du tout pour les débutants. L’apprentissage requiert beaucoup de temps, et vous êtes obligé d’utiliser un robot virtuel, car les robots industriels sont trop chers.

Que vous soyez un débutant ou un utilisateur confirmé de ROS, avec Niryo One (maintenant disponible sur Kickstarter) vous pourrez apprendre plus facilement, et tester des usages industriels rapidement.

Dans cet article nous vous expliquons pourquoi et comment nous utilisons ROS, pour rendre Niryo One parfait pour apprendre et tester des procédés industriels, à la maison ou à l’école.

Pourquoi avoir choisi ROS ?

Nous voulions rendre Niryo One plus intelligent et indépendant. Au tout début nous pensions utiliser seulement une carte Arduino pour contrôler le robot. Cependant ce n’est pas suffisant pour faire tourner un environnement robotique complet, surtout pour un bras robotisé 6 axes.

C’est pourquoi nous avons ajouté une carte Raspberry Pi 3, pour pouvoir développer avec ROS, ajouter de nombreuses fonctionnalités, et rendre Niryo One indépendant. Vous n’avez pas besoin d’installer un logiciel sur votre ordinateur pour contrôler le robot, tout se fait depuis un navigateur web ou une application mobile.

Voici quelques raisons qui nous ont poussés à choisir ROS :

  • ROS est de plus en plus utilisé dans des applications réelles : industrie, voitures autonomes, drones, recherche, … En bref, ROS a un bel avenir.
  • ROS bénéficie d’une communauté grandissante de passionnés de robotiques, avec laquelle vous pouvez partager vos projets, et obtenir de l’aide.
  • La plupart du code de ROS est open source, nous pouvons donc développer plus de fonctionnalités, plus rapidement.
  • Avec ROS, vous pouvez faire des choses vraiment plus intéressantes que de faire clignoter une DEL : perception de l’environnement avec caméra et capteurs, planification de mouvements, gestion de système complexe, …

Comment utilisons-nous ROS dans Niryo One ?

Nous faisons tourner ROS sur une version d’Ubuntu spécialement adaptée pour Raspberry Pi 3. La base de code de ROS est très légère, et ne pose donc aucun problème de performance.

niryo one et ros - architecture logicielle

Architecture logicielle de Niryo One – ROS et ses interactions

Voici une liste (non exhaustive) des paquets ROS que nous utilisons :

  • Moveit, un framework de planification de mouvement intégré à ROS. Moveit vous permet de calculer des trajectoires pour votre robot, à partir d’une spécification donnée (format URDF)
  • Rosbridge : ROS tourne principalement sur Ubuntu, il est donc difficile de communiquer entre un système ROS et un système non-ROS. Avec rosbridge, c’est maintenant possible ! Rosbridge va créer un serveur websocket sur votre système ROS. En utilisant diverses librairies (java, javascript, …), vous pouvez facilement connecter une interface web à votre robot !
  • Joy : un paquet pour gérer les entrées d’une manette xbox dans un système ROS.
  • Et de nombreux autres paquets créés par l’équipe Niryo…

Vous pouvez accéder au système ROS tournant sur la carte Raspberry Pi 3, via une connexion ssh ou ethernet. Vous pourrez également lancer le code ROS de Niryo sur votre ordinateur Ubuntu, pour développer plus rapidement, et obtenir une visualisation 3D du robot (paquet Rviz).

Et… Le code sera open source !

Nous allons rendre publique le code tournant sur les cartes Arduino et Raspberry Pi en septembre, après les premières livraisons des récompenses de notre campagne Kickstarter. (Si vous n’êtes pas inscrit à notre newsletter, faites le maintenant pour être le premier informé des nouveautés et offres spéciales !)

Le code sera disponible sur github, avec de nombreux efforts pour le rendre le plus clair et documenté possible. Vous pourrez donc apprendre ROS, poser des questions, et contribuer si vous le souhaitez pour ajouter de nouvelles fonctionnalités. Nous serons très ouverts par rapport à cela, et ouvrirons aussi un forum sur notre site web.

Ce que vous pouvez apprendre avec Niryo One et ROS

Comme le code sera lisible et documenté, vous aurez l’opportunité d’apprendre ROS sur un vrai système physique. Nous fournirons des tutoriels pour bien comprendre les bases de ROS, et apprendre à :

  • Gérer de multiples paquets, programmes, fichiers de lancement
  • Communiquer entre tous les petits programmes ROS (topics, services, actions)
  • Utiliser le framework de planification de mouvement Moveit
  • Communiquer entre un système ROS et une carte Arduino avec le protocole I2C
  • Récupérer des données des capteurs (I2C ou SPI) sur le Raspberry Pi 3, et publier ces données sur les “topics” ROS
  • Communiquer avec des systèmes non-ROS (via Wi-Fi, Bluetooth, …)

Conclusion

Avec Niryo One, nous rendons les choses aisées pour les débutants et utilisateurs avancés de ROS : un vrai robot physique, un code open source, et une communication de qualité avec notre équipe.

Ce n’est pas tout : en septembre nous lancerons une série de tutoriels vidéos pour apprendre ROS, avec des exemples prêts à être lancés sur Niryo One. Nous serons aussi à l’écoute de toute requête, pour vous permettre d’avoir la meilleure expérience possible avec Niryo One et ROS.

Vous pouvez désormais pré-commander Niryo One sur Kickstarter !

2017-03-21T08:33:40+00:00

Leave A Comment