La solution de SLAM vigirobotics

On vous l’avait déjà plus ou moins annoncé :

les robots de Vigirobotics sont désormais capables de faire du SLAM.

Voilà ce que ça donne :

Pour plus d’information concernant cette démo:
Le robot utilisé est un châssis de robot Robil équipé de  4 roues mecanum et d’un lidar 360° RPLIDAR A2 .
L’ensemble des calculs lié au SLAM ( Localisation et Cartographie Simultanée),  à l’évitement des obstacle, à la planification du trajet et au contrôle des moteurs est réalisé en temps réel sur un simple  microcontrôleur pic 32 bits  équivalent Arduino DUE.
Une Raspberry pi 3B+ gère l’interface de pilotage web, le retour vidéo et affiche le résultat des calculs du pic 32.

Autre nouveauté …

Les solutions de pilotage de machines et de robot Vigirobotics s’intègrent dans n’importe quel page internet !

Comme ici:

N’hésitez pas à tester en cliquant puis glissant  😉 (Non ci dessus ce n’est pas une simple image,  c’est réellement l’interface de pilotage du robot qui vous permet de contrôler en temps réel le robot de la vidéo. )

Retouvez aussi cet exemple  d’intégration sur www.robot-maker.com  où deux interfaces de commandes sont intégrées côte à côte !

Pour finir, nouvelle petite fonctionnalité :

Il existe aussi pour chaque robot un lien menant directement vers une interface minimale sur ce robot.

Quelques exemples :

Et vous alors ? Aimeriez-vous créer votre propre Vigibot ?

Quels sont les prochaines fonctionnalités que vous souhaiteriez voir ? N’hésitez pas à nous en parler en commentaire!

Sur ce, à bientôt !

 

www.vigibot.com est en ligne !

Bonjour à tous!

La grande nouvelle après l’implémentation de la cartographie en automatique, c’est que le site https://www.vigibot.com,  est en ligne!
C’est sur ce site que vous pourrez bientôt vous identifier et  prendre le contrôle des vigibots!  Un robot est déjà en ligne et il attend que vous le testiez alors foncez!

vigibot.com.JPG

Ce qu’il nous reste à faire : 

  • Mettre en place le système d’identification par mail pseudo et mot de passe et la base de donnée .
  • Mettre en place l’outil de communication convivial pour les différents utilisateurs de la plateforme.
  • Fabriquer plein de robots différents pour que vous puissiez les contrôler.
  • Faire un tutoriel vous expliquant comment faire votre robot et le connecter au serveur.

 

On se rapproche toujours plus de l’ouverture du service!

Pour l’instant  le site est donc fonctionnel, mais pas encore ouvert au grand publique. Il n’y a pour le moment qu’un serveur, pour du hobby, mais si vous avez des idées d’applications pro qui peuvent nécessité cette technologie de pilotage, n’hésitez pas à nous contacter! ( Page contact )

Comment ça se présente en pratique ?

Une fois inscrit sur le site vous pourrez contrôler le robot des autres à condition que les droits vous soit accordé et mettre vos robot en lignes en gérant les droits des personnes qui ont accès à votre robot.

Il y aura 3 niveaux d’authentifications disponible sur chaque robot :

  •  Admin  : Vous êtes le propriétaire du robot, ou bien le propriétaire vous a donné les accès en mode admin ( il peut y avoir plusieurs admin sur un robot)
  • Invité : l’admin du robot vous donne le droit d’utiliser le robot.
  • Inconnu : l’admin du robot vous a retiré le droit d’utiliser le robot.

En tant que créateur de robot vous pourrez paramétrer pour chaque action le niveau d’authentification requis pour l’effectuer.

Exemple :
=> Un inconnu peu éventuellement bouger la tête d’un robot mais pas le déplacer, ou vous pouvez aussi décider qu’il ne pourra strictement rien faire…
=> Un invité pourra déplacer le robot mais pas manipuler le laser qui serait monté sur le robot.
=> L’admin lui a tout les droits en plus de décider qui a le statut d’invité ou d’inconnu.

 

