HEBI C++ API  3.9.0
hebi::experimental::arm::Arm Class Reference

#include <arm.hpp>

Classes

struct  Params
 

Public Member Functions

bool addPlugin (std::unique_ptr< plugin::Plugin > plugin)
 
template<class T >
std::weak_ptr< plugin::PlugingetPluginByType ()
 
std::weak_ptr< plugin::PlugingetPluginByName (const std::string &name)
 
bool loadGains (const std::string &gains_file)
 
size_t size () const
 
const Groupgroup () const
 
const robot_model::RobotModelrobotModel () const
 
robot_model::RobotModelrobotModel ()
 
const trajectory::Trajectorytrajectory () const
 
const EndEffectorBaseendEffector () const
 
GroupCommandpendingCommand ()
 
const GroupCommandpendingCommand () const
 
const GroupFeedbacklastFeedback () const
 
bool update ()
 
bool send ()
 
void setGoal (const Goal &goal)
 
template<typename T >
void setAuxState (const T &aux_state)
 
double goalProgress () const
 
bool atGoal () const
 
void cancelGoal ()
 
void setJointLimits (const Eigen::VectorXd &min_positions, const Eigen::VectorXd &max_positions)
 
void clearJointLimits (const Eigen::VectorXd &min_positions, const Eigen::VectorXd &max_positions)
 
Eigen::Vector3d FK (const Eigen::VectorXd &positions) const
 
void FK (const Eigen::VectorXd &positions, Eigen::Vector3d &xyz_out, Eigen::Vector3d &tip_axis) const
 
void FK (const Eigen::VectorXd &positions, Eigen::Vector3d &xyz_out, Eigen::Matrix3d &orientation) const
 
Eigen::VectorXd solveIK (const Eigen::VectorXd &initial_positions, const Eigen::Vector3d &target_xyz) const
 
Eigen::VectorXd solveIK (const Eigen::VectorXd &initial_positions, const Eigen::Vector3d &target_xyz, const Eigen::Vector3d &end_tip) const
 
Eigen::VectorXd solveIK (const Eigen::VectorXd &initial_positions, const Eigen::Vector3d &target_xyz, const Eigen::Matrix3d &orientation) const
 

Static Public Member Functions

static std::unique_ptr< Armcreate (const RobotConfig &config)
 
static std::unique_ptr< Armcreate (const Params &params)
 

Member Function Documentation

◆ create() [1/2]

std::unique_ptr< Arm > hebi::experimental::arm::Arm::create ( const RobotConfig config)
static

◆ create() [2/2]

std::unique_ptr< Arm > hebi::experimental::arm::Arm::create ( const Params params)
static

◆ addPlugin()

bool hebi::experimental::arm::Arm::addPlugin ( std::unique_ptr< plugin::Plugin plugin)

◆ getPluginByType()

template<class T >
std::weak_ptr<plugin::Plugin> hebi::experimental::arm::Arm::getPluginByType ( )
inline

◆ getPluginByName()

std::weak_ptr< plugin::Plugin > hebi::experimental::arm::Arm::getPluginByName ( const std::string &  name)

◆ loadGains()

bool hebi::experimental::arm::Arm::loadGains ( const std::string &  gains_file)

◆ size()

size_t hebi::experimental::arm::Arm::size ( ) const
inline

◆ group()

const Group& hebi::experimental::arm::Arm::group ( ) const
inline

◆ robotModel() [1/2]

const robot_model::RobotModel& hebi::experimental::arm::Arm::robotModel ( ) const
inline

◆ robotModel() [2/2]

robot_model::RobotModel& hebi::experimental::arm::Arm::robotModel ( )
inline

◆ trajectory()

const trajectory::Trajectory* hebi::experimental::arm::Arm::trajectory ( ) const
inline

◆ endEffector()

const EndEffectorBase* hebi::experimental::arm::Arm::endEffector ( ) const
inline

◆ pendingCommand() [1/2]

GroupCommand& hebi::experimental::arm::Arm::pendingCommand ( )
inline

◆ pendingCommand() [2/2]

const GroupCommand& hebi::experimental::arm::Arm::pendingCommand ( ) const
inline

◆ lastFeedback()

const GroupFeedback& hebi::experimental::arm::Arm::lastFeedback ( ) const
inline

◆ update()

bool hebi::experimental::arm::Arm::update ( )

◆ send()

bool hebi::experimental::arm::Arm::send ( )

◆ setGoal()

void hebi::experimental::arm::Arm::setGoal ( const Goal goal)

◆ setAuxState()

template<typename T >
void hebi::experimental::arm::Arm::setAuxState ( const T &  aux_state)
inline

◆ goalProgress()

double hebi::experimental::arm::Arm::goalProgress ( ) const

◆ atGoal()

bool hebi::experimental::arm::Arm::atGoal ( ) const
inline

◆ cancelGoal()

void hebi::experimental::arm::Arm::cancelGoal ( )

◆ setJointLimits()

void hebi::experimental::arm::Arm::setJointLimits ( const Eigen::VectorXd &  min_positions,
const Eigen::VectorXd &  max_positions 
)
inline

◆ clearJointLimits()

void hebi::experimental::arm::Arm::clearJointLimits ( const Eigen::VectorXd &  min_positions,
const Eigen::VectorXd &  max_positions 
)
inline

◆ FK() [1/3]

Eigen::Vector3d hebi::experimental::arm::Arm::FK ( const Eigen::VectorXd &  positions) const
inline

◆ FK() [2/3]

void hebi::experimental::arm::Arm::FK ( const Eigen::VectorXd &  positions,
Eigen::Vector3d &  xyz_out,
Eigen::Vector3d &  tip_axis 
) const
inline

◆ FK() [3/3]

void hebi::experimental::arm::Arm::FK ( const Eigen::VectorXd &  positions,
Eigen::Vector3d &  xyz_out,
Eigen::Matrix3d &  orientation 
) const
inline

◆ solveIK() [1/3]

Eigen::VectorXd hebi::experimental::arm::Arm::solveIK ( const Eigen::VectorXd &  initial_positions,
const Eigen::Vector3d &  target_xyz 
) const
inline

◆ solveIK() [2/3]

Eigen::VectorXd hebi::experimental::arm::Arm::solveIK ( const Eigen::VectorXd &  initial_positions,
const Eigen::Vector3d &  target_xyz,
const Eigen::Vector3d &  end_tip 
) const
inline

◆ solveIK() [3/3]

Eigen::VectorXd hebi::experimental::arm::Arm::solveIK ( const Eigen::VectorXd &  initial_positions,
const Eigen::Vector3d &  target_xyz,
const Eigen::Matrix3d &  orientation 
) const
inline

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