Comment apprendre la robotique avec Raspberry Pi

Comment apprendre la robotique avec Raspberry Pi

Contenu

Auteur

Delphine Guers

Partager

Vous voulez apprendre la robotique avec Raspberry Pi et rendre votre robot plus intelligent ? Les cartes Raspberry Pi et les robots forment un duo naturel : le Raspberry Pi est un petit ordinateur abordable, utilisable pour l’IoT comme pour les serveurs web, et de nombreux robots accessibles en embarquent aujourd’hui un.

Dans ce guide, nous vous montrons ce qu’est un Raspberry Pi, ce que vous allez apprendre avec lui, quelle carte choisir et ce qu’il faut faire pour démarrer : installer un système d’exploitation, programmer, utiliser les broches GPIO, ajouter une caméra et connecter une carte Arduino.

Prêt ? C’est parti :

Qu’est-ce qu’un Raspberry Pi ?

Raspberry Pi est un projet développé par la Fondation Raspberry Pi pour rendre l’informatique et l’éducation technologique accessibles à tous dans le monde. Depuis la première carte en 2012, la gamme s’est élargie avec le Raspberry Pi 5, le Raspberry Pi 4, le Raspberry Pi 3 et le minuscule Raspberry Pi Zero 2 W, aux configurations et aux prix variés.

Ce que vous trouverez sur une carte Raspberry Pi :

  • Un processeur
  • De la mémoire vive (RAM)
  • Des ports USB
  • Un ou plusieurs ports HDMI
  • Un port Ethernet (sauf sur le Zero)
  • Le Wi-Fi et le Bluetooth (sur les cartes récentes)
  • Une interface caméra
  • Des broches GPIO
  • Un lecteur de carte microSD

Comme vous le voyez, rien de très différent d’un vrai ordinateur. Un Raspberry Pi est un véritable ordinateur qui tient sur une carte de la taille d’une carte de crédit. Ses ports et ses broches permettent en plus de connecter de nombreux appareils et composants. Impressionnant, non ?

Ce que vous apprendrez avec un Raspberry Pi

Avant de vous lancer, il est utile de savoir ce que vous allez réellement apprendre avec cette carte.

La robotique repose sur 3 compétences : la mécanique, l’électronique et l’informatique. Avec un Raspberry Pi, vous apprendrez surtout l’informatique et les protocoles de communication pour dialoguer avec des appareils électroniques externes comme des capteurs ou des moteurs.

Vous apprendrez aussi l’administration système et les réseaux, car vous devrez configurer une partie de votre système d’exploitation et communiquer avec d’autres cartes ou avec des services en ligne.

Enfin, vous progresserez en électronique. Pour recevoir les données d’un capteur (par exemple l’inclinaison de votre robot), vous apprendrez à utiliser des protocoles de communication, à brancher les fils au bon endroit et à lire la fiche technique d’un composant. C’est difficile au début, mais une fois que vous en avez compris une, vous les comprenez presque toutes, car elles suivent souvent les mêmes schémas.

Pour aller plus loin, vous pourrez ensuite ajouter une carte à microcontrôleur (comme l’Arduino) à votre Raspberry Pi pour gérer les tâches « de bas niveau » de votre matériel. Vous découvrirez ainsi d’autres facettes de la robotique.

Ce que vous pouvez faire, et ce que vous ne pouvez pas faire avec un Raspberry Pi

Voyons les avantages et les limites d’un Raspberry Pi.

Comme c’est un véritable ordinateur, vous pouvez effectuer des calculs lourds et exécuter de vrais logiciels, développés par vous ou par la communauté. Vous n’êtes pas limité à des programmes de base (faire clignoter une LED ou piloter un moteur) : vous pouvez donner plus d’intelligence à votre robot.

Le Raspberry Pi est fourni avec un système d’exploitation pensé pour les débutants et des instructions simples et détaillées. Inutile de vous soucier de la configuration : vous pouvez apprendre directement la robotique en suivant des tutoriels en ligne et en expérimentant par vous-même.

