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

Dans l’article précédent, nous vous avons donné un aperçu de la manière d’apprendre la robotique avec Raspberry Pi, afin que vous puissiez savoir ce qu’est Raspberry Pi et quelle carte choisir.

 

Dans cet article, nous allons vous montrer ce que vous devez faire pour réellement apprendre la robotique avec Raspberry Pi.

 

Prêt ? C’est parti :

 

Installation d’un système d’exploitation sur Raspberry Pi :

Dans cette partie, nous nous concentrerons sur la carte Raspberry Pi 3, mais la plupart de ces conseils sont également valables pour la Raspberry Pi 2.

 

Tout d’abord, vous avez besoin d’une carte microSD. Même si vous pouvez installer presque tous les systèmes d’exploitation avec une carte de 8 Go, nous vous recommandons d’utiliser une carte de 16 ou 32 Go. Vérifiez également que votre carte microSD est de classe 6 ou 10 (10 étant la meilleure).

 

L’installation d’une image de Système d’exploitation sur une carte SD est assez simple. Le site Web officiel du Raspberry Pi propose un excellent tutoriel à ce sujet. Vous pouvez également acheter directement une carte SD avec une image pré-installée, mais nous vous recommandons de le faire vous-même tout en suivant le tutoriel, car c’est facile et vous apprendrez quelques notions de base.

 

Maintenant, quel système d’exploitation (OS) installer ? Raspbian est un système d’exploitation spécialement conçu pour les Raspberry Pi. Il est préférable de commencer par cela, car vous êtes sûr que la plupart des fonctionnalités seront prises en charge et que le matériel fonctionnera correctement dès sa sortie de l’emballage. Vous pouvez télécharger Raspbian sur le site officiel du Raspberry Pi. Si vous utilisez le Raspberry Pi pour la première fois et que vous ne connaissez pas grand-chose à l’informatique, il existe un système d’exploitation pour vous, appelé Noobs (New Out Of the Box Software).

 

Si vous aimez Ubuntu (comme nous), vous serez heureux d’apprendre que de nombreuses versions d’Ubuntu ont été adaptées pour fonctionner sur Raspberry Pi : Ubuntu Mate, Xubuntu, Lubuntu, Ubuntu Server. Consultez les liens de téléchargement ici.

 

Pour les utilisateurs plus avancés, vous pouvez également trouver des versions d’OS légères, sans interface graphique. Celles-ci vous permettront d’accélérer vos applications de manière significative.

 

Programmation sur Raspberry Pi

Le Raspberry Pi est une excellente plateforme pour apprendre la robotique, et à un moment donné, vous devrez effectuer des tâches de programmation pour contrôler votre robot : contrôler les moteurs, lire les données des capteurs ou créer un programme serveur pour contrôler votre robot à partir d’une interface web.

 

La bonne nouvelle est que Raspbian et la plupart des systèmes d’exploitation sont déjà livrés avec un environnement de développement Python. Python est un bon langage pour commencer à programmer et est souvent adopté par les débutants. Plus qu’un langage d’apprentissage, Python est largement utilisé dans les applications réelles et permet un prototypage et un développement rapides.

 

Vous trouverez également de nombreuses bibliothèques Python Open Source pour vous aider à interagir avec les broches et les ports de votre carte Raspberry Pi. Ainsi, vous pourrez créer des objets utiles pour votre robot sans trop de difficultés.

 

Bien entendu, vous pouvez utiliser n’importe quel langage que vous voulez (C, C++, Ruby, JavaScript…), en fonction de l’application que vous construisez. Pour les projets de robotique, Python et C++ sont principalement utilisés. Combinés, ils permettent un développement rapide et un code optimisé pour de meilleures performances.

 

Utiliser les broches GPIO

 

 

Après avoir installé un système d’exploitation et vous être familiarisé avec la programmation de base, vous pourrez commencer à utiliser les broches GPIO de la carte Raspberry Pi. Celles-ci vous permettent de connecter votre carte à des composants matériels, via les protocoles I2C et SPI, par exemple.

 

Certaines bibliothèques ont été développées pour vous permettre d’utiliser facilement ces protocoles de communication sans savoir comment ils fonctionnent sous le capot. Par exemple, SMBus est une bibliothèque Python qui rend la communication I2C très facile.

 

