Vision

Cours signalées avec « Vision »

Le jeu du Morpion

Le jeu du Morpion

Course modified date: 27 mai 2025
  • Content Type:Tutorial
  • Programming:Python
  • Equipment:Ned2
  • Étudiants inscrits: Il n’y a encore aucun étudiant inscrit à ce cours.
Attraper vos objets avec l'IA en utilisant TensorFlow

Attraper vos objets avec l'IA en utilisant TensorFlow

Course modified date: 27 mai 2025
  • Content Type:Tutorial
  • Programming:Python
  • Equipment:Ned2
  • Étudiants inscrits: Il n’y a encore aucun étudiant inscrit à ce cours.
Pipeline Vision : De la Caméra à la Préhension avec le Niryo Ned2

Pipeline Vision : De la Caméra à la Préhension avec le Niryo Ned2

Course modified date: 4 juillet 2025
  • Length:16h
  • Content Type:Lab
  • Programming:Python
  • Equipment:Ned2
Stripe Payment

Un robot peut-il vraiment comprendre ce qu’il voit ?
Ce TP vous emmène dans une aventure technique et concrète, où vous partirez d’une simple image pour arriver à une action robotique précise. Avec une seule caméra montée sur le Niryo Ned2, vous construirez toute une chaîne de perception, de la calibration à la détection d’objet, jusqu’à la saisie en temps réel.

Le système de vision actuellement en place repose sur une caméra monoculaire montée sur le poignet du robot et un workspace calibré à l’aide de cibles visuelles (tags). Voici les spécifications techniques de cette caméra embarquée :

  • Type de capteur : IMX322 (CMOS)
  • Résolution : 640 × 480
  • Taille des pixels : 12.8 × 11.6 μm
  • Champ de vision (FOV) : environ 104°
  • Focale : environ 3 mm

Cette configuration, bien que fonctionnelle, présente plusieurs limitations techniques et méthodologiques :

  • Nécessité d’utiliser des tags visuels pour guider le robot.
  • Configuration du workspace exigeante, qui doit rester fixe et précisément calibrée.
  • Forte sensibilité aux erreurs, qu’il s’agisse de mouvements du robot ou de modifications du setup.
  • Vulnérabilité face aux conditions d’éclairage, aux ombres ou aux reflets.
  • Capacité de détection limitée à quelques objets rigides prédéfinis.

Quand un humain regarde un objet, il est capable d’estimer sa position, sa distance et son orientation presque instinctivement. Notre cerveau est entraîné depuis la naissance à comprendre la profondeur, à interpréter les ombres, les tailles relatives, les mouvements et à croiser les informations entre nos deux yeux. C’est un processus riche, complexe, mais complètement transparent pour nous.

Une caméra, elle, ne voit pas comme un humain. Elle capte uniquement une projection 2D d’un monde 3D. Elle n’a pas de notion de profondeur, ni de compréhension du contexte de la scène. Estimer la pose d’un objet (c’est-à-dire sa position et son orientation dans l’espace) à partir d’une seule image est donc une tâche fondamentalement ambiguë et mal posée.

À cela s’ajoutent plusieurs défis spécifiques au contexte industriel de ce projet :

  • Utilisation exclusive d’une caméra monoculaire, sans accès direct à la profondeur.
  • Caméra, mobile car embarquée sur le robot, rendant son repérage complexe.
  • Absence de capteurs supplémentaires (stéréo, LIDAR, etc.).
  • Bruit de la caméra, éclairage, résolution.

Face à toutes ces difficultés, l’objectif de ce TP est de construire une chaîne de traitement d’image robuste, fiable et cohérente, dans laquelle la seule source d’information est l’image d’une caméra monoculaire embarquée, et la finalité est de guider un bras robotique pour qu’il interagisse correctement avec un ou plusieurs objets dans son environnement.

