A museum guide robot that will not guess — and a 2nd place nationwide.
MuseBot AI drives a fixed taped route through a gallery, stops at each exhibit, waits for a visitor to tap a card, and explains the object aloud using only facts a curator has approved. Three NebuCoders students built it for WRO Future Innovators 2026. It took 2nd place — silver, Senior Future Innovators — at the WRO Bangladesh National Final 2026, and competes next at the WRO Asia-Pacific Open Championship in Hyderabad, India, 25–27 September 2026.
Every number on this page is measured from the robot’s own log files, or it is labelled as a design target. Where the team does not have a number, the page says so.
Team Nebucoders
Three students built MuseBot AI end to end. Adal Zuhair Bhuiyan — systems architecture and the AI pipeline. Sujail Bin Abdullah — mechanical build, exhibit content and testing. Md. Hafiz Ullah — electronics and embedded firmware. Their coach, Nasir Khan, gave guidance on technical blockers and a safety review; all design decisions, code, testing and the project report are the team’s own work.
The problem
Guided interpretation is a function of institutional budget, not institutional will.
Bangladesh’s Department of Archaeology manages 452 archaeological sites and operates roughly 17–21 museums. The Bangladesh National Museum alone reports approximately 15 million visitors a year, around 1.2 million of them foreign. Despite that, guided interpretation at regional and district-level institutions is minimal or absent — and the reason is structural rather than a lack of interest. A guide is a recurring salary a small institution cannot justify. Multilingual guides command higher pay, so the visitors least able to read a Bengali plaque get the least support. One guide serves one group at a time, and interpretation stops when a shift ends while the museum stays open.
When no guide is available, the visitor is left with a printed plaque, a pre-recorded audio track, or a phone app. All three share one limitation: they cannot be asked a question.
The knowledge is not scarce. Curators and historians already hold it, written down and verified. What is scarce is the mechanism that gets it to a visitor standing in front of an object at four o’clock on a Tuesday. This is a distribution problem, not a knowledge problem — and distribution problems respond well to engineering.
What it actually does
The full interaction loop, in order. It is not a proposal — it has been executed end to end on real hardware across 40 recorded tour sessions, with every spoken line and every visitor utterance written to a live transcript.
-
Greet
The tablet face wakes and invites the visitor to follow. Everything the face does is driven by the interaction state machine, never by the language model — the robot cannot decide to look confident.
-
Drive
Closed-loop line following along a fixed taped route. Four driven wheels, steering by left-versus-right speed difference. No mapping, no free-roam planning.
-
Stop
A perpendicular tape bar across the route is the halt condition. A stop is accepted only after several consecutive confirming reads, so a shadow or a scuff cannot end a tour.
-
The visitor taps a card
The RC522 reader sits on the upper deck at hand height. The visitor taps; the robot reads. That tap is what confirms a person is actually standing there before the robot starts talking — it never narrates to an empty room.
-
Retrieve
The card identifier resolves to an exhibit record, and that exhibit’s curated, curator-approved facts are pulled for the prompt. Cards are rebound to exhibits from a web panel, so a gallery can be rearranged without a code change.
-
Explain
The exhibit is explained aloud, with the same text rendered live in a full-width caption bar on the tablet.
-
Answer
The visitor can interrupt with a spoken question and get an answer on the spot, grounded only in that exhibit’s approved facts. This is the one thing no plaque, audio handset or QR guide offers.
-
Farewell, resume
When the visitor is finished — or a five-minute wall-clock budget for that exhibit expires — the robot says goodbye and drives to the next stop.
The test gallery is three objects from three cultures, each one whose meaning is invisible from its appearance: a Bangladeshi Nakshi Kantha quilt (20 curated facts), a Russian Matryoshka doll (19), and a Japanese Daruma doll (19). A Nakshi Kantha looks like a blanket until someone tells you it is five to seven worn saris stitched into a family record.
Why it cannot make things up
An AI that invents a plausible fact about a national treasure is worse than no guide at all. This is the part of the system the team is most careful about, and it is built so that invention cannot happen by construction — not by asking the model nicely.
The model only sees approved facts
Each exhibit carries a curated set of headline facts and a larger supporting corpus — 13,780 entries across the three test exhibits. A question is scored against that corpus by plain keyword overlap and the twelve highest-scoring facts go into the prompt. The model never sees the question without the approved facts attached, and never has permission to answer from anything else. The museum, not the model, is the authority.
A question outside those facts gets a refusal
Not a guess. Asked to move to another booth, MuseBot answered, verbatim from a logged transcript: “I can only tell you about this Japanese Daruma doll exhibit right here. I don’t have information about other booths, but I would love to tell you more about how this good luck charm works.” Across every session there is no logged instance of MuseBot asserting a fact outside its approved content. This is a demonstrated behaviour, not an intention.
It learns from themes, not from people
Questions asked at an exhibit are grouped by theme across all visitors, and the most frequent themes are woven into future explanations before anyone asks. Over the 87 logged questions, the dominant themes at the Daruma booth were daruma doll (8), history (8) and tradition (7) — so the eighty-eighth visitor’s explanation already covers what the previous eighty-seven wanted to know. Nothing is retrained. No personal data is involved: the aggregation works on themes precisely so that it never needs to know who asked.
New knowledge needs a named human approval
When a visitor asks something genuinely good that the approved facts do not cover, the question is recorded as a knowledge gap. A model drafts a candidate answer, which is stored flagged as unverified and never spoken. It appears in the staff panel’s review queue, where a curator accepts, edits or rejects it. Only an accepted answer enters the exhibit’s permanent knowledge. Gaps become curator drafts rather than autonomous edits.
MuseBot does not improve itself. It improves because a curator approves each addition, and the questions worth answering come from the museum’s own visitors. That is a smaller claim than self-learning, and it is the one the architecture actually supports.
How it works
Two boards, four serial commands, and the expensive computer left on the museum floor.
Two boards, split by deadline
An Arduino Uno owns everything with a real-time deadline: motor drive, sensor reads, the RC522 reader. A Raspberry Pi owns everything that needs an operating system: the conversation loop, speech, file I/O, the web panel. Sensor sampling and motor PWM need an uninterrupted cadence that a general-purpose OS doing network calls and audio playback cannot guarantee.
Four commands, and no judgement
The Uno never makes a decision requiring judgement. It reports two physical facts and accepts two commands, and it never learns what an exhibit is. Parsing uses a fixed 16-byte buffer rather than a dynamic string type, because repeated allocation on a 2 KB microcontroller fragments the heap over a full day of uptime.
Inference on the museum’s own LAN
The language model, speech recognition and speech synthesis run on one local GPU server on the museum network, shared by every robot on site. No public internet on the critical path. Cloud APIs were the right call for Prototype 1 and the wrong one for an installation — a permanent fixture should not stop working because a venue’s uplink drops.
The entire vocabulary between the two boards
controller → computer BOOTH_REACHED:<n> a stop bar was confirmed; n = arrival count
controller → computer CARD_UID:<hex> a card was read, at any time
computer → controller RESUME begin driving — accepted only while stopped
computer → controller STOP unconditional halt, valid from any state Four driven wheels, differential drive, two L298N dual H-bridges — one per side, one motor per channel to stay inside the roughly 2 A channel rating — and 12 V 300 RPM geared motors. Steering is a left/right speed difference, so there is no steering linkage at all. The motors are open-loop; the line is the feedback.
Why the economics follow from choosing RFID
Centralised inference is not a deployment detail. Each robot sends short audio and text rather than continuous video, so one modest GPU serves several units — and that is only possible because exhibits are identified by RFID rather than by camera. A vision-based guide would stream video per robot and could not be centralised. The identification decision and the economic model are the same decision.
Components for one robot come to about BDT 54,990 (roughly USD 458), excluding labour, assembly, testing, software and margin. Five robots plus the shared server come to about BDT 374,950 (roughly USD 3,125). The sixth robot costs a robot, not a robot plus an accelerator. Seven lines of that bill of materials are the team’s own estimates rather than checked retail prices, and the report flags each one individually.
Safety, wired ahead of the software
The main switch and the emergency stop are wired in series on the battery’s positive lead, ahead of every other component, so no software fault can keep the motors energised after the button is hit. The battery is charged under supervision; a protected pack with a BMS is treated as a prerequisite for unattended operation, not an optimisation.
The engineering journey
The real lessons are in the cuts and the faults, not the clean final diagram.
-
Started big, cut to what could actually ship
The first architecture specified Ubuntu with ROS 2, SLAM-based autonomous navigation, camera-based object recognition and an on-board DGX-class GPU. Writing down what each component was actually for removed three of them. A museum publishes its floor plan and does not move its walls, so mapping it every run solves a problem that does not exist.
-
RFID instead of a vision pipeline
The most contested decision in the project. A misread tag produces no answer — the robot simply waits. A misclassified image produces a confident wrong answer, enthusiastically explaining the wrong artefact to a visitor who has no way to know. For a public-facing guide, silence is a far safer failure than confident error. Vitrine glare, low gallery lighting and visitors standing in the way are also the exact conditions vision handles worst.
-
A pin conflict that cost Prototype 1 its steering
Adding the RFID reader required hardware SPI, whose clock and data pins are fixed. Those pins were already carrying the line sensors. In the reshuffle the sensor array became two discrete binary sensors, structurally removing any possibility of steering. The team accepted that on Prototype 1 rather than half-build a correction on inadequate data, and made restoring a steering-capable layout the first hardware decision of the final design.
-
The eight-element array failed its own bench evaluation
The obvious replacement was an eight-element analogue reflectance array reporting a weighted position, and the design carried one through most of its development. Separability defeated it: across the modules the team could actually buy, readings over gallery floor and over matte black tape sat far too close together, and element-to-element spread was no larger than the spread between two supposedly identical elements. A weighted mean of numbers that alike is arithmetic performed on noise. Pin budget finished it — an Uno has six analogue inputs, two of them the I²C pair, and the RC522 already owned SPI. The recovery was geometric rather than electronic.
-
A motor channel that was intermittently dead
Isolated by elimination. Pin mapping verified byte-identical across every test sketch and the firmware, three times. Wiring and motor tested direct from the battery — both fine. Supply raised to 12 V, within rating — no change. With code, wiring and power eliminated, only the driver chip remained. The TB6612FNG was swapped for an L298N; identical wiring and identical firmware logic worked immediately and has stayed consistent.
-
A sturdier board, mid-build
Repeated upload failures on an Arduino Nano traced back to its fragile Mini-USB port — not the code. Same chip, same pin map, swapped for an Uno’s full-size USB-B port.
-
The robot kept driving after its software stopped
Stopping the tour process closed the serial connection, but the microcontroller had no way to know and kept executing its drive routine forever. Two causes: no halt command existed, and the application never sent one. The fix was an unconditional STOP valid from any firmware state, plus an explicit signal handler that sends it before exiting. Measured after the fix: stop request to process exit in about 86 ms, motors commanded off first.
-
A body that was designed, costed, and not funded
The design called for a 150–170 cm human-scale frame so a visitor addresses the robot at roughly eye level instead of looking down at a machine on the floor. It was costed at BDT 29,400 in structure alone. No sponsor was secured, so it was cut, along with a gesture arm, body lighting, a directional microphone, a protected battery pack and second-language content. The team’s line: we would rather show you a machine that runs than a render that doesn’t.
-
An automation that worked, removed on principle
Prototype 1 could research an unanswerable question online and write the result straight into the exhibit’s knowledge base with no human involved. It worked, and it made a better demonstration. It is also the wrong behaviour for a cultural institution, whose public statements about its own collection would then be written by a machine with nobody reading them. The research capability stayed; the autonomy went. The team considers giving that up the most important design decision in the project.
Choosing the less impressive technology because it is more reliable is a real engineering position, and one this team would rather be judged on than a longer component list.
Accessibility
One design decision, two audiences.
The live caption bar was added so the robot could be understood in a noisy gallery. It is sized to be read at roughly two metres — large type, high contrast, two lines at most — because a caption nobody can read from where they are standing is decoration.
It also makes the robot usable by visitors who are deaf or hard of hearing, a group that pre-recorded audio guides exclude almost entirely. The same holds in reverse: spoken narration serves visitors with low vision or low literacy, for whom a dense wall panel is inaccessible. A single object explained simultaneously as speech and as on-screen text reaches substantially more people than either channel alone, and it costs nothing extra once the pipeline exists.
Accessibility and noise tolerance turned out to be the same feature — which is why captions survived a budget cut that removed almost everything else on the presence list.
MuseBot speaks English only today. Speech recognition and synthesis handle many languages natively, so hearing and speaking another language is nearly free. Being correct in another language is not. Machine-translating approved content at request time would silently reintroduce exactly the unverified-claim problem the grounding design exists to prevent, and a mistranslated cultural or religious term is precisely the kind of error a museum cannot afford. The retrieval and prompt layers are already keyed for per-language content; what is missing is a reviewed Bengali fact set for each exhibit, which is curatorial labour rather than code. It is deferred, and it is the deferred item the team most wants to close first.
Limitations
A guide robot placed in a public cultural space carries real risks. The team would rather state them precisely than let a judge find them.
Employment
Automating repeated explanations reduces demand for routine guiding work, and it would be dishonest to pretend otherwise. In the segment MuseBot targets, the realistic alternative is not a guide who loses their job — it is silence, because the institution never employed one. The system is also built so it cannot operate without human expertise: every fact it states was approved by a person. The risk the team takes seriously is a well-funded institution replacing guiding staff it already has, and they would say so to a customer proposing it.
Information accuracy
Language models produce incorrect text. The grounding architecture constrains that strongly — the model receives only approved facts, refusals are demonstrated in the logged transcripts, and new content passes a human before it becomes permanent. This reduces the risk substantially; it does not eliminate it. A model can still phrase an approved fact misleadingly, or connect two true statements into a false implication. Any museum deploying MuseBot should treat its output as it treats a new junior guide: supervised at first, spot-checked thereafter.
Privacy
The robot hears visitors and the staff panel carries a camera feed, which deserves an explicit policy rather than a default. Raw audio is never retained — only transcribed text. The camera feed is live-only and never recorded. Logged questions carry no identifier linking them to a person. Visible signage tells visitors the robot is listening and what is kept. The cross-visitor learning works on aggregated themes precisely so that it never needs to know who asked.
Physical safety
Losing the tall body lowered this risk rather than raising it — a low, light, four-wheel machine is hard to tip and hits nothing at head height. It is not zero risk. It is at ankle height in a room where people walk backwards to look at things. The emergency stop is wired in series ahead of every other component, the battery is charged under supervision until a protected pack with a BMS is fitted, and obstacle stopping is required before any deployment with unsupervised visitor traffic.
And what is not built
The human-scale 150–170 cm body, the gesture arm, body lighting, a directional microphone, a protected battery pack with a BMS, and second-language content are all designed and costed but unfunded. None of them exists. MuseBot does not navigate freely, does not map a space, does not recognise objects by camera, and does not track individual visitors. Each of those is a deliberate choice this team defends rather than a gap it is hiding.
Where it is now
MuseBot AI took 2nd place — silver, Senior Future Innovators — at the WRO Bangladesh National Final 2026. It competes next at the WRO Asia-Pacific Open Championship in Hyderabad, India, 25–27 September 2026.
One thing worth stating plainly, because it is easy to imply otherwise: a WRO Open Championship is a regional international event, not a qualifying stage. WRO’s own rules are explicit that teams reach the International Final — San Juan, Puerto Rico, 8–10 December 2026 — only through the competition in their own country. Hyderabad is the next event on this team’s calendar, and the page will say more about Puerto Rico when there is something true to say.
Disclosure, per rule 6.5
AI appears in this project in two entirely different roles, and conflating them would be dishonest. Inside MuseBot, a language model turns museum-approved facts into natural spoken explanations and answers questions strictly within them — a presenter, never the source of truth. To build MuseBot, the team used Claude for design consultation, debugging assistance, code implementation under their direction, and language corrections to text they wrote. The team defined the behaviour, chose the architecture, performed the fault isolation, ran every test on hardware, and judged whether proposed solutions worked. Every hour of physical construction was theirs. It is the same “AI drafts, you verify” standard NebuCoders holds every project to.
Built inside NebuCoders
MuseBot AI came out of a free, non-profit, open-source community run by its own members — no fees, no application, no tiers. If you want to build something that has to work in front of people on the first try, this is where to start.