A partir des 40 broches du Raspberry Pi (2 et 3), vous pourrez :

 

  • Contrôler l’inclinaison de votre robot avec un capteur IMU (Inertial Measurement Unit).
  • Contrôler la position de votre robot avec un détecteur laser.
  • Obtenir des informations sur l’environnement telles que la température, la pression…
  • Communiquer avec une autre carte informatique ou une carte microcontrôleur (ex.: Arduino).

 

Intégrer une caméra

 

 

Le Raspberry Pi dispose d’une interface caméra, et vous pouvez acheter une caméra spécialement conçue pour le Raspberry Pi, qui est peu coûteuse, facile à connecter, et qui offre une bonne qualité d’image.

 

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

 

Si vous souhaitez utiliser une caméra sur votre carte Raspberry Pi, jetez un coup d’œil à la bibliothèque OpenCV. Vous pouvez utiliser cette bibliothèque open source pour traiter les images de votre caméra, pour reconnaître des parties de l’environnement, des visages, etc.

 

Communiquer avec une carte Arduino

Ce qui est génial avec Raspberry Pi, c’est qu’on peut le connecter à presque tout. Imaginez une combinaison Raspberry Pi + Arduino… Eh bien, c’est possible, et c’est une très bonne idée pour les applications de robotique.

 

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

 

  • Parfois, vous avez des contraintes en temps réel, et l’OS de votre Raspberry Pi ne peut pas tout à fait les gérer. Dans ce cas, vous voudrez peut-être utiliser une carte Arduino pour effectuer les tâches en temps réel, et les connecter l’une à l’autre pour que le Raspberry puisse toujours effectuer des calculs élevés et laisser l’Arduino effectuer les tâches de niveau inférieur. 

 

  • Si vous avez besoin de contrôler beaucoup de moteurs, disons 5 moteurs pas à pas, vous devrez ajouter une carte à votre Raspberry Pi, pour gérer l’alimentation et le contrôle des moteurs (parfois avec des contraintes de temps réel). Une Arduino Mega avec un shield RAMPS 1.4 peut parfaitement faire l’affaire !

 

  • Si vous souhaitez contrôler plusieurs matériels dans votre maison avec un seul centre de commande, alors vous pouvez connecter plusieurs cartes Arduino avec une seule carte Raspberry Pi.

 

Connectez votre robot à votre maison

Avec une connexion Ethernet, vous pouvez directement brancher votre Raspberry Pi sur le routeur de votre maison, et le tour est joué ! Vous venez d’avoir un serveur à 40 $ rien que pour vous.

 

En utilisant les connexions Wi-Fi et Bluetooth, vous pourrez intégrer votre Raspberry Pi dans votre robot et continuer à communiquer avec l’extérieur. De cette façon, vous pouvez imaginer créer un serveur sur votre robot, afin de pouvoir le contrôler depuis une application mobile ou depuis une position à distance à l’autre bout du monde.

 

Reprenons l’exemple du drone. En traitant les images avec OpenCV, vous pourriez également diffuser la vidéo sur votre ordinateur, afin de pouvoir voir ce que le robot voit. 

 

Cas d’utilisation réelle : Niryo One

Après tous ces points, vous voudrez peut-être avoir un exemple d’un projet de robotique réel utilisant une carte Raspberry Pi. 

 

Chez Niryo, nous utilisons une carte Raspberry Pi 3 pour contrôler notre robot, Niryo One. Nous avons fait ce choix parce que nous voulions que le robot soit plus intelligent. Nous voulions également intégrer le système d’exploitation Ubuntu afin de pouvoir utiliser le Robot Operating System (ROS), un ensemble d’outils pour des applications robotiques puissantes.

 

À vous de jouer !

Nous vous avons donné ici une introduction sur la manière d’apprendre la robotique avec Raspberry Pi. Avec tous ces points, vous pourrez voir ce que vous pouvez faire et comment trouver les bonnes informations pour progresser au début. 

 

Nous vous encourageons vivement à prendre part à la communauté autour du Raspberry Pi, comme les forums officiels ou d’autres sites Web fournissant d’excellents tutoriels. Après avoir construit votre robot, vous pouvez partager votre travail avec la communauté, obtenir des retours et des commentaires positifs, tout ce dont vous avez besoin pour continuer à vous motiver.

 

Maintenant, c’est à vous d’apprendre la robotique avec Raspberry Pi !