changeset 279:d8ff1a293b8c

merged video changes
author Robert McIntyre <rlm@mit.edu>
date Wed, 15 Feb 2012 10:26:05 -0700
parents 4c07724c4f0a (diff) 54ec231dec4c (current diff)
children 301e91a6c2d1
files
diffstat 3 files changed, 29 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
     1.1 Binary file assets/Models/heart/heart.blend has changed
     2.1 Binary file images/worm-with-muscle.png has changed
     3.1 --- a/org/movement.org	Wed Feb 15 01:16:54 2012 -0600
     3.2 +++ b/org/movement.org	Wed Feb 15 10:26:05 2012 -0700
     3.3 @@ -16,29 +16,31 @@
     3.4  
     3.5  *(next paragraph is from memory and needs to be checked!)*
     3.6  
     3.7 -In humans, muscles are composed of millions of sarcomeres, which can
     3.8 -contract to exert force. A single motor neuron might control 100-1,000
     3.9 -sarcomeres. When the motor neuron is engaged by the brain, it
    3.10 -activates all of the sarcomeres to which it is attached. Some motor
    3.11 -neurons command many sarcomeres, and some command only a few. The
    3.12 -spinal cord generally engages the motor neurons which control few
    3.13 -sarcomeres before the motor neurons which control many sarcomeres.
    3.14 -This recruitment stragety allows for percise movements at low
    3.15 -strength. The collection of all motor neurons that control a muscle is
    3.16 -called the motor pool. The brain essentially says "activate 30% of the
    3.17 -motor pool" and the spinal cord recruits motor neurons untill 30% are
    3.18 -activated. Since the distribution of power among motor neurons is
    3.19 -unequal and recruitment goes from weakest to strongest, the first 30%
    3.20 -of the motor pool might be 5% of the strength of the muscle.
    3.21 +In humans, muscles are composed of muscle fibers which can contract to
    3.22 +exert force. The muscle fibers which compose a muscle are partitioned
    3.23 +into discrete groups which are each controlled by a single alpha motor
    3.24 +neuton. A single alpha motor neuron might control as little as three
    3.25 +or as many as one thousand muscle fibers. When the alpha motor neuron
    3.26 +is engaged by the spinal cord, it activates all of the muscle fibers
    3.27 +to which it is attached. The spinal cord generally engages the alpha
    3.28 +motor neurons which control few muscle fibers before the motor neurons
    3.29 +which control many muscle fibers.  This recruitment stragety allows
    3.30 +for percise movements at low strength. The collection of all motor
    3.31 +neurons that control a muscle is called the motor pool. The brain
    3.32 +essentially says "activate 30% of the motor pool" and the spinal cord
    3.33 +recruits motor neurons untill 30% are activated. Since the
    3.34 +distribution of power among motor neurons is unequal and recruitment
    3.35 +goes from weakest to strongest, the first 30% of the motor pool might
    3.36 +be 5% of the strength of the muscle.
    3.37  
    3.38  My simulated muscles follow a similiar design: Each muscle is defined
    3.39  by a 1-D array of numbers (the "motor pool"). Each entry in the array
    3.40 -represents a motor neuron which controlls a number of sarcomeres equal
    3.41 -to the value of the entry. A muscle also has a scalar :strength factor
    3.42 -which determines the total force the muscle can exert when all motor
    3.43 -neurons are activated.  The effector function for a muscle takes a
    3.44 -number to index into the motor pool, and that number "activates" all
    3.45 -the motor neurons whose index is lower or equal to the number.  Each
    3.46 +represents a motor neuron which controlls a number of muscle fibers
    3.47 +equal to the value of the entry. Each muscle has a scalar strength
    3.48 +factor which determines the total force the muscle can exert when all
    3.49 +motor neurons are activated.  The effector function for a muscle takes
    3.50 +a number to index into the motor pool, and then "activates" all the
    3.51 +motor neurons whose index is lower or equal to the number.  Each
    3.52  motor-neuron will apply force in proportion to its value in the array.
    3.53  Lower values cause less force.  The lower values can be put at the
    3.54  "beginning" of the 1-D array to simulate the layout of actual human
    3.55 @@ -175,6 +177,12 @@
    3.56  
    3.57  * Adding Touch to the Worm
    3.58  
    3.59 +To the worm, I add two new nodes which describe a single muscle. 
    3.60 +
    3.61 +#+attr_html: width=755
    3.62 +#+caption: The node highlighted in orange is the parent node of all muscles in the worm.  The arrow highlighted in yellow represents the creature's single muscle, which moves the top segment.  The other nodes which are not highlighted are joints, eyes, and ears.
    3.63 +[[../images/worm-with-muscle.png]]
    3.64 +
    3.65  #+begin_src clojure
    3.66  (defn test-movement
    3.67    ([] (test-movement false))
    3.68 @@ -211,11 +219,7 @@
    3.69                          (Vector3f. -4.912815, 2.004171, 0.15710819))
    3.70            (.setRotation (.getCamera world)
    3.71                          (Quaternion. 0.13828252, 0.65516764, 
    3.72 -                                     -0.12370994, 0.7323449))
    3.73 -
    3.74 -          (comment 
    3.75 -            (com.aurellem.capture.Capture/captureVideo
    3.76 -             world (file-str "/home/r/proj/ai-videos/hand"))))
    3.77 +                                     -0.12370994, 0.7323449)))
    3.78          (fn [world tpf]
    3.79            (muscle-display
    3.80             (map #(% @muscle-exertion) muscles)
    3.81 @@ -240,7 +244,6 @@
    3.82  </div>
    3.83  #+end_html
    3.84  
    3.85 -
    3.86  ** Making the Worm Muscles Video
    3.87  #+name: magick7
    3.88  #+begin_src clojure