comparison thesis/cortex.org @ 480:ad76b8b05517

s.
author Robert McIntyre <rlm@mit.edu>
date Fri, 28 Mar 2014 23:17:10 -0400
parents a5480a06d5fe
children 6e68720e1c13
comparison
equal deleted inserted replaced
479:a5480a06d5fe 480:ad76b8b05517
2048 #+caption: part of the ground. 2048 #+caption: part of the ground.
2049 #+name: touch-cube-uv-map 2049 #+name: touch-cube-uv-map
2050 #+ATTR_LaTeX: :width 15cm 2050 #+ATTR_LaTeX: :width 15cm
2051 [[./images/touch-cube.png]] 2051 [[./images/touch-cube.png]]
2052 2052
2053 ** Proprioception is the sense that makes everything ``real'' 2053 ** COMMENT Proprioception is the sense that makes everything ``real''
2054 2054
2055 Close your eyes, and touch your nose with your right index finger. 2055 Close your eyes, and touch your nose with your right index finger.
2056 How did you do it? You could not see your hand, and neither your 2056 How did you do it? You could not see your hand, and neither your
2057 hand nor your nose could use the sense of touch to guide the path 2057 hand nor your nose could use the sense of touch to guide the path
2058 of your hand. There are no sound cues, and Taste and Smell 2058 of your hand. There are no sound cues, and Taste and Smell
2089 to get from the first to the second vector. It is not commutative 2089 to get from the first to the second vector. It is not commutative
2090 like a normal dot-product angle is. 2090 like a normal dot-product angle is.
2091 2091
2092 The purpose of these functions is to build a system of angle 2092 The purpose of these functions is to build a system of angle
2093 measurement that is biologically plausable. 2093 measurement that is biologically plausable.
2094
2095 2094
2096 #+caption: Program to measure angles along a vector 2095 #+caption: Program to measure angles along a vector
2097 #+name: helpers 2096 #+name: helpers
2098 #+begin_listing clojure 2097 #+begin_listing clojure
2099 #+BEGIN_SRC clojure 2098 #+BEGIN_SRC clojure
2111 (let [angle (.angleBetween vec1 vec2)] 2110 (let [angle (.angleBetween vec1 vec2)]
2112 (if (right-handed? vec1 vec2 axis) 2111 (if (right-handed? vec1 vec2 axis)
2113 angle (- (* 2 Math/PI) angle)))) 2112 angle (- (* 2 Math/PI) angle))))
2114 #+END_SRC 2113 #+END_SRC
2115 #+end_listing 2114 #+end_listing
2116
2117
2118
2119 #+caption:
2120 #+caption:
2121 #+caption:
2122 #+caption:
2123 #+name: name
2124 #+begin_listing clojure
2125 #+BEGIN_SRC clojure
2126 #+END_SRC
2127 #+end_listing
2128
2129 2115
2130 *** Proprioception Kernel 2116 *** Proprioception Kernel
2131 2117
2132 Given a joint, =proprioception-kernel= produces a function that 2118 Given a joint, =proprioception-kernel= produces a function that
2133 calculates the Euler angles between the the objects the joint 2119 calculates the Euler angles between the the objects the joint
2182 (joints creature))] 2168 (joints creature))]
2183 (fn [] 2169 (fn []
2184 (map #(%) senses)))) 2170 (map #(%) senses))))
2185 #+END_SRC 2171 #+END_SRC
2186 #+end_listing 2172 #+end_listing
2187
2188 2173
2189 =proprioception!= maps =proprioception-kernel= across all the 2174 =proprioception!= maps =proprioception-kernel= across all the
2190 joints of the creature. It uses the same list of joints that 2175 joints of the creature. It uses the same list of joints that
2191 =joints= uses. Proprioception is the easiest sense to implement in 2176 =joints= uses. Proprioception is the easiest sense to implement in
2192 =CORTEX=, and it will play a crucial role when efficiently 2177 =CORTEX=, and it will play a crucial role when efficiently