diff 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
line wrap: on
line diff
     1.1 --- a/org/test-creature.org	Sun Jan 29 23:34:12 2012 -0700
     1.2 +++ b/org/test-creature.org	Mon Jan 30 00:25:11 2012 -0700
     1.3 @@ -6,7 +6,69 @@
     1.4  #+SETUPFILE: ../../aurellem/org/setup.org
     1.5  #+INCLUDE: ../../aurellem/org/level-0.org
     1.6  
     1.7 -* ideas
     1.8 +
     1.9 +
    1.10 +* Brainstorming different sensors and effectors.
    1.11 +
    1.12 +Every sense that we have should have an effector that changes what
    1.13 +that sense (or others who have that sense) experiences.
    1.14 +
    1.15 +** Classic Senses
    1.16 +| Sense                        | Effector                        |
    1.17 +|------------------------------+---------------------------------|
    1.18 +| Vision                       | Variable Coloration             |
    1.19 +| Hearing                      | Speech                          |
    1.20 +| Proprioception               | Movement                        |
    1.21 +| Smell/Taste (Chemoreception) | Pheremones                      |
    1.22 +| Touch                        | Movement / Controllable Texture |
    1.23 +| Acceleration                 | Movement                        |
    1.24 +| Balance (sense gravity)      | Movement                        |
    1.25 +|                              |                                 |
    1.26 +
    1.27 +- New Senses/Effectors
    1.28 +- Levitation
    1.29 +- Telekenesis
    1.30 +
    1.31 +- Symbol Sense
    1.32 +   Where objects in the world can be queried for description /
    1.33 +   symbols.
    1.34 +
    1.35 +- Symbol Marking
    1.36 +   The ability to mark objects in the world with your own descriptions
    1.37 +   and symbols.
    1.38 +
    1.39 +- Vision 
    1.40 +  Distinguish the polarization of light
    1.41 +  Color
    1.42 +  Movement
    1.43 +
    1.44 +* project ideas
    1.45 + - HACKER for writing muscle-control programs : Presented with
    1.46 +   low-level muscle control/ sense API, generate higher level programs
    1.47 +   for accomplishing various stated goals. Example goals might be
    1.48 +   "extend all your fingers" or "move your hand into the area with
    1.49 +   blue light" or "decrease the angle of this joint".  It would be
    1.50 +   like Sussman's HACKER, except it would operate with much more data
    1.51 +   in a more realistic world.  Start off with "calestanthics" to
    1.52 +   develop subrouitines over the motor control API.  This would be the
    1.53 +   "spinal chord" of a more intelligent creature.  The low level
    1.54 +   programming code might be a turning machine that could develop
    1.55 +   programs to iterate over a "tape" where each entry in the tape
    1.56 +   could control recruitment of the fibers in a muscle.
    1.57 + - Make a virtual computer in the virtual world which with which the
    1.58 +   creature interacts using its fingers to press keys on a virtual
    1.59 +   keyboard.  The creature can access the internet, watch videos, take
    1.60 +   over the world, anything it wants.
    1.61 + - Make virtual insturments like pianos, drumbs, etc that it learns to
    1.62 +   play.
    1.63 + - make a joint that figures out what type of joint it is (range of
    1.64 +   motion)
    1.65 +
    1.66 +   
    1.67 +
    1.68 +
    1.69 +
    1.70 +* goals
    1.71  
    1.72  ** have to get done before winston
    1.73   - [ ] write an explination for why greyscale bitmaps for senses is
    1.74 @@ -1004,6 +1066,12 @@
    1.75  
    1.76  
    1.77  
    1.78 +;; here's how motor-control/ proprioception will work:
    1.79 +
    1.80 +
    1.81 +
    1.82 +
    1.83 +
    1.84  
    1.85  
    1.86  (defn test-creature [thing]
    1.87 @@ -1133,7 +1201,7 @@
    1.88          sim
    1.89          (world node
    1.90                 {"key-space"
    1.91 -                (fn [_ value]
    1.92 +vvvvvv                (fn [_ value]
    1.93                    (if value
    1.94                      (let [cr (CollisionResults.)]
    1.95                        (.collideWith node bounds-b cr)