Le TP vise ainsi à concevoir un système qui :

  • Fonctionne sans workspace préconfiguré ni cibles visuelles,
  • S’adapte à une caméra embarquée, mobile avec le robot,
  • Permette une reconnaissance flexible d’un large panel d’objets à partir de leurs modèles CAO,
  • Offre une estimation 6D de la pose (position + orientation) dans le repère de base du robot,
  • Détecte plusieurs objets simultanément avec sélection dynamique,
  • Reste robuste aux variations d’environnement.


  • Étudiants inscrits: 44
Add-on ROS2 : Enhance your simulated Niryo Robot for Dynamic Obstacle Avoidance

Add-on ROS2 : Enhance your simulated Niryo Robot for Dynamic Obstacle Avoidance

Course start date: 13 mai 2025
  • Content Type:Add-on
  • Programming:ROS2
  • Equipment:Ned2 + Vision Set
Stripe Payment

This ROS2 add-on adds obstacle avoidance capabilities to the simulated Niryo NED2 robot. Using Gazebo and ROS2, you’ll learn how to simulate dynamic environments and make the robot navigate safely around obstacles. The add-on focuses on integrating basic sensors, processing environmental data, and implementing reactive behaviors. It’s a practical extension for testing navigation logic and improving robot autonomy in complex settings. Let’s make your robot smarter in simulation.

This course provides a structured and hands-on approach to advanced simulation and manipulation using ROS2 and Gazebo Sim. Throughout the course, you will learn to:

  • Create an engineering plan to solve a robotics problem efficiently.

  • Simulate depth cameras and distance sensors in Gazebo Sim for realistic environment interaction.

  • Work with SDF and URDF files to define and adjust robot and environment models.

  • Understand and use ROS2 messages for inter-node communication.

  • Establish communication between ROS2 and Gazebo Sim to synchronize simulation and control.

  • Use the Octomap plugin with MoveIt2 to generate 3D maps and support motion planning.

  • Create and manage YAML parameter files for modular and reusable configuration.

  • Develop a test strategy to validate functionalities and ensure system robustness.

  • Étudiants inscrits: 19
Introduction à la robotique , programmation graphique et l'automatisation

Introduction à la robotique , programmation graphique et l'automatisation

Course modified date: 10 juin 2025
  • Length:35h
  • Content Type:Curriculum
  • Programming:Blockly
  • Equipment:Bundle discovery
Stripe Payment

Découvrez le monde de la robotique avec notre programme complet, conçu pour les étudiants et les enseignants désireux d'explorer les fondamentaux de l'automatisation, de la programmation et des applications robotiques. Ce cours guide les apprenants depuis les bases de l'histoire de la robotique jusqu'à la programmation pratique et l'automatisation industrielle à l'aide du robot collaboratif NED2 (cobot) et de la programmation Blockly.

À qui s'adresse ce cours ?

✔️ Étudiants du secondaire et de l'enseignement supérieur dans les programmes CTE ou STEM
✔️ Enseignants à la recherche d'un programme structuré en robotique
✔️ Débutants désireux d'apprendre l'automatisation robotique avec une approche sans code
✔️ Toute personne intéressée par la robotique industrielle et l'automatisation

Rejoignez-nous dès aujourd'hui et faites votre premier pas vers la maîtrise de la robotique et de l'automatisation ! 🚀

  • Étudiants inscrits: 67
     Bundle Discovery : Assemblage et Préparation de Commandes

Bundle Discovery : Assemblage et Préparation de Commandes

Course modified date: 12 juin 2025
  • Length:6h
  • Content Type:Lab
  • Programming:Python
  • Equipment:Bundle discovery
Stripe Payment

Scénario

On veut réaliser un assemblage qui consiste à disposer des pièces spécifiques (forme et couleur) dans les zones ALPHA et BETA en formant un pattern défini par l’utilisateur. Dans le but de faire cet assemblage , des pièces vont être approvisionnées par un convoyeur jusqu’au robot. Le robot vient ensuite identifier les pièces avant de les saisir. Si la pièce prise n’est pas nécessaire au pattern , Il la déposera dans la zone de rebut sinon il la placera dans les zones ALPHA ou BETA en suivant le pattern donné.

