Mercurial > cortex
comparison org/joint.org @ 352:d9128eb5f42e
added some stuff to joint.org about flowers.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Tue, 05 Mar 2013 18:54:52 +0000 |
parents | 0596613e5a41 |
children |
comparison
equal
deleted
inserted
replaced
351:0596613e5a41 | 352:d9128eb5f42e |
---|---|
1 * Summary of Senses | |
1 | 2 |
2 | 3 vision -- list of functions which must each be called with |
3 * A joint | 4 the world as their argument, each of which returns [topology data]. Each |
4 | |
5 The point of this joint is that it uses exploratory motor movements to | |
6 learn how to move to any particular position. | |
7 | |
8 visual-information -- list of functions which must each be called with | |
9 the world the argument, each of which returns [topology data]. Each | |
10 element of data is a number between 0 and 255 representing the | 5 element of data is a number between 0 and 255 representing the |
11 intensity of the light recieved at that sensor. | 6 intensity of the light recieved at that sensor. Each element of |
7 topology is a pair of numbers [x, y] such that numbers whose pairs | |
8 have a short euclidean distance are generally physically close on the | |
9 actual sensor. | |
12 | 10 |
13 proprioception -- list of nullary functions, one for each joint, which | 11 proprioception -- list of nullary functions, one for each joint, which |
14 return [heding pitch roll]. | 12 return [heding pitch roll]. |
15 | 13 |
16 movement -- list of functions, one for each muscle, which must be | 14 movement -- list of functions, one for each muscle, which must be |
18 in the muscle. Each function returns a float which is (current-force/ | 16 in the muscle. Each function returns a float which is (current-force/ |
19 total-possible-force). | 17 total-possible-force). |
20 | 18 |
21 touch -- list of functions which must each be called with a Node | 19 touch -- list of functions which must each be called with a Node |
22 (normally the root node of the simulation) the argument, each of which | 20 (normally the root node of the simulation) the argument, each of which |
23 returns [topology data]. Each element of data is a posive float | 21 returns [topology data]. Each element of data is [length limit] where |
24 between 0.0 and the max length of the "hairs" of which the touch sense | 22 limit is the length of that particular "hair" and length is the amount |
25 is composed. | 23 of the hair that has been activated so far. (= limit length) means that |
24 nothing is touching the hair. | |
25 | |
26 | |
27 * A Flower | |
28 | |
29 A flower is a basic creature that tries to maximize the amount of | |
30 light that it sees. It can have one or more eyes, with one eye being | |
31 "special" in that it is this eye which must recieve maximum light. It | |
32 can have multiple articulated joints and mulcles. | |
33 | |
34 Want an algorithm that uses the sense data of =vision= | |
35 =proprioception=, and =movement= to maximum benefit in order to look | |
36 at the light source. | |
37 | |
38 The light source will move from place to place and the flower will | |
39 have to follow it. | |
40 | |
41 The algorithm should be generalize to any number of eyes and muscles, | |
42 and should become /more/ preformant the more sensory data is | |
43 available. | |
44 | |
45 I will punt on working out an elegant model of motivation for the | |
46 flower which makes it want to go to the light. | |
47 | |
48 Maybe I need a motivationless entity first, which just learns how its | |
49 own body works? But then, wouldn't that just be a motivation itself? | |
50 | |
51 | |
52 | |
53 | |
26 | 54 |
27 #+name: load-creature | 55 #+name: load-creature |
28 #+begin_src clojure | 56 #+begin_src clojure |
29 (in-ns 'cortex.joint) | 57 (in-ns 'cortex.joint) |
30 | 58 |