Carpentopod: A walking table project

September 9, 2024 Maker

Back in 2008, I wrote some software for fun to generate various optimized walking mechanisms. And when I also picked up some electronics and wood working skills in more recent years, I was able to turn one of these mechanisms into an actual wireless walking wooden coffee table: the Carpentopod. This post briefly covers this project from start to end.

Designing a new linkage

The Carpentopod leg linkage itself was generated by some software I wrote that evolved thousands of virtual generations of leg variations by having them compete against each other. To select which ones were best, each variation got assigned a ‘fitness’ score based on its walking speed, clearance and material use. I also rewarded extra points to variants that had leg tips which moved more horizontally and more smoothly during the lowest third of their cycle to make it favor solutions in which a group of three legs would work together to minimize bobbing and foot slip.

Each leg variation’s fitness score was then compared, and only the best ones got a chance to mix their genes (i.e. leg parameters) to create the next generation of thousands of variants over and over again, leading to better and better solutions over time. Additionally, next to genes just mixing through ‘natural’ selection, genetic mutations were regularly introduced to help discover new solutions and keep variation going until it was time to converge. Having written everything including the kinematics solver in C++, this simulation was able to evolve dozens of generations per second, making it easy to see how bad initial designs turned into highly optimized ones.

The video above shows this process for 20 seconds of evolution. Each frame shows a different individual out of 5000 ‘alive’ variations. It also superimposes the trajectory of the leg tip of all 5000 individuals at the same time, creating this red and green ‘blob’ that converges to a single solution over time. The leg linkage that I eventually selected for the Carpentopod itself was simply picked by running a larger and longer version of this simulation. And, like picking an official animal name, I choose its name by combining old Latin and Greek words: carpentum (being a carriage), and pod (for feet or legged).

Anyone who’s ever seen one of Theo Jansen’s inspiring Strandbeest sculptures will probably see the similarity between his leg linkage and the Carpentopod linkage. The Carpentopod linkage, however, has a very different set of component ratios, as well as an extra joint point and an evolved rounded toe diameter. These extra parameters allowed the evolution process to find a solution that is more compact and causes less foot slide.

Foot slide is caused by having different toes on the ground that don’t perfectly match in speed, which will therefore cause the legs to try to slow each other down in practice. (Still, Strandbeest legs often seem to be built with some sort of flexible/rolling toe instead of a rigid one to probably help compensate for this effect somewhat). See the video below to compare the two different designs, including their effect on size, center of gravity, and foot sliding/skating.

Designing a walking table

For many years, the above was simply the interesting end result of a hobby project. But as I also picked up an interest in making physical things in more recent years, this allowed me to actually use this linkage for something more tangible. The first thing I tried making was a tiny model of an earlier version of the evolved linkage (being less optimized for compactness and therefore less suitable for what ended up being the Carpentopod table). Just to test my newly developed skills and try out my new CNC before attempting something bigger…

Next, I decided to make a walking wooden coffee table. Mostly because I thought that could be something both (relatively) practical and esthetically pleasing to have. As each individual leg in the Carpentopod linkage is only a third of the walk cycle on the ground, the table itself therefore would require twelve legs to be stable at all times. To walk smoothly, the leg components also needed to be made with sub-millimeter precision and stay that way. This is why I designed them to be CNC-ed out of sheets of laminated bamboo, which is a particularly strong, natural, durable and stable material, and would nicely fit the style of mixing the robotic with the organic.

I designed all of the table’s components using Autodesk Fusion 360, which allowed me to model, test, render and do all CNC preparations in one package. And being able to actually see it fully assembled in software from any perspective at any phase in its walk cycle made it much easier to tweak the esthetics and make sure all the clearances were just right.

Between the six legs on one end and the six on the other, I also left room for a hollow central ‘belly’ to contain the electronics, motors and battery. To make this not look all angular, I designed the frame and belly to be curved, like an upside down treasure chest. This probably contributed to some people commenting that it looks likes The Luggage from Terry Pratchett’s Discworld novels. (But I promise this similarity is purely coincidental and that a Carpentopod table is far less dangerous.)

The central belly also causes all legs to have at least some distance from the center, which allows them to all participate more effectively in doing turns. Each group of six legs is designed to be connected to its own crank shaft, driven by a single motor. That way, I only needed two separately controlled motors to ‘drive’ and turn the table like a tank.

The build

