Klamp't  0.8.1
Public Member Functions | List of all members
PolynomialPathController Class Reference

A controller that uses a piecewise polynomial trajectory. More...

#include <PathController.h>

Inheritance diagram for PolynomialPathController:
JointTrackingController PolynomialMotionQueue RobotController

Public Member Functions

 PolynomialPathController (Robot &robot)
virtual const char * Type () const
virtual void GetDesiredState (Config &q_des, Vector &dq_des)
 subclasses should override this
virtual void Update (Real dt)
virtual void Reset ()
virtual bool ReadState (File &f)
virtual bool WriteState (File &f) const
virtual vector< string > Commands () const
virtual bool SendCommand (const string &name, const string &str)
- Public Member Functions inherited from JointTrackingController
 JointTrackingController (Robot &robot)
- Public Member Functions inherited from RobotController
 RobotController (Robot &robot)
virtual map< string, string > Settings () const
virtual bool GetSetting (const string &name, string &str) const
virtual bool SetSetting (const string &name, const string &str)
void SetPIDCommand (const Config &qdes)
void SetPIDCommand (const Config &qdes, const Config &dqdes)
void SetFeedforwardPIDCommand (const Config &qdes, const Config &dqdes, const Vector &torques)
void SetTorqueCommand (const Vector &torques)
bool GetCommandedConfig (Config &q)
bool GetCommandedVelocity (Config &dq)
bool GetSensedConfig (Config &q)
bool GetSensedVelocity (Config &dq)
- Public Member Functions inherited from PolynomialMotionQueue
void SetLimits (const Robot &robot)
void SetConstant (const Config &x)
 Sets a constant trajectory.
void SetPath (const Spline::PiecewisePolynomialND &path)
 Sets the trajectory from a PiecewisePolynomialND.
void SetPath (const ParabolicRamp::DynamicPath &path)
 Sets the trajectory from a DynamicPath.
void SetPiecewiseLinear (const vector< Config > &milestones, const vector< Real > &times)
void SetPiecewiseCubic (const vector< Config > &milestones, const vector< Vector > &velocities, const vector< Real > &times)
void SetPiecewiseLinearRamp (const vector< Config > &milestones)
void Advance (Real dt)
 Moves forward the internal time marker.
void Append (const Spline::PiecewisePolynomialND &path)
void Append (const ParabolicRamp::DynamicPath &path)
 Appends a DynamicPath.
void AppendLinear (const Config &config, Real dt)
void AppendCubic (const Config &x, const Config &v, Real dt)
void AppendRamp (const Config &x)
 Appends a time-optimal ramp from the end configuration/velocity to x.
void AppendLinearRamp (const Config &x)
void AppendRamp (const Config &x, const Vector &v)
void GetPath (Spline::PiecewisePolynomialND &path) const
 Retrieves the path, defined on the range [t0,t0+T].
void Cut (Real time, bool relative=true)
Real CurTime () const
 Returns the current time t0.
Config CurConfig () const
 Returns the configuration at the current time y(t0)
Config CurVelocity () const
 Returns the velocity at the current time y'(t0)
Config Endpoint () const
 Returns the configuration at the end time y(t0+T)
Vector EndpointVelocity () const
 Returns the velocity at the end time y'(t0+T)
void Eval (Real time, Config &x, bool relative=true) const
void Deriv (Real time, Config &dx, bool relative=true) const
bool Done () const
 Returns true if there is no more trajectory to be executed.
Real TimeRemaining () const
 Returns the duration of the trajectory remaining to be executed.

Additional Inherited Members

- Public Attributes inherited from JointTrackingController
Config qdesDefault
- Public Attributes inherited from RobotController
Real time
Real nominalTimeStep
 a "desired" time step, by default 0, which acts as a hint to the simulator. Note that it doesn't have to abide the hint.
 sensor input (filled in by simulator)
 motor command output (output to simulator)
- Public Attributes inherited from PolynomialMotionQueue
Real pathOffset
Spline::PiecewisePolynomialND path
Vector qMin
Vector qMax
Vector velMax
Vector accMax

Detailed Description

A controller that uses a piecewise polynomial trajectory.

Accepts commands set_q,append_q,set_tq,append_tq,set_qv,append_qv, append_q_linear,brake.

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