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

-------------------------------------------------------------------------
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