To turn the 3D design into an physical table, I preferred to CNC as much as possible. For precision reasons, but also because it makes it a lot easier to churn out twelve identical wooden parts, for example. And this being just a hobby for fun and not a production line, I decided to make everything myself using my cheap 3-axis CNC router.

A 3-axis CNC can only remove material from the top. But as many parts would also need material to be removed from the bottom and/or only the sides to make more intricate shapes and concavities, I designed most leg parts to be made out of three sheets of laminated bamboo that I could CNC separately, and then glue together.

And of course, even a single part can require many passes with differently sized and shaped cutting tools, and/or may have to be precisely remounted upside down to do both sides. But that’s just the reality of CNC-ing if you don’t want to pay for a much more expensive 5-axis CNC with automated tool changer, and you don’t want to make 3D prints from plastic either…

Besides the 100+ bamboo parts I CNC-ed, sanded, lacquered and assembled using even more ball bearings and steel shafts, the design also required two crankshafts. I ended up making these by effectively hammering together D-shaped shafts and rotated offsets with D-shaped holes, which I very carefully CNC-ed out of plain aluminum rods and sheets, respectively.

The table’s curved belly ‘doors’ were made by finely ‘kerfing’ the same laminated bamboo, steaming it to make it even more pliable and then letting it dry in a curved jig to give it its new shape. This was then glued on top of two invisible hinged ribs with embedded magnets, making the doors easy to open and close. Lastly, I welded together a piece of TV furniture of the same height, and turned a single piece of mango timber into tops for both pieces of furniture, effectively turning them into a set.

Making it move

Both six-legged sections should be driven by their own motor. But it’s each section’s single crankshaft that coordinates the relative leg movement. This can be seen in the next video in which I simply push a motor-less section forward, making the section effectively behave like a wheel.

It also contains (upside down) footage showing how the toes would gently touch the ground (that is represented by the black line), but don’t try to push through it. This means that the table won’t ‘bob’ much when walking around. Of course, minimizing bobbing was one of the original evolutionary fitness requirements when the linkage was being evolved in the computer, but it’s always good to test things in reality as well…

To actually make it move by itself, I ordered two cheap geared 24V brushless motors that are normally meant for automated curtain products, outputting max 1.5 Nm @ 130 RPM. Their built-in electronics also allowed direct speed control using an extra PWM signal wire. Sadly, signaling them to go at low speed almost instantly got them into some automatic multi-second (thermal) shutdown mode even under just a fraction of its maximum load. Luckily, leaving the PWM signals at 100% and directly changing the voltage worked a lot better as can be seen in the following experiment, where I directly connected a tweakable lab power supply to the motor on one of the two 6-legged sections.

To be able to control the motor voltages automatically, though, I bought two cheap Step Up/Down Converter modules to convert basically any battery’s voltage to anywhere between 0 and 24V. Then I hacked them so that their output voltage could directly be set using a fast PWM signal from a repurposed Arduino Nano micro-processer board. The voltage converter modules also offered a tweakable max current setting, which gave me per-motor control over the max stall torque (and therefore the safety of my fingers).

Next, I fed the exposed Hall-effect motor sensor signals into the Arduino board, and wrote some software in C to create my own closed-loop motor controls. This meant that the motors could now independently and accurately target any achievable speed and position, independent of load.

As a last step, I connected a Bluetooth module to the Arduino and wrote some C code that allows it to connect and understand joystick data coming from the wireless repurposed Nunchuck that I also made. And after also installing a 14.8V LiPo battery into its belly, I now had a wireless table that could walk anywhere in my living room using a tiny remote. Is it honestly very useful? Maybe not. But is it fun to make it bring me a drink? Very much so.

Making the linkage public

UPDATE: Since this post has gone public, many people have asked me if they could get one as well. I’m currently not making these on demand. However, I’ve decided to release the Carpentopod linkage itself as public domain. So if you have the skills, feel free to use the details below to build your own set of legs! (Tips: If done correctly, the crank should end up at about ‘1000.0’ above the ground at this drawing’s scale. Also, don’t expect the legs to work well by themselves or in pairs. Three is the magic number, here!)

Comments (74)

Mogno
September 9, 2024

Very nice finish on the legs.

Florent
September 9, 2024

I love every single bit about that. The amount of work with regard to the (lack of) usefullness makes it even more fantastic in my views. Thanks for sharing.

