Arrêter et relancer le robot

S’applique à : Robot réel

En simulation, seul l’arrêt de flotte — le bouton PS de la manette — s’applique : le bouton d’arrêt et l’arrêt automatique sont propres au robot réel.

Le RatBot peut être arrêté de trois façons, et elles ne se ressemblent pas :

  • l’arrêt d’urgence du robot : un bouton, sur le robot ;

  • l’arrêt à distance : un bouton de la manette ;

  • l’arrêt automatique : le robot se coupe tout seul s’il est renversé, si une roue est bloquée, si ses roues patinent, ou s’il subit un choc.

Cette page dit ce que fait chacun, sur quoi il repose, et comment relancer le robot après.

En résumé

arrêt d’urgence du robot

arrêt à distance de la manette

arrêt automatique

il se déclenche par

le bouton d’arrêt sur le robot

le bouton PS de la manette

tout seul : robot renversé, roue bloquée, roues qui patinent, choc

il arrête

ce robot-là

tout le parc, tous les robots d’un coup

ce robot-là

il fonctionne sans le Raspberry Pi, sans Wi-Fi, sans ordinateur

oui

non

oui

le robot le signale

voyant rouge clignotant et alarme

voyant rouge clignotant, sans alarme

voyant orange clignotant et un code en bips

on le désactive par

5 appuis sur SW1, sur le robot

ROND tenu + SHARE tapé 5 fois, sur la manette

5 appuis sur SW1, sur le robot

la manette peut-elle le désactiver ?

jamais

oui

jamais

L’arrêt d’urgence du robot

C’est le vrai arrêt d’urgence. Le bouton est lu directement par la carte électronique du robot, qui coupe les roues et fait sonner l’alarme toute seule. Rien d’autre n’intervient : il marche Raspberry Pi éteint, Wi-Fi coupé, programmes arrêtés sur une erreur.

Quand on l’enfonce :

  • les roues s’arrêtent tout de suite ;

  • le voyant clignote en rouge, vite ;

  • l”alarme sonne — un bip insistant, 200 ms chaque seconde. Elle ne peut pas être coupée à distance : c’est voulu.

Il reste verrouillé. Relâcher le bouton ne relance rien : le robot reste à l’arrêt, et l’alarme continue, jusqu’à ce qu’on le réarme exprès.

Le désactiver

Devant le robot, sans ordinateur — la façon normale :

  1. relâcher le bouton d’arrêt : le tourner, il remonte ;

  2. appuyer 5 fois sur SW1, un des quatre boutons de la carte du robot, en moins de 4 secondes.

ce que vous entendez

signification

un petit bip à chaque appui

l’appui est compté

une mélodie montante, puis l’alarme s’arrête

réarmé : le robot accepte de nouveau les commandes

deux notes descendantes, l’alarme continue

refusé : le bouton d’arrêt est encore enfoncé. Tournez-le pour le relâcher, et recommencez

Depuis un ordinateur, la même chose :

ros2 service call /ratbot_1/rearm std_srvs/srv/Trigger

La réponse success=True confirme. Là aussi, c’est refusé tant que le bouton d’arrêt est enfoncé.

Note

Pourquoi SW1, et pas le bouton d’arrêt lui-même ? Dans une vraie urgence, on tape le bouton d’arrêt plusieurs fois, en panique. Si ces appuis réarmaient le robot, le geste de panique le relancerait.

Pourquoi la manette ne peut pas le désactiver ? Parce qu’on ne relance pas un robot depuis l’autre bout de la salle, peut-être pendant que quelqu’un a les mains dessus. On le relance devant lui.

L’arrêt à distance de la manette

C’est une commodité, pas un arrêt d’urgence. Il passe par le Wi-Fi, par l’ordinateur où la manette est branchée, et par les programmes de chaque robot : si l’un de ces maillons manque, il ne fait rien, et on croirait avoir arrêté.

Quand on appuie sur PS :

  • tous les robots du parc s’arrêtent, et refusent les commandes ;

  • y compris ceux qui démarreront après — tant que le programme de la manette reste lancé sur l’ordinateur ;

  • leur voyant clignote en rouge, mais aucune alarme ne sonne.

Ce rouge est envoyé par le Raspberry Pi de chaque robot, pas décidé par la carte : si le Raspberry Pi est éteint ou défaillant, le voyant ne change pas — et l’arrêt de la manette ne fonctionne de toute façon plus, puisqu’il passe par lui.

Le désactiver

Sur la manette : tenir ROND, et taper 5 fois SHARE pendant qu’on le tient. Tous les robots acceptent de nouveau les commandes.

Le geste est volontairement difficile à faire par accident : on ne peut pas le déclencher en saisissant, en posant ou en faisant tomber la manette.

Avertissement

La manette doit être en mode PlayStation : sa LED est bleue. En mode Xbox, LED verte, les boutons ne sont plus à leur place — PS n’arrête plus rien. Le logiciel s’en aperçoit et bloque tous les robots tant que la manette n’est pas revenue en mode PlayStation. Voir Piloter le robot.

L’arrêt automatique

Le robot surveille tout seul quatre situations dangereuses, pour lui ou pour ce qui l’entoure. Comme l’arrêt d’urgence, cette surveillance est faite par la carte du robot : elle marche Raspberry Pi éteint, Wi-Fi coupé.

situation

quand le robot la reconnaît

code en bips

renversé

penché de plus de 60° pendant une demi-seconde : sur le flanc, à l’envers. Une pente ou une bordure ne le déclenchent pas.

6 longs, 1 court

roue bloquée

