Blog

Niryo One : Introduction à la nouvelle version améliorée ! (octobre 2017)

Actualités Niryo
Niryo One
Partager
Niryo One : Présentation de la Version Améliorée ! (octobre 2017)

Nous avons encore amélioré le matériel. Après avoir lu cet article, consultez ici pour voir les nouveautés.

Bonjour à tous,

Nous sommes de retour avec beaucoup de bonnes nouvelles ! Nous avons travaillé dur cet été pour améliorer Niryo One de plusieurs manières. Il est temps pour vous de nous rattraper !

https://youtu.be/mXhjNqzCa4U

En avril 2017, nous avons constaté que l'architecture matérielle globale n'était pas aussi stable et que d'énormes améliorations pouvaient être apportées aux moteurs.

Nous avons décidé de changer complètement certaines parties du robot, pour le rendre plus stable, robuste et augmente le nombre de fonctionnalités.

Alors… Qu'est-ce qui a changé ? Voyons étape par étape toutes les nouveautés :

Nouvelles fonctionnalités et améliorations

Avant de commencer à expliquer certains éléments techniques, voyons quelles améliorations vous pouvez obtenir, en termes de convivialité :

  • Les trajectoires sont plus fluides et plus précises.
  • Niryo One est globalement beaucoup plus stable et robuste.
  • Le robot est beaucoup plus facile à assembler, avec moins de fils et une meilleure connexion par câble.
  • Niryo One s'arrêtera si un obstacle se trouve sur son chemin ou si la charge est trop lourde. Après avoir été calibré, si le robot manque quelques pas (ex : charge trop lourde), l'exécution de la trajectoire s'arrêtera et vous pourrez la recommencer.
  • Calibrage automatique : Niryo One pourra se calibrer à chaque fois que vous l'allumerez. Vous pouvez enregistrer une séquence de positions et la rejouer exactement de la même manière à chaque fois.
  • Vous pouvez arrêter le robot et le passer en mode Wi-Fi Hotspot, simplement en appuyant sur le bouton intégré.
  • Une LED à l'arrière vous donnera des informations sur l'état du robot.
  • Un connecteur de panneau vous permettra d'utiliser d'autres appareils (comme des capteurs, des E/S numériques) avec Niryo One.
  • ...

OK, passons maintenant aux détails techniques ! Nous vous donnerons ici un aperçu de toutes les différentes parties, des informations plus détaillées seront disponibles à l'avenir.


Une toute nouvelle architecture matérielle

Voici une photo avant/après de l'intérieur :

Avant

Après

Nous avions l'habitude de contrôler les moteurs directement depuis un Carte Arduino Mega, avec un blindage RAMPS 1.4. Cette combinaison convient vraiment au monde de l'impression 3D (par exemple avec les imprimantes 3D RepRap), mais est pas si bien adapté pour un bras robotique 6 axes.

Avec cette architecture précédente, nous avions beaucoup de longs fils pour chacun des moteurs, ce qui n'est pas génial, et le contrôle était quelque peu limité. Tous les moteurs étaient contrôlés à partir de la même carte. Nous avons eu des problèmes de surchauffe du pilote pas à pas à l'intérieur de la boîte, et la communication entre l'Arduino Mega et le Raspberry Pi 3 (I2C) n'était pas la meilleure que nous puissions avoir.

À partir de ces problèmes et limitations, nous avons découvert de nombreuses pistes d’amélioration. Nous voulions aussi vraiment faire Niryo One au plus près d'un vrai robot industriel.

Une toute nouvelle architecture matérielle était nécessaire et nous avons décidé d'agir, voyant tous les avantages que vous pouviez en tirer.

Nous allons maintenant vous montrer étape par étape toutes les nouveautés sympas.


Moteurs Dynamixel

Nous avons remplacé les servomoteurs de base par des moteurs Dynamixel XL-320 (pour les axes 5 et 6), des moteurs bien meilleurs et bien plus intelligents. Moins de fils à gérer, une meilleure stabilité, un retour de position et une fonctionnalité intéressante pour les pinces.

