Robots Are GO!


Published on

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
This workshop is based on the book, “Vehicles: Experiments in Synthetic Psychology” by Valentino Braitenberg.

Published in: Technology, Business
1 Like
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Robots Are GO!

  1. 1. Robots Are GO! Dr Steve Battle! @stevebattle
  2. 2. Connections between even a small number of brain cells can produce complex behaviours. William Grey Walter, Bristol 1948
  3. 3. ELSIE: Electro-mechanical robot, Light Sensitive with Internal and External stability. ELSIE is an autonomous robot.
  4. 4. Vehicles 1984 - Valentino Braitenberg, cyberneticist, neuroanatomist and musician publishes a series of thought experiments.! These explore the principles of intelligence by building a series of successively more complicated creatures.!
  5. 5. Vehicle 1: Getting Around • This vehicle has one sensor and one motor.! • Light activates the sensor and makes the motor go faster. Vehicle 1
  6. 6. “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.”!
  7. 7. DFRobot 2WD Mobile Platform
  8. 8. 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
  9. 9. 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?
  10. 10. Vehicle 2a: Fight or Flight • This vehicle has two sensors and two motors.! • Light drives the motors differentially.! • The + is an excitatory connection.! Vehicle 2a • It flees from 
 the light.
  11. 11. V2a Experiments 1.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?
  12. 12. Vehicle 2b: Fight or Flight • It has positive phototaxis, directed movement towards a light.! • It rushes towards the light. Vehicle 2b
  13. 13. V2b Experiments 1.Can you steer it with the torch?! 2.Which is easier to steer?! 3.Which is more fun?
  14. 14. Vehicle 3a: Love • Light inhibits the motors, causing it to come to rest and bask in the sunshine.! • The - is an inhibitory connection.! • This Vehicle 3a time, the uncrossed connections turn the vehicle to face the light.
  15. 15. 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?
  16. 16. Vehicle 3b: Love • Vehicle 3b shies away from the light that calms it. Vehicle 3b
  17. 17. V3b Experiments 1.Can you steer it with the torch?! 2.Place the robot under a table,
 in the dark. How does it behave?
  18. 18. Vehicle 3c: Love • In vehicle 3c both excitatory and inhibitory connections are summed at the motors.! • If the excitation exceeds the inhibition the wheel moves forwards.! • If Vehicle 3c the inhibition overcomes the excitation it moves backwards.
  19. 19. V3c Experiments 1.What happens when you shine a torch in its eyes?
  20. 20. 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 Vehicle 4 stops the robot and puts it into reverse.
  21. 21. 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?
  22. 22. 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 Vehicle 5a two negative inputs, the motors need a positive bias.
  23. 23. 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?
  24. 24. Vehicle 5b: Logic • Neurons can be oscillators.! • The output cycles between -1 and 1! • This signal can be used to turn heads Vehicle 5b
  25. 25. V5b Experiments 1.Use the Serial Monitor to look at the oscillator output.! 2.Is this robot better at avoiding obstacles?
  26. 26. 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.