Mercurial > cortex
comparison org/test-creature.org @ 129:bab47091534e
add some ideas
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Mon, 30 Jan 2012 00:25:11 -0700 |
parents | 4b38355ad6e3 |
children | b26017d1fe9a |
comparison
equal
deleted
inserted
replaced
128:4b38355ad6e3 | 129:bab47091534e |
---|---|
4 #+description: | 4 #+description: |
5 #+keywords: simulation, jMonkeyEngine3, clojure | 5 #+keywords: simulation, jMonkeyEngine3, clojure |
6 #+SETUPFILE: ../../aurellem/org/setup.org | 6 #+SETUPFILE: ../../aurellem/org/setup.org |
7 #+INCLUDE: ../../aurellem/org/level-0.org | 7 #+INCLUDE: ../../aurellem/org/level-0.org |
8 | 8 |
9 * ideas | 9 |
10 | |
11 * Brainstorming different sensors and effectors. | |
12 | |
13 Every sense that we have should have an effector that changes what | |
14 that sense (or others who have that sense) experiences. | |
15 | |
16 ** Classic Senses | |
17 | Sense | Effector | | |
18 |------------------------------+---------------------------------| | |
19 | Vision | Variable Coloration | | |
20 | Hearing | Speech | | |
21 | Proprioception | Movement | | |
22 | Smell/Taste (Chemoreception) | Pheremones | | |
23 | Touch | Movement / Controllable Texture | | |
24 | Acceleration | Movement | | |
25 | Balance (sense gravity) | Movement | | |
26 | | | | |
27 | |
28 - New Senses/Effectors | |
29 - Levitation | |
30 - Telekenesis | |
31 | |
32 - Symbol Sense | |
33 Where objects in the world can be queried for description / | |
34 symbols. | |
35 | |
36 - Symbol Marking | |
37 The ability to mark objects in the world with your own descriptions | |
38 and symbols. | |
39 | |
40 - Vision | |
41 Distinguish the polarization of light | |
42 Color | |
43 Movement | |
44 | |
45 * project ideas | |
46 - HACKER for writing muscle-control programs : Presented with | |
47 low-level muscle control/ sense API, generate higher level programs | |
48 for accomplishing various stated goals. Example goals might be | |
49 "extend all your fingers" or "move your hand into the area with | |
50 blue light" or "decrease the angle of this joint". It would be | |
51 like Sussman's HACKER, except it would operate with much more data | |
52 in a more realistic world. Start off with "calestanthics" to | |
53 develop subrouitines over the motor control API. This would be the | |
54 "spinal chord" of a more intelligent creature. The low level | |
55 programming code might be a turning machine that could develop | |
56 programs to iterate over a "tape" where each entry in the tape | |
57 could control recruitment of the fibers in a muscle. | |
58 - Make a virtual computer in the virtual world which with which the | |
59 creature interacts using its fingers to press keys on a virtual | |
60 keyboard. The creature can access the internet, watch videos, take | |
61 over the world, anything it wants. | |
62 - Make virtual insturments like pianos, drumbs, etc that it learns to | |
63 play. | |
64 - make a joint that figures out what type of joint it is (range of | |
65 motion) | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 * goals | |
10 | 72 |
11 ** have to get done before winston | 73 ** have to get done before winston |
12 - [ ] write an explination for why greyscale bitmaps for senses is | 74 - [ ] write an explination for why greyscale bitmaps for senses is |
13 appropiate -- 1/2 day | 75 appropiate -- 1/2 day |
14 - [ ] muscle control -- day | 76 - [ ] muscle control -- day |
1002 ;;(defn test-touch [world creature] | 1064 ;;(defn test-touch [world creature] |
1003 | 1065 |
1004 | 1066 |
1005 | 1067 |
1006 | 1068 |
1069 ;; here's how motor-control/ proprioception will work: | |
1070 | |
1071 | |
1072 | |
1073 | |
1074 | |
1007 | 1075 |
1008 | 1076 |
1009 (defn test-creature [thing] | 1077 (defn test-creature [thing] |
1010 (let [x-axis | 1078 (let [x-axis |
1011 (box 1 0.01 0.01 :physical? false :color ColorRGBA/Red) | 1079 (box 1 0.01 0.01 :physical? false :color ColorRGBA/Red) |
1131 ;;node (nodify (conj collision-points obj-b)) | 1199 ;;node (nodify (conj collision-points obj-b)) |
1132 | 1200 |
1133 sim | 1201 sim |
1134 (world node | 1202 (world node |
1135 {"key-space" | 1203 {"key-space" |
1136 (fn [_ value] | 1204 vvvvvv (fn [_ value] |
1137 (if value | 1205 (if value |
1138 (let [cr (CollisionResults.)] | 1206 (let [cr (CollisionResults.)] |
1139 (.collideWith node bounds-b cr) | 1207 (.collideWith node bounds-b cr) |
1140 (println-repl (map #(.getContactPoint %) cr)) | 1208 (println-repl (map #(.getContactPoint %) cr)) |
1141 cr)))} | 1209 cr)))} |