Jon's Place

Monday, December 4, 2006

Motion Control

Motion control is a biggie for bipedal robots, and its the thing that I have spent the most time on in the design of MicroRaptor. I firmly believe that motion control is the key to building an intelligent robot. Now, I have no expectation that MicroRaptor will become "smart" - its really not intended for that. It is intended as a relatively cheap platform to test my motion control system on, and also to check out the overall architecture of the rest of the system.

Spring elastic actuators, which I described earlier, are a key point to my control system. The Bioloid AX-12 servos should be able to provide a usable simulation of a SEA, with the appropriate control feedback loops written on my gumstix. A proper SEA is a smart actuator, with an onboard micro-controller that handles the force feedback internally.

One of the major issues with walking is of course maintaining balance. In MicroRaptor, the six-axis IMU will be used to sense balance. I am implemented a generalized sensor query system (mentioned before as the pattern matching system), and it can handle far more than just visual patterns. It will be capable of looking for patterns in any of the sensors, and be able to react accordingly.

Actually, the sensor query system doesn't do any reacting - it just tells the guy who set up the query that it has triggered. In the case of balance, the motion system will set up a permanent sensor query that watches the 6-axis IMU output, and triggers the motion system to react when the sensor tells it the robot is out of balance. Reacting might be as simple as applying more force to the foot servos in one direction, or swinging the head/tail to try and compensate, or as complex as moving a leg out to catch balance.

As the robot gets "older", its sense of balance will get better. What I mean by that is the motion profiles used for standing still, walking, running, etc, will be self-tuned by using a genetic-programming technique to improve. Gait smoothness, which is really another word for balance, is one of the performance measures for the genetic system to test against.

To start off, however, I will be kick-starting the process of learning to walk. I plan on building some fairly complex and powerful visual gait editors, to allow me to look at motion samples captured as I move the legs, and to tune those captured samples. I will also be writing software to convert between positional control (which is what I will start with) and force control, which is how it will eventually work.


Post a Comment

Subscribe to Post Comments [Atom]

<< Home