Contenu du TP

Chapitre 1 : Prise et dépose ou “pick and place”
  • Définir les repères et les points d’intérêt dans l’espace de travail du robot.
  • Créer la séquence des mouvements pour une opération de prise et dépose.
  • Effectuer une opération de palettisation.
Chapitre 2 : Définition d’un motif ou pattern
  • Créer une fonction de saisie et création d’un pattern par un opérateur.
  • Déterminer l’appartenance d’une pièce à un pattern existant.
  • Déclencher l’action correspondante à une pièce en fonction des cas suivants: non appartenance à un pattern, appartenance à un pattern et déjà traitée, appartenance à un pattern et non traitée.
Chapitre 3 : Vision
  • Effectuer l’apport de la pièce via le convoyeur
  • Maîtriser le résultat de la détection d’objets du kit vision : forme, couleur et position d’une pièce dans un workspace défini.
  • Effectuer la prise d’une pièce identifiée par la caméra.
Chapitre 4 : Intégration
  • Réaliser de manière automatisée un pattern saisi par un opérateur, en utilisant les pièces approvisionnées par le convoyeur.

Prérequis

Python: Syntaxe de base + structure de donnée et de contrôle simple et loop  + appel de fonction simple

Équipements requis

  • Étudiants inscrits: 55
Chargement et Déchargement d’une Machine Outil

Chargement et Déchargement d’une Machine Outil

Course modified date: 12 juin 2025
  • Length:8h
  • Content Type:Lab
  • Programming:Python
  • Equipment:Bundle discovery
Stripe Payment

On veut réaliser un Scénario de chargement et déchargement de Machine Outil. Le robot devra se coordonner avec une machine outil virtuelle afin de permettre à une pièce d’être chargé dans la machine, usinée , déchargée sur le convoyeur puis dégagée de la zone par le convoyeur.  La machine outil simulera des cycle d’usinages et de nettoyages en boucle et le robot devra agir en coordination.

Contenu du TP

Chapitre 1 : Prise et dépose ou “pick and place”

  • Pratiquer les notions de repère et de point, associé à un outil et à une base, en robotique.
  • Comprendre et maîtriser des séquences de mouvements articulaires et linéaires.
  • Effectuer les étapes de prise et dépose dans un espace de travail avec un outil spécifique.

Chapitre 2 : Vision

  • Comprendre et contrôler le paramétrage d’une caméra RGB dans un environnement spécifique.
  • Pratiquer la détection d’objets du kit vision Niryo.

Chapitre 3 : Génération de trajectoire

  • Créer l’environnement virtuel d’une cellule robotisée à l’aide d’un logiciel métier de simulation robotique.
  • Simuler une trajectoire pour en vérifier la faisabilité et en extraire les informations nécessaires à la programmation d’un robot.
  • Comparer les trajectoires réalisées par le robot avec la simulation et optimiser.

Chapitre 4 : Synchronisation avec un automate

  • Pouvoir intégrer dans l’environnement du robot des commandes opérateur.
  • Être capable de simuler les opérations du robot avec des affichages à l’écran afin de mettre au point des comportements complexes.
  • Approfondir les notions de programmation avec l’implémentation de thread en python.
  • Pratiquer la synchronisation des mouvements du robot avec des commandes externes.
  • Apprendre à définir les grandes étapes d’une opération de charge et décharge de machine outil.

Chapitre 5 : Intégration

  • Être capable de réaliser des intégrations partielles constituant des sous-systèmes.
  • Être capable de réaliser l’intégration de tous les sous-systèmes.

Prérequis

Python: Syntaxe de base + structure de donnée et de contrôle simple et loop  + appel de fonction simple

Équipements requis

Exploration de la Collaboration Robotique Pilotée par l’IA

Exploration de la Collaboration Robotique Pilotée par l’IA

