Food comes A to B,
Floating on a magic plate,
Mobile order's here

This story begins as many do, with a fortuitous posting found on Facebook Marketplace. Sometime in August or September of 2025, a gentleman in the LA area posted a picture of 3x Pudubots, autonomous waiter robots from Pudu Robotics, asking if anyone knew how to revive dead ones, with the hopes that it was just some weird battery issue. I figured I knew batteries and robots somewhat, so I offered my services and ended up with 3x robots in my garage within the week. The wife was understanding but not necessarily happy. The guy from Marketplace apparently is a restaurant entrepreneur and bought these robots at a steep discount from a closed-down restaurant that he was rehabbing. I told him I'd give it the old college try for a few weeks and either give him back a functioning robot or a pile of (organized) ewaste with the more valuable and resellable components parceled out. In return, he said I could keep one of the bots if I could get them functional again.

Salvaged fleet

I first came across Pudu Robotics back in 2019-2020 when I worked for UBTech. We were also developing autonomous waiter-type robots (many companies were at the time), and Pudu had one of the few mass-produced models deployed in real world environments. The early models have your basic SLAM and obstacle avoidance functionality in its base but seemed to primarily traverse with respect to ceiling-mounted stickers. Whenever I'd see these models in the wild, my first reaction would be to look upwards to find the fiducial stickers that would dot the ceiling. The more current Pudu models don't rely on stickers anymore, though I've seen less and less of them in the wild, so maybe there's a correlation. Naomi Wu filmed a fairly detailed tour of their factory and testing facility with some more details.

The trays can be set at different levels vertically and slide into adapters that can also adjust the tray's position forward and aft. I'm a bit surprised they're only held in by a couple of M3 bolts, most of which seem to only rely on simple split spring washers for tension.

The drivetrain is built around a simple differential drive with hub-motors, but also 4 caster wheels, with the rear pair spring-loaded relative to the drive motors. This ensures that the system doesn't get high-centered but still maintains as many points of contact on the ground as possible for consistent traction. For passive stability, I actually really prefer the drivetrain topology of the Fetch AMRs, which spring-loads the drive motors against the ground relative to statically fixed casters, but I guess then the drive preload wouldn't scale w/ respect to the payload. The front also appears to be reinforced with what I can only describe as mini-skid plates to reinforce the lower steel place and the plastic side enclosures.

Gross.

You can see from the wear/tear and general grime buildup that the customer seems to have run this bot pretty aggressively. Does that mean it worked well? Or does it the customer had a really dirty restaurant? Not sure. To me, this also calls out the need for regular maintenance, something the typical restaurant customer probably wouldn't think too much about. Hell, it's probably not something a typical factory AGV/AMR customer would think about, as a factory floor is likely way more consistent and cleaner than your neighborhood restaurant (not throwing shade at restaurants).

Another crazy thing about the dirt/grime buildup: you can see through various shells/covers that the designers attempted to seal off the insides from the outer environment, but the gap around the drive motors still allowed dirt to enter the interior of the main lower body. In fact, when I popped open the outer covers, each bot had about a standard dustpan's worth of random junk and trash collected inside. Vacuum your bots' insides, people.

The outer plastic shells interlock somewhat with the metal base, and they pop out to expose a hodgepodge of mismatched sub-assemblies:

  • The bottom steel plate serves as the primary structural component to which the battery pack and drivetrain subassemblies are attached
  • A bent sheet metal substructure holds the audio subassembly
  • A physical key serves as the main power-on relay near the charger, which relies on a simple barrel connector
  • A combo of CNC aluminum brackets and 3d-printed mounts for the remaining RGBD and lidar sensors
  • Custom CNC aluminum blocks hold up a central stainless steel cross-brace to which the primary side columns are bolted
  • Aluminum bracing structure that could be simple bars if not for CNC cutouts to accommodate zip ties to hold down cabling
  • Bent sheet-metal housing to protect the primary battery, and it's attached to the bottom base plate with obnoxiously long M4 standoffs
  • Brushed aluminum extrusions serving as posts from the bottom mobile base to the compute structure and UI panels on top
  • A COTS LED strip is taped to the interior of the outer plastic shell
