Un guide du débutant pour la programmation de robots avec Python

0
277

Avouons-le, les robots sont cool. Ils vont également diriger le monde un jour, et avec un peu de chance, à ce moment-là, ils auront pitié de leurs pauvres créateurs charnus et doux (a.k.a. développeurs de robotique) et aidez-nous à construire une utopie spatiale remplie d’abondance. Je plaisante bien sûr, mais seulement en quelque sorte.

Dans mon ambition d’avoir une petite influence sur la question, j’ai pris une cours de théorie du contrôle des robots autonomes l’année dernière, qui a abouti à ma construction d’un simulateur robotique basé sur Python qui m’a permis de pratiquer la théorie du contrôle sur un robot simple, mobile et programmable.

Dans cet article, je vais montrer comment utiliser un framework de robot Python pour développer un logiciel de contrôle, décrire le schéma de contrôle que j’ai développé pour mon robot simulé, illustrer comment il interagit avec son environnement et atteindre ses objectifs, et discuter de certains des défis fondamentaux de la programmation robotique que j’ai rencontrés en cours de route.

Afin de suivre ce tutoriel sur la programmation robotique pour les débutants, vous devez avoir une connaissance de base de deux choses:

  • Mathématiques – nous utiliserons des fonctions trigonométriques et des vecteurs
  • Python – puisque Python fait partie des langages de programmation de base de robots les plus populaires – nous utiliserons des bibliothèques et des fonctions Python de base

Les extraits de code présentés ici ne sont qu’une partie de l’ensemble du simulateur, qui repose sur des classes et des interfaces, donc pour lire le code directement, vous devrez peut-être une certaine expérience en Python et programmation orientée objet.

Enfin, les rubriques facultatives qui vous aideront à mieux suivre ce didacticiel sont de savoir ce qu’est une machine à états et comment fonctionnent les capteurs de plage et les encodeurs.

Le défi du robot programmable: perception versus réalité et fragilité du contrôle

Le défi fondamental de toute robotique est le suivant: il est impossible de connaître le véritable état de l’environnement. Le logiciel de contrôle du robot ne peut que deviner l’état du monde réel sur la base des mesures retournées par ses capteurs. Il ne peut tenter de changer l’état du monde réel que par la génération de signaux de commande.

Ce graphique illustre l'interaction entre un robot physique et les commandes de l'ordinateur lors de la pratique de la programmation de robots Python.