Kingly IntelligenceSystems Start a project

Home / Work / EDROM RoboPark

Live entertainment and visitor attractions

We gave giant robot characters a voice, eyes and a safe way to move.

Giant robot characters that hear, see and answer guests in four languages, with safe controls for movement and one screen to run the park.

Robot characters wrapped in plastic on a flatbed lorry in a street beside apartment blocks
Mobile view of the first step, in which the robot notices a guest arriving
EDROM RoboPark
Who it is for
Live attractions that want guests to talk to a physical character, without staff standing beside it.
The problem
The robot bodies arrived able to do very little. They could not hear or see anyone, had no personality, and moved only by handheld remote.
What they get
Characters guests can walk up to and talk with in four languages, a controlled way to request movement, and one screen for running the park.
18 July 2026Open to the public since
4 languagesEnglish, Hebrew, Arabic and Russian in guest conversation
1.9 secondsMedian reply time over 10 measured guest turns (range 0.96 to 2.91 s)
9 robotsRun from one screen, across 2 zones
9Written character personalities

The challenge

ED-ROM ordered a set of giant robot characters for a new summer attraction. The bodies were excellent: sculpted, painted, armoured, built by a specialist factory. What arrived could not hear a guest, could not see one, had no personality, and moved only when a person held a handheld remote control.

The brief was to turn those bodies into characters that guests could simply walk up to and talk to. Four things made that harder than a voice demo.

The audience is mostly children. They interrupt, shout, repeat themselves and test the character on purpose. A system that needs a wake word, a button or a polite pause does not survive contact with them.

Guests change language without warning. Kiryat Motzkin is a mixed-language town. A conversation can start in Hebrew and finish in English, with Arabic and Russian also in regular use, and nobody announces the switch.

The day is long and public. The park runs twelve-hour days, every day including Saturdays and holidays. There is no quiet hour for a restart, and the people in front of the robots bought tickets.

The robots were in another country. The system had to be maintained, diagnosed and updated remotely, on hardware in Israel, without opening the park's network to the internet.

Then a fifth problem appeared. The plan assumed the robot manufacturer would supply a software interface for movement. On a site visit to the factory in Zigong it became clear that movement existed only through handheld transmitters. That interface did not exist, so we had to build it. It became the largest unplanned piece of the project.

The system

The system has four layers: voice, vision, motion, and fleet operations. Almost all of it runs on one computer at the park rather than in a distant data centre, because every extra network hop is time a child spends waiting.

One conversational turn

  1. Audio arrives. Guest audio travels live from the robot to a media server (LiveKit) on a computer at the park.
  2. Speech becomes text. Speech recognition software (faster-whisper) writes down what was said. It handles English, Hebrew, Arabic and Russian, including a guest who switches language mid-conversation, with no language button.
  3. The character answers. An AI model running at the park generates the reply using that character's own written personality. It can use tools the character has been allowed to use, and it can draw on what the camera sees, so it can respond to the actual guest in front of it.
  4. The reply becomes a voice. The main voice is generated on the same machine. A small checker reads each outgoing line and sends Hebrew, Arabic, Cyrillic and Chinese, Japanese or Korean text to a commercial voice service that handles those scripts better. That checker is the reason the Hebrew works. It is also the one job in the loop that leaves the building.
  5. The robot speaks. Audio plays from the speaker in the robot body.

Vision

Vision models can be swapped, on the park computer or online, so a character keeps its sight if one backend is unavailable. The characters describe what they can see and are written to refuse guesses about things a camera cannot tell, such as age, mood or gender. A character can also greet someone who walks up, using a motion trigger with a threshold and cooldown, alongside a server-side wake word and an always-on session mode.

The motion layer

This is the piece built to replace the missing manufacturer interface. A Raspberry Pi, a small computer, drives a board of 8 electrical switches. On top of that sits a motor program that accepts a named set of commands, with stop, reset and safe-state behaviour, and movement durations measured against real motors rather than estimated from drawings. Saved sequences make a show routine repeatable.

The design decision that matters most is the gate between thinking and moving. The AI never drives a motor directly. In the voice agent, a character is given a fixed catalogue of named motors with descriptions, and its motor tools can only request those. Commands travel to the Pi over the same live connection as the audio, with a second web route as a backup. A request for a motor outside the catalogue is refused, and run time is capped. The character suggests; the gate decides.

Fleet console

The console is what the park is run from. It shows every robot placed on a map of the site inside its zone, with live counts for robots awake, in conversation, charging and offline, plus battery levels. From there, staff can:

  • see each character and whether its robot body is reporting in
  • assign which character lives in which body, using dropdowns
  • edit a character's name, description and greeting without an engineer
  • save named line-ups of characters per zone
  • open a per-character link to talk to it from a phone and check it still sounds right
  • run multiple sites, each with its own robots and zones, under one account

