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