PatternGeneratorJRL::RigidBodySystem Class Reference

#include <PreviewControl/rigid-body-system.hh>

List of all members.

Public Member Functions

 RigidBodySystem (SimplePluginManager *SPM, CjrlHumanoidDynamicRobot *aHS, SupportFSM *FSM)
 ~RigidBodySystem ()
void initialize ()
 Initialize.
int interpolate (solution_t Result, std::deque< ZMPPosition > &FinalZMPTraj_deq, std::deque< COMState > &FinalCOMTraj_deq, std::deque< FootAbsolutePosition > &FinalLeftFootTraj_deq, std::deque< FootAbsolutePosition > &FinalRightFootTraj_deq)
 Interpolate.
int update (const std::deque< support_state_t > &SupportStates_deq, const std::deque< FootAbsolutePosition > &LeftFootTraj_deq, const std::deque< FootAbsolutePosition > &RightFootTraj_deq)
 Update feet matrices.
int compute_dyn_cjerk ()
 Initialize dynamics of the body center Suppose a piecewise constant jerk.
int generate_trajectories (double time, const solution_t &Result, const std::deque< support_state_t > &SupportStates_deq, const std::deque< double > &PreviewedSupportAngles_deq, std::deque< FootAbsolutePosition > &LeftFootTraj_deq, std::deque< FootAbsolutePosition > &RightFootTraj_deq)
 Generate final trajectories.
Accessors and mutators
linear_dynamics_t const & DynamicsCoPJerk () const
linear_dynamics_tDynamicsCoPJerk ()
RigidBody const & CoM () const
void CoM (const RigidBody &CoM)
RigidBody const & LeftFoot () const
RigidBodyLeftFoot ()
void LeftFoot (const RigidBody &LeftFoot)
RigidBody const & RightFoot () const
RigidBodyRightFoot ()
void RightFoot (const RigidBody &RightFoot)
double SamplingPeriodSim () const
void SamplingPeriodSim (double T)
double SamplingPeriodAct () const
void SamplingPeriodAct (double Ta)
unsigned NbSamplingsPreviewed () const
void NbSamplingsPreviewed (unsigned N)
double Mass () const
void Mass (double Mass)
double CoMHeight () const
void CoMHeight (double Height)
bool multiBody () const
void multiBody (bool multiBody)
std::deque< support_state_t > & SupportTrajectory ()

Constructor & Destructor Documentation

RigidBodySystem::RigidBodySystem ( SimplePluginManager *  SPM,
CjrlHumanoidDynamicRobot aHS,
SupportFSM FSM 
)
RigidBodySystem::~RigidBodySystem ( )

Member Function Documentation

RigidBody const& PatternGeneratorJRL::RigidBodySystem::CoM ( ) const [inline]
void PatternGeneratorJRL::RigidBodySystem::CoM ( const RigidBody CoM) [inline]

References CoM().

Referenced by CoM().

double PatternGeneratorJRL::RigidBodySystem::CoMHeight ( ) const [inline]
void PatternGeneratorJRL::RigidBodySystem::CoMHeight ( double  Height) [inline]
int RigidBodySystem::compute_dyn_cjerk ( )

Initialize dynamics of the body center Suppose a piecewise constant jerk.

return 0

References PatternGeneratorJRL::RigidBody::Dynamics().

Referenced by initialize().

linear_dynamics_t const& PatternGeneratorJRL::RigidBodySystem::DynamicsCoPJerk ( ) const [inline]
linear_dynamics_t& PatternGeneratorJRL::RigidBodySystem::DynamicsCoPJerk ( ) [inline]
int RigidBodySystem::generate_trajectories ( double  time,
const solution_t &  Result,
const std::deque< support_state_t > &  SupportStates_deq,
const std::deque< double > &  PreviewedSupportAngles_deq,
std::deque< FootAbsolutePosition > &  LeftFootTraj_deq,
std::deque< FootAbsolutePosition > &  RightFootTraj_deq 
)

Generate final trajectories.

Parameters:
[in]timeCurrent time
[in]CurrentSupport
[in]ResultOptimization result
[in]SupportStates_deq
[in]PreviewedSupportAngles_deq
[out]LeftFootTraj_deq
[out]RightFootTraj_deqreturn 0
int PatternGeneratorJRL::RigidBodySystem::interpolate ( solution_t  Result,
std::deque< ZMPPosition > &  FinalZMPTraj_deq,
std::deque< COMState > &  FinalCOMTraj_deq,
std::deque< FootAbsolutePosition > &  FinalLeftFootTraj_deq,
std::deque< FootAbsolutePosition > &  FinalRightFootTraj_deq 
)

Interpolate.

Parameters:
[in]ResultOptimization result
[in]FinalZMPTraj_deq
[in]FinalCOMTraj_deq
[in]FinalLeftFootTraj_deq
[in]FinalRightFootTraj_deq
Returns:
0
RigidBody const& PatternGeneratorJRL::RigidBodySystem::LeftFoot ( ) const [inline]
RigidBody& PatternGeneratorJRL::RigidBodySystem::LeftFoot ( ) [inline]
void PatternGeneratorJRL::RigidBodySystem::LeftFoot ( const RigidBody LeftFoot) [inline]

References LeftFoot().

Referenced by LeftFoot().

double PatternGeneratorJRL::RigidBodySystem::Mass ( ) const [inline]
void PatternGeneratorJRL::RigidBodySystem::Mass ( double  Mass) [inline]

References Mass().

Referenced by Mass().

bool PatternGeneratorJRL::RigidBodySystem::multiBody ( ) const [inline]
void PatternGeneratorJRL::RigidBodySystem::multiBody ( bool  multiBody) [inline]

References multiBody().

Referenced by multiBody().

unsigned PatternGeneratorJRL::RigidBodySystem::NbSamplingsPreviewed ( ) const [inline]
void PatternGeneratorJRL::RigidBodySystem::NbSamplingsPreviewed ( unsigned  N) [inline]
RigidBody const& PatternGeneratorJRL::RigidBodySystem::RightFoot ( ) const [inline]
RigidBody& PatternGeneratorJRL::RigidBodySystem::RightFoot ( ) [inline]
void PatternGeneratorJRL::RigidBodySystem::RightFoot ( const RigidBody RightFoot) [inline]

References RightFoot().

Referenced by RightFoot().

double PatternGeneratorJRL::RigidBodySystem::SamplingPeriodAct ( ) const [inline]
void PatternGeneratorJRL::RigidBodySystem::SamplingPeriodAct ( double  Ta) [inline]
double PatternGeneratorJRL::RigidBodySystem::SamplingPeriodSim ( ) const [inline]
void PatternGeneratorJRL::RigidBodySystem::SamplingPeriodSim ( double  T) [inline]
std::deque<support_state_t>& PatternGeneratorJRL::RigidBodySystem::SupportTrajectory ( ) [inline]
int RigidBodySystem::update ( const std::deque< support_state_t > &  SupportStates_deq,
const std::deque< FootAbsolutePosition > &  LeftFootTraj_deq,
const std::deque< FootAbsolutePosition > &  RightFootTraj_deq 
)

Update feet matrices.

Parameters:
[in]SupportStates_deqPreviewed support states
[in]LeftFootTraj_deqFinal foot trajectory (left foot)
[in]RightFootTraj_deqFinal foot trajectory (right foot)
Returns:
0

References PatternGeneratorJRL::RigidBody::Dynamics(), PatternGeneratorJRL::RigidBody::State(), PatternGeneratorJRL::rigid_body_state_s::X, and PatternGeneratorJRL::rigid_body_state_s::Y.