MODULE 38 / CHARACTER & EXPRESSION
Attention, gaze, and little reactions
Create a small behavior director that chooses when to notice, hold attention and return. Learn why dwell times, cooldowns and interruptions matter more than adding random wiggles.
By the end, you can…
- Separate choosing a behavior from executing its movement.
- Explain dwell time, cooldown and habituation.
- Test repeatable attention events and a latched stop in an offline mock.
Modules 36–37; Python can run the expression kit.
DIRECT THE PERFORMANCE
Exports four semantic channels at 60 samples/sec in degrees. Desktop files need your calibrated joint map before simulation. Hold and linear modes demonstrate discontinuities.Attention comes before motion
A gaze system first chooses what deserves attention, then generates movement toward it. Disney’s 2020 animatronic-bust paper studies layered gaze, attention selection and habituation. Its eye mechanisms can move before its head. BDX-R does not inherit those eyes, so our adaptation uses a head glance followed by a delayed tilt.
In this lab, “target” is a synthetic event in a Python file. It does not detect a person, estimate a 3D location or decide that someone is looking at the robot. This lets you debug timing before adding uncertain perception.
A state is a promise about what happens next
Our director has idle, notice, return and stopped states. It accepts a target only while idle and outside a cooldown. It stays in notice for a minimum dwell time, then returns. New cues during that performance are ignored instead of restarting it every frame.
A finite-state machine makes transitions explicit. More complex behavior trees are useful later, but they cannot rescue unclear requirements. Write down which events interrupt which actions and how the character resumes.
Stillness is part of the performance
Dwell time prevents the robot from flicking its attention immediately away. Cooldown prevents frequent retriggering. Habituation is a further idea: an unchanged target gradually becomes less interesting. These are distinct. The supplied mock implements dwell and cooldown; it does not claim to implement the paper’s complete habituation model.
An optional extension can store a last-seen target ID and reduce its score over time. Start with synthetic IDs, log the chosen target and seed any randomness. Unseeded random head noise makes both character direction and debugging difficult.
A stop must outrank a show cue
The mock latches stopped until an explicit reset. A target event cannot unstop it. Reset leads to idle and cooldown, rather than replaying an unfinished motion. This teaches arbitration: which request wins when several requests arrive together.
This is a software exercise, not your robot’s emergency stop implementation. Hardware stop behavior depends on the commissioned controller, support and electrical design. Do not replace a physical stop with a Python state label.
WORDS YOU NOW KNOW
- Dwell time
- The minimum time spent attending or remaining in a state.
- Cooldown
- A delay before a behavior may be triggered again.
- Habituation
- Reduced response to an unchanged or repeatedly presented stimulus.
- Arbitration
- Choosing which request has authority when requests conflict.
YOUR CALL
Finished with this module?
0 of 7 lab steps checked. 0 of 2 questions answered. You decide when the module is complete. Revisiting or editing it will not change your decision.
You can reopen it later. Checking every box will not automatically complete it.Go to the source
Primary references for this module. Use the version and hardware revision named in the lesson.
Disney · Realistic and Interactive Robot Gaze · IROS 2020Attention and layered gaze on an animatronic bust. Our head-only exercise adapts the idea to BDX-R.Disney · Autonomous Human-Robot Interaction via Operator Imitation · IROS 2025Optional next step after collecting operator demonstrations; not a ready-made BDX-R behavior model.