Class Arm

Nested Relationships

Nested Types

Class Documentation

class Arm

Public Functions

bool addPlugin(std::unique_ptr<plugin::Plugin> plugin)
template<class T>
inline std::weak_ptr<plugin::Plugin> getPluginByType()
std::weak_ptr<plugin::Plugin> getPluginByName(const std::string &name)
bool loadGains(const std::string &gains_file)
inline size_t size() const
inline const Group &group() const
inline const robot_model::RobotModel &robotModel() const
inline robot_model::RobotModel &robotModel()
inline const trajectory::Trajectory *trajectory() const
inline const EndEffectorBase *endEffector() const
inline GroupCommand &pendingCommand()
inline const GroupCommand &pendingCommand() const
inline const GroupFeedback &lastFeedback() const
bool update()
bool send()
void setGoal(const Goal &goal)
template<typename T>
inline void setAuxState(const T &aux_state)
double goalProgress() const
inline bool atGoal() const
void cancelGoal()
inline void setJointLimits(const Eigen::VectorXd &min_positions, const Eigen::VectorXd &max_positions)
inline void clearJointLimits()
inline Eigen::Vector3d FK(const Eigen::VectorXd &positions) const
inline void FK(const Eigen::VectorXd &positions, Eigen::Vector3d &xyz_out, Eigen::Vector3d &tip_axis) const
inline void FK(const Eigen::VectorXd &positions, Eigen::Vector3d &xyz_out, Eigen::Matrix3d &orientation) const
inline Eigen::VectorXd solveIK(const Eigen::VectorXd &initial_positions, const Eigen::Vector3d &target_xyz) const
inline Eigen::VectorXd solveIK(const Eigen::VectorXd &initial_positions, const Eigen::Vector3d &target_xyz, const Eigen::Vector3d &end_tip) const
inline Eigen::VectorXd solveIK(const Eigen::VectorXd &initial_positions, const Eigen::Vector3d &target_xyz, const Eigen::Matrix3d &orientation) const

Public Static Functions

static std::unique_ptr<Arm> create(const RobotConfig &config)
static std::unique_ptr<Arm> create(const RobotConfig &config, const Lookup &lookup)
static std::unique_ptr<Arm> create(const Params &params)
static std::unique_ptr<Arm> create(const Params &config, const Lookup &lookup)
struct Params

Public Members

std::vector<std::string> families_
std::vector<std::string> names_
int command_lifetime_ = 100
double control_frequency_ = 200.f
std::string hrdf_file_
std::shared_ptr<robot_model::RobotModel> robot_model_
std::shared_ptr<EndEffectorBase> end_effector_
std::function<double()> get_current_time_s_ = []() {using clock = std::chrono::steady_clock;static const clock::time_point start_time = clock::now();return (std::chrono::duration<double>(clock::now() - start_time)).count();}