This page contains some of my
open source projects (mostly in computer science, electronics and robotics).
This is not a comprehensive list, many professional projects can't be shared here.
A repository is available for Debian and Ubuntu users.
Click here for more information.
Open Source Academic Projects
PyArm
Pyarm is a physics simulator which provides an anthropomorphic arm model for
experiments on human like motor control.
The arm model is described in the following
technical report
written in French (
sources).
Pyarm has been used at the
Institute for Intelligent Systems and Robotics
for experiments on adaptive systems.
These experiments are described in the following academic paper
"Learning
cost-efficient control policies with XCSF: generalization capabilities and
further improvement" by Didier Marin, Jérémie Decock, Lionel Rigoux and Olivier
Sigaud.
This scientific contribution has been published in the
"Proceedings of the 13th
annual conference on Genetic and evolutionary computation (GECCO'11)", the main
international conference on genetic and evolutionary computation.
This paper can be downloaded
here.
Botsim.org
Botsim.org is a robots simulator mainly used to test some
biologically inspired algorithms (machine learning,
evolutionary algorithms, reinforcement learning, ...).
Our motivations: generate in-silico original artificial
organisms which can efficiently accomplish some given tasks
(move, change their environment, survive, ...).
More precisely, Botsim.org was written to:
- reproduce the experiments and the results of the projet Golem:
optimize the morphology and control of robots in simulation via biologically inspired methods (evolutionary algorithms and neural networks)
then materialize these self-generated organisms using a 3D printer;
- improve control of existing robots by generating a large number of in-silico simulations;
- reproduce some experiments on artificial curiosity by the Inria Flowers team.
The Botsim.org project has a dedicated web site at
www.botsim.org.
Main Personnal Projects
Artificial Intelligence frameworks for Python
A set of open source frameworks for Artificial Intelligence (mostly
artificial learning and optimization).
It contains (among others) an MDP framework (Markov Decision Processes), an
artificial learning framework and a black box non-linear noisy optimization
framework.
PyAX-12
VoR12
The VoR12 project is a mobile video camera. It uses two
Dynamixel
AX-12 actuators and the
OpenCV computer
vision library for object tracking experiments.
Snippets
A collection of hundreds of snippets, i.e. small pieces of code
I have written to test a specific aspect of a programming language, a
programming library, a description format, a protocol, ...
Here you will find snippets about:
- Programming languages
- C/C++, Java, Python, Shell scripts, Octave (Matlab clone), Javascript
- Unix programming
-
Unix/Linux system calls in C,
Debian packaging
- Scientific programming libraries
-
GSL (GNU Scientific Library),
GLPK (GNU Linear Programming Kit),
Eigen C++ template library for linear algebra,
Matplotlib python 2D plotting library,
Gnuplot command-line driven graphing utility,
Numpy fundamental package for scientific computing with Python,
Mayavi 3D Scientific Data Visualization and Plotting ,
Scipy python library for linear algebra
- Parallel computing and high performance computing
-
MPI (Message Passing Interface),
OpenMP API for parallel programming
- Image processing programming libraries
-
OpenCV image processing library (C/C++ and Python),
PIL (Python Imaging Library)
- General API
-
Boost C++ libraries
- Programming tools
-
Gnu Make multi-language build system,
CMake cross-platform build system,
Ant Java build system
- XML and web development
-
SAX (Simple API for XML) with Java, C++ and Python,
HTML5,
CSS,
XML,
DOM,
Xpath,
Xinclude,
Xquery,
SVG,
XSD (XML Schema),
XSLT
- Embedded system
-
Android framework,
Atmel AVR micro-controller programming (in C),
Raspberry Pi GPIO libraries,
Arduino
- Graphical User Interface libraries
-
GTK+ graphical user interfaces (C and Python),
Qt C++ and Python UI framework,
Swing Java UI framework,
SWT (Standard Widget Toolkit) Java UI framework,
TKinter Python UI framework
- 2D, 3D and Multimedia libraries
-
Bullet physics engine,
Open Scene Graph 3D graphics toolkit,
Cairo with C and Python,
SDL (Simple DirectMedia Layer) C Multimedia Library,
Pygame Python wrapper for SDL,
SFML C++ Multimedia Library
- Others
-
Design patterns with C++ and Java,
LaTeX language,
OpenScad solid 3D CAD modeler,
DBM file format,
JSON file format,
Pickle,
...
Smaller Personnal Projects
JWumpus
JWumpus uses the Jade platform and a Q-learning
algorithm to solve the Wumpus problem (see
"Artificial Intelligence" by Stuart Russell and Peter Norvig).
Chef
A multi-agent project using the
BDI
software model and the
Jason
platform.
Perceptron
A PHP script to show the calculation steps leading to the
equilibrium of a small neural network (Perceptron). This is
nothing more than an educational support.
LibDynamixel
Bioloid
This demo uses libdynamixel to control a
bioloid.
PyDuplicateFileManager
PyDuplicateFileManager finds duplicated files and directories.
DSPP (Dual Screen PDF Presenter)
DSPP is a presentation software (such as Microsoft PowerPoint,
Apple Keynote and Libre Office Impress).
It can show simultaneously two PDF files on multiple screens.
It uses Keynote-like multi-monitor output to provide meta
information to the speaker.
Thus, DSPP can show a normal presentation window on the first
screen (usually a video projector) and personal notes for the
speaker on the second one (usually a laptop screen used for the
presentation).
DSPP is written in Python and released under the MIT license.
Latex2png
Converts LaTeX files to PNG graphics (useful to create
mathematical formulas as images).
3D Design Collection
A collection of design files for printable 3D objects (made with
OpenSCAD).
PCB Collection
A collection of
PCB (Printed Circuit Board) design files ready to be manufactured (made with
KiCad EDA).
PyPong
An implementation of the famous game Pong.
JDHP
The source code of this web site (written in XML/XSLT/CSS).
Unmentioned projects