une roue force sans tourner pendant une seconde : une main, un câble, un objet coincé dans la roue. En pratique, il se coupe environ 2 secondes après le blocage.

6 longs, 2 courts

roues qui patinent

les roues disent « je tourne », mais le gyroscope voit que le robot ne tourne pas, pendant une seconde : le robot est coincé, par exemple de biais contre un mur, et ses roues patinent. Tourner le robot à la main pour le replacer ne le déclenche pas.

6 longs, 3 courts

choc

une accélération ou une décélération brutale pendant qu’il roule, vue par l’accéléromètre : le robot a heurté quelque chose, ou on l’a heurté. Il se coupe tout de suite. Ses propres départs et freinages, même les plus vifs, restent très en dessous du seuil. À l’arrêt, un choc ne compte pas : poser, soulever ou déplacer le robot ne le coupe plus.

6 longs, 4 courts

Avertissement

Un robot qui pousse bien droit contre un mur n’est pas détecté. Ses roues patinent à la même vitesse et avec le même effort qu’en roulant librement, et il ne tourne pas : rien, sur le robot, ne permet aujourd’hui de le distinguer d’un robot qui avance. Le patinage n’est vu que s’il fait tourner les roues différemment. Aucun pare-chocs n’est prévu : ce cas reste une limite connue, à surveiller de l’œil.

Quand il se déclenche :

  • les roues s’arrêtent, et le robot refuse les commandes ;

  • le voyant clignote en orange, lentement ;

  • le robot joue le code en bips du tableau, une fois ;

  • pas d’alarme et pas de rouge : ce n’est pas un danger pour les personnes, c’est « le robot est coincé ».

Il reste verrouillé, comme l’arrêt d’urgence : remettre le robot d’aplomb ou dégager la roue ne suffit pas à le relancer.

Le désactiver

  1. remettre le robot à plat, ou dégager ce qui bloquait la roue ;

  2. appuyer 5 fois sur SW1, comme pour l’arrêt d’urgence.

La commande ros2 service call /ratbot_1/rearm std_srvs/srv/Trigger fonctionne aussi. Un seul réarmement lève à la fois l’arrêt automatique et l’arrêt d’urgence du robot.

Avertissement

Remettez-le à plat AVANT de le réarmer. Réarmé alors qu’il est encore sur le flanc, il se recoupe une demi-seconde plus tard.

Le mode banc

Pour les essais — robot tenu à la main, penché, roues freinées exprès — le mode banc met l’arrêt automatique en pause. Deux façons de l’activer :

  • sur le robot : tenir SW2 pendant 3 secondes ;

  • depuis le Raspberry Pi du robot :

    ./scripts/ratbot bench on       # activer
    ./scripts/ratbot bench off      # désactiver
    
  • depuis le PC, en donnant le numéro du robot : ./scripts/ratbot bench 1 on, ./scripts/ratbot bench 1 off.

Refaire le même geste le désactive.

vous voyez / entendez

signification

deux notes égales, suspendues

le mode banc s’active

la même note, puis une plus haute

le mode banc s’arrête : la surveillance reprend

un éclair blanc toutes les 2 secondes sur le voyant

le mode banc est actif. Il le reste tant que l’éclair est là.

Important

  • Le mode banc ne survit pas à un redémarrage. Éteint puis rallumé, le robot est de nouveau protégé : on ne peut pas l’oublier activé.

  • Il ne met en pause que l’arrêt automatique. L’arrêt d’urgence du robot, l’arrêt de la manette et la protection de la batterie restent actifs.

Astuce

Robot posé sur une boîte, roues dans le vide :

  • tout droit, pas besoin du mode banc : les roues tournent librement, et le robot ne se croit ni bloqué, ni en train de patiner ;

  • pour tourner, il faut le mode banc. Sur la boîte, les roues tournent mais le robot ne tourne pas : c’est exactement ce que voit un robot qui patine, et il se coupe (6 longs, 3 courts).

Le mode banc sert aussi quand on freine une roue exprès, ou qu’on penche le robot à la main.

Et si plusieurs sont actifs ?

Ils sont indépendants : chacun se désactive par son propre geste, et le robot ne repart que lorsque tous sont levés.

Exemple : on a appuyé sur PS, puis enfoncé le bouton d’arrêt d’un robot. Pour le relancer, il faut à la fois :

  • le geste de la manette (ROND + 5 × SHARE), qui lève l’arrêt du parc ;

  • et, devant ce robot, relâcher son bouton puis 5 × SW1.

Le bouton d’arrêt

Chaque robot porte un champignon d’arrêt d’urgence normalement fermé, à accrochage : enfoncé, il reste enfoncé jusqu’à ce qu’on le tourne pour le relâcher.

« Normalement fermé » veut dire que c’est l”ouverture du circuit qui déclenche l’arrêt. Un fil coupé ou un connecteur débranché arrête donc le robot, comme un appui : une panne du câblage le met en sécurité au lieu de le laisser filer. C’est la sécurité positive. Pour le vérifier :

ros2 topic echo --once /diagnostics | grep -A12 "emergency stop"

Le bloc indique failsafe: 1.

Note

Un robot sans bouton d’arrêt sur le connecteur J8 ne démarre pas : il reste à l’arrêt, ce qui est voulu. Placer un cavalier sur J8 en attendant le bouton.

Pour en monter un : un arrêt d’urgence à accrochage, 1NC, du type « coup de poing à verrouillage, tourner pour déverrouiller, 22 mm », câblé sur son contact NC. Un bouton momentané, même avec une tête en champignon, n’en est pas un.