LogbookManners

A desk companion: modes, a badge, a sleep mode, and antennas that ask for attention

Log
10 of 25
Date
Reading
2 min read

On 23 October the target changed. Not a gadget that reacts, but a real desk companion. Before adding anything, it needed a frame: what it is allowed to do, and how I know at a glance what it is doing.

Line drawing: the robot waves its antennas next to the slate, which shows two eyes.

Inside the machine: two axes

Modes, chosen by me. Bare: the maker’s software only, nothing of mine. Presence: it sees, hears and reacts discreetly. Assistant: later, connected to my working tools. Sleep: it sees nothing and hears nothing.

States, worked out by the robot. Who is there: me, someone unknown, nobody. Its regime: awake, drowsy, asleep. Later: whether I am busy.

Three rules sit on top:

  1. Initiative must be free, timely and useful. If it is not all three, it waits.
  2. In presence mode it follows the music of a conversation, never its meaning. It can notice that people are talking. It does not listen to what they say.
  3. What it does must always be visible.

The badge

The third rule needed a screen. Next to the robot stands a small Raspberry Pi with a display, which I call the slate. The robot now sends it a badge every 30 seconds and at every change: “presence · alone”, “sleep”, “bare”. If the robot’s program dies, the slate stops receiving badges and switches to “bare” by itself after 90 seconds of silence. Measured: 77 seconds after I killed the program on purpose.

Sleep

Sleep had to be real, not a pose. In sleep mode the program reads no image and no sound, the maker’s face tracking is cut, the antennas drop and the eyes close on the slate.

Measure Result
Time to fall asleep 4 s
Images read in 60 s of sleep 0
Time to wake up 3 s

The antennas that call me

Sometimes the robot has something to signal and nobody is looking. It should not speak for that. It waves its antennas, and repeats every 2 minutes until I look at it. Then it stops.

The first pattern, ±20 degrees every quarter second, reached ±23° and went completely unnoticed. I watched four variants on the robot and chose “medium, short, energetic”: ±30°, a period of 0.3 s, three back-and-forths. Measured: ±36° reached in 1.2 seconds. You see it from the corner of your eye, which is the whole point.

What it cost, and what broke

With me in view, the program used 0.76 core and the robot 46%, against 0.86 core before. The frame costs nothing.

Two flaws showed up on the robot itself. After a crash, the maker’s software kept my program in an “error” state and refused to start it again: my tools now stop it first. And a call for attention already answered was replayed after each restart if it was less than 30 minutes old: noted, not fixed yet.

Next

With a frame in place, I could teach it manners: greeting me once, and purring instead of talking.

Lire en français