Outcomes

  • Open to the public since 18 July 2026 at ROBO PARK, Chai Park, Kiryat Motzkin.
  • Four primary languages in guest conversation: English, Hebrew, Arabic and Russian, shown in recorded conversations with real guests.
  • Median response time of 1.9 seconds, measured across ten guest turns in two recordings from the park floor, from the end of guest speech to the first syllable from the robot's speaker. Range 0.96 to 2.91 seconds. The slowest turn is one where the character had to look at an image first.
  • Nine robots managed from one console, across two zones.
  • Nine character personalities written for the park.

Our published evidence covers conversation. The recordings we measured show voice and vision working with real guests. They were not recorded to document physical movement or the motion-triggered greeting, so those timings are not part of the measurements above.

Step by step

How EDROM RoboPark works, step by step

This is what happens when a child walks up to a robot and speaks. Steps 1 to 5 are one reply. In our recordings from the park floor, the median time from the end of a guest's speech to the robot's first syllable was 1.9 seconds.

  1. The robot hears the guest

    What happens
    Sound from the guest travels from the robot to a media server on a computer at the park. No app, button or magic word is needed.
    Who or what does it
    The robot body, then LiveKit, the media server we set up at the park.
    Why it matters
    Children do not wait for a button. If they had to, most would walk away. Keeping this computer at the park also avoids a long trip across the internet while a child waits.
  2. Speech becomes text

    What happens
    Software turns the sound into written words. It works in English, Hebrew, Arabic and Russian, and copes when a guest switches language halfway through.
    Who or what does it
    A speech recognition program called faster-whisper, running on the park computer's graphics chip.
    Why it matters
    Nobody picks a language from a menu. Guests in this mixed-language town can simply talk.
  3. The character decides what to say

    What happens
    An AI model running at the park writes the reply. It follows that character's written personality and can use what the camera sees. Characters are written to refuse guesses a camera cannot support, such as age, mood or gender.
    Who or what does it
    A local language model, plus a vision model that can be swapped if one is unavailable.
    Why it matters
    The guest meets a character, not a generic chatbot, and it can talk about what is really in front of it.
  4. The reply becomes a voice

    What happens
    Most speech is generated on the park computer. A small checker reads each line, and sends Hebrew, Arabic, Cyrillic and Chinese, Japanese or Korean text to a commercial voice service that handles those scripts better.
    Who or what does it
    The script checker, the local voice software and the outside voice service.
    Why it matters
    This checker is the reason the Hebrew works. It is also the one job in the loop that leaves the building.
  5. The robot speaks, and can be interrupted

    What happens
    The voice plays from the speaker in the robot. If a guest talks over it, the character stops mid-word and picks the conversation back up.
    Who or what does it
    The robot's speaker and the voice software.
    Why it matters
    Children interrupt all the time. A character that talks over them stops feeling real.
  6. A move must pass a gate

    What happens
    A character can only request a move from a fixed list of named motors. Anything outside the list is refused, and run time is capped. Approved requests reach a small Raspberry Pi computer, which switches the motors through a relay board. Stop, reset and safe-state commands are built in.
    Who or what does it
    The motion gate first, then the motor server we built because the maker offered no software interface.
    Why it matters
    The AI suggests and the gate decides, so a chatty model can never drive a motor directly. Our recordings were not made to document movement, so the timings above do not cover this step.
  7. Staff run the park from one screen

    What happens
    The fleet console shows each robot on a map of the site, inside its zone, with counts for awake, in conversation, charging and offline, plus battery levels. Staff choose which character lives in which body and can edit a name, description or greeting.
    Who or what does it
    Park staff, using the console in a web browser.
    Why it matters
    Routine changes do not need an engineer, and on a twelve-hour public day staff can see what needs attention.
  8. Support reaches the park safely from abroad

    What happens
    Engineers connect to the park computer through private, encrypted tunnels. The park's network stays closed to the public internet.
    Who or what does it
    Our team, using Tailscale and a Cloudflare tunnel.
    Why it matters
    The robots are in another country, so problems can be diagnosed and updates made without flying out or exposing the park's systems.

Architecture

How the system fits together

01 / 06 Guests

  • GuestWalks up and talks. No app needed.→ Robot body · speaks

02 / 06 The physical robot

  • Robot bodyHolds the mic, camera and speaker. Body made by GENGU.→ LiveKit media server · audio and video over WebRTC
  • 8-channel relay boardElectrical switches that drive the motors.→ Robot body · motors

03 / 06 Computer at the park

  • LiveKit media serverCarries live sound and video between robot and computer.→ Speech to text → Vision · camera frames → Robot body · voice
  • Speech to textWrites down speech in English, Hebrew, Arabic and Russian.→ Character brain · text
  • Character brainAI that writes each reply in the character's personality.→ Script router · reply → Motion gate · requests a move
  • VisionDescribes what the camera sees. Models can be swapped.→ Character brain · what it sees
  • Script routerChecks each line and picks the right voice engine.→ Local voice → Secondary voice engine · some scripts
  • Local voiceReads most replies aloud, on the park computer.→ LiveKit media server

