CPP Motion Planning ToolBox  0.5.0
CPP Motion Planning ToolBox Documentation

language-cpp build docs License Lib VersionLib Version

This repository contains the code of the controltlbx library that can be used as a standalone library or via the application executable that provides a GUI.

GUI v0.0.1

Table of contents

Purposes

Library

The purpose of the controltlbx is to provide an efficient way of computing trajectories of control systems. It's ultimate goal is to be a solver for (optimal) control design, i.e. designing a control that achieve a certain (optimal) trajectory.

Features :

  • Simulation of nonlinear dynamical systems
  • Simulation of control-nonlinear dynamical systems
    • Linear control (a specification of the above)

Planned features :

  • Motion Planing for a state configuration
  • Motion planning of a full trajectory
  • Optimal Control problem solver
  • Delayed ODE
  • Real time control design

Application

The application configures and launches experiments (simulations) from a single *.json* file. The GUI is a wrapper around this program that build the *.json* configuration file and post-processes the results .

Examples

All examples presented below can be configure in a single *.json* file and will therefore be configured and launched one after another.

Van-der-Pol Oscillator

This section describe a simulation of the Van derPol oscillator. The dynamical system is as follows: $$ \begin{pmatrix}

{x} _1 \ \dot{x}_2 \end{pmatrix} = \begin{pmatrix}{x}_2 \ \mu(1-(x_1)^2)x_2-x_1 \end{pmatrix}.