Analyse this video, about "big dog", a walking robot from Boston Dynamics, Inc :

a walking robot with 4 legs, developped by Boston Dynamics, Inc. The robot can climb, walk on sand, snow, or ice, or jump. Even if you kick the robot, it won't fall down ! When attacked, it makes one or two steps to the side, to regain its equilibrium.
Such a robot is very similar to an animal because it was built very similar to an animal. Not only there are legs instead of wheels, but also the information processor is built similar to a brain. The software engineers had to hard code concepts such as "how to learn from experience", "how to simulate myself", "how to dream", "what are my goals". The rest is learning, as in any animal.

    main reasons to imitate nature:
  1. Quality:
    animals are well adapted to their environment, thanks to thousands of generations with survival of the fittest (Charles Darwin: evolution theory). Animals which could not sufficiently adapt their legs and their behaviour to changes in the environment extincted; what survived is well optimized.

    So it makes sense to imitate, if possible, every part of the animal.

    The brain is a part of the animal, obviously. So it makes sense to imitate this part of the animal, too: self learning algorithms are the better imitation of brains, compared to hard coded procedures.

    A special case are humanoid robots: they are optimized in fitting into a human environment such as kitchen, hospital, etc. Because their measures are similar to the measures of human, there is no (or little) need to adapt the environment to make it accessible to humanoids. If the robot is equipped with hands, then a cooking pot does not need a handle for human and another for robots. For the same reason, humanoids are well suited for teaming up with humans.

  2. Costs:
    It is difficult to tell a robot exactly how to do everything (in the sense of a procedural instruction), but it is easy to say what is a good robot behaviour, and it is easy to get samples of good and bad behaviour. This is exactly the key requirement for using methods of machine learning. It is cheaper and better than hard coding a robot.


robot optimization