1. Biocybernetics and Evolutionary Robotics

1.1. ALIFE.TUKE.SK

Please, browse this server:
ALIFE.TUKE.SK

1.2. Exam questions

Exam questions

2. Lectures

2.1. Introduction to evolutionary robotics

Lecture: Introduction to evolutionary robotics

2.2. Evolution on differential wheeled robots

Lecture: Works of Dario Floreano et al.

2.3. Evolution of learning rules

Lecture: Floreano et al. continued
Further reading: ''Handbook of Robotics, Chapter 61: Evolutionary Robotics'', Floreano, Husbands, Nolfi

2.4. Biocybernetics - introduction

Lecture: Biocybernetics - introduction
Further reading: On enthropy and defining life

2.5. Death, intracellular processes and their control

Lecture: Death, intracellular processes and their control
Further reading: Causes of aging, DNA

2.6. Genetics, heredity, genetic engineering, biological clock and homeostasis

Lecture: Genetics, heredity, genetic engineering, biological clock and homeostasis
Further reading: Genetics, bacteriophage attack, mouse wears human ear ...

2.7. Movement, orientation, navigation, communication, homeostat

Lecture: Movement, orientation, navigation, communication, homeostat
Further reading: Sexual behavior of Bonobos, Zvirata jsou hloupi lide (review of a book), skeletal muscles ...

2.8. ALIFE - Introduction

Lecture: ALIFE - Introduction
Further reading: ALIFE.TUKE.SK

2.9. Cellular systems

Lecture: Cellular systems

2.10. Selfreplicating cellular systems

Lecture: Selfreplicating cellular systems

2.11. Lindenmayer systems

Lecture: Lindenmayer systems

2.12. Chaos and artificial life

Lecture: Chaos and artificial life

2.13. Game of chaos and iterated functions systems

Lecture: Game of chaos and iterated functions systems

2.14. Julia and Mandelbrot sets

Lecture: Julia and Mandelbrot sets

3. Labs

3.1. Accessing the sensors of Nao Robot

Example in Python by Michal Havrila (2011):

   1 import naoqi
   2 import motion
   3 import time
   4 from msvcrt import getch
   5 from naoqi import ALProxy
   6 from naoqi import ALBroker
   7 from naoqi import ALModule
   8 from naoqi import ALBehavior
   9 from naoqi import ALDocable
  10 IP = "147.232.24.139" # use IP of nao if connecting through lan
  11 PORT = 9559
  12 proxy = ALProxy('ALMemory',IP,PORT)
  13 name1 = "Device/SubDeviceList/RFoot/FSR/FrontLeft/Sensor/Value"
  14 name2 = "Device/SubDeviceList/RFoot/FSR/FrontRight/Sensor/Value"
  15     
  16 name3 = "Device/SubDeviceList/RFoot/FSR/RearLeft/Sensor/Value"
  17 name4 = "Device/SubDeviceList/RFoot/FSR/RearRight/Sensor/Value"
  18 while True:
  19     z = getch()
  20     result = proxy.getData(name1)
  21     print "Value of: ",name1," is: ", result
  22     result = proxy.getData(name2)
  23     print "Value of: ",name2," is: ", result
  24     result = proxy.getData(name3)
  25     print "Value of: ",name3," is: ", result
  26     result = proxy.getData(name4)
  27     print "Value of: ",name4," is: ", result
  28     print ""
  29     
  30     time.sleep(1)
  31     if z == "s":
  32         break

3.2. Capturing visual data from Nao's camera remotely

Examples in Python by Marek Bundzel (2011): Simple capture and save:

   1 from naoqi import ALProxy
   2 from PIL import Image # comment or install PIL http://www.pythonware.com/products/pil/
   3 
   4 IP = "147.232.24.169" # use IP of nao if connecting through lan
   5 PORT = 9559
   6 
   7 #Create a proxy on the video input module (V.I.M.)
   8 camProxy = ALProxy("ALVideoDevice", IP, PORT)
   9 
  10 #Register a Generic Video Module (G.V.M.) to the V.I.M.
  11 resolution = 2 # kVGA
  12 colorSpace = 11 # kRGB
  13 fps = 30
  14 nameId = camProxy.subscribe("python_GVM", resolution, colorSpace, fps)
  15 camProxy.setColorSpace(nameId,11)
  16 
  17 print nameId
  18 
  19 a = camProxy.getImageRemote(nameId) # returns a list of 7 elements, see NaoRealTimeView.py
  20 print len(a)
  21 for item in a[:5]:
  22     print item
  23 print len(a[6])
  24 
  25 # Comment if you don't have PIL yet
  26 b = Image.fromstring("RGB", (a[0],a[1]), a[6]) # convert to PIL image object
  27 b.save("b.jpg")
  28 
  29 #Unregister the G.V.M.
  30 camProxy.unsubscribe(nameId)

NaoRealTimeView enabling saving screenshots and recording image sequences (2011) NaoRealTimeView.py :

3.3. Sensors and motion

Example by Jan Adamcak (2011). Nao reacts to objects sensed by the US sensors neuro.py.

4. Assignments 2012/2013

You can find detailed info and videos here

Tracking object in the visual field of the front camera using TLD.
Stabilization while standing on two legs using the force sensors in the feet.
Imitating movement of an object in the Nao's vision field using TLD.
Following Nao (obstacle) in constant distance using sonars.
Nao - Using stereopsis.
Stabilization on one leg using gyrosensor and ankle.
Evolution of the behaviors of tanks in a computer game.
Simulation of game Predator-Prey
Use evolutionary process to optimize the parameters of 2 PID controllers steering the X,Y movement of a hand.

5. Assignments 2011/2012

You can find detailed info and videos here

Tracking the source of sound (turning Nao's head around the Z axis)
Tracking object in the visual field of the front camera using TLD (turning head around Z and X axes)
Stabilization while standing on one leg using the force sensors in the foot. Perturbations by another Nao.
Stabilization while standing on two legs using the force sensors in the feet. Perturbations by another Nao.
Maintaining constant distance from an moving obstacle - another Nao
Imitating movement of an object in the Nao's vision field using TLD
Blocking the ball by Robosoccer

student: BER (last edited 2013-11-20 08:29:17 by MarekBundzel)

Center for Intelligent Technology is equipped with 16 NAO Humanoid Robots for research and educational purposes towards Intelligent technologies.

Annually the branch of AI finishaprx. 25 people in Bc. and MSc. . PhD level is also very active - we do have 11 alumni in AI past 15 years in branch of AI.