When I'm ready to write software again, I would like to work on a mathematical model of a bipedal robot. To explain what I have in mind, we start with the attached diagram. This is an engineering approximation of a humanoid robot walker. Everything is confined to a plane. The thing consists of 7 links attached to each other as shown. All of the attachment points are pivot points with bearings or bushings, i.e., joints. Each link has mass and angular inertia. There are thighs and calves which are jointed at both ends. There is a torso and feet, each jointed at only one end.

At each joint there are muscles which can produce a certain amount of torque, up to some limit. These muscles are under control of an ANN (of course), so that the amount of torque depends on a signal from the ANN. There is a positive and negative output for each joint, so the ANN has 12 outputs.

The inputs to the ANN consist of the angles of all of the joints, and the angular velocities of all of the links. Also, the linear velocity of the torso, which has two components, horizontal & vertical. The force vectors acting on each foot will also be necessary. That amounts to about 17 inputs. Others might be added, or the list changed, but that's a good starting point.

In order to evolve an ANN which can control this thing, a fitness function is required, and that requires a goal. There are several different goals possible; potentially the thing could do all of them. The most obvious is walking, or running. Jumping is also possible, either straight up, or horizontally, or over an obstacle.

These are problems in optimal control, similar to the EvSail project. They are also machine learning problems, because the desired output of the ANN is not known in advance.

The original problem that led me to think of this is not any of the above, rather it is the problem of the optimal way to accelerate from a standing start. This includes the initial posture. IOW, How should the robot hold itself in order to be able to sprint away from the start as rapidly as possible. The robot will have to be in a low squat of some sort in order to take off rapidly, but not too low or his feet will slip, I think. I do have in mind using a realistic coefficient of friction with the ground.

Anyway, I would like this to be a multi-person project. I would like to concentrate mostly on the mathematical model. Hopefully, others will come forward to do other parts. This is a long term effort.

This project could easily be animated, so that we could watch the robots attempt to perform. That should be quite amusing. :)

It also could be extended to 3D someday. That would be most easily done if we use ODE or one of the available jointed mechanism simulators.

What are your thoughts, readers?

m

PNG image

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

Reply via email to