SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
Public Member Functions | Public Attributes | Protected Attributes | List of all members
scl::SControllerGc Class Reference

#include <SControllerGc.hpp>

Inheritance diagram for scl::SControllerGc:
Inheritance graph
[legend]
Collaboration diagram for scl::SControllerGc:
Collaboration graph
[legend]

Public Member Functions

 SControllerGc ()
 
sBool init (const std::string &arg_controller_name, SRobotParsed *arg_robot_ds, SRobotIO *arg_robot_io_ds, const Eigen::VectorXd &arg_kp, const Eigen::VectorXd &arg_kv, const Eigen::VectorXd &arg_ka, const Eigen::VectorXd &arg_ki, const Eigen::VectorXd &arg_fgc_max, const Eigen::VectorXd &arg_fgc_min)
 
virtual sBool init (const std::string &arg_controller_name, const SRobotParsed *arg_robot_ds, SRobotIO *arg_io_data, SGcModel *arg_gc_model=S_NULL)
 
virtual const std::string & getType () const
 
virtual const std::string & getName () const
 
virtual bool hasBeenInit () const
 

Public Attributes

Eigen::VectorXd des_force_gc_
 
Eigen::VectorXd des_q_
 
Eigen::VectorXd des_dq_
 
Eigen::VectorXd des_ddq_
 
Eigen::VectorXd force_gc_max_
 
Eigen::VectorXd force_gc_min_
 
Eigen::VectorXd kp_
 
Eigen::VectorXd kv_
 
Eigen::VectorXd ka_
 
Eigen::VectorXd ki_
 
sFloat integral_gain_time_pre_
 
sFloat integral_gain_time_curr_
 
Eigen::VectorXd integral_force_
 
std::string robot_name_
 
const SRobotParsedrobot_
 
SRobotIOio_data_
 
SGcModelgc_model_
 
std::string name_
 
sBool has_been_init_
 

Protected Attributes

std::string type_
 

Detailed Description

Generalized coordinate force controller (joint-space controller) data structure.

Works with an arbitrary actuated articulated body, with direct force control at the generalized coordinates.

Supports dynamically decoupled control, which is equivalent to controlling a unit mass in the generalized coordinates.

Constructor & Destructor Documentation

scl::SControllerGc::SControllerGc ( )

Constructor. Does nothing

Member Function Documentation

virtual const std::string& scl::SObject::getName ( ) const
inlinevirtualinherited

Get the object's type

virtual const std::string& scl::SObject::getType ( ) const
inlinevirtualinherited

Get the object's type

virtual bool scl::SObject::hasBeenInit ( ) const
inlinevirtualinherited

Get the object's type

sBool scl::SControllerBase::init ( const std::string &  arg_controller_name,
const SRobotParsed arg_robot_ds,
SRobotIO arg_io_data,
SGcModel arg_gc_model = S_NULL 
)
virtualinherited

Initializes the data structure

Reimplemented in scl::SControllerMultiTask.

Member Data Documentation

Eigen::VectorXd scl::SControllerGc::des_ddq_

Desired generalized accelerations

Eigen::VectorXd scl::SControllerGc::des_dq_

Desired generalized velocities

Eigen::VectorXd scl::SControllerGc::des_force_gc_

Desired generalized coordinate forces (usually joint torques)

Eigen::VectorXd scl::SControllerGc::des_q_

Desired generalized positions

Eigen::VectorXd scl::SControllerGc::force_gc_max_

Upper and lower applied force limits (Why separate max and min? Muscles can only pull, not push.)

SGcModel* scl::SControllerBase::gc_model_
inherited

Pointer to the JSpace model DS.

sBool scl::SObject::has_been_init_
inherited

Whether the object is ready for use

Eigen::VectorXd scl::SControllerGc::integral_force_

The integral force term. Required because integral control is not time invariant.

sFloat scl::SControllerGc::integral_gain_time_pre_

Set the integral gain decay rate. Ie. Degrade last timestep's influence by x%

Typical use in a PID controller Force = Force + ki * pos_err * (t_curr - t_pre);

SRobotIO* scl::SControllerBase::io_data_
inherited

Robot sensor and actuator data

Eigen::VectorXd scl::SControllerGc::kp_

Gains (scalar if same for different dimensions; vector if different for different dimensions)

Computed by : None. These are constants. Used by : The GcController to calculate gc forces

std::string scl::SObject::name_
inherited

The object's name

const SRobotParsed* scl::SControllerBase::robot_
inherited

Pointer to the static robot data (parsed from a file)

std::string scl::SControllerBase::robot_name_
inherited

Name of the robot

std::string scl::SObject::type_
protectedinherited

The object's type. Should only be set by the constructor


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