Well yesterday, after four long years, I got to open up about the robot I built and it made me realize just how many design changes I went through to get the final product. Technically it’s not even the “final” product, it’s just where I stopped and the next person took over. There’s still a lot of work left to be done with the design, but looking through all the photos of the process, I realized just how much work that robot really was.
In engineering it isn’t always a measure twice, cut once mentality. Sometimes when you’re building something, unforeseen things go wrong, or you realize there’s a better way. It’s not like designing a bridge or a building where you get one shot at doing it right, although to be fair, I’m sure construction plans change during the actual building phase. From an engineering standpoint though, there’s only so many simulations or equations you can check before you just have to build the thing.
For my robot, we couldn’t run all the simulations needed because that would’ve been a whole lot of work when we could just build and check. Now to be fair I did run several simulations, but a lot of the components behave in non-linear ways that are hard to model. Additionally, modeling 3D printed parts is never an easy task since parts are inherently anisotropic, meaning they are stronger in one direction (90 degrees to the direction of print) than the other.
While I did quite a bit of math to get to the solution I did, specifically with the knee, I was always surprised at some of the unforeseen issues I had. Things that I wouldn’t have even thought of turned out to be an issue once I had a physical copy to play with. A good example, again using my knee design, would be from the third iteration.
I broadly break up the robot designs into major iterations and minor. Major iterations are complete overhauls of the design, for whatever reason. The knee went through three major iterations, the hip and foot two, and the rotation mechanism for the knee, three. Minor iterations are changes to the design to overcome unforeseen issues or I just was bored and found a better solution, because what else would I do with my time? The knee by far had the most, I believe there were almost a dozen minor iterations, while the hip only had three, and the foot had two.
The point being, there were a lot of changes and from discussions with my former PI, the robot is still undergoing changes, mostly to lock certain degrees of freedom so they can study how it behaves using a simplified model and because 3D printed parts have that whole anisotropic behavior about them I just mentioned (it’s a pain). Since yesterday’s post was VERY long, I didn’t get to talk about the path to the final design, but I did hint at it. The image below for example highlights five of the changes to the knee design and in particular I think it’s important to talk about the change from the third (middle) to the fourth (counting from the left), because while they look similar, you’ll notice the “tail” that exists in that version and the “final” which is furthest left.
You’ll notice that the path changes quite a bit as well, I got better at estimating the curved path the four bar linkage would take, the end design (far right) provided a large contact surface for the full range of motion. It’s a work of art if I do say so myself. I’m getting ahead of myself though, we should talk about the middle design, the one without the “tail.”
The story goes simply like this, the proof of concept design was crappy, but demonstrated that I could do what I was claiming to my PI. Going from the iterations shown above, the second design (second from the right) used the same linkage size, but the third iteration was when I realized I could almost double the linkage size making the knee extra beefy, which is what I wanted to end up with, a bulletproof knee design. However, there was an unforeseen problem.
The photo above (left) was the first revision I made where I added what I’m calling the “tail to the tibial contact surface. When the knee was in the fully flexed position you see above, the center of rotation was in line with the yellow link, which doesn’t “really” exist, I added it for demonstration purposes, but the yellow link is a valid representation of the knee. This is a HUGE problem and I had done my job too well. The center of rotation couldn’t go any further back and because it was aligned directly with the blue and yellow links if I applied an out of plane force (from the side) the knee twisted badly!
It was a bit surprising and this instability bothered the crap out of me. I didn’t spend all this time designing this thing for this to happen, but since there was only a single instance where this occurred (fully flexed), the obvious fix was the tail. Thus when the knee is fully flexed, it literally locks in place with that tail so the load does not go through the pin joints anymore. When the knee is anywhere else, the center portions (you can somewhat see above) help provide an alternative path for out of plane forces (as in not going through the pin joints).
And that was a somewhat major “minor” iteration change that I had to address as I went through the design process with this knee. It was also an issue that I didn’t realize was an issue until we tested the 3D printed version. The simulations didn’t hint at this at all, so it was a bit of a shock when I came across the problem.
Since I didn’t get to talk about it yesterday either, I should also point out I keep saying I went through three major iterations with the knee, but yesterday I only showed two, the one you see above and the aluminum version, but there was a third! I don’t talk about it because it was very similar to the second iteration, but this was when I convinced my PI to purchase a special 3D printer that would produce very strong (still anisotropic) parts.
This version was mostly just modified to be printed instead of machined. I had to make the linkages extra large for this, almost comically large now that I look at it. The contact surfaces of the knee (femur portion or the top part) are removable so you can replace them as they wear. It was a better design, but it turns out the four bar linkage really is the better solution. And below you can see them all lined up for comparison.
Needless to say, there was a lot of work that went into the design I ended on. There were several major failures and some minor. I like telling this story because it’s a good reminder that your first idea isn’t always the best idea. It’s also important to show the path traveled because I think people tend to imagine the perfect design just popped out of my head one day and boom I built a robot. Up until yesterday this story was limited to the outreach I was doing, so I’m glad I get to talk about it here.
The foot went through two large changes, the first was bad, I’m not even sure what I was thinking when I came up with it. It was just the first design I could think of I guess, this was prior to realizing I could use the festo air muscles to create synovial joints, which IMO is a much better design and it stores energy as the robot walks, which is important. Bonus fact, in the photo on the right you can see a small hole, there were two holes (one on the opposite side) that fed tunnels that run through the foot to inflate each of the smaller joints, so you only need to add air to the ankle and the rest inflate. This linked the foot kinematically, meaning as the toes started to curl the ankle pressure increased (since the air is being compressed), making it a very complex system, but again I think it was for the better. Sometimes you need a little randomness to make the system perform more like a human and less stiff like a… well like a robot.
I’m sure this won’t be the final word on my robot, but I do hope that this helps remind others that the end product and the first design can be two very different things. On a somewhat personal note, I’ve wanted to build robots since I was like five, I mean who doesn’t, right? I literally told everyone I was building robots, mostly out of popsicle sticks, lol. So this was one of those moments where I was glad I grew up to be a big kid.