Software

For a full list of my open source code, please see my public repositories section on GitHub.

Libraries and Packages
  • OpTaS
    • An optimization-based task specification library for task and motion planning (TAMP), trajectory optimization, and model predictive control in Python.
  • FRI-Client-SDK_Python
    • KUKA Fast Robot Interface Python SDK. This project provides Python bindings for the FRI Client SDK C++. The interface has been designed to be as similar as possible to that provided by KUKA.
  • FRI-Client-SDK_Cpp
    • KUKA Fast Robot Interface C++ SDK. Provides a CMake alternative to building the FRI Library.
  • Spatial CasADi
    • Spatial transformation library for CasADi Python.
  • aruco_markers
    • A compact Python package for handling ArUCo markers.
  • clothoids
    • A simple python package for generating Clothoids.
  • pybib
    • Command line utilities to check, sort, merge BibTeX files.
  • hyparam
    • Container for hyper parameter tuning in machine learning.
  • pid
    • PID controller implementation in C++.
  • pid.jl
    • PID controller implementation in Julia.
  • figure_eight
    • Simple package that generates figure of eight motion.
ROS 2 Packages
ROS 1 Packages
Emacs
  • dotemacs
    • My Emacs initialization.
  • Orgnode
    • Read Org-mode files in Python.
  • snopt-specs-mode
    • A (very) simple Emacs major mode for editing SNOPT SPECS files.
Misc
  • Blockudoku
    • My PyGame implementation of Blockudoku.
In Development

These projects are currently in private repositories and at various stages of development. I plan to release them in the future. If you would like early access to any of these, please email me.

  • Configify (status: early days)
    • Configuration file format. While Configify is not a programming language per se, it possess several comparable characteristics, such as built-in functions, mathematical operations, and list concatenation. It is based on YAML, so should be fairly easy to pick up.
  • ros2-mouse (status: early days)
    • Mouse driver for ROS 2. This is a port of the ros-mouse package listed above.