chipONE. [semi-failed projects]
OMG IS THAT A ROBOT DOG, YES ITS A ROBOT DOG.
what the heck is this and why is this?
Okay valid question, ChipONE is exactly what it looks like, a robot dog. It started out as the next phase of the pathfinder project but quickly became a learning experience in me yet-again underestimating the difficulty of building certain devices (don't worry just because chipONE doesn't work doesn't mean he won't be back I have plans for him already).
After pathfinder, I thought my project to make a new home robotics system needed to be seriously re-thought. Any truly good robotics system would need to be useful all-around the home (meaning it would need to climb stairs). It would need to be able of relatively quick movement for efficient task-completion, and it would need to be FUN to an extent because the robot should feel like a PART of your home with a personality (not an appliance) given the new trend of "social robot" - more on that in a different post. Basically I think robots need some sort of personality, but not necessarily a human-like one. I'd like a home robot to interact with me to SOME degree, but I don't think I'd want it to ask me about my day.
So why legs in a robot? They seem complicated to deal with and highly over-rated. Based on thinking inspired by the Cheetah3 Robot and Professor Sangbae Kim's reasonings behind bio-inspired robotics, while a legged system was dynamically more complicated than a wheeled system it provides significant advantages over wheels and the extra complication may be worth the cost. Having four legs means crossing more types of terrain is possible, stairs become trivial obstacles passed by simply increasing step-high of a stable robotics system. There are power-consuptions advantages as well. A wheeled system will have inconsistent power draw arising from the fact that the wheels are not always on, but when they are each motor pulls a higher load and more current than systems with legs. Legged systems have more motors and constant power draw, but the power draw remains relatively consistent while standing and walking which is better for the battery system. Tests also revealed that while standing, the chipONE legged system drew between 1-1.5A of current at 24V input. Whereas a wheeled robot would draw more amperage if powered at the same voltage, while driving. Our estimates say that while walking, the system may actually draw less power because of a less load on a number of motors during the "step." Further tests need to be completed to officially determine the power efficiency of a legged system and to determine if the increase in efficiency is due to the system of legs itself, or because of poor design of the subject of comparison. The final reasoning behind legs has to do with the system's dynamic ability. A legged system will always experience a higher level of dynamic ability than a wheeled system (by nature).
So to be perfectly honest, this system didn't work mostly because the actuators that moved the legs did NOT have enough torque, I never made it to thinking about how a platform like this could be used for home use, so for now I'm going to scrap talking about that and tell you about how it was built and what I learned. Yes, chipONE was started because of the ideas learned from pathfinder but I don't think I'd consider it an official home robot prototype, it was more for FUN and more for learning after pretty much day one.
some chipONE background and materials
So I'll be honest, chip wasn't really designed. How chip came about was in the 4-409 maker space I worked in in my first semester at MIT, there were some really large Qwinout Super200 servos and some wood common board. I also happened to have recently acquired an Nvidia Jetson Nano and there was a Pololu USB Servo Controller lying around. So the project became more like "hey we have some giant servos, we have a servo controller, we have a Jetson, and a power supply, let's try making a robot dog." In my defense, I always loved MIT Cheetah and wanted one for myself.
how chip was made, the design that wasn't designed
The first mistake I made when making chip was decided it had to be huge (26 inches long), not a great start if I'm honest it it was half the size it might have worked and the motors wouldn't struggle to hold it up.
So there we are, started with this very large wooden frame. The center area was built to house the electronics and the wings stretching off the sides with rectangular holes in them were built to house the servos like in the second picture. The servos were slotted into the square holes cut out by a jigsaw and bolted through their mounting holes. The font long bumpers in the front and the back of the frame in the second picture were cut off later because they interfered with the legs themselves. Again, there was no design or plan before building this, sometimes it's fun just to go at something without a plan and see what comes of it.
The next step was to connect the leg forward-backward moving servo to the leg in-out movement servo (there are two shoulder servos that do the same thing your shoulder does - one rotates the leg forward and back and one lets it pivot away and towards the body). These were connected using 90-degree steel angle brackets bolted straight to the servo horns. A perfect example of "this seems like it could work." These two servos attached at right angles also represent all the degrees of freedom built into one leg. The diagram below explains.
As shown in the diagrams, one servo could move the leg forward and back, the other servo could move it away from and closer to the body. There was a gas shock connecting the upper leg and lower leg (the two were joined by a bolt) which allowed the lower leg to move independently of the upper leg while still being constrained to the position it needed to be in. The idea was on a step the shock would compress allowing the leg to hold the force, and when a step would happen the shock would extend as the weight was lifted off the leg so the foot could extend farther in front of the robot than were it was on the pervious step. It would walk like a slid-shimmy-step where the foot was always in contact with the ground.
This might have worked if the robot wasn't so heavy/large. The idea of sliding the robot legs across the ground in a sliding-walk didn't work in practice because of the fact that since the robot was so heavy, friction was really high and instead of sliding the foot stayed in place and just moved the robots body into un-ideal positions when the actuators turned. So instead of sliding, the robot stayed in place and did a weird dance.
Undoubtably it was a very exciting moment when I finished putting on all four legs, made the robot stand for the first time. It stood there for about 30 seconds until the legs started sliding apart and it fell to the ground because it was too heavy for the actuators to hold it. In fact, the robot really only stood if the actuators/legs were in the exact position as in the first picture. Any time the legs moved out of that position, the torque required by the actuators to maintain that position was so high the robot just fell down, 200 kg-cm proved not be enough which makes sense considering Cheetah 3 is of similar size and takes 230 Nm actuators, oops.
It's irrelevant to discuss the computing platform (the Jetson Nano and the Pololu controller) because really all I did with them was turn them on and have the Pololu send a "center servo" command to the servo. Nothing else was achieved because the robot could barely stand, and fell every single time I tried to make it do the slide walk. I'll admit I was never expecting it to trot around like Cheetah 3, but I wasn't expecting it to fall every time I moved the leg. Clearly, I should've done some more math to figure out if 200kg-cm was enough first. Or I should've just made it smaller.
what was learned
So many things were learned here including the relevant fact that maybe you should do some math before trying to build complicated systems. A basic calculation of the torques required would've told me that a system like this would never have worked because, mostly, of its size. A model at 1/4 the size would likely have worked really well even with the idea of sliding to walk.
On the walking method topic, of course this was never the idea way to walk a robot. Realistically we want the knee joint actuated as well so the robot could actually pick up its feet. Because of cost it was not done here but in the future, we'd make the knee actuated an get rid of the gas shocks. I actually tried replacing the shock with a linear actuator later and testing it and found some surprising things as I'll now discuss.
When replacing the gas-shock with a linear actuator. The robot's performance was actually worse which didn't make sense considering it could now LIFT its lower leg, clear the ground, step forward, and the put the foot down on the ground again. The REASON it was worse however is the linear actuator has no play whatsoever, there was no "suspension" between the lower and upper leg meaning there was nothing to absorb the impact of a step. This created a leg which was very rigid connected to the body by two servos with A LOT of play, sometimes up to 60 degrees of play. What this meant was every time the robot stepped the servos just moved from where they were and the robot fell because the leg was no longer absorbing the impact, the servos were.
So basically, we need to design thing before making them sometimes :). Or don't and deal with the consequences.
Of course this isn't a project I'm going to just scrap and not come back to, we will come back to it probably soon as legged robots are really interesting and may be the future of robotics. For now, I think its back to the drawing board, come up with a design that might work after doing some MATH, do some solid research, spend some cash on proper actuation systems and structures, and then try it again!