Giliam
September 9, 2024

Thanks!

Cody
September 9, 2024

This video wants me to take up carpentry. Inspiring.

Tristan UK
September 9, 2024

Oh please, can I buy one? Amazing

Robert M
September 9, 2024

Any chance of getting the design and code? Would love to make a walking table…chair…bed….

mike
September 9, 2024

Any chance of a tutorial? It would be 😍

McGee
September 10, 2024

This is cool shit right here

Martin
September 10, 2024

That’s awesome! Could you open-source the files and make a tutorial? :D

Labahoula
September 10, 2024

Fantastical !

Dan
September 10, 2024

This is incredible.

Michigan
September 10, 2024

price?

Anonymous
September 10, 2024

I just put together a motorized simulation of a pair of these feet in Tinkercad. Very cool work you’ve done here!
If you don’t mind, I may finish this out to build out a fully walking table model.

https://youtu.be/bqJcD3bb2IA

Joshua
September 10, 2024

Sorry. I remade the video at a higher resolution, and deleted the old one: https://youtu.be/WJ5XZkNJtac

Scrappy
September 10, 2024

How much weight can it bear with those mechanisms? (Thinking of gentle mechanisms like this to help mobility impaired)

Giliam
September 10, 2024

Hi Joshua! Wow, that was quick! Glad you liked it! I guess you took some measurements directly from your screen? :) For you and others, I’ve just added the leg plan details themselves, so feel free to use them to make yours exact.

Marc
September 10, 2024

I don’t normally leave comments on anything but in this case I must. Wow. Just wow. Incredible work.

Bill
September 10, 2024

Brilliant, absolutely brilliant. But far too clever for me I’m afraid. But I would love to make one. Me being a (retired) programmer an’ all, even your code sounds beyond my skills!

If you ever produce a detailed set of step-by-set instructions, I might be first in the queue to buy them!

Suchi
September 10, 2024

This is so awesome! Thanks for sharing!

Eric
September 10, 2024

This is certainly the best thing I’ve ever seen. The tabletop alone looks really smart. The clackety clack of its little legs… sublime. For some reason this reminds me of the Luggage from Discworld.

liilliil
September 10, 2024

Cute, but noisy

Qasem Nick
September 10, 2024

I was looking for a wooden table on marketplace. And you ruined it.

Lau
September 10, 2024

This is art and genious, thank you so much for sharing your work and all the details about it!! I also love the sound its legs is making on the floor, you create a beautiful and gorgeous creature table here!

Giliam
September 10, 2024

Thanks for the kind comments!

Ike
September 10, 2024

really good sound :>

Shurik
September 10, 2024

This is outstanding!
If you ever decide to sell the kit (maybe just the electronics/motors + 3d model of the actual table legs which people can CNC or order on their own), I am sure that would be a hit.
Or if you release the detailed design under an open source license, even better.

Eric
September 10, 2024

That’s absolutely beautiful; I love the effect of seeing all the legs working together, like some giant scuttling insect. I’d love a table like that even without the motors; from the look of it you can just push it as if it were on wheels. Thank you so much for sharing it with us.

NKT
September 10, 2024

Fabulous work!

Honk
September 10, 2024

Well, there is a direct comparison vs the Strandbeest linkage:
https://www.youtube.com/watch?v=k4qrjD_HK4E

Carlos Enrique
September 10, 2024

This is *awesome*! Great job.

Teja
September 10, 2024

This is just mind blowing, Sir Giliam. Bow bow bow and congratulations! I wish you’d teach kids how to create such wonders. Kind regards from sLOVEnia, :) Teja

Enver
September 11, 2024

LEGEN….waitforit…DARY !!!

Manuel
September 11, 2024

Impressive!!

Serhii
September 11, 2024

Good day. I’m sharing an idea: you can make him a charging base from a robot vacuum cleaner, so that he has his own permanent power source)

robert diiorio
September 11, 2024

incredible your wood working, electronic and programming skills are fantastic!

Elias
September 12, 2024

I hate Spiders but love this Table!

#Respect

ShamWerks
September 12, 2024

Gorgeous. Thank you for making your linkage public. 👍👍👍

Pancho
September 12, 2024

Thank you for taking the time to write this up and share with the world!!! I will hardly forget this – one of my life goals is for my house to look like a wizard’s house, and building one of these has just become imperative.

Giliam
September 12, 2024

