Aller au contenu principal

Pour commencer

Le Lab Acropolix - Pour commencer


Nous pouvons voir un robot comme un ensemble multidisciplinaire, alliant électronique, mécanique et informatique (définition du terme "robot" selon Wikipedia), que nous pouvons représenter de cette manière :

Définition d'un robot

Il nous faut donc un environnement de travail regroupant des éléments de chacune de ces disciplines. Dans cette section, je vais vous présenter l'environnement de travail que j'ai mis en place. Je détaillerai autant que possible le matériel et les logiciels mis en oeuvre afin que vous puissiez le reproduire aisément chez vous.

Mécanique

Comme le laboratoire servira pour des expérimentations, la partie mécanique se contentera d'être simulée à travers de :

  • moteurs à courant continu pour comprendre les différentes possiblités de déplacement d'un robot
  • servomoteurs afin d'étudier les déplacements de bras ou de jambes/pattes par exemple.
  • un châssis sera conçu ultérieurement, probablement en impression 3D.

Electronique

L'électronique sera, quant à elle, constituée de :

  • un kit Sunfounder constitué de 337 composants divers et variés. Vous pouvez le trouver chez Amazon
  • d'autres composants viendront s'ajouter ultérieurement, mais nous avons ce qu'il nous faut pour commencer nos expérimentations.

Informatique

Au niveau informatique, notre laboratoire sera composé de :

  • Une machine de développement sous environnement GNU/Linux et plus particulièrement la distribution Debian (en version Unstable)) - distribution avec laquelle je suis le plus à l'aise, mais n'importe quelle distribution GNU/Linux fera l'affaire - équipée de 32 Go de mémoire et de 512 Go de disque dur. Dans mon cas, il s'agit d'un Macbook Pro M1 Pro 16".
Installer Debian

Pour installer une Debian sur un PC, vous pouvez consulter ce lien.

  • Un éditeur de code : nous utiliserons VSCode

  • Un Raspberry Pi 4 équipé de 8Go de RAM et d'un disque SSD de 500Go, simulera notre robot. Il tournera sous environnement GNU/Linux, avec la distribution Raspberry Pi OS.

Pourquoi doter un Raspberry Pi d'un SSD ?

Dans le cadre de ce laboratoire, je vais tester différents programmes, développés sur ma machine de développement puis envoyés sur le Raspberry Pi. Cela va créer un nombre assez important d'écriture sur le disque. Si je me contentais de la carte microSD, cette dernière s'userait prématurément, provoquant ainsi son remplacement rapide. Ce que je ne souhaite pas. Un SSD aura plus de cycles d'écriture et de lecture qu'une carte microSD, ce qui fait que c'est à mon avis le meilleur choix possible pour le laboratoire.

Pour monter un SSD sur mon Raspberry Pi, j'ai utilisé la carte X825 de chez Geekworm, disponible chez Amazon

Installer Raspberry Pi OS

Pour installer Raspberry Pi OS, je vous invite à consulter le site officiel de la Raspberry Pi Foundation.

Mais l'informatique ne se résume pas qu'au matériel utilisé. En effet, la mise en place du laboratoire nécessite également un certain nombre de logiciels sur notre machine de développement. Avant de les présenter, il faut que je vous précise le langage de programmation que je vais utiliser tout au long de mes expérimentations. Un Raspberry Pi peut se programmer en Python, mais également en C. Le Net regorge de ressources, majoritairement en Python. Mais je ne suis pas familiarisé avec ce langage et j'avoue ne pas vouloir m'y investir dans le cadre de ce laboratoire. Je vais donc choisir le langage C. Voici donc les logiciels à mettre en place dans le cadre de l'utilisation du langage C :

  • Buildroot : cet outil permet de créer un système Linux personnalisé, et notamment pour le Raspberry Pi - d'autres cartes sont également supportées -, mais il intègre surtout les outils de compilation croisée nécessaires pour compiler les codes sources écrits sur notre machine de développement, afin que les programmes résultant puissent fonctionner sur l'architecture ARM du Raspberry Pi.
Utilisation de Buildroot

Pour installer Buildroot et les outils de compilation croisée nécessaires, je vous invite dans un premier à installer les prérequis nécessaires à Buildroot pour fonctionner en suivant la documentation de Buildroot et à lire le tutoriel de Christophe BLAESS - vous retrouverez le lien également dans la Bibliographie.

  • uclibc-ng : c'est LA bibliothèque C, allégée pour des systèmes embarquées. Par rapport à la libc traditionnelle que l'on peut trouver sur toute distribution GNU/Linux, et dont elle est dérivée, certaines fonctions ne seront pas présentes.
Comment installer uclibc sur la machine de développement ?

Ici, aucune installation ne sera nécessaire. En effet, tous les outils nécessaires pour compiler les codes C seront fournis par buildroot (rappelez-vous, je vous en ai parlé plus haut).

  • LibGPIOd : nous utiliserons cette bibliothèque pour accéder en lecture et écriture sur les ports GPIO du Raspberry Pi. Il sera nécessaire de l'installer sur la machine de développement, et dans le noyau Linux personnalisé créé par Buildroot.

Installation du Lab chez vous

Je vous ai décrit dans les sections précédentes ce que j'ai utilisé pour créer le Lab. Vous pouvez suivre comme moi le tutoriel de Christophe BLAESS (le lien est donné plus haut), mais pour ceux qui voudraient aller au plus vite (et je le comprends), je vous ai concocté un petit script d'installation. Vous pouvez le trouver sur le Github du Lab Acropolix.

Il vous suffit de suivre le README pour installer une copie du Lab sur votre machine de développement.

En route pour les premières expérimentations

Tous les éléments sont maintenant en place. Dans le prochain chapitre, nous présenterons différents types de locomotion d'un robot mobile, de manière non exhaustive. Puis, le chapitre suivant sera consacré aux moyens existants pour un robot de "voir" son environnement. Et enfin, nous pourrons commencer nos expérimentations.