Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

Aquila running mutiple time-scales recurrent neural network on iCub humanoid robot

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
7,773
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Nov 2, 2010

http://www.martinpeniak.com

This video demonstrates how Aquila trains and runs multiple time-scales recurrent neural networks used to control humanoid robot iCub (http://www.robotcub.org/) in real time.

The results shown in this video are from the initial tests only and are meant to demonstrate the potential of neural system (based on Jun Tani's architecure) as well as the massive speed-ups achieved by running the network on parallel CUDA devices such as the latest NVidia Fermi architecture.

I am currently working on extending the neural system with additional modalities dealing with vision, extra proprioception as well as language so keep eyes on my site for new results. I reckon it is going to get more interesting as we proceed farther with our investigation into how actions and language co-develop in the brain.

Link to this comment:

Share to:

Uploader Comments (mpeniak)

  • Hi Martin. Does your robot generalize captured knowledge ? I mean what will happen if you change color, size of the box or just distance ?

    And what's is the advantage using MTRNN and not just simple kind of recurrent ANN?

    Thank you and good luck!

  • @CodeJeffo Thanks for your comment. I am currently extending the model with a biologically inspired vision system that uses logpolar transformation so in this video there is no vision yet...just proprioceptive feedback. The purpose of the video was to demonstrate the speedup when using GPUs as well as to show some of my preliminary tests with the MTRNN, which learned 8 different sequences. Simple recurrent neural network could not do this since you need changing activity over time :)

  • @mpeniak How is it working then? Did you create one huge MTRNN network? or it is network of networks for each knowledge? Can you store one learned knowledge in MTRNN and on command ask this robot to repeat it let say 5 times ... ?

    Does your iRobot (sorry :P ) sense that some object was touched ? How is controlled the pressure to object? What if I create the same box (sizes, colour) but I change that it will be from delicate material?

    The GPU acceleration looks really impressive. Congra'ts

  • @CodeJeffo Thank you, I was quite happy with the GPU speedup too, however, there is much more scope for optimisation. I created one big MTRNN that learned all those actions, which is possible via parametric bifurcation. CTRNN could do similar job but I preferred MTRNN since Jun Tani showed these allow the network to self organise and segment motor primitives in fast firing neurons while the slow firing neurons could combine this and create novel sequences of previously unlearned behaviours.

  • @CodeJeffo iCub's proprioception is represented via a self-organising map that is then used to activate the input neurons, the network then steps and its output depends on MTRNN's current state, which is the result of it previous activations over time. MTRNN predicts the next movement and generates a new SOM, which is converted to new joint positions. Your questions are very good, and also the one about softer material. We thought about using feedback from force sensors to tackle this problem.

  • If you use a GPU to do most thinking work, what about the memory, does it save every motion, I/O command, visual input, motor signal to a Harddrive ? If it has learned a certain task, can it performe the same task if asked, by it simply accessing the stored information, by a random basis ? Does Icub have an inboard computer, or the robot is linked direct to a server like computer, since you can apply GPU and CPU work ? Do you think a biped robot benefits, by having a dual core CPU ? Thank you!

  • @Ryuuken24 nothing needs to be stored in the memory apart from the neural network itself, which involes the a list of floating point numbers representing thuosands to millions synaptic connections between neurons. This also include storing connection weight of the self-organising map that is a part of the MTRNN system

    Yes, iCub has a dual core computer (PC104) running Linux, which is as you directly connected to server. This server connects to many other servers with GPU cards.

see all

All Comments (29)

Sign In or Sign Up now to post a comment!
  • @mpeniak Can he learn without the wires pulled in his back?

  • By looking this video, i can imagine how Robots will be learning things from Us, and will surely change the way we live!

  • This is absolutely amazing! You are extremely talented, you should definitely get sponsorship by nVidia :D I only hope your work progresses and who knows, you may be the pioneer in accurate human representations simulated by robotics. Again, I am amazed. Well done.

Loading...

Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more