In this section you can find some of the software that I developed either during my undergrad studies, collaboration with the European Space Agency or for my PhD.
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 (read about our supercomputers) 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.
M. Peniak, A. Morse, C. Larcombe, S. Ramirez-Contla and A. Cangelosi (in press). Aquila: An Open-Source GPU-Accelerated Toolkit for Cognitive and Neuro-Robotics Research. International Joint Conference on Neural Networks (IJCNN) 2011. San Jose, California, July 31 - August 5, 2011 (download pdf)
Click here to download the user manual for the latest version.
SourceForge Aquila Project
check out the latest version from repository using: svn co https://aquila.svn.sourceforge.net/svnroot/aquila/trunk Aquila
cutting-edge code is always here: svn co https://aquila.svn.sourceforge.net/svnroot/aquila/branches/mpeniak Aquila
Mars Rover Simulator
The Mars Rover Simulator project is based on evolutionary robotics paradigm where an artificial agent acquires its skills through the process of artificial evolution. The simulator provides a platform for testing of various sensory systems and their impact on the robot's behaviour. It is hoped that it can help students and researchers to learn about evolutionary robotics paradigm, neural networks, genetic algorithms, active vision and infrared sensory systems, open dynamics physics engine, OpenGL etc.
The simulator relies on the following libraries that needs to be installed on the system: Qt and Qt-Creator, PaGMO, ODE (default configuration using single precision) and Glut. Once you have all the libraries installed unpack the zip file and compile IslandController and Simulator using Qt-Creator and the project files supplied in the folders. Before you compile, make sure the project file links to right places where you installed the libraries above. Contact me if you get stuck or have any questions.
OpenGL and DirectX Open Dynamics Engine Sandboxes
Physics engines are excellent tools that enable you to simulate Newtonian physics with good approximation of various parameters such as friction, slippage, collisions, mass, velocities etc. These physics engines are normally stand-alone tools that you can connect with any rendering system whether it is OpenGL or DIrectX based. For this purpose, I have created two sandboxes, one for OpenGL and one for DirectX that already come integrated with Open Dynamics Engine and provide basic methods to create your own objects (primitives and triangle meshes). These two sandboxes are useful tools for anybody who is trying to develop physics based applications with the rendering of physical objects. You will have full control over the rendering so you can experiment a lot with the code. The sandboxes might be also interesting to final year computing students looking to develop physics based simulations or games.
Both sandboxes need ODE to run, which you will need to install if the supplied libs do not work on Windows. ODE-DirectX sandbox will only work on windows and ODE-OpenGL sandbox will work on both, however, I have never tested it on Linux and you might have to install libsdl as well. ODE-OpenGL should run with the supplied libraries but if it does not then you might need to get the latest SDL libraries too. In any case, if you get stuck try to contact me.
|Last Updated on Saturday, 18 June 2011 18:54|