Course modified date: 12 juin 2025
  • Length:8h
  • Content Type:Lab
  • Programming:Python
  • Equipment:Bundle discovery
Stripe Payment

Scenario

Le scénario permet de réaliser des interactions entre un opérateur et un robot collaboratif à l’aide d’interfaces issues de l’intelligence artificielle. En particulier, l’opérateur peut désigner la pièce à saisir par le robot avec des gestes, un geste correspondant à une pièce parmi une collection disposée dans la zone alpha. Le robot place la pièce saisie dans la main de l’opérateur, après l’identification de sa position dans le champ visuel de la caméra du kit vision, au-dessus de la zone de chargement. Il s’agit donc d’une séquence de pick and place, où les points de prise et de dépose sont fournis en temps réel par l’opérateur par commande gestuelle. La reconnaissance des gestes et de la position de la main est effectuée par des outils de deep learning.

L’objectif du scénario est de réaliser cette opération en suivant les étapes, qui sont illustrées dans l’algorithme suivant : 

Contenu du TP

Chapitre 1 : Pick and place

  • Définir les points d'intérêt
  • Créer les mouvements pour le pick and place

Chapitre 2 : Reconnaissance de gestes

  • Savoir utiliser Teachable Machine pour entrainer un modèle
  • Obtenir des prédictions en fonctions des gestes
  • Créer un filtre permettant de valider un geste

Chapitre 3 : Détection de la main

  • Détecter la main dans l’image de la caméra
  • Calibrer la caméra
  • Obtenir les coordonnées du point de dépose au milieu de la main

Chapitre 4 : intégration

  • Integrer les sous programmes dans un programme complex et fonctionnel

Prérequis

Python: Syntaxe de base + structure de donnée et de contrôle simple et loop  + appel de fonction simple

Repère et transformation : Comprendre comment fonctionne les repères cartésiens et la principe des transformation

Équipements requis

  • Étudiants inscrits: 55
Tri de marchandises sous supervision d’un serveur Web

Tri de marchandises sous supervision d’un serveur Web

Course modified date: 9 mai 2025
  • Length:6h
  • Content Type:Lab
  • Programming:Python
  • Equipment:Bundle STEM
Stripe Payment

Le TP a pour objectif de reproduire une opération robotisée de tri de marchandises et de palettisation en entrepôt logistique sous la supervision d’un serveur web (figure 1). Les marchandises (palets rouges et verts) sont déposées aléatoirement par un opérateur et transportées par le convoyeur. Arrivées en zone de préhension (figure 2), le convoyeur s’arrête et les marchandises (palets rouges et verts) sont localisées et identifiées par la caméra placée à l’extrémité du bras manipulateur. La pince à deux doigts, montée à l’extrémité du bras, attrape le palet et le dépose selon sa couleur, sur une palette en zone A (rouge) ou en zone B (vert) en vue de la livraison vers deux destinations différentes.

Contenu du TP

Chapitre 1: Setup du serveur

  • Comprendre les liens existants entre le code « Python » et la page WEB

Chapitre 2: Contrôler le convoyeur

  • Le but de ce chapitre est de mettre en oeuvre les commandes Python qui permettront de contrôler le convoyeur

Chapitre 3: Pick and Place avec Vision

  • Maîtriser la séquence des mouvements nécessaires pour la prise d’une pièce par la vision et la dépose dans la zone dédiée, sans entrer en collision avec l’environnement

Chapitre 4: Base de données

  • Développer les compétences en manipulation de bases de données avec Python, et en interaction avec une interface utilisateur pour consulter et exporter des données

Équipements requis

Prérequis

Programmation :

  • Notions de base de l’algorithmique et du langage Python 
  • Utilisation simple des bases de données en Python

Réseaux & Communication :

  • Notions de base sur les réseaux

Installation

  • NyrioStudio
  • Python 3
  • Flask, Sqlite3
  • Étudiants inscrits: 54