The IvP Build Toolbox


The IvPBuild Toolbox is a set of C++ classes and algorithms for building IvP functions. The primary objective is to provide tools to the implementors of new helm behaviors that are fast and easy to use.


Where to Find the IvPBuild Toolbox Source Code

The IvPBuild Toolbox source code is included in the moos-ivp tree - the tree constituting the core download for MOOS-IvP. The toolbox is essentially the lib_ivpbuild library, which is a dependency for the pHelmIvP application and is used by nearly all behaviors distributed with the IvP Helm.


Where to Find the IvPBuild Toolbox Documentation


A Brief Overview

An instance of the class IvPFunction is the primary output of a behavior on each helm iteration, and is comprised of anywhere from a handful to thousands of “pieces” that approximate the utility function of the behavior. The function in the lower part of the figure below is approximated by piecewise IvP function in the upper part of the figure using 289 pieces. Each piece is a locally linear approximation of the underlying function.



The IvPBuild Toolbox allows the user to essentially just create the underlying function as a black box capable of returning an answer for any point in the domain of the function. The user passes a pointer to this function to the toolbox and the toolbox handles the creation of the piecewise approximation (the IvP Function).

The toolbox is able to handle functions in any dimension, but has additional simpler methods for handling the creation of functions in one dimension, as a special case.