Skip to content

robotd: idle look-around moves during a look, leans the neck, opens the beak, yawns - #408

Merged
pierre-rouanet merged 7 commits into
mainfrom
idle-tuning
Oct 14, 2026
Merged

pierre-rouanet merged 7 commits into
mainfrom
idle-tuning

Conversation

@pierre-rouanet

@pierre-rouanet pierre-rouanet commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

A held look read as frozen — the only motion during it was a ~2° drift at under 0.1 Hz — and the head was the only thing that moved.

  • Moves during a look: the gaze shifts up to ~4.5° yaw / ~3° pitch around the look every 0.4–1.2 s (scaled down as it dozes).
  • More often: looks last 1–3 s (was 1.5–4.5), moves are a little quicker, the drift is faster (0.15 Hz), the tilt slightly more frequent, and dozing bottoms out at 0.5 rather than 0.35.
  • A new look goes somewhere: at least glance_min (0.2 rad) from the last one, so it never lands where the head already is.
  • Neck and beak: each new look leans the neck up to glance_neck (0.15 rad) forward or back, and opens the beak to between half and all of glance_mouth (0.4 — about +2° to +9°; the mouth's 0..1 starts at −5°, held past shut, so much less does not show). The idle beak takes the wider of itself and what a client asked.
  • Yawns: after yawn_after_s (45 s) idle, about every yawn_every_s (90 s), for yawn_s (3 s): the beak opens by yawn_open (0.6) on top of the look's, and the head tips by yawn_pitch (−0.15 rad). Silent; glances hold while it yawns.
  • Visible in the journal: idle look-around started when a spell starts, idle look-around stopped spell_s=… once it has faded out.
  • Tunable: every number is [idle] in robotd.toml — in robotctl configure, with idle.enabled on the front page. Read once at startup, so a change asks to restart robotd. Divisors at zero, probabilities and openings over 1, and backwards ranges are refused by key name.

Tested with cargo test -p robotd -p robotd-params -p robotctl on macOS. On olducky, 97a3b9b runs and the journal shows spells starting; the beak opening as it now stands (3a293d4) is not yet seen on a board.

🤖 Generated with Claude Code

A held look read as frozen: the only motion was a ~2° drift at under
0.1 Hz. The gaze now shifts a few degrees around the look every
0.4–1.2 s, the way eyes re-fixate, and looks are shorter (1–3 s rather
than 1.5–4.5 s), moves a little quicker, the drift faster and dozing
shallower — so it moves more often.

Every number is now `[idle]` in robotd.toml, editable from
`robotctl configure`, with an `enabled` switch. Read once at startup;
values it would divide by or ranges put backwards are refused by name.

Assisted-by: Claude:claude-opus-5-5
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Coverage

73.77% lines on this branch, against a floor of 70%.

Per-file
Filename                              Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
btd/src/bluez.rs                          533               533     0.00%          35                35     0.00%         346               346     0.00%           0                 0         -
btd/src/chorale.rs                        346               246    28.90%          23                13    43.48%         231               172    25.54%           0                 0         -
btd/src/link.rs                            24                 0   100.00%           3                 0   100.00%          26                 0   100.00%           0                 0         -
btd/src/main.rs                            77                77     0.00%          11                11     0.00%          77                77     0.00%           0                 0         -
btd/src/pairing.rs                        149                 2    98.66%          12                 1    91.67%          81                 1    98.77%           0                 0         -
btd/src/route.rs                          389                37    90.49%          30                 0   100.00%         381                13    96.59%           0                 0         -
btd/src/session.rs                       1218                73    94.01%          71                 5    92.96%         706                41    94.19%           0                 0         -
btd/src/upstream.rs                       397                35    91.18%          34                 8    76.47%         242                19    92.15%           0                 0         -
configd/src/bluez.rs                      586               498    15.02%          85                79     7.06%         375               326    13.07%           0                 0         -
configd/src/identity.rs                   111                 5    95.50%          12                 1    91.67%          52                 3    94.23%           0                 0         -
configd/src/indicator.rs                  105                49    53.33%           8                 4    50.00%          72                27    62.50%           0                 0         -
configd/src/logs.rs                       314                33    89.49%          31                 3    90.32%         219                36    83.56%           0                 0         -
configd/src/main.rs                       525               525     0.00%          38                38     0.00%         349               349     0.00%           0                 0         -
configd/src/net.rs                        246                12    95.12%          38                 2    94.74%         181                 4    97.79%           0                 0         -
configd/src/nm.rs                         271               213    21.40%          43                39     9.30%         171               120    29.82%           0                 0         -
configd/src/pad.rs                        379                13    96.57%          38                 2    94.74%         222                 8    96.40%           0                 0         -
configd/src/power.rs                       30                30     0.00%           6                 6     0.00%          28                28     0.00%           0                 0         -
configd/src/store.rs                      350                25    92.86%          28                 2    92.86%         173                 9    94.80%           0                 0         -
configd/src/units.rs                      183               116    36.61%          24                18    25.00%         116                79    31.90%           0                 0         -
duck-ble/src/adv.rs                       138                 0   100.00%          13                 0   100.00%          65                 0   100.00%           0                 0         -
duck-ble/src/framing.rs                   281                 9    96.80%          25                 1    96.00%         140                 5    96.43%           0                 0         -
duck-ble/src/gatt.rs                        3                 0   100.00%           1                 0   100.00%           3                 0   100.00%           0                 0         -
duck-control/src/bus.rs                   683               547    19.91%          61                46    24.59%         469               382    18.55%           0                 0         -
duck-control/src/fall.rs                  173                 0   100.00%          15                 0   100.00%         108                 0   100.00%           0                 0         -
duck-control/src/imu.rs                   370                 8    97.84%          20                 0   100.00%         195                 5    97.44%           0                 0         -
duck-control/src/io.rs                    160                17    89.38%          29                 5    82.76%         148                17    88.51%           0                 0         -
duck-control/src/model.rs                 156                 2    98.72%          19                 0   100.00%          95                 0   100.00%           0                 0         -
duck-control/src/obs.rs                   283                 6    97.88%          28                 2    92.86%         188                 8    95.74%           0                 0         -
duck-control/src/pickup.rs                400               144    64.00%          35                15    57.14%         265               100    62.26%           0                 0         -
duck-control/src/policy.rs                701               560    20.11%          67                47    29.85%         457               350    23.41%           0                 0         -
duck-control/src/safety.rs                694                15    97.84%          49                 1    97.96%         424                 7    98.35%           0                 0         -
duck-control/src/sim.rs                   464                62    86.64%          34                10    70.59%         249                39    84.34%           0                 0         -
duck-detect/src/bin/duck-bench.rs         306               306     0.00%          16                16     0.00%         170               170     0.00%           0                 0         -
duck-detect/src/lib.rs                    258                 1    99.61%          14                 0   100.00%         149                 0   100.00%           0                 0         -
duck-detect/src/onnx.rs                    96                96     0.00%           5                 5     0.00%          52                52     0.00%           0                 0         -
duck-detect/src/rknn.rs                   267               237    11.24%          15                11    26.67%         216               195     9.72%           0                 0         -
duck-ether/src/main.rs                    504               404    19.84%          27                16    40.74%         270               217    19.63%           0                 0         -
duck-ipc-proto/src/led.rs                 188                 0   100.00%          12                 0   100.00%          74                 0   100.00%           0                 0         -
duck-ipc-proto/src/lib.rs                2328               184    92.10%         156                16    89.74%        1681                97    94.23%           0                 0         -
duck-ipc-proto/src/vetbook.rs             226                 1    99.56%          17                 0   100.00%         147                 0   100.00%           0                 0         -
duckctl/src/main.rs                      2917              1173    59.79%         175                53    69.71%        1805               745    58.73%           0                 0         -
duckctl/src/udp_pad.rs                    792               360    54.55%          55                20    63.64%         427               199    53.40%           0                 0         -
duckctl/src/udp_pad/link.rs               332                15    95.48%          25                 2    92.00%         182                 7    96.15%           0                 0         -
duckctl/src/udp_pad/panel.rs             1266               326    74.25%          59                15    74.58%         704               164    76.70%           0                 0         -
kinematics/src/hand.rs                    394                 2    99.49%          22                 2    90.91%         181                 2    98.90%           0                 0         -
kinematics/src/head.rs                    405                 9    97.78%          22                 0   100.00%         196                 4    97.96%           0                 0         -
kinematics/src/lib.rs                     348                10    97.13%          23                 1    95.65%         174                 7    95.98%           0                 0         -
kinematics/src/math.rs                    194                 0   100.00%          16                 0   100.00%          82                 0   100.00%           0                 0         -
kinematics/src/mjcf.rs                    237                32    86.50%          17                 1    94.12%         134                15    88.81%           0                 0         -
kinematics/src/tof.rs                     365                17    95.34%          14                 0   100.00%         190                10    94.74%           0                 0         -
mediad/src/camera.rs                      321                 5    98.44%          23                 0   100.00%         208                 5    97.60%           0                 0         -
mediad/src/config.rs                       87                 5    94.25%           7                 1    85.71%          46                 4    91.30%           0                 0         -
mediad/src/detect.rs                      293               222    24.23%          13                 9    30.77%         200               145    27.50%           0                 0         -
mediad/src/exposure.rs                    564               172    69.50%          37                 8    78.38%         374               122    67.38%           0                 0         -
mediad/src/frame.rs                       683                54    92.09%          35                 1    97.14%         392                18    95.41%           0                 0         -
mediad/src/indicator.rs                    37                25    32.43%           4                 2    50.00%          24                16    33.33%           0                 0         -
mediad/src/main.rs                        443               443     0.00%          14                14     0.00%         292               292     0.00%           0                 0         -
mediad/src/pipeline.rs                   2039              1765    13.44%         135               108    20.00%        1316              1123    14.67%           0                 0         -
mediad/src/producer.rs                    183                34    81.42%          22                 5    77.27%         137                21    84.67%           0                 0         -
mediad/src/relay.rs                      2391               244    89.80%         189                28    85.19%        1623               176    89.16%           0                 0         -
mediad/src/route.rs                       184                19    89.67%          12                 0   100.00%         159                 8    94.97%           0                 0         -
mediad/src/sensor.rs                      288                15    94.79%          24                 2    91.67%         166                 9    94.58%           0                 0         -
mediad/src/session.rs                     671                21    96.87%          37                 0   100.00%         424                18    95.75%           0                 0         -
mediad/src/snapshot.rs                    174                15    91.38%          10                 0   100.00%         108                 2    98.15%           0                 0         -
mediad/src/stream.rs                      836               136    83.73%          54                10    81.48%         529                91    82.80%           0                 0         -
mediad/src/turn.rs                        487                32    93.43%          44                 3    93.18%         299                17    94.31%           0                 0         -
mediad/src/upstream.rs                    263                16    93.92%          17                 1    94.12%         160                12    92.50%           0                 0         -
mediad/src/web.rs                         339                30    91.15%          28                 4    85.71%         216                19    91.20%           0                 0         -
netpadd/src/health.rs                     209                58    72.25%          16                 2    87.50%         105                31    70.48%           0                 0         -
netpadd/src/main.rs                      1159               140    87.92%          64                 7    89.06%         633                89    85.94%           0                 0         -
netpadd/src/receiver.rs                  1136                 6    99.47%          40                 0   100.00%         432                 4    99.07%           0                 0         -
netpadd/src/robotd.rs                      91                22    75.82%          15                 3    80.00%          61                11    81.97%           0                 0         -
nfc/src/clrc663.rs                        217               217     0.00%          15                15     0.00%         147               147     0.00%           0                 0         -
nfc/src/lib.rs                             27                27     0.00%           3                 3     0.00%          16                16     0.00%           0                 0         -
nfc/src/main.rs                           337               337     0.00%          23                23     0.00%         186               186     0.00%           0                 0         -
nfc/src/ndef.rs                           326                49    84.97%          25                 5    80.00%         168                24    85.71%           0                 0         -
nfc/src/pairing.rs                        172                 8    95.35%          12                 0   100.00%         109                 4    96.33%           0                 0         -
nfc/src/reader.rs                          12                 0   100.00%           3                 0   100.00%          19                 0   100.00%           0                 0         -
nfc/src/serial.rs                         125               125     0.00%           6                 6     0.00%          81                81     0.00%           0                 0         -
nfc/src/spi.rs                             78                78     0.00%           4                 4     0.00%          46                46     0.00%           0                 0         -
nfc/src/st25r100.rs                       516               134    74.03%          30                 7    76.67%         254                66    74.02%           0                 0         -
nfc/src/tag.rs                            134               134     0.00%           4                 4     0.00%          80                80     0.00%           0                 0         -
nfc/src/transport.rs                      182                29    84.07%          16                 4    75.00%          96                12    87.50%           0                 0         -
odometry/src/anchors.rs                     5                 0   100.00%           1                 0   100.00%           3                 0   100.00%           0                 0         -
odometry/src/lib.rs                       445                80    82.02%          28                 5    82.14%         254                50    80.31%           0                 0         -
pad-imu/src/lib.rs                        608                 7    98.85%          39                 0   100.00%         372                 5    98.66%           0                 0         -
pad-map/src/bindings.rs                   127                 9    92.91%           6                 0   100.00%          80                 5    93.75%           0                 0         -
pad-map/src/buttons.rs                     29                 0   100.00%           5                 0   100.00%          20                 0   100.00%           0                 0         -
pad-map/src/continuous.rs                 207                 0   100.00%          17                 0   100.00%         114                 0   100.00%           0                 0         -
pad-map/src/hold.rs                       253                 1    99.60%          11                 0   100.00%         123                 1    99.19%           0                 0         -
pad-map/src/lib.rs                         35                 0   100.00%           2                 0   100.00%          19                 0   100.00%           0                 0         -
pad-map/src/loss.rs                       214                 4    98.13%          18                 0   100.00%         129                 2    98.45%           0                 0         -
pad-map/src/mapper.rs                     879                90    89.76%          40                 3    92.50%         608                82    86.51%           0                 0         -
pad-map/src/wire.rs                       382                30    92.15%          30                 2    93.33%         290                17    94.14%           0                 0         -
padd/src/main.rs                          445               420     5.62%          21                20     4.76%         242               232     4.13%           0                 0         -
padd/src/tap.rs                          1311               681    48.05%          74                36    51.35%         790               407    48.48%           0                 0         -
pet-detect/src/bin/detect.rs               61                61     0.00%           1                 1     0.00%          38                38     0.00%           0                 0         -
pet-detect/src/bin/features.rs             46                46     0.00%           2                 2     0.00%          20                20     0.00%           0                 0         -
pet-detect/src/lib.rs                     362               184    49.17%          27                13    51.85%         224               122    45.54%           0                 0         -
pet-detect/src/worker.rs                  381               230    39.63%          24                14    41.67%         276               160    42.03%           0                 0         -
robotctl/src/camera.rs                    350                 9    97.43%          20                 0   100.00%         163                 3    98.16%           0                 0         -
robotctl/src/cells.rs                      43                 1    97.67%           2                 0   100.00%          22                 1    95.45%           0                 0         -
robotctl/src/configure.rs                1637               480    70.68%          62                12    80.65%         849               324    61.84%           0                 0         -
robotctl/src/duck.rs                     1172               143    87.80%          63                 1    98.41%         586                46    92.15%           0                 0         -
robotctl/src/frame.rs                     231                13    94.37%           9                 0   100.00%         129                 1    99.22%           0                 0         -
robotctl/src/imu_view.rs                  266                25    90.60%          19                 2    89.47%         173                19    89.02%           0                 0         -
robotctl/src/led.rs                       339                61    82.01%          23                 3    86.96%         163                23    85.89%           0                 0         -
robotctl/src/main.rs                     6473              3059    52.74%         372               147    60.48%        4434              2065    53.43%           0                 0         -
robotctl/src/monitor.rs                  4736               806    82.98%         238                38    84.03%        2994               520    82.63%           0                 0         -
robotctl/src/path_map.rs                  425                59    86.12%          24                 2    91.67%         223                36    83.86%           0                 0         -
robotctl/src/show.rs                      714                46    93.56%          31                 1    96.77%         509                25    95.09%           0                 0         -
robotctl/src/vetbook.rs                  2400               476    80.17%          99                19    80.81%        1302               289    77.80%           0                 0         -
robotd-params/src/board.rs                255                26    89.80%          29                 3    89.66%         167                13    92.22%           0                 0         -
robotd-params/src/edit.rs                2069               121    94.15%         119                14    88.24%        1016                52    94.88%           0                 0         -
robotd-params/src/lib.rs                 2739               107    96.09%         225                 9    96.00%        1963                65    96.69%           0                 0         -
robotd-params/src/pad_axes.rs             158                 0   100.00%          16                 0   100.00%         131                 0   100.00%           0                 0         -
robotd-params/src/registry.rs             214                11    94.86%          17                 2    88.24%         161                19    88.20%           0                 0         -
robotd/src/chorale.rs                    1366                30    97.80%          71                 4    94.37%         826                20    97.58%           0                 0         -
robotd/src/control.rs                     734               695     5.31%          47                42    10.64%         533               485     9.01%           0                 0         -
robotd/src/head_imu.rs                    655               289    55.88%          42                12    71.43%         351               161    54.13%           0                 0         -
robotd/src/idle_head.rs                   658                 5    99.24%          45                 0   100.00%         369                 1    99.73%           0                 0         -
robotd/src/intents.rs                     434                74    82.95%          50                 9    82.00%         316                49    84.49%           0                 0         -
robotd/src/leds.rs                        301                96    68.11%          25                 3    88.00%         182                41    77.47%           0                 0         -
robotd/src/main.rs                       9162              1810    80.24%         455                68    85.05%        5832              1174    79.87%           0                 0         -
robotd/src/pickup.rs                      298                22    92.62%          23                 4    82.61%         205                23    88.78%           0                 0         -
robotd/src/posture.rs                     133                 1    99.25%          11                 0   100.00%          77                 1    98.70%           0                 0         -
robotd/src/soc.rs                         413                47    88.62%          22                 2    90.91%         182                29    84.07%           0                 0         -
robotd/src/sound.rs                       968               692    28.51%          50                34    32.00%         565               420    25.66%           0                 0         -
robotd/src/theremin.rs                    472               112    76.27%          32                12    62.50%         271                64    76.38%           0                 0         -
robotd/src/vetbook.rs                     788                78    90.10%          45                 4    91.11%         481                39    91.89%           0                 0         -
sounds/src/chorale/beat.rs                403                16    96.03%          26                 1    96.15%         246                12    95.12%           0                 0         -
sounds/src/chorale/midi.rs               1047                80    92.36%          44                 2    95.45%         581                43    92.60%           0                 0         -
sounds/src/chorale/mod.rs                1423                57    95.99%          83                 3    96.39%         812                41    94.95%           0                 0         -
sounds/src/chorale/text.rs                700                60    91.43%          41                12    70.73%         376                17    95.48%           0                 0         -
sounds/src/lib.rs                         167                35    79.04%          14                 6    57.14%          87                21    75.86%           0                 0         -
sounds/src/main.rs                        463               463     0.00%          20                20     0.00%         240               240     0.00%           0                 0         -
sounds/src/personality.rs                 174                 0   100.00%           6                 0   100.00%          84                 0   100.00%           0                 0         -
sounds/src/rng.rs                         173                 0   100.00%          18                 0   100.00%          96                 0   100.00%           0                 0         -
sounds/src/stream.rs                      719                 7    99.03%          46                 1    97.83%         420                 6    98.57%           0                 0         -
sounds/src/synth.rs                       353                 7    98.02%          29                 0   100.00%         197                 3    98.48%           0                 0         -
sounds/src/voices.rs                      679                 2    99.71%          26                 0   100.00%         353                 2    99.43%           0                 0         -
test-support/src/lib.rs                   272                 2    99.26%          22                 0   100.00%         167                 0   100.00%           0                 0         -
tof/src/config.rs                          48                 8    83.33%           4                 1    75.00%          27                 7    74.07%           0                 0         -
tof/src/imu.rs                            232               162    30.17%          11                 6    45.45%         142                98    30.99%           0                 0         -
tof/src/lib.rs                             88                 0   100.00%           9                 0   100.00%          54                 0   100.00%           0                 0         -
tof/src/link.rs                           121                 0   100.00%          10                 0   100.00%          88                 0   100.00%           0                 0         -
tof/src/main.rs                           995               627    36.98%          46                19    58.70%         642               405    36.92%           0                 0         -
tof/src/sensor.rs                         254               166    34.65%          23                16    30.43%         185               125    32.43%           0                 0         -
tof/src/status.rs                          76                 2    97.37%           7                 1    85.71%          58                 1    98.28%           0                 0         -
updater/src/account.rs                     93                 5    94.62%          10                 1    90.00%          79                 3    96.20%           0                 0         -
updater/src/config.rs                     545                25    95.41%          46                 4    91.30%         450                17    96.22%           0                 0         -
updater/src/engine.rs                    3451               506    85.34%         229                31    86.46%        2225               327    85.30%           0                 0         -
updater/src/faults.rs                      71                 8    88.73%           7                 0   100.00%          52                 0   100.00%           0                 0         -
updater/src/fsutil.rs                     104                30    71.15%          10                 6    40.00%          51                24    52.94%           0                 0         -
updater/src/hooks.rs                      492                16    96.75%          40                 2    95.00%         416                13    96.88%           0                 0         -
updater/src/ipc.rs                        952               351    63.13%          69                21    69.57%         589               186    68.42%           0                 0         -
updater/src/journal.rs                   1087                85    92.18%          74                11    85.14%         592                55    90.71%           0                 0         -
updater/src/lib.rs                         55                16    70.91%           5                 0   100.00%          41                14    65.85%           0                 0         -
updater/src/main.rs                       560               232    58.57%          39                15    61.54%         429               160    62.70%           0                 0         -
updater/src/manifest.rs                   159                 6    96.23%          16                 0   100.00%         110                 1    99.09%           0                 0         -
updater/src/orphan.rs                     288                 6    97.92%          25                 0   100.00%         181                 3    98.34%           0                 0         -
updater/src/policy.rs                    1883               698    62.93%         159                60    62.26%        1006               386    61.63%           0                 0         -
updater/src/preflight.rs                  382                16    95.81%          47                 4    91.49%         284                11    96.13%           0                 0         -
updater/src/reconcile.rs                  292                15    94.86%          25                 3    88.00%         172                 5    97.09%           0                 0         -
updater/src/robot.rs                      297                35    88.22%          43                10    76.74%         198                22    88.89%           0                 0         -
updater/src/source/github.rs              494               188    61.94%          53                28    47.17%         316               108    65.82%           0                 0         -
updater/src/source/hf_hub.rs              136                72    47.06%          20                12    40.00%          81                41    49.38%           0                 0         -
updater/src/source/http.rs                377                89    76.39%          32                10    68.75%         295                91    69.15%           0                 0         -
updater/src/source/local.rs               346                33    90.46%          36                 8    77.78%         192                23    88.02%           0                 0         -
updater/src/source/mod.rs                  39                30    23.08%           4                 2    50.00%          30                24    20.00%           0                 0         -
updater/src/spawn.rs                       94                13    86.17%           5                 0   100.00%          49                 4    91.84%           0                 0         -
updater/src/store.rs                      593                41    93.09%          43                 7    83.72%         271                42    84.50%           0                 0         -
updater/src/transcript.rs                 518                42    91.89%          31                 3    90.32%         290                22    92.41%           0                 0         -
updater/src/unix.rs                        44                 3    93.18%           3                 0   100.00%          22                 2    90.91%           0                 0         -
updater/src/verify.rs                     786                95    87.91%          55                18    67.27%         424                75    82.31%           0                 0         -
updater/src/vetbook.rs                    405                66    83.70%          34                10    70.59%         284                54    80.99%           0                 0         -
uyvy/src/lib.rs                           383                14    96.34%          13                 0   100.00%         184                 8    95.65%           0                 0         -
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                  106872             27349    74.41%        6927              1728    75.05%       65739             17241    73.77%           0                 0         -

pierre-rouanet and others added 6 commits October 13, 2026 16:33
Nothing reported whether the robot was idle, so tuning it meant
guessing from the head. One line when a spell starts, one with its
length when it has faded out.

Assisted-by: Claude:claude-opus-5-5
After yawn_after_s idle it yawns about every yawn_every_s: the beak
opens to yawn_open and the head tips by yawn_pitch, silently. The
mouth takes the wider of the yawn and what a client asked. A new
glance lands at least glance_min from the last look.

Assisted-by: Claude:claude-opus-5-5
Each new look draws a neck lean of up to glance_neck forward or back
and a beak opening of up to glance_mouth, eased with the glance and
held through the look's nudges. The yawn adds on top of the beak.

Assisted-by: Claude:claude-opus-5-5
The mouth's 0..1 runs from -5 degrees, held past shut, to +30. At
glance_mouth 0.15, scaled by reach and a uniform draw, a look opened
it to about -3 degrees on average: still shut, seen on the robot.
Now 0.4 by default, each look opening it between half and all of
that, not shrunk by dozing.

Assisted-by: Claude:claude-opus-5-5
@pierre-rouanet pierre-rouanet changed the title robotd: idle look-around keeps moving during a look, and is tunable robotd: idle look-around moves during a look, leans the neck, opens the beak, yawns Oct 13, 2026
@pierre-rouanet
pierre-rouanet merged commit 648bf22 into main Oct 14, 2026
10 checks passed
@pierre-rouanet
pierre-rouanet deleted the idle-tuning branch October 14, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant