Robots Are GO!

Preview:

DESCRIPTION

This is a practical, hands-on workshop exploring autonomous robotics through a succession of experiments in which we will build increasingly complex robot behaviours. The code library and examples for Arduino are freely available at http://code.google.com/p/battle-bot/downloads/detail?name=Vehicle.zip This workshop is based on the book, “Vehicles: Experiments in Synthetic Psychology” by Valentino Braitenberg.

Citation preview

Dr Steve Battle!@stevebattle

Robots Are GO!

Connections between even a small number of brain cells can

produce complex behaviours.

William Grey Walter, Bristol 1948

ELSIE: Electro-mechanical robot, Light Sensitive with Internal and External stability.

ELSIE is an autonomous robot.

1984 - Valentino Braitenberg, cyberneticist, neuro-anatomist and musician publishes a series of thought experiments.!

These explore the principles of intelligence by building a series of successively more complicated creatures.!

Vehicles

Vehicle 1: Getting Around

•This vehicle has one sensor and one motor.!

•Light activates the sensor and makes the motor go faster.

Vehicle 1

“A motile E.coli propels itself from place to place by rotating its flagella. To move forward, the flagella rotate counterclockwise and the organism ‘swims’.  But when flagellar rotation abruptly changes to clockwise, the bacterium "tumbles" in place and seems incapable of going anywhere. Then the bacterium begins swimming again in some new, random direction.”!

“Swimming is more frequent as the bacterium approaches a chemoattractant (food). Tumbling, hence direction change, is more frequent as the bacterium moves away from the chemoattractant. It is a complex combination of swimming and tumbling that keeps them in areas of higher food concentrations.”!

http://www.cellsalive.com/animabug.htm

DFRobot 2WD Mobile Platform

Getting Started

1. Start the Arduino IDE!

2. Input and save the program!

3. Select: Tools > Board > Arduino Uno!

4. Verify the program!

5. Connect the robot with the USB cable!

6. Select: Tools > Serial Port > COM* or /dev/tty.usbmodem***!

7. Upload the program!

8. Disconnect the robot!

9. Switch the robot on!

10.Press a button to start the robot

V1 Experiments

1.Press any button to start/stop the robot!

2.What happens if you cover its eyes?!

3.Shine a torch into its eyes. Does it speed up or slow down?

Vehicle 2a: Fight or Flight

•This vehicle has two sensors and two motors.!

•Light drives the motors differentially.!

•The + is an excitatory connection.!

• It flees from the light.Vehicle 2a

V2a Experiments1.Leave the robot connected and start

the Serial Monitor. !

2.Shine a torch into its eyes. What’s the largest output value?!

3.Cover its eyes. What’s the smallest output value?!

4.Can you steer it with the torch?

Vehicle 2b: Fight or Flight

•It has positive phototaxis, directed movement towards a light.!

•It rushes towards the light.

Vehicle 2b

V2b Experiments

1.Can you steer it with the torch?!

2.Which is easier to steer?!

3.Which is more fun?

Vehicle 3a: Love

•Light inhibits the motors, causing it to come to rest and bask in the sunshine.!

•The - is an inhibitory connection.!

•This time, the uncrossed connections turn the vehicle to face the light.Vehicle 3a

V3a Experiments

1.Can you steer it with the torch?!

2.Place the robot under a table, in the dark. How does it behave?!

3.Does it try to get out from under the table?

Vehicle 3b: Love

•Vehicle 3b shies away from the light that calms it.

Vehicle 3b

V3b Experiments

1.Can you steer it with the torch?!

2.Place the robot under a table, in the dark. How does it behave?

Vehicle 3c: Love

Vehicle 3c

•In vehicle 3c both excitatory and inhibitory connections are summed at the motors.!

•If the excitation exceeds the inhibition the wheel moves forwards.!

•If the inhibition overcomes the excitation it moves backwards.

V3c Experiments

1.What happens when you shine a torch in its eyes?

Vehicle 4: Values and Special Tastes

•Vehicle 4 adds another sensor to detect the range of an obstruction.!

•It has a single brain cell, or neuron, that fires if an obstruction is too close.!

•This stops the robot and puts it into reverse.Vehicle 4

V4 Experiments

1.Use the Serial Monitor to look at the output from the range sensor.!

2.Modify the println() to look at the thresholded value. At what range does it change?!

3.How good is this robot at avoiding obstacles?

Vehicle 5a: Logic

•Neurons can perform internal computations.!

•The left neuron fires only if the left input exceeds the right. Vice versa on the right side.!

•With two negative inputs, the motors need a positive bias.

Vehicle 5a

V5a Experiments

1.Use the Serial Monitor to look at the l,r values. Are they ever on at the same time?!

2.Is this robot easier or harder to steer?

Vehicle 5b: Logic

•Neurons can be oscillators.!

•The output cycles between -1 and 1!

•This signal can be used to turn heads

Vehicle 5b

V5b Experiments

1.Use the Serial Monitor to look at the oscillator output.!

2.Is this robot better at avoiding obstacles?

Summary

•The artificial neurons we have been developing are inspired by real neurons. !

•Excitatory and inhibitory inputs are summed at the dendrites.

• If a critical threshold is reached, the neuron fires along its axon.

Recommended