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.

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

Features

  • Supports legged and fixed-based robots.
  • Robust rigid body simulation with triangle mesh / triangle mesh collisions.
  • Collision checking with triangle meshes, point clouds, and signed distance fields.
  • Fast motion planning and trajectory optimization routines.
  • Forward and inverse kinematics.
  • Forward and inverse dynamics.
  • C++ and Python bindings

RGB-D In-hand Manipulation Dataset and 3D Reconstruction

RGB-D in-hand object manipulation is potentially the fastest, easiest way for novices to construct 3D models of household objects. However, it remains challenging to accurately segment the target object from the user’s hands and background. To help the computer vision research community benchmark new algorithms on this challenging problem, we have released a dataset that provides dense pixel level annotations for in-hand scanning of 13 objects from the YCB dataset. Source code is also available for our Backflow algorithm, from the paper In-hand Object Scanning via RGB-D Video Segmentation appearing in ICRA 2019. On this dataset, Backflow achieves 6% increase in segmentation accuracy compared to top performing video tracking algorithms.

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

Semi-Infinite Optimization with Nonconvex Geometries

A package for optimizing robot poses and trajectories in the presence of non-convex obstacle constraints using semi-infinite programming. It accompanies the paper Semi-Infinite Programming for Trajectory Optimization with Nonconvex Obstacles by K. Hauser, appearning in WAFR 2018.

Features

  • Fast: pose optimization can be done in real-time, trajectory optimization in seconds.
  • Handles highly non-convex geometries, including point clouds!
  • No need to define resolution of collocation points for optimization.
  • Lightweight Python API.

Download from Github here

Global Redundancy Resolution

A package for calculating as-continuous-as-possible inverse kinematic maps for redundant robots. It accompanies the paper Global Redundancy Resolution via Continuous Pseudoinversion of the Forward Kinematic Map by K. Hauser and S. Emmons, appearning in IEEE TASE 2017.

Features

  • Handles arbitrary ND robot manipulators and Cartesian constraints up to 6D (position, position + orientation).
  • Precomputed maps are used to solve IK very quickly, and ensure robot is within joint limits, self-collision free, and has minimal discontinuous jumps.
  • Optimized maps minimize number of discontinuities as first priority, and minimize joint angle change as second priority.
  • Parallel computation to reduce precomputation time for high-resolution maps.
  • Vivid visualization of the discontinuity map.

Download from Github here

Project page

Inverse Kinematics Database (ikdb)

A fast, machine learning-based library for solving IK problems with collision-free, globally near-optimal solutions. It accompanies the paper Learning the Problem-Optimum Map: Analysis and Application to Global Optimization in Robotics by K. Hauser in IEEE Transactions on Robotics 2017.

Features

  • Handles arbitrary robot manipulators and IK constraints.
  • Results are self-collision free and globally near-optimal, with a user-defined objective function.
  • Training can be done either in precomputation or as a background process.
  • Can operate as a drop-in replacement for the Klamp't IK solver.

Download from Github here

Project page

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.

Features

  • 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.

Downloads

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.

Downloads

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.

Downloads

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.

Features

  • 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.

Downloads

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.

Features

  • 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.

Downloads