Les nouveautés de la rentrée de septembre 2018

Nous sommes un peu en retard par rapports à nos articles bimensuels habituels mais c’est par ce qu’on était en train de finaliser un beau pas en avant ! Et la nouvelle vaut l’attente !

Nous avons créé et implémenté un algorithme de SLAM temps réel, fiable et optimisé sur un microcontrôleur !

SLAM : Acronyme de Simultaneous Localisation And Mapping consiste à créer une carte et à se localiser dans un environnement inconnu.
Pour ceux qui nous suivent depuis un petit moment, vous pourrez éventuellement vous demander :
« En quoi est-ce une nouveauté ? Les vigibots équipés de Lidars sont déjà parfaitement localisés, et ils dessinent la carte de l’environnement où ils se trouvent… Ce n’était pas déjà fait ?  »
Au risque de vous décevoir, non on ne l’avait pas fait avant … En effet, avant nos résultats étaient déjà très bon, mais nous ne faisions que de la localisation dans un environnement connu. Cela nécessitait de donner des informations caractéristiques de la cartes pour que le robot puisse s’y localiser… Une fois localisé dans la carte, le robot pouvait compléter la carte avec les détails observés par le Lidar. Sans les informations minimales de cartes pré enregistré dans le robot, ce dernier n’était pas capable de se localiser !
L’algorithme utilisé est un algorithme inédit, entièrement rédigé en C, implémenté directement sur un simple microcontrôleur.
Vous pouvez tester les robots sur notre serveur de test .

7 robots sont actuellement pilotables par internet depuis le serveur de robots de développement.

A l’heure actuelle nous avons 3 robots équipés  de lidars ( Robil, Xubot et Radiobot)  une caméra pan tilt et zoom ( Zoombot) et 3 autres  » faux robots » permettant de tester différentes configurations : un robot équipé d’un Raspberry pi,  un robot avec Raspberry pi 0, un robot branché sur une connexion ADSL standard en campagne  (Raspibot, Zerobot et Placebot)
Maintenant la prochaine étape est de mettre le système d’identification avec login et mot de passe et nous pourrons ouvrir le serveur vigibot à tous sur www.vigibot.com  !
Une fois ce service ouvert on mettra en place des petits tutoriels pour facilement monter un robot et le connecter sur le serveur. On pourra alors commencer à prospecter pour trouver des clients professionnels qui auraient besoin de ce genre de service.

vigibotSlam.JPG

Plus de flux de données

Dernier ajout en date: le retour audio faible latence!
Vous pouvez désormais écouter ce qui se passe autour des robots, le tout avec une latence de maximum 0.5 secondes!
Le flux audio, s’ajoute au flux vidéo, et au flux bidirectionnel de contrôle et de télémétrie du robot.

Des flux de donnés séparés et un design bien pensé

Le flux de données audio et vidéo étant séparé du flux de contrôle du robot, il est possible de se connecter au flux audio/vidéo d’un robot, pendant qu’on contrôle un autre robot.
A cet effet, le design du serveur a un peu changé, désormais les logos du robot et des caméras changent pour indiquer leur état : En veille, actif ou déconnecté.
De plus la couleur verte du logo indique sur quel flux audio/vidéo vous êtes connecté et quel robot vous êtes en train de contrôler. 

Ci-dessus, on est connecté au flux audio/vidéo de « PTZ », pendant qu’on pilote le robot « Grobot » et les robots « Robil » et « Ptibot » eux sont en veille.

On notera que la qualité des trois flux, audio, vidéo et contrôle, est surveillée avec des informations qui sont données sur la droite entre les boutons et la carte. Le vert indiquant que tout est parfait et le rouge indiquant un problème, le gris indiquant une absence de connexion. (Car il n’y a pas de micro sur le robot « PTZ »)

