Robots from Previous Projects
In the previous years I made several robots for research and for demonstrations. Here are two of them
I completed Mukade in Kyoto University, Japan in during 1999-2000 as a research project on emergent gait patterns in multi legged robots. Assuming we have a robot running on unknown terrain, it must have a method of generating the required gaits. Mukade came up as a test platform from that idea. You can find a conference paper about Mukade here.
Six legged walker Gokiburi
I built gokiburi during term break in March 1995. When I first saw Genghis of R Brooks, I was very impressed with its elegance and wanted to build something similar after that. Gokiburi ("cockroach" in Japanese) has similar functionality, but different structure. There are six legs each with two degrees of freedom; making 12 degrees of freedom in total. The algorithm running on it is fairly simple, since just after building it I started PhD and did not have time to work on Gokiburi anymore. It is possible to generate general gait patterns on the robot with one constraint; the legs should stand close to 90 degrees to the ground since the servos do not have enough torque to support its weight. It is made of 3mm thick plexiglass sheet. Other material choices such as aluminum were too difficult to process with enough precision using hand tools and wood did not look very durable or professional. I had thoughts about the trength of the legs since they looked too fragile under its weight, but after 12 years now, the robot stands without a scratch. Gokiburi weighs about 600 gr without batteries and the plexiglass parts weigh 160gr in total.
It uses micro size RC servos as actuators which were the cheapest servos I could find at the time, so I had to do with them despite the low torque. I later learned that, these servos are specially made for model motorcycles and mini cars, and have a high performance (according to the manufacturer!). The Specs are; Sanwa (Airtronics) SM-541 servo, 0.13sec/60deg at 7V (quite fast!), 1.8kg.cm, 34x14x34mm, 22g
The cassette next to the robot gives an indication of size.
The legs are directly attached to the leg-lift servo arms. The leg-swinging servos are fixed to the body with hinges made of plexiglass. Their power is transferred to the body with ball links, which have zero slop, but are somewhat expensive(remember this was buit with a student budget). You can get a technical drawing of the robot (.ps)
Control is by the on board microcomputer card. The CPU is Z84C015; basically a Z80CPU in a QFP running at 10MHz, with peripherals such as timers, serial & parallel I/O and 32K of ROM and RAM each. The code was written in assembly (great for masoists!) with no tools for debugging... It turned out to be quite compact; about 700 lines. Currently, it only repeats certain leg movements, and no sensor processing.
Its code is divided into three levels:
Servo speed control reads position commands from the high level control, and adjusts them using a time base, so that servos can move at a required speed. It then writes the servo position table. Speed control softens the movements, and is useful for more complicated control tasks too. This level is also interrupt driven, and is transparent from the other processes.
High level control is only a test version now. All it does is to read predefined positions from ROM and place them in a list, where the speed control can read them. It makes Gokiburi walk with several gaits. This is where subsumption etc. would go.
Here is a graphical representation of the control program.
One gimmick is that, when you want to transport Gokiburi, you can remove the ball links, lift up the legs parallel to the underside of the body, and fold the servos into the space under the controller PCB. This makes everything nice and compact, with minimum disassembly. Put it in a box, and go!
The whole thing cost me about US$250, plus about one month of labor (for design, construction, programming and debugging).
Detail of the leg mechanism.