Robotics / Artificial Life


Goal: Based on some of your feedback and lab requests, this week we are further discussing simulated systems, in particular robotic and other artificial systems. As a basic methods class, we can only go so deep, of course, but luckily there are lots of interesting demos to play with, even without physical robotic systems! Our goal this week will be to test out some "Braitenberg vehicles" -- a foundational concept in artificial systems that give off curious behavior even under simple rules. Enjoy.

Step 1: Visit the site and read the introduction

Go to "FloraJS," www.florajs.com, which is a browser-based environment for simulating natural systems. A number of demonstrations are already setup here, and you can read the introduction on "Braitenberg vehicles," which we'll also discuss in class.

Step 2: Explore vehicles 1 to 3c

Click on the demonstrations for vehicles 1, 2a, 2b, 3a, 3b, and 3c. Explore their behavior. On some of the demonstrations, you can click and create new objects in the simulated environment.

Step 3: The systems "unveiled"

One idea from Braitenberg (who wrote about this in 1986!) is that we interpret complex behavior even when the systems are being controlled by very simple rules. The above simulations, "aggression" and "love" are just simple rules, built on top of each other, to create more and more complex kinds of behavior. Check out the following demonstrations of how FloraJS creates the Braitenberg vehicles. These are the "simple rules" that govern the Braitenberg vehicles:

Sensor and stimuli (attraction / repulsion): An "agent" (one of the vehicles) has a simple sensor that just avoids, or is attracted to, objects in its environment.

Following an object: Without anything more complicated than just a "follow X" rule, an agent can seem eerily "goal oriented," without there actually being a complex "goal" involved. Note: Here, an "agent" is chasing a "walker" -- the walker's behavior is generated by a random algorithm (there is no intention to "get away" either).

Does it creep you out when an agent follows your mouse? :-)

Step 4: Let's get a bit more complicated

Okay, you should by now get the idea that "seemingly complex behaviors" can spontaneously emerge from very simple rules and environments. Let's play with the system a bit. I've created a demo for you here. Play with the parameters. Just three simple parameters. Look at how you get can qualitatively different behaviors from just subtle changes in the rules. Remember, walkers walk randomly, and agents (sometimes) seek them out.

Answer these questions: What happens if an agent is not chasing a walker? What does that agent do instead? The answer is related to "flocking." Can you play with the parameters and get different versions going until you get a "gang" of agents moving together?

That's it! Please submit your brief narrative on CROPS.