NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
traj_opt::NonlinearTrajectory Class Reference

#include <nonlinear_trajectory.h>

Inheritance diagram for traj_opt::NonlinearTrajectory:
Inheritance graph

Public Member Functions

 NonlinearTrajectory (const std::vector< Waypoint > &waypoints, const std::vector< std::pair< MatD, VecD > > &cons, int deg=7, int min_dim=3, boost::shared_ptr< std::vector< decimal_t > > ds=boost::shared_ptr< std::vector< decimal_t > >(), boost::shared_ptr< VecDVec > path=boost::shared_ptr< VecDVec >(), bool time_opt=false, decimal_t gap=1e-8, int max_it=200)
 
 NonlinearTrajectory (const std::vector< Waypoint > &waypoints, const Vec3Vec &points, int segs, decimal_t dt)
 
virtual ~NonlinearTrajectory ()
 
decimal_t getTotalTime () const
 
bool evaluate (decimal_t t, uint derr, VecD &out) const
 
decimal_t getCost ()
 
TrajData serialize ()
 
bool isSolved ()
 
Vec4Vec getBeads ()
 
void scaleTime (decimal_t ratio)
 
SolverInfo getInfo (std::vector< TrajData > *history=NULL)
 
- Public Member Functions inherited from traj_opt::Trajectory
virtual ~Trajectory ()
 
decimal_t getExecuteTime () const
 
bool getCommand (decimal_t t, uint num_derivatives, MatD &data)
 
void setDim (uint ndim)
 
void setExecuteTime (decimal_t t)
 

Protected Member Functions

void allocate_poly (boost::shared_ptr< std::vector< decimal_t > > ds=boost::shared_ptr< std::vector< decimal_t > >(), boost::shared_ptr< VecDVec > path=boost::shared_ptr< VecDVec >())
 
void allocate_beads ()
 
void link_sections ()
 
void add_boundary (const std::vector< Waypoint > &waypoints)
 
void add_Axb (const std::vector< std::pair< MatD, VecD > > &cons)
 
void addCloudConstraint (const Vec3Vec &points)
 
void addPosTime ()
 
void addTimeBound (boost::shared_ptr< std::vector< decimal_t > > ds=boost::shared_ptr< std::vector< decimal_t > >())
 
void make_convex (boost::shared_ptr< std::vector< decimal_t > > ds)
 

Protected Attributes

NonlinearSolver solver {10000}
 
NLTraj traj
 
NLTimes times
 
NLBeads beads
 
boost::shared_ptr< PolyCostcost
 
boost::shared_ptr< BasisTransformerbasisT
 
int seg_
 
int deg_
 
BasisBundlePro basis
 
bool solved_ {false}
 
- Protected Attributes inherited from traj_opt::Trajectory
decimal_t exec_t {-1.0}
 
int dim_ {0}
 

Friends

class AxbConstraint
 
class BallConstraint
 

Constructor & Destructor Documentation

◆ NonlinearTrajectory() [1/2]

traj_opt::NonlinearTrajectory::NonlinearTrajectory ( const std::vector< Waypoint > &  waypoints,
const std::vector< std::pair< MatD, VecD > > &  cons,
int  deg = 7,
int  min_dim = 3,
boost::shared_ptr< std::vector< decimal_t > >  ds = boost::shared_ptr< std::vector< decimal_t > >(),
boost::shared_ptr< VecDVec path = boost::shared_ptr< VecDVec >(),
bool  time_opt = false,
decimal_t  gap = 1e-8,
int  max_it = 200 
)

◆ NonlinearTrajectory() [2/2]

traj_opt::NonlinearTrajectory::NonlinearTrajectory ( const std::vector< Waypoint > &  waypoints,
const Vec3Vec points,
int  segs,
decimal_t  dt 
)

◆ ~NonlinearTrajectory()

virtual traj_opt::NonlinearTrajectory::~NonlinearTrajectory ( )
inlinevirtual

Member Function Documentation

◆ add_Axb()

void traj_opt::NonlinearTrajectory::add_Axb ( const std::vector< std::pair< MatD, VecD > > &  cons)
protected

◆ add_boundary()

void traj_opt::NonlinearTrajectory::add_boundary ( const std::vector< Waypoint > &  waypoints)
protected

◆ addCloudConstraint()

void traj_opt::NonlinearTrajectory::addCloudConstraint ( const Vec3Vec points)
protected

◆ addPosTime()

void traj_opt::NonlinearTrajectory::addPosTime ( )
protected

◆ addTimeBound()

void traj_opt::NonlinearTrajectory::addTimeBound ( boost::shared_ptr< std::vector< decimal_t > >  ds = boost::shared_ptr<std::vector<decimal_t> >())
protected

◆ allocate_beads()

void traj_opt::NonlinearTrajectory::allocate_beads ( )
protected

◆ allocate_poly()

void traj_opt::NonlinearTrajectory::allocate_poly ( boost::shared_ptr< std::vector< decimal_t > >  ds = boost::shared_ptr<std::vector<decimal_t> >(),
boost::shared_ptr< VecDVec path = boost::shared_ptr<VecDVec>() 
)
protected

◆ evaluate()

bool traj_opt::NonlinearTrajectory::evaluate ( decimal_t  t,
uint  derr,
VecD out 
) const
virtual

Implements traj_opt::Trajectory.

◆ getBeads()

Vec4Vec traj_opt::NonlinearTrajectory::getBeads ( )

◆ getCost()

decimal_t traj_opt::NonlinearTrajectory::getCost ( )
virtual

Implements traj_opt::Trajectory.

◆ getInfo()

SolverInfo traj_opt::NonlinearTrajectory::getInfo ( std::vector< TrajData > *  history = NULL)

◆ getTotalTime()

decimal_t traj_opt::NonlinearTrajectory::getTotalTime ( ) const
virtual

Implements traj_opt::Trajectory.

◆ isSolved()

bool traj_opt::NonlinearTrajectory::isSolved ( )
inline

◆ link_sections()

void traj_opt::NonlinearTrajectory::link_sections ( )
protected

◆ make_convex()

void traj_opt::NonlinearTrajectory::make_convex ( boost::shared_ptr< std::vector< decimal_t > >  ds)
protected

◆ scaleTime()

void traj_opt::NonlinearTrajectory::scaleTime ( decimal_t  ratio)

◆ serialize()

TrajData traj_opt::NonlinearTrajectory::serialize ( )
virtual

Implements traj_opt::Trajectory.

Friends And Related Function Documentation

◆ AxbConstraint

friend class AxbConstraint
friend

◆ BallConstraint

friend class BallConstraint
friend

Member Data Documentation

◆ basis

BasisBundlePro traj_opt::NonlinearTrajectory::basis
protected

◆ basisT

boost::shared_ptr<BasisTransformer> traj_opt::NonlinearTrajectory::basisT
protected

◆ beads

NLBeads traj_opt::NonlinearTrajectory::beads
protected

◆ cost

boost::shared_ptr<PolyCost> traj_opt::NonlinearTrajectory::cost
protected

◆ deg_

int traj_opt::NonlinearTrajectory::deg_
protected

◆ seg_

int traj_opt::NonlinearTrajectory::seg_
protected

◆ solved_

bool traj_opt::NonlinearTrajectory::solved_ {false}
protected

◆ solver

NonlinearSolver traj_opt::NonlinearTrajectory::solver {10000}
protected

◆ times

NLTimes traj_opt::NonlinearTrajectory::times
protected

◆ traj

NLTraj traj_opt::NonlinearTrajectory::traj
protected

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