Getting Started

This library is a collection of ROS Catkin Packages that provides the classes you need to pose and solve a Trajectory Optimization problem for your robot. It is written in C++11 and tested on Ubuntu 14.04.

Dependencies

  • C++ compiler with C++11 support
  • ROS Indigo
  • Catkin Tools Build System
  • Eigen library for linear algebra

You need an NLP Solver

This library will compile even if you do not have a solver installed in your system. However, YOU NEED at least one of the following proprietary solvers for this library to solve Trajectory Optimization problems:

Note: Previous versions of SNOPT are not supported

The library automatically detects the solvers installed in your system. You can always select what solver to use in your application.

Optional Dependencies

  • Boost (for using command line options of the tutorial examples)

Installation Guide

build the library

cd catkin_ws/src
catkin build -DCMAKE_BUILD_TYPE=RELEASE

Quick Test

After the installation is finished, you could run the following toy examples:

1. An acrobot robot moving to the upright position using direct collocation

rosrun direct_trajectory_optimization acrobot_snopt_example 0

2. the same problem can be solved using multiple shooting method,

rosrun direct_trajectory_optimization acrobot_snopt_example 1

at the end of these executions you should see the summary of the solution.

3. A “single point foot leg” robot executing a small jump,

rosrun dt_examples pointFootLeg_squad 0

4. if you want to visualize the resulting trajectory after the optimization procedure

roslaunch pointfootleg_visualization pointfootleg.launch
rosrun dt_examples pointFootLeg_squad 1

You should be able to see the single-legged robot jumping:

sample_robot

Enjoy!