RobWorkProject  24.12.4-
Public Member Functions | List of all members
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...
 

Additional Inherited Members

- 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.

Constructor & Destructor Documentation

◆ ModRusselBeamIpopt()

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

Constructor.

Parameters
geomPtrpointer to the beam geometry
obstaclePtrpointer to the plane obstacle
Mnumber of discretization points

Member Function Documentation

◆ solve()

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

solve the minimization problem

Parameters
xinituserstarting guess, will be overwritten by solution
Uvector to put the x-component of the curve in
Vvector to put the x-component of the curve in

Implements ModRusselBeamBase.


The documentation for this class was generated from the following file: