Scale Models of ROS robots

A few months ago I had an odd thought (as an occasional modelmaker), has anyone ever made a model of a ROS robot? An AGV, a PR2 to sit on your desk? A Moose? It should be fairly straightforward even, because practically all robot description packages ship a mesh of the robot for rviz which can be fixed up a little and 3D printed to get an exact replica.

I’ve searched quite a bit but couldn’t find anything like that online. So I guess it fell to me to make the first entry.

I got the idea when looking at the ST3045M, the microservo variant of the really practical ST3215 that everyone’s using in SO-ARMs. Something so tiny with full positional and velocity control, low speed torque, odom feedback, and one wire control is like the holy grail for modelmaking.

My first plan was Segway’s Nova Carter, since it’s a fairly aesthetic design, but some miscalculations later I realized it’s way too narrow for it to work with these servos. Clearpath’s Husky or Jackal would work, but then I found Husarion’s Lynx which both looks cooler and the wheel shafts line up almost perfectly when scaled down.

So a few months later, here’s the end result: A 1/5 scale model with most of the capabilities of the real thing, except maybe runtime and a slightly lower scale top speed:

The shell is 3D printed PLA, spray painted, plus some minor weathering with chrome paint, the tires are just off the shelf 1/24 scale crawler wheels with printed hubs. I’ve used double ended LED filaments to make the RGB strips, even the WS2812C is too large at this scale.

I had to modify the servos a bit, sawing off the mounting plates on one side so the shafts would be close enough to the end of the chassis without them poking out. They occupy the entire bottom third:

I was planning to use a Pi Zero 2, but the performance meant it would never be able to run anything useful. The only realistic other option was a CM4 + a drone carrier board to leave me enough space for the other stuff. Expensive but totally worth it imo, since it also has very compact pixhawk connectors and an external antenna plug. I had to take some creative liberties in the rear, extending it out a bit and flattening it so the parts would fit.

(no the tiny estop doesn’t work, sorry :joy:)

As for how I made it run nav2 without a lidar is… well that it does actually have a built in lidar. There’s a Vl53L7CX in the front that behaves a lot like a really garbage stereo camera with only 64 pixels, from which I can extract a horizontal line or two, make some hilarious assumptions and boom a laserscan. Needless to say slam_toolbox recoils in horror unless I disable scan matching, but the wheel odom + BNO085 is actually totally enough to map that way for short periods.

And here are the internals, I’m not really patient enough to make my own PCBs, so it’s just a bunch of dev boards with gratuitous components removed, wrapped in kapton tape and shoved in there.

My enemy throughout the build was heat. I’ve never attempted anything this compact before and with such high power components the second chassis just melted around the CM4. I thought passive cooling will be enough, but even with a heatsink the size of the entire rear end it didn’t really help. So it needs the fan, and extra vents in the wheel wells and the top to help keep the battery cool too. The wheels are ultra soft, which is nice for grip (it can climb up a 30 deg slope out of smooth metal) but they also almost tear off when turning in place on rough surfaces.

The pogo pins in the front are for charging and I have an apriltag dock planned, but I still need to find a usb webcam that looks scale and design a gantry that mounts on top…

I’ve documented most of the setup, since it’s convoluted enough that I’ll forget half of it in two months otherwise, but hopefully it comes in useful for anyone else, there’s some videos there too:

I wouldn’t really recommend anyone to try and recreate it strictly based on that since it’s hardly complete, but I really hope it comes in handy as an inspiration or learning reference. I would just love to see if anyone else has already made something but just never posted it, or if hopefully this gives someone the idea to make something similar. I think a Nova Carter is genuinely doable with geared micro steppers after seeing this thing the other day.

11 Likes

For most of your post, I was thinking about what kind of little robot I should build first. But now, I want to build one of those chess boards.

Ngl that magnetometer + coil based localization is kinda insane, I’m definitely trying that one day for something that would need hidden tracking.

Now clearly you have to build a tournament size board with pieces that move themselves, but are also models of different robots. Let’s see, Spot as the pawn, TB4 rook, hmm Matrice as the queen (cause it can fly fast in all directions I guess), PR2 as the king, UR5 as the knights, Huskys as bishops?

1 Like

PR2 is the queen. It has to be, with its capabilities. The king would be a Pioneer 3, which is the robot that Player, the original open source robotics framework, was first designed for.

Oh man, that thing…

I still need to restore it someday, but right now it’s only the king of collecting dust. :stuck_out_tongue:

2 Likes

So much fomo in this post! How do you like these Feetech micro servos?

1 Like

Haha, well initially I thought I got fleeced, since I was using the vassar feetech library which worked fine for me with the ST3215 and the ST3250, but with these I had endless problems. When setting up wheel mode it would initially work, then on the next reboot they would suddenly get corrupted eeprom and spun uncontrollably (or something, I never figured out what exactly was going wrong), so I had to reset all servos to factory settings every time I tested anything. Even if I manually configured all registers it still wouldn’t reset.

Then I luckily tried what I think is feetech’s own library (scservo) which immediately worked just fine without messing them up, so yeah, my bad I guess. They’ve been completely reliable since. They are apparently a bit more brittle and less tested firmware-wise, but hardware-wise I can’t complain. The housing feels like actual steel and I had a lot of trouble sawing off those mounts.

I think one of them is a tiny bit louder than the rest (typical Chinese nonexistent QA) but so far they’ve held up really well. I’m not really loading them up all that much though nor maxing the voltage so they should hopefully last.

1 Like

If you are talking about the Arduino library, it’s actually a fork of Waveshare’s library for their serial bus servos. Surprisingly-unsurprisingly they follow the same protocol.

I mean this one which claims to be a direct copy from feetech’s gitee. Yeah they’re all generally the same standard protocol but wheel mode is apparently an obscure enough control setup that it’s not handled reliably by all implementations :person_shrugging:

So I did manage to find a camera that fits, and in the strangest way possible. There’s lots of these form factor cams sold on aliex:

Scaled up 5x they would have a roughly 75mm diameter lens. Too big to be any industrial cam, but right about a typical DSLR/mirrorless:

Looking at some canon models I could just about make a printed shell fit around it, plus a threaded insert inside it so it’s mountable:

I stripped the original cable and painted the four USB wires so they look more like scale cables, naturally mixing up D+ and D- and giving myself a heart attack when it wouldn’t show up on lsusb after the conversion, lmao. Luckily USB is actually tolerant of that mistake.

I think it looks fairly convincing when painted in the end:

Especially from afar:

It really puts into perspective how damn small the real lynx is.

Had to add a heatsink here too, it replaces the the display. Who’d think cameras without the usual 40mm PCB plus extra plastic isolation around them would heat up like crazy?

And the quality is decent for the size…

Now why exactly would anyone in the right mind mount a DSLR on a mobile robot? I’m not sure, but I suppose if there was a supply chain issue and they had one on hand that did UVC mode, maybe it would be a way to set up a quick prototype for inspection imaging. In theory it should work. Anything is possible when someone wants a project done yesterday :laughing:

5 Likes

Oh, I would disguise the camera as one of those 7000+ usd Leicas.

1 Like