04 / 06 Outside service

  • Secondary voice engineReads Hebrew, Arabic, Cyrillic and CJK lines aloud.→ LiveKit media server

05 / 06 Movement controls

  • Motion gateLets only approved, named actions through.→ Motor server on Raspberry Pi · data channel, HTTP fallback
  • Motor server on Raspberry PiSmall computer with stop, reset and saved sequences.→ 8-channel relay board

06 / 06 Running the park

  • Fleet consoleWeb page for the map, zones, line-ups and characters.→ Character brain · characters and line-ups → Robot body · status and assignment
  • Remote supportPrivate tunnels for fixing problems from abroad.→ Fleet console · diagnostics
Which character is in which body, and which zone it belongs to.
Which character is in which body, and which zone it belongs to.

Key features

  • Natural conversation with no app, menu or staff member in the loop. A sign, a post to stand at, and a robot that answers.
  • Four primary languages, with mid-conversation switching that keeps the character's personality and the thread of the conversation.
  • Interruption handling. The character stops mid-word and picks the conversation back up.
  • Vision-aware replies about what is actually in front of the robot.
  • Nine distinct written character personalities, editable and re-deployable overnight.
  • A named, gated movement command set with stop, reset and safe-state behaviour.
  • Saved movement sequences.
  • A multi-site fleet console with zones, robot placement, line-ups and per-character test links.

Delivery

The work ran in stages, and the stages changed when reality did.

  • Foundation. Voice infrastructure, vision integration and character direction were built first, along with the plan for how the parts work together.
  • Factory visit, Zigong. We went on site to work out how the touchscreen, the moving body and the voice could feel like one creature instead of three machines. Seeing bodies at every stage of construction informed where a microphone and speaker could sit. It also showed that a software interface for movement was not coming.
  • Motor server. A first working version of motor control was built in China with a local hardware specialist: a small web service that controls the relay board, with an emergency stop.
  • Single-robot baseline first. Rather than integrate across the fleet at once, the plan confirmed one robot end to end, then repeated the pattern.
  • Installation, July 2026. The characters arrived shrink-wrapped on flatbed lorries and were placed by forklift onto steel base plates. The system had to be finished against robots that only existed in their final form once they were on site.
  • Opening, 18 July 2026. The park opened to the public.
  • Afterwards. Tuning continued in production, including the motion-triggered greeting and speech recognition changes aimed at a noisy open-air park.

Security and infrastructure

  • Local-first by design. Hearing, thinking, seeing and most speech run on the operator's own machine at the park.
  • Remote access without exposure. Tailscale and a Cloudflare tunnel provide remote diagnostics into the hardware without opening the park's network to the internet.
  • Single entry point. Web server software (nginx) sits in front of the services, so everything a robot needs sits behind one guarded entrance.
  • Repeatable deployment. Ready-made setup recipes cover machines with or without a graphics chip, Apple computers and setups split across several machines. A per-device registry records which robot is which.
  • Physical safety in software. AI output can only reach approved, named actions, and stop behaviour sits below the AI.

What this shows

Most of the risk in this project was not in the AI. It sat in the gap between software and a physical machine that nobody had specified, in a public place, with a hard opening date. The value of a systems builder here was treating that gap as engineering: a contract for what the robot can be asked to do, a gate in front of it, and an operator's screen for hour nine of a twelve-hour day.

Built with

The tools behind it

For technical readers, here is what it runs on. Tap a name to highlight it. The words explained below appear across this page.

What these words mean

Speech to text
Software that writes down what someone said.
Language model
The AI that reads words and writes a reply.
LiveKit and WebRTC
Technology for live audio and video, the same kind used in video calls.
Raspberry Pi
A small, low-cost computer often used to control hardware.
Relay board
A set of electrical switches that a computer can turn on and off. Here, they drive the motors.
Fleet console
The web page staff use to see and manage all the robots.
Docker Compose
A recipe file that sets up every program the same way on each machine.

Screens

The real thing

Robot characters wrapped in plastic on a flatbed lorry in a street beside apartment blocks
The characters arriving in Kiryat Motzkin, still shrink-wrapped.
Fleet console showing nine robots placed on a park map in two zones, with status counters along the top
The park map in the fleet console, captured outside operating hours, so robots read offline.
Table of nine robots with zone and persona dropdowns, status and coordinates
Which character is in which body, and which zone it belongs to.
Character editor with name, description, greeting and call links for the RoboPanda character
Changing a character is typing, not programming.
Cards describing measured timings, saved routines, diagnostics and the gate between thinking and moving
The motion layer we built when no software interface existed.
Heading about making three systems feel like one character, above finished robot dinosaurs in a factory yard
On site at the factory in Zigong, China.
Mobile view of the first step, in which the robot notices a guest arriving
How a turn works, on mobile.
100%

Tell us what your business needs to run on.

Answer a few questions and send them to us. We will tell you what we would build, and what you do not need.