Announcement

Collapse
No announcement yet.

Cost-function for locomotion optimization

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cost-function for locomotion optimization

    Hi, my name is Francisco and I'm currently finishing my Master Thesis in Biomedical Engineering at Instituto Superior T├ęcnico, Lisbon. For this project I developed a controller based in the Hartmut Geyer and Hugh Herr article "A Muscle-Reflex Model That Encodes Principles of Legged Mechanics Produces Human Walking Dynamics and Muscle Activities". The goal of this project is to develop a walking pattern based on reflexes that is going to be applied in some Robot.

    Currently, I believe the controller is well design in Matlab/Simulink (with a plot representation of the walking pattern) and the next step is to optimize 20 parameters such as spring stiffness and force feedback gains, in order for the "stick man" to walk a long time and not just 2 steps as it happens currently.

    My problem here is that i found that is really difficult to develop a cost-function to be used in the optimization problem, in order to achieve a stable walking pattern at 2D. I've tried using a minimization of the energy expend, such as minimizing the moments applied at each joint (ankle, knee and hip), but the model simply tries to push himself out of simulation in order to have this value minimized (the simulation stops when the knee goes into hyper-extension or the "stick man" falls. I have also tried to maximize the distance traveled by the hip, but the model tends to jump forward to maximize this value, and does not understand that if he put one foot in front of the order continuously, that will lead to a greater distance traveled.

    Can somebody help me solve this cost-function problem?
    Thank you in advance for your consideration.

  • #2
    Re: Cost-function for locomotion optimization

    Hi Francisco,

    These studies by Bill Sellers did essentially exactly what you are trying to do (energy-minimizing simulation of gait, many consecutive steps):

    To understand the evolution of bipedalism among the hominoids in an ecological context we need to be able to estimate the energetic cost of locomotion in fossil forms. Ideally such an estimate would be based entirely on morphology since, except for the rare instances where footprints are preserved, …

    This paper uses techniques from evolutionary robotics to predict the most energy-efficient upright walking gait for the early human relative Australopithecus afarensis, based on the proportions of the 3.2 million year old AL 288-1 'Lucy' skeleton, and matches predictions against the nearly contempor …

    Maximum running speed is an important locomotor parameter for many animals-predators as well as prey-and is thus of interest to palaeobiologists wishing to reconstruct the behavioural ecology of extinct species. A variety of approaches have been tried in the past including anatomical comparisons, bo …


    Or see also these studies by Taga:

    A new principle of sensorimotor control of legged locomotion in an unpredictable environment is proposed on the basis of neurophysiological knowledge and a theory of nonlinear dynamics. Stable and flexible locomotion is realized as a global limit cycle generated by a global entrainment between the r …

    The generation of human locomotion was examined by linking computational neuroscience with biomechanics from the perspective of nonlinear dynamical theory. We constructed a model of human locomotion, which includes a musculo-skeletal system with 8 segments and 20 muscles, a neural rhythm generator c …

    Adaptive gaits of humans were produced as a result of emergent properties of a model based on the neurophysiology of the central pattern generator and the biomechanics of the human musculoskeletal system. We previously proposed a neuromusculoskeletal model for human locomotion, in which movements em …

    Theoretical studies on human locomotion have shown that a stable and flexible gait emerges from the dynamic interaction between the rhythmic activity of a neural system composed of a neural rhythm generator (RG) and the rhythmic movement of the musculo-skeletal system. This study further explores th …


    You may need to try different optimization routines (I had decent results using simulated annealing for a similar project) or a different scheme for controlling the model. In other words, the problem may not be the cost function necessarily.

    I would suggest not terminating the simulation when it falls over or hyperextends the knee. Sometimes the optimization routine needs to search around in the neighborhood of those bad solutions to find a better solution. In my experience it works better to assign quadratic penalties to those events in the cost function but to let the simulation proceed to completion even when they happen.

    Hope this helps,
    Ross
    Last edited by Ross Miller; August 6, 2013, 01:41 PM.

    Comment


    • #3
      Re: Cost-function for locomotion optimization

      Francisco,

      At the recent ISB congress in Brazil, there was a presentation by Tim Dorn. He used a model with control system similar to Geyer's to optimize running and that worked very well. The model had legs actuated by muscles and rest of body actuated by joint torques.

      In his abstract, he says: "The main components of the objective function were: i) minimize metabolic energy across muscle actuators [5]; ii) minimize torque across joint actuators; and iii) achieve a target speed of 3.5 m/s without falling for as long as possible."

      You have to design the objective function carefully to get the desired result. Hopefully your optimization is fast enough that you can try a few different objective functions and learn what works.

      Ton van den Bogert

      Comment


      • #4
        Re: Cost-function for locomotion optimization

        Francisco,

        At the recent ISB congress in Brazil, there was a presentation by Tim Dorn. He used a model with control system similar to Geyer's to optimize running and that worked very well. The model had legs actuated by muscles and rest of body actuated by joint torques.

        In his abstract, he says: "The main components of the objective function were: i) minimize metabolic energy across muscle actuators [5]; ii) minimize torque across joint actuators; and iii) achieve a target speed of 3.5 m/s without falling for as long as possible."

        You have to design the objective function carefully to get the desired result. Hopefully your optimization is fast enough that you can try a few different objective functions and learn what works.

        Ton van den Bogert

        Comment


        • #5
          Re: Cost-function for locomotion optimization

          Hi Francisco,

          I did some computer code necromancy this morning and dug up the cost function that I used for doing this with a 2D model. It was:

          J = (E/dx)^2 + w1*Qhat^2 + w2*(Spd - TarSpd)^2 + w3*(MaxKneeExt)^2

          where:

          - E is the metabolic energy expenditure [joules], calculated using Umberger's (2010) energy model
          - dx is the horizontal displacement of the model's center of mass [meters]
          - Qhat is the final angular position of the head-arms-trunk segment [radians]
          - Spd is the average horizontal speed of the center of mass [m/s]
          - TarSpd is a target average speed [m/s]
          - MaxKneeExt is the maximum knee (hyper-)extension angle [radians]

          w1/w2/w3 are weighting factors and you typically have to experiment a bit to set "good" values for them. It becomes more of an art than a science in the end in terms of assigning their values, since we don't really know how much weight the nervous system gives to such things in reality.

          The control scheme I used was based on this paper by Aoi et al. below. I was able to get the model to do seven good steps with simulated annealing optimization but it took an eternity (over two weeks on 64 cores of a parallel computing cluster). If I optimized the controls over N steps then the model could do N good steps, but I was never able to get it to be "stable" for very many additional steps outside of those that were directly included in the optimization, which always bothered me.

          The central pattern generators (CPGs) in the spinal cord strongly contribute to locomotor behavior. To achieve adaptive locomotion, locomotor rhythm generated by the CPGs is suggested to be functionally modulated by phase resetting based on sensory afferent or perturbations. Although phase resetting …


          I think the Geyer scheme you described should work fine too. You can see some movies of its implementation in the work Ton mentioned here, it is pretty impressive!



          Good luck,
          Ross
          Last edited by Ross Miller; August 25, 2013, 10:17 AM.

          Comment

          Working...
          X