Skip to main content
Profile
Ainekio Project
Robot familiar field notes
V1 + V2Build reference

Gateway and Operator Dashboard

Body Control connections, event and leveling settings, SD video, Wi-Fi maintenance, and the retained command-recovery record.

On this page
  1. October 21: learning, measurement and connection continuity#
  2. October 18: measured servo feedback#
  3. October 15: understand the leveling response#
  4. October 14: V2 Body Control additions#
  5. Connecting MetaHuman to the physical robot#
  6. Follow a command through the connection#
  7. What the dashboard is for#
  8. What the adapter translates#
  9. Keeping action records across an interruption#
  10. Keeping a late result connected to its command#
  11. Connection results and the unresolved fault#
  12. Why the old URL mentions a simulator#

October 21: learning, measurement and connection continuity#

Body Control now owns persistent gait logging, learning controls, candidate comparison and a read-only Learning history view. The host can use experimental MoGe-2 landmark odometry for progress estimates; metric accuracy is unverified. Read the walking and learning report.

Feedback health and position-verification receipts distinguish an executed path from measured arrival. The P4 retains local motion through control loss; new unsolicited bridge input needs an authenticated recipient, while already-admitted work survives reconnect. See the body report and OS/bridge report.

October 18: measured servo feedback#

Body Control’s Servo Feedback tool now exposes twelve modified servo readings, input mapping, calibration curves, sample age and commanded-versus-measured position. Acquisition and measured Stand have separate saved controls. All channels passed unloaded checks; measured Stand remains off pending reassembly and supported tests. Read the feedback report and see the rebuild.

October 15: understand the leveling response#

Body Control now shows measured tilt, error from the saved reference, commanded body correction and modeled changes for each physical leg. A level-reference control copies the current attitude into editable targets; saving remains explicit. A separate stationary gyro calibration collects 256 samples and applies the saved bias without a restart. These operations preserve joint calibration.

The motion and leveling report explains the controls, installed firmware evidence and distinction between commanded adjustment and actual physical movement.

October 14: V2 Body Control additions#

The selected P4 now has body-event controls, saved self-leveling settings, and video recording, clip downloads, Wi-Fi firmware updates and robot logs. These use the existing gateway and dashboard. The dated reports distinguish controller tests from loaded physical motion; the original gateway explanation below retains its September evidence period.

Connecting MetaHuman to the physical robot#

Ainekio’s body handles motors and sensors. MetaHuman OS handles conversation, memory, and decisions. Three pieces of Ainekio software connect the two and let a person inspect the robot:

  • The gateway maintains the authenticated network connection to the body and carries commands, results, images, and audio.
  • The adapter translates between MetaHuman’s device interface and Ainekio’s robot commands.
  • The operator dashboard gives a person controls and a view of the robot’s reported state.

They live in the robot repository’s Master/ code. MetaHuman schedules work and reviews its outcome; the controller on the body checks movement limits.

Follow a command through the connection#

Consider a request to sit. MetaHuman sends an action through its Environment Bridge, the interface it uses to connect to external devices. Ainekio’s adapter translates that action into a checked robot command. The gateway delivers it to the controller, then waits for the robot’s result rather than treating a network write as completion.

The gateway authenticates the robot and adapter separately. Robot sessions report identity, supported features, current readiness, state, and command results. This tells MetaHuman which actions are available now.

The adapter advertises the body-owned catalog of named commands. MetaHuman uses that advertised list and its descriptions to construct and validate model choices, keeping the supported repertoire consistent across the connection. Readiness still determines whether a feature can be used at that moment.

The connection carries protocol-v1 JSON control messages and binary media. The gateway matches command IDs to final results, pairs camera metadata with JPEG images, assembles microphone utterances, and paces outgoing speaker audio. It also records errors, media counters, and connection epochs: identifiers that distinguish one connection session from the next during diagnosis.