Vous disposez aussi de nombreux ports et broches pour la communication réseau et le contrôle du matériel, et les cartes récentes intègrent le Wi-Fi et le Bluetooth. Avec sa taille de carte de crédit, il est très facile d’embarquer un Raspberry Pi dans votre robot.

Que vous soyez débutant ou utilisateur avancé, vous trouverez toujours un moyen de contrôler votre robot avec un Raspberry Pi. Une excellente façon d’apprendre la robotique !

La principale limite : même s’il s’agit d’un ordinateur, il est moins puissant qu’un ordinateur portable récent. Il peut faire tourner presque tout ce dont votre robot a besoin, mais ne comptez pas lancer des logiciels graphiques lourds comme la CAO. Ce n’est pas un problème pour votre projet, car on n’achète pas un Raspberry Pi pour cet usage.

Autre limite, plus complexe : les contraintes de temps réel. Nous y revenons plus bas, dans la partie consacrée à l’Arduino.

Quel Raspberry Pi choisir pour la robotique ?

Chaque génération reprend le meilleur de la précédente, avec des composants plus puissants et de nouvelles fonctionnalités. Pour un nouveau projet de robotique, nous vous conseillons de commencer avec un Raspberry Pi 4 ou un Raspberry Pi 5 : ils sont bien plus puissants que les anciennes cartes et intègrent le Wi-Fi et le Bluetooth, il vous suffit donc d’un clavier, d’une souris et d’un écran pour démarrer. Le Raspberry Pi 5 est le plus puissant de la gamme, mais il demande une alimentation plus costaude (5 V / 5 A). Le Raspberry Pi 3 Model B+ est toujours produit et reste une bonne option pour des projets plus légers, et le Raspberry Pi Zero 2 W est idéal quand votre robot doit rester très petit.

Les anciens Raspberry Pi 1 et Raspberry Pi 2 ne valent plus la peine d’être achetés pour un nouveau projet.

Voici comment se comparent les cartes actuelles :

Carte Processeur Mémoire vive Sans fil Idéal pour
Raspberry Pi 5 Arm Cortex-A76 quadricœur, 2,4 GHz 1 à 16 Go Wi-Fi double bande, Bluetooth 5.0 Projets exigeants : vision par ordinateur, IA, robots avancés
Raspberry Pi 4 Model B Arm Cortex-A72 quadricœur 1 à 8 Go Wi-Fi double bande, Bluetooth 5.0 La plupart des projets de robotique, carte très bien documentée
Raspberry Pi 3 Model B+ Arm Cortex-A53 quadricœur, 1,4 GHz 1 Go Wi-Fi double bande, Bluetooth 4.2 Projets plus légers et apprentissage des bases
Raspberry Pi Zero 2 W Arm Cortex-A53 quadricœur, 1 GHz 512 Mo Wi-Fi 2,4 GHz, Bluetooth 4.2 Très petits robots et projets basse consommation

Pour aller plus loin sur cette carte, découvrez notre article sur le Raspberry Pi 4 pour la robotique STEM.

Installer un système d’exploitation sur Raspberry Pi

Il vous faut d’abord une carte microSD. Même si 8 Go suffisent pour installer presque n’importe quel système, nous recommandons une carte de 16 ou 32 Go. Vérifiez aussi qu’elle est de classe 10 ou A1/A2 pour une bonne vitesse.

Installer un système d’exploitation sur une carte SD est assez simple. Le logiciel officiel Raspberry Pi Imager télécharge le système de votre choix et l’écrit sur la carte en quelques clics. Le site Raspberry Pi propose aussi un excellent guide de démarrage. Vous pouvez aussi acheter une carte SD avec une image préinstallée, mais nous vous conseillons de le faire vous-même en suivant le tutoriel : c’est facile et vous apprendrez les bases.