Much appreciated, all!

And Pancho, I hope you achieve your plans!

Dietske
September 12, 2024

You’ve made my day; thanks for sharing this!

Geoff
September 13, 2024

I love it, thank you so much for sharing the dimensions!!!

David Hopkins
September 13, 2024

It would be cool to make a gate with the carpentopod walking tech. It could be called a walking gait…

Bob G-M
September 13, 2024

Reminds me of The Luggage crossed with Harry Potter… awesome work!

TOM
September 14, 2024

Great invention! I would love to make one for an elderly person with limited mobility. Could you please give me a detailed production method?

Howard NYC
September 14, 2024

OMG…!

yo! Netflix!

mini series… Earth invaded by knee high remotely controlled mining robots… whose central control unit is oblivious to humans… just utterly outside its codebase’s rules… just starts tearing apart cars for metal… more robots get built from scraps… an ever expanding swarm of robots…

they have these horrid, creepy legs… and also similar appendages to tear apart cars

Amish horse drawn wagons, however, ignored being 98% non-metal

soldiers armed with wooden spears and leather sandals and cotton loincloths — nails in boots, zippers in pants, bullets are metal — deployed to stab each of the mining robots until it stops moving

Giliam
September 15, 2024

@Howard NYC: I would watch it! :)

wujun
September 14, 2024

it’s three have another model

Steve F
September 14, 2024

Brilliant!

doobs
September 15, 2024

Hey there,

This is really cool.

I’ve modeled it up pretty your dims in SolidWorks and everything works just fine.

I blindly applied a 50% scale to all the parts and the hair was severely affected.

Is like to print this off on my 3D printer and the bed is limited.

Any thoughts to scaling the entire mechanism?

Thanks

Giliam
September 15, 2024

@doobs Not sure I understand about the hair part? ;) The mechanism in the linkage drawing is scaled to make the height of the crankshaft 1000, so you can scale everything down based on your preferred height of the crankshaft and work from there.

doobs
September 15, 2024

Sorry,

Let’s try this again without the “autocorrect” part….

I meant gait, not “hair”…. LOL

What I figured out after I posted the message above is that one of the links was not connected after I did the scaling. Stupid engineer tricks….

I’ll play with this some more today and report in.

Unfortunately these efforts are a bit hampered by the fact that SolidWorks doesn’t provide the ability to control a scale feature via an equation.

So manually changing scales on the 8 unique parts is a bit tedious. If push come to shove, I’ll write a macro.

Again, very cool work. I’ve not gotten this enthused about something in a while.

I’m a retired electro-mechanical engineer. Most of my professional career was spent designing, building and operating Remotely Operated Vehicles (ROV’s).

Now that I’ve got more time on my hands, I am diving into cool projects like this one.

cheers

chris

doobs
September 15, 2024

So scaling all 8 unique pieces about the origin the same amount works just fine.

Appreciate the work you have done!

chris

Jim O’Hern
September 16, 2024

This is my second message to you. I am not a stalker, though.
Using your linkage diagram (thank you for that), I am trying to draw up plans in Onshape to build a competition robot for the FIRST Tech Challenge. I mentor two teams and have done so for almost a decade. I never went with a legged robot because robots in our competitions have a max of eight motors. That would include arms, claws, levers, etc., and would have been too cumbersome for an 18″ cubed robot. Your very elegant design may actually allow us to have a legged robot on the field this year! My students will be quite excited about this possibility. If we make progress, I will share it with you.

Jim O’Hern
September 16, 2024

I am attempting to figure out how the front and back legs operate off of the same (cam?) segment. Could you show a sketch of that relationship? I am not an engineer, and I am sure I’m using the wrong terms. Essentially, I need help understanding how all six legs, per side, are driven by a single motor. I expect that the cam is divided into 120-degree segments, but cannot figure out how that works, mechanically.

Dom Perignon
September 16, 2024

Absolutely fantastic. My 9yo and I are floored. Thanks for sharing and congrats for making one of the most ingenious built I’ve seen.

Giliam
September 16, 2024

@Jim O’Hern. Hi Jim! Firstly, good luck with the project! And secondly, have you seen the extra video I linked to in my reply to your question on YouTube (the Passive Walking one)? That’s a whole 6 legged section, driven by one motor. So you need two of those. Also, have you looked at the two rods that end up being half as thick on one side than the other, in bottom-left image in the ‘Designing a walking table’ section?