Toutes les pinces Niryo équipées de moteurs Dynamixel peuvent saisir n'importe quel objet, sans avoir à connaître la largeur de l'objet, grâce au retour de charge.

Cela augmente également la portée des axes 5 et 6, de 180° à presque 300°.


Moteurs pas à pas

Les moteurs pas à pas sont identiques, mais la façon dont nous les contrôlons est totalement différente.

Avant, nous avions tous les moteurs pas à pas (axes 1 à 4) directement alimentés et contrôlés à partir d'un blindage Arduino Mega + RAMPS 1.4.

Maintenant, chaque stepper a une carte compatible Arduino personnalisée fixée à l'arrière. La carte possède le même microcontrôleur que la carte Arduino M0 (SAMD21). Ce microcontrôleur est plus puissant et possède de meilleures fonctionnalités de communication que l'Arduino Uno, par exemple.

Cette nouvelle carte personnalisée Niryo dispose d'un microcontrôleur, d'un pilote de moteur et d'un capteur magnétique (AS5600). Ainsi, chaque moteur est contrôlé indépendamment, avec un contrôleur interne, qui ressemble beaucoup à un véritable moteur de robot industriel.

Nous avons également remplacé les 2 moteurs de l'axe 2 par un moteur plus long.


Un nouveau top pour la carte Raspberry Pi 3

Après avoir entendu parler de tant de changements, vous pourriez être nerveux à propos de la carte Raspberry Pi 3. Ne vous inquiétez pas, il est toujours là !

Nous avons créé un Shield personnalisé Niryo pour la carte Raspberry Pi 3. Ce bouclier et les cartes compatibles Arduino sur les moteurs pas à pas remplacent désormais la précédente combinaison Arduino MEGA + RAMPS 1.4.

Le bouclier a principalement deux fonctions :

  • Obtenir de l'énergie à partir de la source et alimenter tous les moteurs et composants électriques
  • Communication entre Raspberry Pi 3, et tous les moteurs, capteurs, actionneurs.

Le bus Dynamixel TTL est directement branché sur le blindage, ainsi que le câble du bus CAN (voir point suivant). Nous utilisons des GPIO Raspberry Pi 3 pour communiquer avec ces bus.

Comme vous pouvez le constater, nous avons désormais un contrôle direct sur tous les composants du Raspberry Pi 3.


Une communication améliorée avec les moteurs

Avant, chaque moteur avait son propre jeu de fils et le contrôle était en boucle ouverte. Pour le rendre en boucle fermée, nous avons dû ajouter un autre jeu de fils pour les capteurs.

Maintenant, il y a un un seul jeu de fils enchaînés pour tous les moteurs Dynamixel, et un autre pour tous les moteurs pas à pas. Ce câble comprend l'alimentation et la communication dans deux directions. Seulement deux câbles à l’intérieur du bras robotique !

Les moteurs Dynamixel utilisent la communication semi-duplex TTL, avec un connecteur à 3 fils qui est enchaîné sur tous les moteurs.

Pour alimenter et communiquer avec les nouvelles cartes personnalisées Niryo en plus de tous les moteurs pas à pas, nous avons décidé d'utiliser Communication CAN. Si vous ne connaissez pas CAN, c'est un protocole de communication très stable, qui est également utilisé dans les applications automobiles et de santé.

