I have written these tech pages in the hope that it will encourage others to build walkers, and hopefully demonstrate that it is not perhaps as difficult as it would first appear. It just takes a lot of dedication and time.
We wanted to build another walker, but our aims with Miss Struts were a lot different to those for Jim Struts. We wanted Miss Struts to be within the heavyweight walker limit, and hence be in the main heavyweight competition. There was a big emphasis on keeping her weight within the rules. From the experience of Jim Struts we decided we liked the hydraulics, despite them being heavy and slow and difficult to control. This left us with having to find the weight savings in the legs and chassis, so we adopted very simple legs, and used aluminium and polycarbonate as construction materials. From this we arrived at the skimpy chassis and a very simple leg in each corner(Quadraped). The drawback of this simple design was the walking styles needed to be significantly more complex than Jim Struts, in order to keep Miss Struts balanced.
Well, our minimal research across the web did not reveal much info on quadraped walking styles, so we started from scratch. We watched the cat walking, but it was too quick; we watched the tortoises, they where too slow and often relied on their shell sitting on the ground; tried crawling on hands and knees but came up with inconsistent observations.
We then took the simple premises that the centre of gravity must lie within a triangle formed by three feet on the ground, which leaves the fourth foot to move freely off the ground. The second premise was that to have a four footed sequence, with each foot taking a turn in the air, then each leg has four phases, three phases on the ground and one in the air to start the next step. From this you can see that to keep three feet on the ground at the same time, the single phase in the air must be a lot quicker than the three phases on the ground.
The next problem was to find out how the four phases on each of the four legs must be related so that each foot has it's phase in the air, in turn whilst keeping the body balanced. The first rule is that each leg can not be on the same phase as any of the other legs. At this point we reverted to a spreadsheet and played around with different phasing on each leg and stepped through the sequences until we found a solution (fortunately there are not many combinations). Below is what we found:-
There are several interesting and incidental things which come out of this.
Reversing this sequence exactly gives you going backwards with no change in stability.
The numbers one and three give a crude indication of stability, calculated from the number of empty boxes between the leg in the air and the two legs closest to it. Low numbers are good stability and high is poor stability. As the legs move the stability changes hence the text saying increasing or decreasing stability. Three is in fact when the centre of gravity is located exactly on the connecting line between the two legs closest to the one in the air.
Whether you are going forward or backwards the trailing legs (back), always start less stable, than the leading legs (front). Looking at the real world of four legged creatures, this is possibly a contributing factor to why their heads overhang the front, and why most four legged creatures don't like walking backwards.
Once we had found the above sequence and a simple way to indicate the stability, we wrote a computer program that used many points in the step sequence, and tried all combinations of relationships between the legs, which resulted in the same sequence....
We then took it further by asking why should the feet be on the ground for 75% of the time, so using the same program we tried some extreme examples such as the foot in the air moving near instantly from one end of its travel to the other (may not be possible in the biological world, but may be in the mechanical), this would represent all four feet on the ground most of the time so much more stable. For Miss Struts we played with these values and adopted the feet to be on the ground for 85% of the time; which represented all four feet on the ground for about 10% of the time, three feet on the ground for 75% of the time leaving each foot in the air for 15% of the time. This can obviously be taken the other way and have the the foot on the ground less than 75% of the time and you start to only have two or even less feet on the ground at a time, running!
Miss Struts in fact had two walking styles, we found that the three feet on the ground style was very slow but very powerful and well balanced.
The second style was very simple basically having two feet on the ground at the same time. Diagonally opposite feet move in pairs. Whilst the pair on the ground are moving to the back the pair in the air are moving to the front. The advantage of this is that the time of the foot in the air was about equal to the foot on the ground and so much more easily implemented using hydraulics.
The practical consequence of this was that the walking was much faster. The fact that the robot was balanced on two legs meant it could tip to one side, resulting in one of the feet, which should have been in the air, dragging on the ground. This could have been cured if we had powered ankles keeping the feet squarely on the ground in relation to the body. There was not a sufficient weight allowance to have this kind of elegance, and the dragging foot did not cause us any problems, so we left it as is.
Turning was predicted to be a nightmare but in fact turned out to be much easier than expected. We found (again using a spreadsheet) that if we used the three feet on the ground, front right foot in the air as a starting point for all four feet, but move the left feet only in the forwards sequence, and the right feet in the backwards sequence, at every phase the robot was stable and would turn on the spot to the right. If the sequences were reversed from the same starting point then the robot would turn to the left. It was all very slow but in fact more stable than when walking!
For Miss Struts we used two PIC chips, a 16C73A which decoded the receiver data, and a 16C77 which controlled the legs. The receiver chip program was fairly similar to that for Jim Struts, but with enhancements to the detection of loss of receiver data or RF carrier, and improved data detection in the presence of noise caused by low signal strength.
For the walking chip we used all the analogue to digital convertors for measuring the absolute positions of the feet, two per leg, with a resolution of eight bits. We were using industrial linear potentiometers as sensors.
The software worked in a similar way to that for Jim Struts in that targets were set for each foot and the hydraulics were driven until the sensors were at the target.
There where some major differences compared to Jim Struts though.
Instead of calculating a lookup table on the fly for the loci of the feet, we had pre-calculated the tables. For each walking style there were 32 tables of 48 values, 16 of the tables were for the backwards and forward positions and 16 for the up and down positions. Each of the 16 tables in either the up and down motion or front to back motion represented 16 different stride amplitudes or step height amplitudes.
As each target was met the next target would be fetched from the look up tables, and then a correction would be applied to the looked up value, so that you could change the mid-point of the step or adjust the ride height, and for more fun adjust the left and right tilt and the front and back tilt.
By taking this approach it took marginally longer to get the next target data, but was significantly more reliable than calculating the table on the fly which resulted on Jim Struts having a stutter in the foot motion at the centre of the step. It also meant that with the 48 points for the foot path you could a have far more complex loci for the foot. We found that a basic triangle was more than adequate.
We found the above system worked very well but because there was so many points for the loci of the feet, the rams would be switched off too frequently and slow the walking, you would also see a juddering of the rams as they where switched on and off. We solved this by allowing two error margins to the targets. If the smaller (inner) error margin was met on a target the ram would be shut off. If the larger (outer) error margin was met the software was flagged that the target had been met but the ram was not switched off. By doing this the rams where shut off far less frequently and so the walking action became much smoother and made a significant difference to the walking speed, with some loss of accuracy in following the foot loci.
For Miss Struts we used the same transmitter as for Jim Struts but we added a few more controls. The transmitter now broadcasts sixteen groups of data each one byte long, the four upper bits held the group number and the four lower bits held that groups data. These groups of data are constantly transmitted in sequence. The groups now carry the following commands/data:-
We have not had the problems with Miss Struts as we have had with Jim Struts, the hydraulics where much better balanced, and the software proved to be more reliable and have less bugs.
We did have lots of problems with the reservoir tank. In trying to get away with the least amount of oil in the tank, we made a tank from polycarbonate, but it leaked and was in fact too small such that the oil would froth. We then started using Macaroni Jars made of acyclic, as acyclic is brittle, we managed to crack at least three of them, mainly from the vibrations of the engine. We are currently using a home made copper tank, which is more securely mounted to the engine and pump. It has not been perfect and we have had to solder patches on to it where it has aged harden and fractured due to flexing. (The flexing was caused by the air pressure in the tank not being released to the atmosphere as easily as it should have been, we replaced the hose to the atmosphere with a shorter tube and a larger bore). We also had problems with the oil frothing. this was cured by putting a baffle plate made of polycarbonate with holes drilled in it, into the tank.
We did try Miss Struts with a bigger engine and pump, this did increase the oil flow rate but we instantly got the oil frothing. We suspect that this was caused by cavitation on the inlet to the pump and generally all the tubing having too small a bore. We did not have time to pursue this, so we reverted to the original engine and pump.
The other area we had problems with, was the bungee cord suspension. The cords would get cut by the sharp edges on the legs, we reduced the problem by using rubber matting on the sharp edges, but we never actually cured it just increased the life time of the cord.
If you think there should be some other technical detail on these pages please EMail me at the following address and I may add the information to this page:-