But in short, opposing legs (built from exactly the same components) are connected to the same crankshaft pin, while neighboring legs are offset by 120 degrees because they’re on different crankshaft pins. Hope this helps!

Anna
September 16, 2024

This is how The Luggage should look like (all the best to all Pratchett’s fans)

Alexey
September 16, 2024

Such a masterpiece! Thanks for your work and for making it public!

Adam B
September 17, 2024

This is amazing! I just joined a makerspace a few months ago just so I could learn to make neat projects like this. I recently learned how to use our CNC machine, and I think this would be a fascinating project. I would certainly decorate the final product to look like the luggage from Pratchett books, it’s too cool not to! Please let me know if you have any design or print files that you care to share! I don’t know a ton about electronics yet either, but I think this would be a great project to learn with. ^_^. Very nice, and thanks for sparking my interest to learn more about how to do these projects!

Brian
September 18, 2024

I will pile on. I too immediately thought of the Luggage from Sir Terry Pratchett. Thank you for sharing all the details. Amazing engineering.

Matthew
September 18, 2024

This is an incredible mixture of evolutionary biology, carpentry, cnc machining, and coding. You created a museum piece by applying amazing sophistication in the pursuit of whimsy. Just great!

ou
September 18, 2024

朋友你好,很喜欢你的作品。我想制作这个行走桌子机器人,能共享一下图纸?我也愿意购买你的图纸,欢迎合作

ou
September 18, 2024

Hello friend, I really like your work. I want to make this walking table robot. Can you share the drawings? I am also willing to purchase your drawings. Welcome to cooperate. Do you use WeChat as a social media app? Can you leave your WeChat number? I want to add you

jv
September 18, 2024

If you release the fusion360 files you would make a lot of people’s day

Jim O’Hern
September 20, 2024

Gilliam,
I am on my 8th iteration of the project and have used a half-spool of PLA, but I am very happy with how things are going so far. I have scaled your dimensions down to 1/10th and am now adding bearings. I know I will have MANY more changes to make, but I will say your project has truly inspired me and I appreciate it. I will add an autonomous operation when I am done, based on April Tag detection, IMU readings, and other sensor results. I am hopeful that I will eventually have something to show you that will make you know your posting has been appreciated. I wish I could post pictures of what I’ve done.

Updates to follow…

Giliam
September 20, 2024

Thanks for all the comments!

@doobs/Chris: Good to hear you got it to work! And enjoy that extra free time you now have!

@Jim O’Hern: Oh, making good progress! And those are quite the plans! I’d love to see it. If you want, feel free to send a link (maybe to a shared Google Drive folder, for example) to website@decarpentier.nl.

@Adam B: I wasn’t planning on sharing the actual 3D files atm. Not a big fan on plastics, but if this project somehow earns me back enough money to buy a mid-range 3D printer, I might look into it. But the CNC files are not something I’d want to share in this form :). And for the electronics, there’s probably already a whole bunch of pre-made RC stuff out there. Just don’t try to connect it to something that outputs more than a few RPM ;). Also, when you’re able to share something, feel free to post a link here or to my email.

@ou and @jv: Sorry, no ready-to-go files to share at the moment. Also, see my response above.

Paul
September 21, 2024

Hi im a carpenter from germany. what an awesome table. chapeau

Mihrdät
September 22, 2024

You gave rebirth to the soul of DaVinci my friend. What a masterpiece.

Das Igelchen
September 24, 2024

Hello Giliam,

I think I got the linkage quite correct from your drawing with Solvespace. However, it seems that the size you made your Carpentopod is about 1/4th of the numbers in the drawing, if I say the unit is mm.

Maybe you want to keep it as a secret or can we get the actual scale?

Greetings

Das Igelchen

NOBLE
September 24, 2024

You’ve created something truly remarkable with the Carpentopod! The blend of craftsmanship and engineering is impressive, turning a coffee table into a walking work of art. Your attention to detail and creativity shine through in every aspect of the design. Amazing work!

https://blog.zabaleta.dev/
September 26, 2024

Love this project 🔝

dejavoo
October 4, 2024

great project! I love it!

Mr D
October 5, 2024

Is there one for sale ?

Peter
October 11, 2024

Hi,
I saw the Carpentopod at the MakerDays.
It looks awesome.
🤖Greetz, Peter

Leave a comment