Quel système d’exploitation (OS) installer ? Raspberry Pi OS est l’OS conçu pour les cartes Raspberry Pi. Il vaut mieux commencer par lui, car la plupart des fonctionnalités sont prises en charge et le matériel fonctionne directement. Vous pouvez le choisir dans Raspberry Pi Imager.

Si vous aimez Ubuntu (comme nous), sachez qu’Ubuntu publie des images officielles pour Raspberry Pi, en version bureau comme en version serveur.

Les utilisateurs avancés peuvent aussi trouver des versions d’OS allégées, sans interface graphique, qui accélèrent nettement vos applications.

Programmer sur Raspberry Pi

Le Raspberry Pi est une excellente plateforme pour apprendre la robotique. À un moment, vous devrez programmer votre robot : contrôler des moteurs, lire des données de capteurs ou créer un serveur pour le piloter depuis une interface web.

La bonne nouvelle : Raspberry Pi OS et la plupart des systèmes d’exploitation incluent déjà un environnement de développement Python. Python est un bon langage pour débuter, souvent choisi par les débutants. Au-delà de l’apprentissage, il est très utilisé dans les applications réelles et permet de prototyper et de développer rapidement.

Vous trouverez aussi de nombreuses bibliothèques Python open source pour interagir avec les broches et les ports de votre carte. Vous pouvez ainsi créer des fonctions utiles pour votre robot sans trop de difficulté.

Vous pouvez bien sûr utiliser le langage de votre choix (C, C++, Ruby, JavaScript…) selon votre application. En robotique, Python et C++ sont les plus utilisés. Combinés, ils permettent un développement rapide et un code optimisé pour de meilleures performances.

Utiliser les broches GPIO

Carte Raspberry Pi pour un robot

Une fois le système installé et les bases de la programmation acquises, vous pouvez commencer à utiliser les broches GPIO de la carte. Elles permettent de connecter votre carte à des composants matériels, via les protocoles I2C et SPI par exemple.

Certaines bibliothèques permettent d’utiliser ces protocoles sans savoir comment ils fonctionnent en détail. Par exemple, smbus2 est une bibliothèque Python qui rend la communication I2C très simple.

Avec les 40 broches du Raspberry Pi (à partir du Raspberry Pi 2, y compris les Pi 4 et Pi 5), vous pourrez :

  • Contrôler l’inclinaison de votre robot avec un capteur IMU (centrale inertielle)
  • Contrôler la position de votre robot avec un détecteur laser
  • Obtenir des informations sur l’environnement : température, pression…
  • Communiquer avec une autre carte ou un microcontrôleur (par exemple un Arduino)

Intégrer une caméra

Le Raspberry Pi dispose d’une interface caméra. Vous pouvez acheter une caméra conçue pour lui : peu coûteuse, facile à connecter et de bonne qualité d’image.

Imaginez les possibilités ! Vous pourriez construire votre propre drone et utiliser la caméra pour traiter les images de l’environnement, afin qu’il sache où atterrir et comment éviter les obstacles.

Si vous voulez utiliser une caméra sur votre Raspberry Pi, jetez un œil à la bibliothèque OpenCV. Cette bibliothèque open source permet de traiter les images de la caméra pour reconnaître des éléments de l’environnement, des visages, etc.

Communiquer avec une carte Arduino

Ce qui est génial avec le Raspberry Pi, c’est qu’on peut le connecter à presque tout. Imaginez une combinaison Raspberry Pi + Arduino : c’est possible, et c’est une très bonne idée pour la robotique. Pour choisir entre les deux, lisez notre comparatif Arduino vs Raspberry Pi.

Mais quand avez-vous besoin d’un Arduino avec votre Raspberry Pi ?

  • Parfois, vous avez des contraintes de temps réel que l’OS du Raspberry Pi gère mal. Vous pouvez alors confier ces tâches à un Arduino et relier les deux cartes : le Raspberry Pi garde les calculs lourds, l’Arduino s’occupe du bas niveau.
  • Si vous devez contrôler beaucoup de moteurs, par exemple 5 moteurs pas à pas, il faut ajouter une carte pour gérer l’alimentation et la commande des moteurs (parfois avec des contraintes de temps réel). Un Arduino Mega avec un shield RAMPS 1.4 fait très bien l’affaire !
  • Si vous voulez piloter plusieurs équipements de votre maison depuis un seul centre de commande, vous pouvez relier plusieurs cartes Arduino à un seul Raspberry Pi.