N’hésitez pas à tester par vous-même dès maintenant sur le site de test.
Il vous faudra demander l’autorisation dans le chat présent sur le site.

 

Un pas de plus vers le « cloud robotics »

Nous travaillons activement à mettre en place un « cloud robotics », multi-robots et multi-utilisateurs et spectateurs. Une première version est actuellement en ligne et en cours de test. Les résultats sont très concluants et nous avons hâte de permettre à d’autres utilisateurs de tester notre plateforme.

Voici à quoi l’interface ressemble pour le moment :

Vous pouvez voir les petit logo au dessus de la vidéo qui permettent de savoir quels sont les robots connecté, de se connecter pour contrôler un robot ou juste voir ce que voit le robot, et de connaître les états de tous les robots connectés ( rouge si en veille,  et vert si le robot est actif ) .

Les objectifs directs du « cloud robotics » sont multiples :

  • Permettre de gérer au mieux la charge d’upload du flux vidéo, particulièrement utile dans le cadre  » d’un utilisateur et de nombreux spectateurs « .
  • Faciliter l’usage de nos solutions logicielles grâce à un code client simplifié fournis permettant à chacun de se connecter facilement et rapidement sur le « cloud robotics » et de piloter son robot par internet en suivant un tutoriel.
  • Faciliter la gestion de plusieurs robots par un seul ou plusieurs utilisateurs.
  • Garantir un système sécurisé pour tous (identifications des utilisateurs, gestions des droits sur les différents robots) vous permettant d’inviter des amis à piloter vos robots, et inversement en toute sérénité.

A plus long terme le but est de mettre en place une intelligence collective déportée, capable d’apprendre à piloter un robot au travers des expériences de pilotage des utilisateurs en étant simple spectateur, puis d’apprendre des expériences réalisées avec chacun des robots lors de leur pilotage.

Nous pensons préparer une petite campagne de financement participatif, type Kickstarter ou Indiegogo en 2019, afin de fournir une plateforme robotique en kit, simple à assembler et ludique, contenant entre-autre un Arduino et un Raspberry Pi, permettant à chacun d’avoir son petit robot compagnon facilement accessible sur internet, et pouvant être amélioré au fur et à mesure par son propriétaire…

Mais d’ici là on va peut-être commencer par fournir un premier kit en version Beta pour quelques utilisateurs triés sur le volet… Qui sait ?
Quelqu’un souhaite recevoir son starter kit version Beta pour Noël 2018 ? =)

Présentation du projet Vigibot

Voici une première vidéo de présentation qui montre la vidéo enregistrée par le robot lorsqu’il exécute une mission.

Ici nous démontrons simplement les fonctionnalités de suivi de cible et la précision du système de visé.

Bien que nos robots soient intelligents ils sont conçu pour travailler de paire avec l’humain, qui contrôle directement ou ne fait que superviser un ou plusieurs robots …

Prochaine étape déjà en cours de développement, gestion de plusieurs robots via un service cloud.

De nombreux domaines d’applications sont possible:

  • Robot de sécurité qui va faire une ronde automatiquement tout les quarts d’heures, avec prise en main possible par un opérateur si besoin de lever un doute.
  • Robot de vigilance anti-incendie avec  détection de départ de feu et action direct en conséquence.
  • Robot d’assistance pour personnes âgées, avec à la fois, la précision et la répétabilité d’une machine et le contact humain réel à travers la machine.
  • Robot de télé-présence pour visites d’appartements avant achat ou location, permettant de décharger les agents immobiliers.

et plus encore …

Nos solutions peuvent dors et déjà être portées sur différentes machines et nous cherchons des partenaires.

N’hésitez pas à nous contacter sur contact@vigirobotics.com

Où en est vigirobotics aujourd’hui ?

Qui sommes-nous ? 

