# source code

I am moving all my code to github. Below are only old libs.

Here are some pieces of code from specific projects. Please contact me if you have problems with these.

LGP
Code for the ICRA'17 paper on Multi-Bound Tree Search for Logic-Geometric Programming in Cooperative Manipulation Domains. Note, this is not cleaned at all. It is meant as a documentation of the experiments, not as a library to be usable by others. Contact me for a newer version.
FOL
An implementation of Relational Activity Processes and basic Monte-Carlo on top. This uses an unusual and minimalistic implementation of first order logic that represents a KB as a graph and offers efficient methods to compute feasible substitutions. The representation is flexible enough to represent stochastic (decision) rules (as in STRIPS or NDRs), regression trees, agregate literals, etc.
KOMO [14] (paper)
K-Order Constrained Motion Optimization
libOptim
Basic routines for optimization. I use it in my Optimization course.
libRoboticsCourse.13 libRoboticsCourse.13.msvc [12, 11.1, 10.2, 10.1]
Robot Simulation Toolkit. See the course webpage and guide.pdf for details.
libMLcourse.14 [13, 12]
Implements basic regression, classification and Reinforcement Learning algorithms (e.g., kernel ridge [logistic] regression and alike). See the course webpage for details.
libArray.13
Our Array class (Simple array container to store arbitrary-dimensional arrays (tensors); similar operator syntax to Matlab; many standard array/matrix/tensor operations.)
truncGauss.09.2 [09.1]
An efficient algorithm to compute truncated Gaussians. Please see the corresponding note for a description. This can be used as an ingredient for Expectation Propagation. Consider the product of a Gaussian with a heavyside function. The heavyside function is a zero-or-one function that is aligned with an arbitrary hyperplane in high dimensions. The remains of the Gaussian multiplied with the heavyside can again be approximated with a Gaussian. This is what the algorithm computes.
libAICO.12 [12.1, 10.1, 09.4, 09.3, 09.2, 09.1]
Approximate Inference Control for solving Optimal Control and trajectory planning problems. See the guide.pdf for details. This includes an implementation of Approximate Inference Control (AICO, Toussaint ICML 2009) and other SOC methods (like iLQG). For completeness, it also includes basic robot simulation tools that link with external collision engines (SWIFT++, code is included in this package) or dynamics (Featherstone's code, ODE, IBDS). All SOC methods are implemented on the basis of an abstract description of SOC problems (the SocAbstraction class) -- in principle, any other simulator can be used to implement this abstraction and thereby apply the SOC methods on other platforms.
libInfer.12 [11.1]
This code implements very basic inference methods in factor graphs of discrete random variables: elimination, Junction Tree, belief propagation. Think of this more as educational code than high performance (although I tried to optimize the basic computational elements, like tensor elimination, permutation, product, etc). Sparse tensors are not implemented, which is perhaps the most severe efficiency bottleneck in many applications. We only used this code in our POMDP solvers.
krr.09.1 [08.1]
An implementation of Kernel Ridge Regression. This is a direct translation of the Matlab code by Dr Gavin C. Cawley
MDP.08.3 [08.2, 08.1]
Code for the UAI 2008 paper
bayesianSearchGame.09.1
The Bayesian Search Game. The source code compiles under Linux. You may also download the old windows executable. See this page for details.
lwpr.06.2.zip [06.1, 05.1]
Locally Weigthed Projection Regression. Original algorithm by Sethu Vijayakumar, coded by Narayanan Edakunni and Giorgos Petkos, cleaned up and made more efficient by myself.
TCS.05.1.zip
Compression EDA and GA. The code I used in the Theoretical Computer Science paper (2006).