🧠 Gotchino — Système robotique interactif à états dynamiques
Gotchino est un projet de robotique interactive conçu comme une expérimentation autour des systèmes autonomes, de la logique comportementale et de la communication entre plusieurs couches logicielles et matérielles.
Le projet combine un Arduino Uno, un Raspberry Pi 5 et une interface web temps réel développée en PHP, JavaScript et Python afin de créer un système capable d’interagir avec son environnement, d’évoluer en continu et de réagir dynamiquement aux actions de l’utilisateur.
Plus qu’un simple robot piloté à distance, Gotchino repose sur une architecture répartie mêlant électronique embarquée, supervision web, communication série et gestion d’états internes synchronisés en temps réel.
L’objectif du projet n’était pas de concevoir un robot industriel ou optimisé, mais plutôt un système évolutif capable de simuler un comportement autonome à travers différents états, règles d’interactions et mécanismes comportementaux.
⚙️ Architecture du système
Le projet repose sur une architecture répartie entre plusieurs couches spécialisées communiquant en temps réel.
L’Arduino gère directement la partie embarquée : moteurs, LEDs, capteurs, caméra orientable, affichage et logique bas niveau. Le Raspberry Pi agit quant à lui comme couche intermédiaire entre le robot et l’interface web, en supervisant les échanges de données et les différents processus du système.
L’ensemble repose sur des interactions entre Python, PHP et JavaScript afin de synchroniser les commandes utilisateur, les états internes du robot, les données des capteurs et les différents modes de fonctionnement.
Le projet utilise notamment des échanges JSON, des fichiers relais TXT et une communication série continue afin de maintenir une supervision temps réel du système.
Cette approche modulaire permet de faire évoluer indépendamment chaque partie du projet sans dépendre d’une architecture lourde, tout en conservant une communication cohérente entre les différentes couches logicielles et matérielles.
🧬 Système d’états dynamiques
Le cœur de Gotchino repose sur un système d’états internes évoluant continuellement dans le temps.
Le robot possède plusieurs variables comportementales comme l’énergie, la faim, la curiosité, l’ennui, la stimulation ou encore le niveau d’interaction utilisateur.
Ces états évoluent dynamiquement en fonction :
• du mode actif,
• des interactions utilisateur,
• des événements système,
• du temps écoulé,
• ainsi que des données provenant des capteurs.
Chaque valeur est limitée afin de conserver un comportement stable tout en laissant apparaître des variations progressives et naturelles.
L’objectif n’est pas de reproduire une intelligence artificielle classique, mais plutôt de créer un système comportemental capable de générer des réactions évolutives à partir de règles simples et d’interactions croisées entre les différents états internes.
🔁 Logique comportementale
Le comportement de Gotchino ne repose pas sur une suite d’actions figées mais sur une logique d’influences croisées entre les différents états du système.
Certaines variables modifient directement les autres :
• un manque d’interaction augmente progressivement l’ennui,
• une forte activité réduit l’énergie disponible,
• certains modes influencent la récupération, la curiosité ou la stimulation.
Des seuils comportementaux déclenchent également des réactions automatiques. Lorsque l’énergie devient trop faible, le robot peut passer seul en mode repos. À l’inverse, un niveau élevé d’ennui ou un manque d’interaction prolongé peuvent déclencher différents comportements autonomes.
L’ensemble produit des réactions parfois difficiles à anticiper, donnant l’impression d’un système évolutif plutôt qu’un simple enchaînement de scripts prédéfinis.
Cette approche permet de créer un comportement émergent sans utiliser de modèle d’intelligence artificielle complexe.
🔄 Modes de fonctionnement
Le système possède plusieurs modes de fonctionnement influençant directement le comportement du robot, son activité et la manière dont il interagit avec son environnement.
Le mode repos réduit fortement l’activité du robot afin de favoriser la récupération. En mode autonome, le robot se déplace seul tout en évitant les obstacles détectés par les capteurs.
Le mode télécommandé permet un contrôle manuel via clavier et interface web en temps réel, tandis que le mode surveillance déclenche certaines réactions selon les événements détectés dans l’environnement.
Le projet intègre également un mini-jeu de type Simon basé sur des séquences lumineuses et des interactions utilisateur.
🌍 Capteurs et électronique
Le robot interagit avec son environnement grâce à plusieurs composants électroniques :
• capteur de distance HC-SR04,
• capteur DHT11 (température et humidité),
• capteur de luminosité,
• écran d’affichage intégré,
• caméra orientable pilotée par moteur pas à pas via ULN2003,
• LEDs contrôlées via SN74HC595,
• moteurs pilotés par L293D.
Les données récupérées influencent directement certains comportements et états internes du robot, permettant au système de réagir dynamiquement à son environnement.
La caméra orientable permet notamment d’ajouter une dimension d’observation et de surveillance au système, tandis que l’écran offre un retour visuel supplémentaire sur l’état et les interactions du robot.
avec une interface web temps réel et un système comportemental beaucoup plus évolué
🌐 Interface web temps réel
Une interface web complète a été développée afin de contrôler et surveiller Gotchino à distance.
Elle permet :
• de changer les modes du robot,
• d’observer les états internes en temps réel,
• d’accéder aux logs système,
• d’interagir avec certaines fonctionnalités du robot.
Les données sont mises à jour dynamiquement grâce à des requêtes AJAX et à des échanges JSON entre les différentes couches du projet.
🔁 Persistance et évolution continue
Même sans interaction utilisateur, les états de Gotchino continuent d’évoluer dans le temps. Le système conserve également un historique des changements de modes et différentes informations liées au comportement du robot.
Cette logique de persistance permet de renforcer l’impression d’un système autonome possédant une évolution continue plutôt qu’un fonctionnement limité à une simple session utilisateur.
Ces variables influencent directement le comportement de Gotchino
🧠 Comportement émergent
Gotchino ne repose pas sur de l’intelligence artificielle au sens classique du terme. Le projet utilise principalement un ensemble de règles simples, de seuils et d’interactions entre états.
Cependant, la combinaison de ces mécanismes produit des comportements parfois difficiles à anticiper, créant l’impression d’un comportement dynamique et évolutif.
Le temps passé dans chaque mode influence directement son comportement
💡 Objectif du projet
Ce projet m’a permis de concevoir et d’expérimenter :
• la communication entre systèmes embarqués et applications web,
• le traitement temps réel,
• la synchronisation entre plusieurs technologies,
• la gestion d’états dynamiques,
• ainsi que la conception d’un système mêlant électronique, backend et interface utilisateur.
Gotchino représente avant tout une expérimentation autour des systèmes interactifs autonomes et des comportements émergents appliqués à la robotique.