Nous sommes deux développeurs, entrepreneurs, et passionnés de robotique, travaillant pour le moment essentiellement sur les fonctionnalités logicielles du système. Pour en savoir plus sur nous vous pouvez nous retrouver sur le web sous les pseudo Mike118 et Serveurperso.

Qu’est-ce que VIGIROBOTICS ? 

VIGIROBOTICS, est un projet de startup en cours de développement.  L’objectif est de proposer des solutions logicielles pour le contrôle à distance de robots ou de machines. Au-delà de la simple expérience de la télé-présence que nous pouvons fournir l’objectif de nos solutions est le contrôle avancé de la machine, afin de pouvoir réellement parler d’interventions à distance. L’entreprise n’est pas encore officiellement créée, mais cela ne nous empêche pas de commencer à communiquer sur le thème et de travailler sur le développement des solutions logicielles.

Quelles sont les fonctionnalités logicielles déjà en place ? 

  • Contrôle à distance d’un robot depuis un simple navigateur web avec feedback vidéo en faible latence.
  • Localisation automatique du robot dans un environnement connu une fois la position de départ connue.
  • Planification de trajectoire et déplacement autonome vers un point donné.
  • Evitement d’obstacles automatique et modification des trajectoires planifiée en cours de déplacement.
  • Retour automatique à la base de recharge et rechargement du robot.
  • Contrôle d’actionneurs de type pince, tourelle de caméra, traceur laser expérimental.
  • Planificateur de missions complexes gérant déplacement du robot dans la carte, gestion des actionneurs.  Exemple concret de mission : « Explore chacune des pièces du bâtiment, puis va attraper un objet qui se trouve à tel endroit, et dépose l’objet à tel autre endroit, puis retourne à ta base de recharge. »
  • Gestion de la criticité des actions dans une mission. Exemple : « Si une pièce du bâtiment n’est pas accessible, explore le reste des pièces », « Si tu n’as pas réussi à attraper un objet, ne cherche pas à le déposer … et passe à la suite des tâches où le ramassage de l’objet n’était pas nécessaire ».
  • Gestions de mouvements composés du type « viser la cordonnée indiquée avec la caméra, indépendamment de la position du robot  » dont la précision est démontrée notamment avec le tracé d’un dessin vectoriel sur un tableau avec un laser, pendant que le robot se déplace.
  • Gestion de plusieurs caméra, sélectionnable une par une.
  • Contrôle du robot par plusieurs utilisateurs simultanément avec comme seule limite la bande passante du serveur.
  • Expression vocale du robot : Le robot parle pour vous transmettre des informations. La personne contrôlant le robot à distance peut aussi taper un texte qui sera répété par le robot pour communiquer.
  • Mise en veille lorsque personne n’utilise le robot.

Pouvez vous expliquer un peu plus en détail l’interface utilisateur ?

L’interface utilisateur se résume en une simple page web que l’on peut ouvrir depuis n’importe quel navigateur sur n’importe quel type de plateforme desktop pc, smartphone, tablette numérique … 

