Programmation d’un robot

Programmer un robot avec MATLAB et Simulink

Un robot peut être piloté ou fonctionner en mode autonome. Pour cela, le robot est muni de :

  • Capteurs : dispositifs de mesure capturant l’information, traduisant ainsi sa perception de l’environnement.
  • Microcontrôleur : élément décideur, constituant le cerveau du robot. Il reçoit les informations des capteurs et décide de l’action à effectuer selon l’algorithme de commande, programmé le plus souvent en langage C ou assembleur.
  • Actionneurs : éléments moteurs permettant d’agir sur le déplacement du robot.

La programmation d’un robot est la conception de l’algorithme qui commande son comportement et la déportation sur son microcontrôleur pour réaliser son prototype réel. Due à la complexité croissante de la robotique, les industriels adoptent une démarche de conception à base de modèles (appelée Model-Based Design). La modélisation et la simulation sont devenues cruciales à la démarche de l’ingénieur pour comprendre le comportement du système, concevoir l’algorithme de commande et le tester en simulation. La modélisation et la simulation permettent également aux ingénieurs d’affiner la conception du système et d’éliminer les erreurs avant de développer le prototype réel.

Avec MATLAB® et Simulink®, la conception et la programmation d’un robot est rapide et facile, en utilisant une démarche Model-Based Design :

  • Modélisation et simulation du comportement du système
  • Conception de l’algorithme de commande et validation en simulation
  • Programmation du robot en générant le code C directement à partir de votre modèle.

Ainsi, vous pouvez :

  • Piloter le Robot humanoïde Nao
  • Programmer des cartes à bas coût telles que Arduino®, Raspberry Pi™, BeagleBoard® ou encore le LEGO® MINDSTORMS® NXT, pour développer des projets pédagogiques multidisciplinaires
  • Réaliser des prototypes avancés pour vos projets académiques ou industriels avec xPC Target, les DSPs Texas Instruments™ C2000™, ARM® Cortex®-M controllers, ou encore cibler la nouvelle carte Xilinx® Zynq®

La programmation d’un robot avec MATLAB et Simulink permet un apprentissage progressif d’une démarche industrielle dès l’enseignement au lycée.

Using ROS blocks to publish and subscribe messages in Simulink.

Utilisation de blocs ROS pour la publication et la souscription de messages dans Simulink. Voir l'exemple.

En utilisant MATLAB et Simulink pour la programmation de robots, vous pouvez construire une simulation robotique évolutive pour prototyper, tester des modèles de concepts et débugger à moindre coût. Vous pouvez ensuite utiliser les modèles haute-fidélité pour la validation, tout en conservant le reste des algorithmes dans le même environnement de simulation. Une fois le résultat souhaité obtenu au niveau de la simulation du robot, vous pouvez générer un code exécutable autonome pour le système embarqué à partir du modèle Simulink dans des langages de programmation courants. En utilisant la connectivité ROS de MATLAB et Simulink avec un réseau ROS, vous pouvez générer des nœuds ROS en C++ directement à partir de MATLAB et Simulink pour tester et vérifier vos applications sur des robots compatibles ROS et des simulateurs de robots tels que Gazebo.

Pour plus de détails sur la programmation des robots, voir Robotics System Toolbox™, Navigation Toolbox™, ROS Toolbox, MATLAB et Simulink.


Exemples et démonstrations

Détection et perception

Planification de trajectoire et décision

Contrôle

Voir aussi: robotics and autonomous systems, mechatronics, Simscape Multibody, Control System Toolbox, Stateflow, Automated Driving Toolbox, Computer Vision Toolbox, Embedded Coder, MATLAB Coder, Simulink Coder, PID control, inverse kinematics, cloud robotics, Path Planning, Inertial Navigation System