Switch language:   English version   Version française  

jdhp.org

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.

Contents

Open Source Academic Projects  

PyArm  

Video
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.
Source code : Fork me on GitHub  

Botsim.org  

Image
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:
  1. 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;
  2. improve control of existing robots by generating a large number of in-silico simulations;
  3. reproduce some experiments on artificial curiosity by the Inria Flowers team.

The Botsim.org project has a dedicated web site at www.botsim.org.
Source code : Fork me on GitHub  
Download : Sources  

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.
Source code : Fork me on GitHub  

PyAX-12  

Image
PyAX-12 is a Python library to control Dynamixel AX-12+ actuators. directly from a computer (using a USB2Dynamixel adapter).
Source code : Fork me on GitHub  
Download : Sources  

VoR12  

Image
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.
Source code : Fork me on GitHub  
Download : Sources  

Snippets  

Image
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, ...
Source code : Fork me on GitHub  
Download : Sources  

Smaller Personnal Projects  

JWumpus  

Image
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.
Source code : Fork me on GitHub  
Download : Sources  

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.
Download : Sources  

LibDynamixel  

Image
Use libdynamixel to control Dynamixel AX-12 actuators directly from a computer (using a USB2Dynamixel adapter).
Download : Sources  

Dtools  

A toolset to control Dynamixel AX-12 actuators.
Source code : Fork me on GitHub  
Download : Sources  

Bioloid  

Video
This demo uses libdynamixel to control a bioloid.
Download : Sources  

PyDuplicateFileManager  

PyDuplicateFileManager finds duplicated files and directories.
Source code : Fork me on GitHub  

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.
Source code : Fork me on GitHub  
Download : Sources  

Latex2png  

Image
Converts LaTeX files to PNG graphics (useful to create mathematical formulas as images).
Source code : Fork me on GitHub  

3D Design Collection  

Image
A collection of design files for printable 3D objects (made with OpenSCAD).
Download : Sources  

PCB Collection  

Image
A collection of PCB (Printed Circuit Board) design files ready to be manufactured (made with KiCad EDA).
Download : Sources  

PyPong  

Image
An implementation of the famous game Pong.
Download : Sources  

JDHP  

The source code of this web site (written in XML/XSLT/CSS).
Source code : Fork me on GitHub  

Unmentioned projects  

Many additional projects are available on my github account!