On notera plus particulièrement :

  • Les informations systèmes critique, tout en haut sous forme de barre graphe, dont font partie le niveau de batterie, et la consommation du robot.
  • La partie retour vidéo, sur la gauche, qui affiche le retour vidéo de la caméra sélectionnée ainsi que diverses informations comme la direction vers laquelle on demande au robot d’aller (trait bleu), les obstacles proches du robot (points vert), la zone de sécurité du robot (carré rouge), les curseurs de contrôle (croix). Ces notifications peuvent être désactivée si elles gênent l’utilisateur, et on peut aussi garder uniquement ces notifications et supprimer le retour vidéo s’il n’est pas requis pour économiser les données envoyées.
    L’interface vidéo est aussi un panel d’entrée. En cliquant et bougeant sur cette zone vous pouvez contrôler le déplacement de la caméra ou des actionneurs en fonctions de l’outil sélectionné, cette zone sert aussi à réveiller le robot.  Des informations supplémentaires sont indiquées sous le flux vidéo indiquant entre autres, le nombre d’images par secondes et la quantité de données envoyées.
  •  Le panel de boutons de contrôle, en haut à droite. Les boutons servent à lancer des missions, modifier les paramètres d’affichages, sélectionner l’outil contrôlé et la caméra, contrôler manuellement le robot et plus encore… Ces boutons sont aussi accessibles par des raccourcis clavier.  Les couleurs des boutons changent en fonction de l’activité du robot et permettent ainsi sa supervision en direct.
    Des informations supplémentaire sont disponible sous les boutons.
  • La carte, en bas à droite, qui affiche où se trouve précisément le robot dans son environnement, où sont les obstacles, quelles sont les zones non explorées par le robot…  En un simple clic sur cette carte vous ordonnez ou robot d’aller à la coordonnée ciblée. Il est possible de combiner un clic sur un point de la carte avec une mission pour faire des missions de type  » dépose un objet à tel endroit  » …
  • Sous la carte, on peut voir des informations sur les personnes connectées sur le robot.Le plus simple est de voir par vous-même l’interface et de l’utiliser. Pour le moment deux machines sont déployées :
    Interface du robot 1.
    Interface du robot 2.

Quelle est la plateforme robotique utilisée aujourd’hui pour les tests ?

Pour le moment, l’ensemble du développement logiciel est réalisé sur une simple plateforme robotique fait maison, modulaire, simple et efficace, réalisée à partir d’un kit robot ROBIL 4WD Robot Maker. L’ensemble de l’électronique et du logiciel est conçu de manière modulaire afin de pouvoir facilement être porté sur un autre robot, qu’il soit fait maison, ou qu’il s’agisse d’une plateforme robotique standard disponible dans le commerce.

ROBIL : Robot Operating Base for Interactive Learning
Plateforme de test ROBIL  » Robot Operating Base for Interactive Learning » Disponible sur Robot Maker

Est-ce que le projet est Open Source ? 

Pour le moment, le projet n’est pas Open Source, mais nous sommes ouverts à un éventuel partage sous licences Open Source plus tard … Pour cela il nous faudra entre autre étudier les différentes licences existantes …
Nous partageons néanmoins quelques informations techniques au fur et à mesure sur la communauté de robotique francophone www.robot-maker.com avec qui nous avons un partenariat.

Quels sont les domaines d’applications de vos solutions ? 

Les domaines d’applications sont innombrables, autant qu’on peut en imaginer je suppose …  Que cela soit pour de la surveillance simple, pour les bâtiments en constructions par exemple où les vols sont nombreux, pour surveiller des serveurs informatique, avec la possibilité d’intervenir avec le robot pour appuyer sur des boutons ou relancer des systèmes …
On peut aussi très bien imaginer de la surveillance un peu plus complexe en zone industrielle, comme les bâtiments d’élevage, ou des usines de fabrications par exemple …
On pourrait très bien imaginer installer le robots dans un appartement qui serait à vendre ou à louer pour que les potentiels intéressés par le bien soient en mesure de visiter réellement l’appartement en toute liberté à distance …

Exemple de service déjà en place proposés par d’autres entreprises:

Et cela pourra sans doute s’appliquer à d’autre domaines d’applications qui n’existent pas encore!

Quelles sont les prochaines phases de développement ? 

  • Développement d’un outil permettant de facilement paramétrer de nouvelles cartes au robot. Le choix de paramétrer l’environnement facilement dans le robot permet une très grande robustesse et répétabilité.
  • Développement d’un outil permettant de facilement paramétrer de nouvelles actions ou missions, qui se déclenchent grâce au panel de bouton de commande.
  • Réduction de la latence du retour audio.
  • Amélioration de la modularité de l’ensemble. Développement de cartes électroniques.
  • Développement d’un cloud pour le contrôle des robots en multi-utilisateurs même si le site surveillé ne dispose que d’une connexion ADSL,  permettant ainsi de contourner le problème de limitation de bande passante du serveur.
  • Connectivité GSM, 3G, 4G, et GPS pour les activités en extérieur.
  • Système d’apprentissage fondé sur comment l’utilisateur contrôle le robot.
  • Amélioration continue des briques logiciels : Suivi de personne ou d’objets, traitement et analyse d’images, imagerie thermique …
  • Applications de la technologie aux drones volant.

