This software is free for academic use; contact us if you intend to use it for commercial purposes. Please cite the associated paper if our software is used in a scientific publication.

Klamp't: Kris' Locomotion and Manipulation Planning Toolkit

Klamp't is a cross-platform software package for modeling, simulating, and planning for complex robots, particularly for manipulation and locomotion tasks.

It has been developed at Indiana University since 2009 primarily as a research platform, and has been used in classrooms beginning in 2013. It is currently being used by members of TeamHubo in the DARPA Robotics Challenge.

Click here or on the picture at right to be taken to the project webpage.


  • Supports legged and fixed-based robots.
  • Robust rigid body simulation with triangle mesh / triangle mesh collisions.
  • Fast planning and trajectory optimization routines.
  • C++ and Python bindings

MInTOS: Manifold Interpolation and Time Optimized Smoothing

Mintos is a package for 1) generating smooth interpolating paths on implicit manifolds and 2) optimizing time-scaling of such paths under velocity and acceleration bounds. This software accompanies the paper: Fast Interpolation and Time-Optimization on Implicit Contact Submanifolds by K. Hauser, appearing in RSS 2013.

Click here or on the picture at right to be taken to the project webpage.


  • Computes a smooth, time optimized interpolating trajectory that lies on the manifold up to the user-defined threshold.
  • Also applicable to time-scaling of free-space Bezier curves.
  • Supports smooth interpolation through multiple configurations.
  • Supports constraint submanifolds in non-Cartesian spaces, e.g. SO(3).
  • Very fast: interpolation and time-optimization typically takes only fractions of a second even with dozens of DOFs.
  • Numerically stable: time scaling achieved via provably convergent convex optimization.
  • Variety of constraints: velocity, acceleration, torque, point contact with Coulomb friction constraints.
  • Distributed under the LGPL license.


Sub-Loop Inverse Kinematics Monte Carlo (SLIKMC)

Implements a new Monte Carlo technique for sampling configurations of a kinematic chain according to a specified probability density while accounting for loop closure constraints. A key contribution is a method for sampling subloops in unbiased fashion using analytical inverse kinematics techniques. The method scales well to high-dimensional chains (>200DOFs).

This software accompanies the paper: Unbiased, scalable sampling of protein loop conformations from probabilistic priors by Y. Zhang and K. Hauser, appearing in BMC Structural Biology, 2013.

Click here or on the image at right to be taken to the project page.

Assisted Teleoperation GUI

This package provides a hands-on GUI for demonstrating robot arm teleoperation strategies that accompany the paper: Assisted Teleoperation Strategies for Aggressively Controlling a Robot Arm with 2D Input by E. You and K. Hauser, appearing in RSS 2011.


Lightweight Motion Planning Library (LMPL)

LMPL is a lightweight module that implements a core set of motion planning algorithms.

Key Features

  • An implementation of multi-modal planning algorithms from the paper Multi-Modal Motion Planning in Non-Expansive Spaces by K. Hauser and J.-C. Latombe, appearing in IJRR 2009.
  • An implementation of the minimum constraint removal algorithm from the paper The Minimum Constraint Removal Problem with Three Robotics Applications by K. Hauser and J.-C. Latombe, appearing in WAFR 2012.

Other Features

  • Does not impose a specific problem structure (e.g., an articulated robot) on the user. Rather, it takes an abstract object-oriented approach where the user defines basic callbacks (collision checking, sampling, etc) for the configuration space under consideration.
  • Supports a variety of classic motion planning algorithms, including PRM, SBL, and RRT.
  • Supports the multi-modal planning algorithms Multi-Modal-PRM and Incremental-MMPRM.
  • Written in C++ and includes both Visual Studio project files and GNU-style Makefiles.
  • Distributed under the LGPL license.


Parabolic Path Smoother

This code contains a fast smoothing algorithm for robot manipulator trajectories under geometric constraints and bounded acceleration. It accompanies the paper Fast Smoothing of Manipulator Trajectories using Optimal Bounded-Acceleration Shortcuts by K. Hauser and V. Ng-Thow-Hing, appearing in ICRA 2010.


  • Written in C++.
  • Applicable to systems in Rn under velocity and acceleration bounds, and general kinematic constraints, e.g., a manipulator arm under collision constraints. You supply a collision checking subroutine to the algorithm.
  • Well documented, lightweight (only two source files).
  • Distributed under the BSD license.
  • Users: ROS library, default path smoother for OpenRAVE v0.5.0.


Path-Velocity-Time Visibility Graph Planner

This package implements a velocity planner for velocity- and acceleration-bounded systems moving along a fixed path in the presence of dynamic obstacles. It implements algorithms presented in the papers Optimal Acceleration-Bounded Trajectory Planning in Dynamic Environments Along a Specified Path by J. Johnson and K. Hauser, in ICRA 2012, and Optimal Longitudinal Control Planning with Moving Obstacles by J. Johnson and K. Hauser, in IV 2013.


  • Exact and complete.
  • Computes a visibility graph of reachable path positions as well as the time-optimal trajectory.
  • Polynomial time in the number of obstacle vertices.
  • Written in C++
  • Distributed under the LGPL license.