Présentation des algorithmes de Deep Machine Learning pour les robots

La revue sera utile pour ceux qui sont engagés dans des robots physiques et pour lesquels l'arduino est devenu insuffisant, ainsi que pour les personnes qui souhaitent mettre en œuvre l'une des fonctions de perception du monde extérieur dans leurs robots ou appareils.
Misty Robot de Misty Robotics au CES
Misty Robot de Misty Robotics au CES

Selon l'objectif du robot, il doit résoudre divers problèmes. Il arrive qu'un contrôleur et, par exemple, les capteurs les plus simples soient suffisants pour les résoudre. Cependant, il est parfois nécessaire que le robot puisse effectuer des tâches non pas selon des coordonnées codées en dur, mais en fonction de l'état de l'espace ou de la zone de travail environnant. Il devient alors nécessaire d'utiliser des capteurs plus complexes, tels que des caméras ou des lidars, et d'utiliser des algorithmes spéciaux pour traiter les informations entrantes.

Vision et compréhension


Voir et comprendre ce qui est vu est la première fonction qui peut nous venir à l'esprit.

Détection d'objets


Vous permet de trouver des objets de types spécifiés dans le champ de vision.

Exemple d'algorithme

Exemple de travail

Vidéo


Suivi des objets


Vous permet de suivre le mouvement d'un objet ou des objets dans le champ de vision.

Exemple d'algorithme

Exemple de travail

Vidéo


Segmentation


Vous permet de déterminer pixel par pixel le contenu du champ de vision.

Exemple d'algorithme

Exemple de travail

Vidéo


Évaluation de la profondeur


Vous permet d'identifier les obstacles sur le chemin et la distance qui les séparent à l'aide de la vision par ordinateur.

Exemple de fonctionnement d'algorithme

Exemple de travail

Un exemple d'algorithme pour une caméra conventionnelle
Exemple d'algorithme pour une caméra stéréo

Si les conditions de travail de votre robot vous permettent d'utiliser des caméras de profondeur avec un éclairage infrarouge actif, comme Intel Realsense, vous pouvez utiliser le SDK propriétaire .

L'animation


Mouvement et prise de décision


La plupart des robots physiques, qu'il s'agisse d'un manipulateur, d'un robot mobile ou de toute autre chose, doivent se déplacer d'une manière ou d'une autre dans l'espace. Et parfois dans le processus de ces mouvements, surtout si les conditions ou l'environnement de fonctionnement peuvent changer de manière significative, le robot doit changer la trajectoire et la vitesse du mouvement.

Orientation spatiale


Vous permet de déterminer les coordonnées de l'emplacement du robot dans l'espace, y compris à l'intérieur des bâtiments.

Exemple d'algorithme

Exemple de travail

Vidéo


Prendre des décisions en se déplaçant


Permet au robot mobile de prendre des décisions sur les manœuvres nécessaires pour optimiser la trajectoire de mouvement dans un environnement dynamique. L'algorithme utilise l' apprentissage par renforcement .

Exemple d'algorithme

L'animation


Capturez et manipulez des objets


Permet au bras robotique de prendre des décisions sur les actions nécessaires nécessaires pour capturer des objets de formes diverses. L'algorithme utilise également l'apprentissage par renforcement.

Exemple d'algorithme

Exemple de travail

Vidéo


Fonctions d'implémentation pour les robots


Performances


Les algorithmes décrits dans cet article sont voraces en termes de calcul et nécessitent le plus souvent un GPU. Par conséquent, en fonction des exigences des conditions de fonctionnement du robot, le développeur doit choisir une option de conception et optimiser le code.

Options possibles:

  • l'informatique sur un PC personnel dédié
  • le cloud computing
  • calculs à bord

Le choix effectué dictera ses exigences en termes d'équipement et d'optimisation d'algorithme.

L'interaction


Un algorithme pour résoudre un problème n'est souvent pas suffisant. Par conséquent, lors de l'utilisation d'algorithmes dans des robots, les développeurs devront faire face à la tâche d'intégration, c'est-à-dire Il est nécessaire d'assurer l'interaction avec d'autres algorithmes et logiciels.

Au lieu de la sortie


Travaillant dans une entreprise développant des logiciels pour robots, il faut souvent faire face à divers robots et algorithmes, ainsi qu'à trouver de nouvelles approches pour résoudre des problèmes complexes. J'ai remarqué récemment que l'intérêt pour les fonctions liées à la sécurité et la possibilité de fonctionnement autonome des mécanismes a augmenté, en particulier dans le voisinage immédiat des personnes.

La revue présentée contient une liste loin d'être exhaustive de tâches et d'algorithmes. À titre d'exemples, un algorithme est sélectionné par l'auteur. Notez également que toutes les tâches présentées peuvent être résolues de nombreuses autres manières et / ou en utilisant d'autres algorithmes. Si vous avez à portée de main d'autres exemples de tâches avec des algorithmes, laissez-les dans les commentaires.

PS: Pour le dessert - une belle vidéo de «sous le ciel» avec un robot à roues et un système de prise de décision à bord

Vidéo

Source: https://habr.com/ru/post/fr435968/


All Articles