Sur la route : nous serons à Automate Show 2023 (Detroit, MI, USA) du 22 au 25 mai.

27 janvier 2017

Comment apprendre la robotique avec Raspberry Pi (2/2)

Dans l’article de blog précédent, nous vous avons donné un aperçu de comment apprendre la robotique avec Raspberry Pi, pour que vous sachiez ce qu’est Raspberry Pi, et quelle carte choisir.

Dans cet article, nous vous montrerons comment passer à l’action, et les étapes que vous devrez suivre pour apprendre la robotique avec Raspberry Pi.

Prêt ? Allons-y :

Installer un système d’exploitation sur une carte Raspberry Pi

Les instructions qui suivent sont aussi bien valables pour Raspberry Pi 2 que Raspberry Pi 3.

Tout d’abord, vous devez vous procurer une carte microSD. Même si vous pourrez installer presque tous les systèmes d’exploitation sur une carte 8GB, nous vous recommandons d’utiliser une carte 16GB ou 32GB. Vérifiez aussi que la carte microSD soit de classe 6 ou 10.

Installer un système d’exploitation sur une carte SD est relativement aisé. Vous trouverez des explications simples et détaillées sur le site officiel de Raspberry Pi. Vous pouvez également acheter une carte microSD pré-installée. Cependant nous vous conseillons de réaliser l’installation par vous-même, cela ne prendra pas trop de temps et vous apprendra certaines bases utiles pour vos futurs projets.

Avec tout le choix proposé, quel système d’exploitation choisir ? Raspbian a été créé spécialement pour les cartes Raspberry Pi. En commençant avec Raspbian, vous êtes assuré que la plupart des fonctionnalités seront disponibles, et les composants électroniques fonctionneront sans trop de problèmes. Vous pouvez télécharger Raspbian gratuitement sur le site officiel de Raspberry Pi. Si vous utilisez Raspberry Pi pour la première fois, et que vous êtes débutant en informatique, commencez avec Noobs (New Out Of The Box Software), qui est très facile d’utilisation.

Si vous aimez Ubuntu (comme nous), alors nous avons une bonne nouvelle : de nombreuses versions d’Ubuntu ont été adaptées pour tourner sur Raspberry Pi : Ubuntu Mate, Xubuntu, Lubuntu, Ubuntu server.

Pour les utilisateurs avancés, vous trouverez une version “light” pour chaque système d’exploitation, sans interface graphique. Cela vous permettra de bénéficier de performances accrues.

Programmer sur Raspberry Pi

Raspberry Pi est une excellente plateforme pour apprendre la robotique, et à un moment ou à un autre, vous aurez besoin de développer des programmes pour contrôler votre robot : contrôler des moteurs, lire des données provenants de capteurs, ou encore créer un serveur pour piloter votre robot depuis une interface Web.

Raspbian et de nombreux systèmes d’exploitation ont déjà un système de développement Python. Python est un bon langage pour apprendre la programmation et est souvent adopté par les débutants. Mais Python est plus bien plus que cela. Il est largement utilisé dans de nombreuses applications réelles, et permet un développement et un prototypage rapide.

Vous trouverez de nombreux tutoriels et librairies en Python qui vous aideront à interagir avec les pins de votre carte Raspberry Pi. De cette façon vous pourrez créer des programmes utiles pour votre robot, sans trop de mal.

Bien sûr, comme Raspberry Pi est un ordinateur (presque) comme un autre, vous pouvez utiliser le langage que vous voulez (C, C++, Ruby, Javascript, …) en fonction de l’application que vous construisez. Pour les projets robotiques, Python et C++ sont principalement utilisés. Ensemble, ils permettent un développement rapide (Python), ainsi que l’optimisation de certaines parties de code (C++) pour une meilleure performance.


Utiliser les pins GPIO

Après avoir installé un système d’exploitation et avoir appris quelques bases en programmation, vous pourrez commencer à utiliser les pins GPIO présentes sur votre carte Raspberry Pi. Celles-ci permettent de connecter la carte à des composants électroniques, et de communiquer avec eux en utilisant des protocoles comme serial, i2c ou encore spi.

Certaines librairies ont été développées par la communauté , pour vous permettre de facilement utiliser ces protocoles de communication, sans avoir besoin d’apprendre leur fonctionnement en détail. Par exemple, SMBus est une librairie Python qui simplifie au maximum les communications en i2c.


Avec 40 pins GPIO disponibles sur une carte Raspberry Pi (2 et 3), vous pourrez :

  • Contrôler l’inclinaison de votre robot avec un IMU (Inertial Measurement Unit)
  • Contrôler la position de votre robot avec un détecteur laser
  • Récupérer des informations sur l’environnement comme la température, la pression…
  • Communiquer avec un autre ordinateur ou microcontroller (ex: Arduino)