Power switch and charge port
RGBD strip just taped in place
Machined posts for the side extrusions
Why aren't these clamps? Why didn't these bolts shear?
Machined slots for zip-ties...
Top-facing IR camera

It's quite a weird but clearly very functional mashup of engineering and design practices throughout the build for (to me) reasons unknown. Maybe the various subassemblies of this bot were copy/pasted from other prototypes. Maybe different groups/teams worked on each subassembly while woefully siloed from each other. Maybe quick/inefficient design changes to a formerly more cohesive and consistent design were made on the fly in a haphazard way as hot-fixes for new problems discovered during testing. Nothing in the system is anything I believe any engineer would say is categorically "wrong," and history has shown that this design got plenty of things functionally right, but I don't know that anyone would use this model as a reference for how to design these mobile bases optimally.

Here is what I assumed (going off of vibes and a similar design process we scrambled through at UBTech) happened:

  • Designers started with a barebones, super simple two-wheel drive base with casters
  • Suspension was over-designed to handle an ambitious worst-case system weight because no one really knew what the final bot would actually do
  • Initial drive testing heavily utilized the lidar and top-mounted camera. Realsense RGBD cameras weren't added in until much later (hence the weird stack of disparate mounts)
  • For the required stiffness of such a tall setup, it was decided that custom aluminum extrusions were necessary, and subsequent design changes were made to accommodate these extrusions
  • The original frame was probably mostly 8020, but the primary cross-beam was swapped to steel for increased stiffness
  • Someone decided audio would be important, so COTS parts were cobbled together on top of a bent sheet metal frame
  • 3D-printed mounts were added to accommodate last-minute cosmetic changes to the outer shell
  • Cabling started becoming a mess, and last minute modifications had to be made to the structure where adhesive pads and anchors wouldn't work

I'm sure plenty of other engineers have a different viewpoint, but I'm so fucking impressed this got released as a product and performed so well for so long. The insides were literally held together by zip ties and glue, but can we take a second to appreciate that those still held? There's no billet machined aluminum body frame, no custom modular harnesses, no consistent choice of connectors, standoffs and foam padding that did not match the reference images in any manual; and yet, it worked just fine.

Mine to keep!

The base is pretty awesome. It's a solid, proven frame with a simple, low-maintenance drivetrain and all the key sensors you would need for SLAM. I'm sure it's not the first robot base to repurpose hoverboard-style hubmotors and certainly not the last, but it's more than good enough for your typical robot mobility needs. Everything shown above could easily be driven by your own set of basic brushless ESCs and a cheap SBC.

As for the battery that I was tasked to fix this entire time, it was a discontinued 7s battery with a custom BMS board shrink-wrapped in plastic and covered with foam. It had separate charge and discharge connectors, but the BMS seemed to only be powered by the battery, isolated from the charging ports. This meant that once the batteries were discharged too low (which all of these were), I had to expose the direct leads to the battery to get them to charge at all. When I reached out to the distributor for a replacement battery, I was quoted 1-1.5k USD.

I'm not saying this battery was sketchy, but it was sketchy

As for the rest of the bots' functionality, I found out that this Pudu model wouldn't function without the ceiling mounted fiducial markers, which not only used a proprietary pattern but also needed to be IR reflective. Wouldn't you know it, these markers aren't made anymore, and the company refused to disclose any additional details. I think the more recent models use just SLAM without markers, but I remain puzzled why integrators nowadays continue to shy away from this one-time setup cost that makes operation so much simpler.

If you stumble across one of these guys out of commission, it's likely to stay out of commision, unfortunately, but the structure is pretty neat if you're okay with replacing the battery and control boards with your own homebrew mix. After these disassembly shenanigans, my Facebook Marketplace benefactor let me keep one of the bots, so now I have a stripped-down base (seen above) that maybe I can remix in the future.