Quelle est votre vision de la robotique ? 

Nous avons une vision pragmatique de la robotique. La robotique s’installe progressivement dans les foyers, robots aspirateurs, robots tondeurs, robot laveurs de carreaux, et robots nettoyeurs de piscines… Les objets connectés s’intègrent de plus en plus dans notre quotidien et tout cela est permis parce que les solutions proposées deviennent abordables au grand publique …
Pas besoin de chercher à avoir le système le plus intelligent ou le plus high tech, il faut proposer le produit minimaliste le plus efficace au juste prix. Définissez votre besoin et nous pourrons vous fournir une solution adaptée. Même si pour le moment nous pensons que les plus intéressés par nos solutions seront des industriels, sur le principe, nous souhaitons être abordable au grand publique.
Pas besoin d’un haut niveau de qualification pour utiliser notre système, c’est littéralement un jeu d’enfant ! Et quant au prix, tout dépend des modules optionnels demandés. C’est là qu’on retrouve la puissance de la conception modulaire.

Comment La robotique doit-elle s’insérer avec les travailleurs ? 

Souvent les gens disent :  » mais vous n’avez pas honte ?  Vous allez supprimer des emplois ! « , personnellement nous voyons les choses différemment pour deux raisons.
Premièrement, de la même façon qu’avec l’apparition des ordinateurs et de l’informatique tout le monde pensait que cela allait anéantir des milliers d’emplois, il est clair qu’aujourd’hui l’avènement de l’informatique et des ordinateurs a au contraire permis de créer des emplois ! Fabricants d’ordinateurs, informaticiens, programmeurs, développeurs, sans compter tous les métiers qui n’existeraient tout simplement pas sans ordinateurs … De plus, les ordinateurs, l’informatique et l’informatisation a permis à de nombreuses entreprises de se fiabiliser et d’augmenter leur productivité. Des améliorations sans lesquelles certaines entreprises n’auraient pas pu maintenir leur activité et fermer et par la même occasion supprimer les emplois qui dépendaient…
Deuxièmement, les robots doivent travailler de concert avec les humains, de la même façon que les usines ne peuvent être 100% automatisées … Ils sont là pour supprimer les tâches pénibles et répétitives, laissant ainsi à l’humain les tâches plus complexes de réflexion et d’analyse, du choix d’actions. Le but n’est pas de remplacer complètement l’humain qui reste derrière les commandes, mais qui en revanche a besoin de très peu d’attention pour gérer le système. Un humain peut ainsi facilement piloter plusieurs robots simultanément et exercer un simple contrôle de supervision voir reprendre le contrôle manuellement si nécessaire. Imaginez un ouvrier qui est d’astreinte le week end et doit surveiller en continue le bon fonctionnement d’un parc de machine… Plutôt que de devoir rester sur site, il peut toujours être d’astreinte mais auprès de sa famille, et contrôler à distance un robot pour faire des inspections, voir même des interventions …

Cherchez-vous des partenaires ? Des clients ?

Mis à part notre partenariat avec www.robot-maker.com nous n’avons pas encore d’autre partenariat officiel mais nous en cherchons activement. Donc si vous êtes fabriquant de robots mobiles ou de machines fixes et que vous souhaitez voir nos solutions logicielles de contrôle et de supervision portées sur vos systèmes, n’hésitez pas à nous contacter pour que nous puissions étudier votre dossier et vous faire des propositions!

 

Vous avez des questions? N’hésitez pas à les poser en commentaire !