Archives
Categories
Blogroll
- January 2026 (2)
- December 2025 (1)
- November 2025 (3)
- October 2025 (9)
- September 2025 (3)
- August 2025 (5)
- July 2025 (1)
- June 2025 (2)
- May 2025 (3)
- April 2025 (2)
- March 2025 (7)
- February 2025 (10)
- January 2025 (6)
- December 2024 (7)
- September 2024 (1)
- August 2024 (2)
- July 2024 (2)
- May 2024 (2)
- April 2024 (2)
- February 2024 (2)
- April 2023 (1)
- March 2023 (2)
- September 2022 (1)
- February 2022 (1)
- November 2021 (1)
- March 2021 (1)
- February 2021 (2)
- August 2019 (1)
- November 2018 (1)
- May 2017 (1)
- December 2016 (1)
- April 2016 (1)
- August 2015 (1)
- December 2014 (1)
- August 2014 (1)
- March 2014 (1)
- December 2013 (1)
- October 2013 (3)
- September 2013 (4)
- August 2013 (2)
- July 2013 (1)
- June 2013 (1)
- February 2013 (1)
- October 2012 (1)
- June 2012 (1)
- May 2012 (1)
- April 2012 (1)
- February 2012 (1)
- October 2011 (1)
- June 2011 (1)
- May 2011 (1)
- April 2011 (1)
- March 2011 (1)
- February 2011 (1)
- January 2011 (1)
- December 2010 (3)
- November 2010 (1)
- October 2010 (1)
- September 2010 (1)
- August 2010 (1)
- July 2010 (1)
- May 2010 (3)
- April 2010 (1)
- March 2010 (2)
- February 2010 (3)
- January 2010 (4)
- December 2009 (2)
- November 2009 (5)
- October 2009 (2)
- September 2009 (2)
- August 2009 (3)
- July 2009 (1)
- May 2009 (1)
- April 2009 (1)
- March 2009 (5)
- February 2009 (5)
- January 2009 (5)
- December 2008 (3)
- November 2008 (7)
- October 2008 (4)
- September 2008 (2)
- August 2008 (1)
- July 2008 (1)
- June 2008 (1)
- May 2008 (1)
- April 2008 (1)
- January 2008 (4)
- December 2007 (3)
- March 2007 (3)
- February 2007 (1)
- January 2007 (2)
- December 2006 (4)
- November 2006 (18)
- AI (64)
- TIL deep dives (59)
- Python (58)
- Resolver One (34)
- LLM from scratch (31)
- Blogkeeping (18)
- PythonAnywhere (17)
- Linux (16)
- Startups (15)
- NSLU2 offsite backup project (13)
- TIL (13)
- Funny (11)
- Finance (10)
- Fine-tuning LLMs (10)
- Musings (10)
- C (9)
- Gadgets (8)
- Personal (8)
- Robotics (8)
- Website design (8)
- 3D (5)
- Rants (5)
- Cryptography (4)
- JavaScript (4)
- Music (4)
- Oddities (4)
- Quick links (4)
- Talks (4)
- Dirigible (3)
- Eee (3)
- Memes (3)
- Politics (3)
- Django (2)
- GPU Computing (2)
- LaTeX (2)
- MathML (2)
- OLPC XO (2)
- Retro Language Models (2)
- Space (2)
- VoIP (2)
- Copyright (1)
- Golang (1)
- Raspberry Pi (1)
- Software development tools (1)
- Agile Abstractions
- Astral Codex Ten
- :: (Bloggable a) => a -> IO ()
- David Friedman's Substack
- Econ & Energy
- Entrepreneurial Geekiness
- For some value of "Magic"
- Hackaday
- kaleidic.ai newsletter
- Knowing.NET
- Language Log
- Millennium Hand
- ntoll.org
- Obey the Testing Goat!
- PK
- PythonAnywhere News
- Simon Willison's Weblog
- Societive
- Software Deviser
- Some opinions, held with varying degrees of certainty
- tartley.com
Building the Coat Hanger Walker
Posted on 9 January 2007
in
Robotics
Here are a few things I noticed when building the "Coat Hanger Walker" from the Absolute Beginner's Guide to Building Robots -- see my last post -- that I think it would have been nice to know in advance. If you're not intending to build one in the near future, you should probably skip this post :-)
The original text is online here, so I will only mention the difference between my experience and the original author's.
- It's worth noting that the kit from Solarbotics does not include the 4cm gear described in the text; it perfectly clearly states what it does contain, and the gear is not in that list, but because all of the other components are included it's easy to assume that there is not one missing piece. Well, it was easy for me, anyway. I got a set of gears from Maplin that included one of an appropriate size -- "Spur Gear Set, part #917D/6", it says on the packet, though I can't find it on their website. Someone I spoke to at Solarbotics also mentioned that an old VCR could well contain an appropriate gear, along with lots of other useful stuff.
- Solarbotics have also switched the leg mounting pads that were included from being their LMP2 units (which are semi-triangular) to LMP1 (which are rectangular). I've suggested they switch back; the LMP2s require significant cutting with a rotary tool to fit the robot's plan, whereas the LMP1s required quite a lot less. This leads me on to....
- Before cutting the LMPs to fit the design, it's probably a good idea to make and test-fit the legs to them. This will make sure that you don't cut off bits that are required to hold the legs in place (cough).
- If you find yourself gluing the legs directly to the gears, having inexplicably found the leg mounting pads unusable, you will discover that five-minute epoxy is not strong enough. Indeed, five-minute epoxy isn't strong enough for any of the bonds for this robot, except perhaps the attachement of the battery packs to the motor (which is strengthened by a screw). After many unstickings and re-gluings I eventually got everything to hold together nicely with Araldite's 8-hour epoxy.
- Making the idler gear without the leg-mounting pad involved gluing the hub directly to the gear (having no LMP to glue it to). Again, I had glue problems; try as I might, I could not get the two to stick strongly enough. They would seem to hold for a while, but the bond was much too weak to stand up to the repeated motions of the gear. I eventually wound up supergluing a strengthening bit of plastic along the flat edge of the gear, on top of the hub.
- I found that when I connected the circuit to the servo, rather than moving (say) 30 degrees left, then 30 degrees right, it would move 30 one way and then 25 the other. This meant that after a while, it would rotate -- hardly the reciprocating movement required to make the walker walk! This may well have been caused by my distinctly non-l33t circuit-building skills, but I couldn't find anything obvious by poking around with a multimeter. So I used a mechanical solution -- the instructions recommend replacing the servo's final gear, which has a stop to prevent it from rotating more than a certain amount, with a gear without such a stop. Backing out that step and putting the stop back in there meant that I could arrest the extra 5 degrees leftward movement, giving an even 25-25.
- I can't emphasize how important the shape of walker's legs are. Once I had completed the build and started it up, it wobbled for a couple of seconds then fell over and twitched pathetically until I switched it off. My initial thought was that the frequency of the leg movements was too great, so I tried slowing it down using an elastic band to slow the movement of the front legs (as described here as Gait Dampening), but this didn't help. What did help was first carefully bending the legs to lower the centre of gravity (effectively by making it "crouch" more). Once I'd done that, it was able to stay in one place, with its legs slipping over the floor -- imagine a dog trying to run on an ice rink and you'll have the right idea. It was only when I tried flattening the "foot" ends of the hind legs that it started walking -- backwards, as I posted. I've been experimenting with different leg shapes, and will post anything interesting that I find.
If you've read this far, I really do hope you found it interesting :-)
Copyright (c) 2006-2026 by Giles Thomas.
This work is licensed under a Creative Commons Attribution 4.0 International License.