This section contains resources that you might find useful if you work with iCub humanoid robot, iCub simulator, using Aquila or building your own supercomputers and programming in CUDA-C.
iCub robot, start-up guide
This simple manual attempts to help new iCub users to get started quickly without too much hassle. iCub start up used to be a long process of launching lots of scripts from terminals?on?different?computer. This has been automated to help us being more productive as well as separate users from low level interfaces and avoid potential risks of causing accidental errors by for example running wrong calibration files. (for Plymouth iCub only)
iCub simulator, complete MacOSX installation quide
In this manual I describe how to install the simulator on MacOSX so that it had full functionality. As you already know the simulator requires the use of double precision math in the open dynamics engine library. If you are lucky and managed to compile everything that the simulator requires (ACE, YARP, ODE, SDL, GTK) you have most likely experienced that the simulator crashes when used with double precision. If you happened to try single precision then the simulator would run but as soon as there would be any collisions between any of the iCub parts and other objects, iCub would suddenly explode. To avoid this we do need to use double precision and I am going to go step by step through how I compiled ODE with double precision enabled. In addition, I will describe how I compiled all the other libraries so that we have a complete guide.
Aquila, user manual
Aquila is an open-source project that was inspired by the recent advancements in supercomputing making use of GPU enabled devices such as NVidia Fermi resulting in dramatical performance increase, which is nowadays a crucial aspect of any software running complex tasks. Aquila's features are implemented for both the standard CPU as well as massively parallel GPU code. Some of the features include multiple time-scales recurrent neural network (MTRNN), backpropagation through time (BPTT) algorithm, echo states networks (ESN), self-organising maps (SOM), image processing, modi experiment replication, 2D and 3D visualisations, speech recognition and narration. Aquila is targeted mostly for the use with the iCub humanoid robot and therefore facilitates means of connecting and controlling most of the functions of the robot and its simulation software. Below is the link for detailed user manual.
Building your own supercomputers
This guide explains how you can build your own supercomputers using the NVidia cards. We are using this kind of setup in Plymouth and it proved to work very well. If you have any questions regarding the setup, drop email to Anthony Morse or myself.
Tesla installation quide for Linux supercomputers
This installation guide helps you to set up Nvidia Tesla cards running on Linux servers. The guide should come with all the drivers and scripts necessary to make the whole process easier.
CUDA, a brief introduction into massively parallel computing
This presentation mentions the basic concepts behind CUDA and the benefits of using GPUs for parallel computation instead of CPU. This presentation also includes some simple examples of how to write neural networks using CUDA-C programming language. This presentation describes our computer setup here in Plymouth and also how iCub humanoid robot is connected to this system.