RobWorkProject
24.12.4-
|
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< BeamGeometry > | getGeometry (void) const |
returns the BeamGeometry used by the beam More... | |
std::shared_ptr< BeamObstaclePlane > | getObstacle (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... | |
Implementation of the Modified Russel Beam Problem using IPOPT.
ModRusselBeamIpopt | ( | std::shared_ptr< BeamGeometry > | geomPtr, |
std::shared_ptr< BeamObstaclePlane > | obstaclePtr, | ||
int | M | ||
) |
Constructor.
geomPtr | pointer to the beam geometry |
obstaclePtr | pointer to the plane obstacle |
M | number of discretization points |
|
virtual |
solve the minimization problem
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.