Chaque moteur pas à pas possède un identifiant unique (1 à 4) sur le bus CAN, et peut recevoir des commandes du Raspberry Pi 3, mais aussi renvoyer des données utiles (position actuelle de l'encodeur, température du driver, …).


Un connecteur de panneau pour plus de projets DIY

Nous savons que vous aimez les projets de bricolage, c'est pourquoi nous avons ajouté un connecteur de panneau à l'arrière du robot. Ce panneau est connecté à de nombreux GPIO Raspberry Pi.

Vous pouvez ajouter un nouvel appareil sur le bus CAN, ajouter quelques moteurs Dynamixel. Si vous souhaitez gérer des composants de niveau inférieur, vous pouvez également utiliser les GPIO numériques.

Nous développerons certaines parties du logiciel (début 2018) pour vous permettre d'utiliser ces entrées/sorties facilement, depuis les communications ROS jusqu'à une application sur le logiciel de bureau Niryo.

 


…un logiciel de bureau ?

Ce sujet n'est pas lié au matériel, mais fait partie des nombreuses améliorations que nous avons apportées. Nous avons choisi de développer un logiciel de bureau plutôt qu'une application exécutée dans un navigateur.

En gros, c'est exactement la même chose, mais on pourrait ajouter plus de fonctionnalités qui ne sont pas disponibles sur un navigateur comme Firefox ou Chrome. Vous pourrez également utilisez-le sans être connecté à Internet, ce qui est indispensable pour certaines applications.

Ce logiciel sera disponible pour Windows, Mac et Linux, et ne nécessitera aucune installation. Téléchargez-le et exécutez-le ! Nous donnerons plus d'informations plus tard à ce sujet.

Plus facile à assembler

Moins de fils signifie toujours moins de douleur pour assembler le robot et moins de problèmes de connexion. En parlant de connexions, nous avons amélioré le câble afin que vous puissiez facilement brancher tous les fils au bon endroit, sans aucun problème.

L'intérieur de la base de Niryo One est également moins fréquenté. Une fois le bras assemblé, il ne vous restera plus qu'à fixer la carte Raspberry Pi 3, ajouter le bouclier personnalisé Niryo, brancher l'alimentation et les fils, c'est tout ! (Cela est déjà fait pour vous dans le package Entièrement Assemblé)

Niryo One inclut désormais la pile complète ROS-Industrial

Dans un post précédent nous avons expliqué comment nous utilisons le système d'exploitation du robot (ROS) sur le Raspberry Pi 3 pour contrôler le robot.

Grâce à la nouvelle architecture matérielle, nous sommes désormais capables d'envoyer des commandes aux moteurs et de recevoir des données, tout cela à grande vitesse, avec des contraintes quasiment en temps réel. Qu'est-ce que ça veut dire ? Nous pouvons maintenant utiliser contrôleurs ROS plus avancés sur le robot, qui adaptera toujours la commande en fonction des données reçues.

Nous avons ajouté ros_control à la pile de packages ROS utilisée sur Niryo One. Le robot dispose désormais d'un ROS-Pile complète industrielle :

  • URDF pour la description du robot
  • Bougez ! pour la planification des mouvements
  • ros_control avec un contrôleur de trajectoire commun (interpolation spline quintique)
  • Boucle fermée interface matérielle entre les moteurs et ros_control
  • Plus tous les autres packages Niryo ROS !

Feuille de route et planification de livraison

Nous avons maintenant terminé le développement principal de Niryo One et sommes prêt à démarrer la production! Nous prévoyons de commencer à expédier toutes les récompenses Kickstarter et autres précommandes à partir de novembre 2017. Niryo One sera en vente normale de février à mars 2018.

Nous vous fournirons également toute la documentation nécessaire : guides pratiques, manuel de montage, ….

Les fichiers open source (STL et code source) seront prochainement publiés, principalement sur github. Assurez-vous de suivre notre compte github pour que tu ne manques pas ça.

Le logiciel de bureau Niryo sera disponible après les premières expéditions.

Nous continuerons à améliorer le logiciel du robot et les applications qui l'entourent. De nombreuses mises à jour seront disponibles pour continuer à améliorer Niryo One au cours des prochains mois. Nous comptons également sur vous pour nous faire part de vos retours, et pourquoi pas, contribuer avec la communauté open source !


Niryo One dispose désormais d'une architecture matérielle et logicielle très proche d'un robot industriel complet.

Nous sommes convaincus que vous pouvez utiliser Niryo One pour apprendre et enseigner la robotique, faire un peu de formation professionnelleet commence petites lignes de montage par toi-même.

Vous pouvez désormais commander Niryo One !