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)))}