RobWorkProject  23.9.11-
ModRusselBeamIpopt Class Reference

Implementation of the Modified Russel Beam Problem using IPOPT. More...

#include <ModRusselBeamIpopt.hpp>

Inherits ModRusselBeamBase.

## Public Member Functions

ModRusselBeamIpopt (std::shared_ptr< BeamGeometry > geomPtr, std::shared_ptr< BeamObstaclePlane > obstaclePtr, int M)
Constructor. More...

void solve (Eigen::VectorXd &xinituser, Eigen::VectorXd &U, Eigen::VectorXd &V)
solve the minimization problem More...

Public Member Functions inherited from ModRusselBeamBase
ModRusselBeamBase (std::shared_ptr< rwlibs::softbody::BeamGeometry > geomPtr, std::shared_ptr< rwlibs::softbody::BeamObstaclePlane > obstaclePtr, int M)
Constructor. More...

void integrateAngleU (Eigen::VectorXd &U, const Eigen::VectorXd &avec)
given a vector of angles, calculates the x-part of the corresponding curve More...

void integrateAngleV (Eigen::VectorXd &V, const Eigen::VectorXd &avec)
given a vector of angles, calculates the y-part of the corresponding curve More...

std::vector< int > getIntegralIndices (void) const
returns the indices on the beam at which to place integral constraints More...

void setIntegralIndices (const std::vector< int > &indices)
sets the integral indices for the beam More...

std::shared_ptr< BeamGeometrygetGeometry (void) const
returns the BeamGeometry used by the beam More...

std::shared_ptr< BeamObstaclePlanegetObstacle (void) const
returns the BeamObstaclePlane used by the beam More...

int getM (void) const
returns number of cross sections in beam More...

double getAccuracy (void) const
returns accuracy goal of underlying numerical methods More...

void setAccuracy (double acc)
sets accuracy goal of underlying numerical methods More...

rw::math::Transform3D< double > get_planeTbeam (void) const
returns the plane to beam transform More...

double get_thetaTCP (void) const
returns the angle of the beam base frame wrt. the associated obstacle plane More...

double get_yTCP (void) const
returns the height of the beam baseframe over the associated obstacle plane More...

double get_uxTCPy (void) const
return the x-component of the y-axis of the beam baseframe, for the current plane to beam transform More...

double get_uyTCPy (void) const
return the y-component of the y-axis of the beam baseframe, for the current plane to beam transform More...

double get_h (void) const
return the discretization step for the beam cross sections More...

Static Public Member Functions inherited from ModRusselBeamBase
static std::vector< int > computeIntegralIndicies (const int nIntegralConstraints, const int N)
precomputes the indices on the beam at which to place integral constraints More...

static double get_uxTCPy (const rw::math::Transform3D<> planeTbeam)
return the x-component of the y-axis of the beam baseframe More...

static double get_uyTCPy (const rw::math::Transform3D<> planeTbeam)
return the y-component of the y-axis of the beam baseframe More...

## Detailed Description

Implementation of the Modified Russel Beam Problem using IPOPT.

## ◆ ModRusselBeamIpopt()

 ModRusselBeamIpopt ( std::shared_ptr< BeamGeometry > geomPtr, std::shared_ptr< BeamObstaclePlane > obstaclePtr, int M )

Constructor.

Parameters
 geomPtr pointer to the beam geometry obstaclePtr pointer to the plane obstacle M number of discretization points

## ◆ solve()

 void solve ( Eigen::VectorXd & xinituser, Eigen::VectorXd & U, Eigen::VectorXd & V )
virtual

solve the minimization problem

Parameters
 xinituser starting guess, will be overwritten by solution U vector to put the x-component of the curve in V vector to put the x-component of the curve in

Implements ModRusselBeamBase.

The documentation for this class was generated from the following file:
• ModRusselBeamIpopt.hpp