31
Dr Steve Battle @stevebattle Robots Are GO!

Robots Are GO!

Embed Size (px)

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

Page 1: Robots Are GO!

Dr Steve Battle!@stevebattle

Robots Are GO!

Page 2: Robots Are GO!

Connections between even a small number of brain cells can

produce complex behaviours.

William Grey Walter, Bristol 1948

Page 3: Robots Are GO!

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

ELSIE is an autonomous robot.

Page 4: Robots Are GO!

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

Page 5: Robots Are GO!

Vehicle 1: Getting Around

•This vehicle has one sensor and one motor.!

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

Vehicle 1

Page 6: Robots Are GO!

“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

Page 7: Robots Are GO!

DFRobot 2WD Mobile Platform

Page 8: Robots Are GO!
Page 9: Robots Are GO!

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

Page 10: Robots Are GO!

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?

Page 11: Robots Are GO!

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

Page 12: Robots Are GO!
Page 13: Robots Are GO!

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?

Page 14: Robots Are GO!

Vehicle 2b: Fight or Flight

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

•It rushes towards the light.

Vehicle 2b

Page 15: Robots Are GO!

V2b Experiments

1.Can you steer it with the torch?!

2.Which is easier to steer?!

3.Which is more fun?

Page 16: Robots Are GO!

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

Page 17: Robots Are GO!
Page 18: Robots Are GO!

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?

Page 19: Robots Are GO!

Vehicle 3b: Love

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

Vehicle 3b

Page 20: Robots Are GO!

V3b Experiments

1.Can you steer it with the torch?!

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

Page 21: Robots Are GO!

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.

Page 22: Robots Are GO!

V3c Experiments

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

Page 23: Robots Are GO!

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

Page 24: Robots Are GO!
Page 25: Robots Are GO!

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?

Page 26: Robots Are GO!

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

Page 27: Robots Are GO!
Page 28: Robots Are GO!

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?

Page 29: Robots Are GO!

Vehicle 5b: Logic

•Neurons can be oscillators.!

•The output cycles between -1 and 1!

•This signal can be used to turn heads

Vehicle 5b

Page 30: Robots Are GO!

V5b Experiments

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

2.Is this robot better at avoiding obstacles?

Page 31: Robots Are GO!

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.