Local discovery uses DNS Service Discovery (DNS-SD), which finds the service on the local network, with a limited attempt at a cached address. A stale cached address is not permanent configuration. Local mode does not automatically switch to the optional relay service.

What the dashboard is for#

The dashboard shows body state, connection state, battery classification, camera and wake-word readiness, and media counters. These are reports from the robot and gateway, useful when checking whether a device is connected and ready to act.

An operator can enable limited camera preview, change microphone or wake settings, request supported actions, and run hardware checks such as a speaker test tone. The dashboard’s volume setting changes that test tone; ordinary MetaHuman speech uses a separate volume path.

What the adapter translates#

MetaHuman’s Environment Bridge works with device-independent actions. The Ainekio adapter implements them using the selected body’s current features:

Action or eventWhat happens on the Ainekio path
robotCommandSend a checked named command such as sit or wave
robotMotionPlanSend a sequence of joint-position frames, if supported
captureImageRequest a fresh snapshot and return the matching JPEG
Robot speechSend rendered PCM audio samples through the gateway
Microphone utterancePackage a speech segment as WAV for MetaHuman’s Whisper transcription

Voice activity detection (VAD) determines where a microphone utterance ends. Whisper converts that recorded speech to text. In the other direction, a speech action waits for playback feedback from the robot, not just creation of an audio file.

Keeping action records across an interruption#

Suppose the robot receives a movement but the connection drops before its reply arrives. The adapter needs to know whether it can return a saved result, wait for more evidence, or report an unknown outcome. Simply sending the movement again could repeat a physical action.

September work adds SQLite action records and pending result and observation delivery. Each action ID is tied to its request content. Repeated delivery can return the existing record instead of running the command again. Dispatch checks which Work Coordinator process is currently authorized to control the body. Cancellation can also block an original request that arrives late.

Keeping a late result connected to its command#

The September 8 investigation found a concrete stall: the adapter stopped waiting after 30 seconds, saved an unknown outcome, and ended its result monitor. MetaHuman retained the unresolved body job, so the following movement could not start.

The repaired adapter keeps following the gateway’s original pending command until completion, rejection, cancellation, or disconnect. Recovery uses that same command record and matches the gateway process, robot, connection epoch, and sequence. A reused sequence in a new session cannot complete old work. Recovered image results use the same matching and cleanup path as normal ones.

An acknowledged stop releases earlier pending asynchronous commands and their camera reservation. If the host restarts, authenticated robot reconnection ends the old control session while retaining uncertainty about any earlier physical effect. Recovery does not send the old movement again.

The September 8 record reports 68 passing receipt, adapter, speech, gateway, and command-catalog tests, plus an isolated MetaHuman check of late completion and cancellation. They use simulated physical execution. The repair remains local source work and needs a host gateway restart, followed by a deployed test. A MetaHuman Site rebuild alone will not activate this host change. Why the original body completion went missing remains unresolved.

Connection results and the unresolved fault#

Physical tests have produced authenticated sessions and completed commands. They have also recorded abnormal WebSocket closes and host No route to host errors while the gateway remained running. WebSocket is the persistent network connection used here; its closure interrupts the exchange even if the gateway process itself is still alive.

The cause is unresolved. Strong Wi-Fi signal cannot rule out routing problems, incomplete binary writes, controller resets, power faults, or connection lifecycle errors. The next diagnostic run should collect robot errors, session IDs, media counters, reset reason, host routes, and gateway operations together. Changing one retry setting at a time will make the results easier to interpret.

Why the old URL mentions a simulator#

This page previously covered a simulator alongside the physical connection. That experiment was unsuccessful and has been completely retired. It is outside the current tooling and V2 plan. The URL remains usable for existing links; the July motion article preserves the old design, command mappings, and reported tests as history.

Gateway and Operator Dashboard
https://ainek.io/posts/gateway-and-simulator/
Author
Ainekio
Published at
2026-08-27
License
CC BY-NC-SA 4.0