Connecter votre robot à votre maison

Avec une connexion Ethernet, branchez directement votre Raspberry Pi sur la box ou le routeur, et c’est parti ! Vous disposez d’un petit serveur à bas coût rien que pour vous.

Avec le Wi-Fi et le Bluetooth, vous pouvez embarquer votre Raspberry Pi dans votre robot tout en continuant à communiquer avec l’extérieur. Vous pouvez ainsi créer un serveur sur votre robot et le piloter depuis une application mobile, ou à distance depuis l’autre bout du monde.

Reprenons l’exemple du drone : tout en traitant les images avec OpenCV, vous pourriez diffuser la vidéo sur votre ordinateur pour voir ce que voit le robot.

Cas d’usage réel : Niryo Ned2

Après tous ces points, vous voudrez peut-être un exemple concret de projet de robotique utilisant un Raspberry Pi.

Chez Niryo, nous utilisons une carte Raspberry Pi pour piloter notre robot, le Ned2, bras robotisé 6 axes. Nous avons fait ce choix pour rendre le robot plus performant et ouvert. Nous avons aussi embarqué le système d’exploitation Ubuntu afin de pouvoir utiliser le Robot Operating System (ROS), un ensemble d’outils pour des applications robotiques puissantes.

Questions fréquentes

Quel Raspberry Pi choisir pour la robotique ?

Pour la plupart des projets de robotique, un Raspberry Pi 4 ou un Raspberry Pi 5 est le meilleur choix : ils sont assez puissants pour la vision par ordinateur et ROS, et intègrent le Wi-Fi et le Bluetooth. Choisissez le Raspberry Pi Zero 2 W uniquement si votre robot doit être très petit.

Un Raspberry Pi peut-il piloter directement des moteurs ?

Pas directement. Les broches GPIO fonctionnent avec une faible tension et un faible courant : elles ne peuvent pas alimenter des moteurs. Il faut intercaler un driver de moteur, un HAT moteur ou une carte comme l’Arduino, avec une alimentation séparée pour les moteurs.

Raspberry Pi ou Arduino pour un robot ?

Ils n’ont pas le même rôle. Le Raspberry Pi est un ordinateur complet, idéal pour la programmation, la vision, le réseau et les décisions de haut niveau. L’Arduino est un microcontrôleur, plus adapté au contrôle en temps réel des moteurs et des capteurs. De nombreux robots combinent les deux.

Quel langage de programmation utiliser sur Raspberry Pi ?

Python est le meilleur choix pour débuter : il est fourni avec Raspberry Pi OS, dispose de nombreuses bibliothèques pour les GPIO, les capteurs et les caméras, et il est très utilisé en robotique. Le C++ est un bon complément quand il faut plus de performances.

À vous de jouer !

Nous vous avons présenté ici comment apprendre la robotique avec Raspberry Pi. Avec tous ces points, vous voyez ce que vous pouvez faire et où trouver les bonnes informations pour bien démarrer.

Nous vous encourageons vivement à rejoindre la communauté Raspberry Pi, comme les forums officiels ou d’autres sites proposant d’excellents tutoriels. Une fois votre robot construit, vous pouvez partager votre travail avec la communauté, recevoir des retours et des encouragements, tout ce qu’il faut pour rester motivé.

À vous d’apprendre la robotique avec Raspberry Pi !

Parlez-nous de votre projet

Vous envisagez d’y intégrer les solutions Niryo ?
Échangez avec nos experts pour identifier la solution la plus adaptée à vos besoins.

Français Deutsch English
Euro (€) US Dollar ($)

Médical

IA

IA