PINS

PINS Frameworks

Core

Core routine used by PINS, in particular

  • Optimized dynamic allocations

  • Nonlinear solver and minimizer

  • Regularized function

  • Penalty and barrier functions

  • Mesh and Path2D

ODE

Solvers for ordinary differential equations with step adaptation and error estimation. Implemented algorithm:

  • Dormand and Prince of order 5

  • Dormand and Prince of order 853

  • Radau 5

Manufactoring

Classes for support in manufactoring optimization

  • ToolPath1D

  • ToolPath2D

Road

Classes for modeling clothoid based road

  • Road2D

  • Road3D

Vehicle

Classes for modeling vehicle

  • Tyre Pacejka

  • Engine

Solver

Solver for discretized Optimal Control Problem.

Interface MRuby

Support code for interfacing with MRuby.

Interface Lua

Support code for interfacing with Lua.

Interface Matlab

Support code for interfacing with Matlab.

Support software included in Mechatronix Core

Splines

A set of C++ classes with MATLAB mex interface which implements many spline interpolation tasks.

Clothoids

G1 and G2 fitting with clothoids, spline of clothods, circle arc and biarc

GenericContainer

A C++ class that permit to store eterogeneous data with C, LUA, MATLAB, RUBY, JSON interface. Permits easy exchange of data between C++ and scripting languages.

Polynomial Roots

Port to C++ of the algorithm of Norbert Flocke for polynomial roots up to degree 4. Also Jenkins-Traub real polynomial root finder is ported but is experimental for the moment.

Utils

A set of utilities for easy C++ development.

  • Malloc class

  • Console class with terminal coloring

  • TicToc for timing code

  • Thread Pool class

Lapack Wrapper

A C++ wrapper that simplify interfacing with (a subset) of lapack routines (both low level and high level classes).

Main developers

  • Enrico Bertolazzi (, personal homepage)

  • Francesco Biral ()

Contributors

  • Paolo Bosetti, MRuby support, ()