Embarquer une caméra

Une carte Raspberry Pi a une interface caméra. Vous pouvez acheter une caméra compatible spécialement conçue pour Raspberry Pi, qui est peu chère, facile à connecter, et qui donne des images de bonne qualité.

Imaginez toutes les possibilités ! Vous pourriez construire votre propre drone, et utiliser la caméra pour analyser l’environnement sur votre Raspberry Pi. Votre drone pourra donc savoir où il doit atterrir, comment éviter des obstacles, etc.

Si vous avez l’envie d’essayer d’utiliser une caméra avec Raspberry Pi, nous vous conseillons de jeter un coup d’oeil à OpenCV. OpenCV est une librairie open source que vous pouvez utiliser pour faire du traitement d’image facilement.


Communiquer avec une carte Arduino

Ce qui est bien avec Raspberry Pi, c’est que vous pouvez le connecter à presque tout. Imaginez une connexion entre un Raspberry Pi et un Arduino… Et bien, c’est tout à fait possible, et c’est une très bonne idée pour une application robotique.

Quand utiliser une carte Arduino avec une carte Raspberry Pi ?

  • Parfois vous aurez besoin de gérer des contraintes en temps réel, et le système d’exploitation sur votre Raspberry Pi peut difficilement gérer ce type de contrainte. Dans ce cas, vous pouvez utiliser une carte Arduino pour réaliser les tâches “temps réel” et y connecter votre Raspberry Pi. Ce dernier sera en charge des calculs poussés et déléguera les tâches “temps réel” à l’Arduino.
  • Si vous avez besoin de contrôler beaucoup de moteurs, par exemple 5 moteurs pas à pas, alors vous aurez besoin d’ajouter une carte sur votre Raspberry Pi, pour gérer l’alimentation électrique et le contrôle (parfois en temps réel) de ces moteurs. La combinaison Arduino Mega + RAMPS 1.4 répond déjà parfaitement à ce besoin !
  • Si vous souhaitez contrôler de nombreux composants électroniques dans votre maison avec un seul centre de commande, alors une bonne idée est de connecter plusieurs cartes Arduino à une seule carte Raspberry Pi.

Connecter votre robot à votre maison

Avec une connexion Ethernet, vous pouvez directement connecter votre Raspberry Pi à votre routeur. Vous venez juste de créer un serveur personnel pour 40€ !

Avec la Wi-Fi et le Bluetooth, votre Raspberry Pi peut être intégré dans votre robot et communiquer avec le reste de vos appareils. Vous pourriez héberger un petit serveur sur votre Raspberry Pi, et ainsi contrôler votre robot à distance, depuis une application mobile, n’importe où dans le monde.

Prenons l’exemple d’un drone. En utilisant du traitement d’images avec OpenCV, vous pouvez également redirigez le flux de la vidéo sur votre ordinateur portable, et ainsi voir ce que le robot voit.

Cas concrêt : Niryo One

Après tous ces points, vous vous demandez sûrement quelles sont les applications robotiques réelles déjà mises en place avec une carte Raspberry Pi.

Chez Niryo, nous utilisons une carte Raspberry Pi 3 (dernière version en date) pour contrôler notre robot, Niryo One. Nous avons fait ce choix pour rendre le robot plus intelligent. Nous voulions également utiliser Ubuntu pour faire tourner Robot Operating System, un ensemble d’outils très puissant pour les applications robotiques.

A votre tour !

Nous venons juste de vous proposer une introduction de comment apprendre la robotique avec Raspberry Pi. Avec les points précédents, vous pouvez voir de façon plus claire ce que vous allez pouvoir réaliser avec Raspberry Pi, et comment trouver les informations qui vous permettront d’apprendre la robotique plus efficacement au début.

Nous vous encourageons fortement à prendre part à la communauté formée autour de Raspberry Pi, via des forums ou autres sites regorgeants de bons tutoriels. Pendant la construction de votre robot, n’hésitez pas à partager votre travail et vos avancées, vous obtiendrez sûrement des bon conseils et des encouragements, de quoi vous motiver pour aller jusqu’au bout de votre projet.

Maintenant, à votre tour d’apprendre la robotique avec Raspberry Pi !

Inscrivez vous à notre newsletter pour avoir plus d’information sur la robotique avec Raspberry Pi.

Nous n'avons pas pu confirmer votre inscription.
Votre inscription est confirmée.
Inscrivez-vous à la newsletter