Class GroupFeedback

Class Documentation

class GroupFeedback

A list of Feedback objects that can be received from a Group of modules; the size() must match the number of modules in the group.

Public Functions

GroupFeedback(size_t number_of_modules)

Create a group feedback with the specified number of modules.

GroupFeedback(HebiGroupFeedbackPtr group_feedback)

Wraps an existing C-style feedback object; object lifetime is assumed to be managed by the caller. NOTE: this should not be used except by internal library functions!

~GroupFeedback() noexcept = default

Destructor cleans up group feedback object as necessary.

GroupFeedback(GroupFeedback&&) = default

Allows moving result from “subview”.

GroupFeedback subview(std::vector<int> indices) const

Creates a “subview” of this group feedback object, with shared access to a subset of the Feedback elements.

The indices do not need to remain in order, and do not need to be unique; however, they must each be >= 0 and < size(); otherwise an out_of_range exception is thrown.

inline bool isSubview() const

Was this created as a subview of another GroupFeedback?

size_t size() const

Returns the number of module feedbacks in this group feedback.

const Feedback &operator[](size_t index) const

Access the feedback for an individual module.

double getTime() const

Gets a single wall-clock timestamp (in seconds since the epoch) associated with the entire group feedback (this is time the last feedback packet arrived).

Returns:

the maximum value of each feedback’s PC receive time, or NaN if not all feedbacks are populated.

uint64_t getTimeUs() const

Gets a single wall-clock timestamp (in microseconds since the epoch) associated with the entire group feedback (this is time the last feedback packet arrived).

Returns:

the maximum value of each feedback’s PC receive time, or 0 if not all feedbacks are populated.

Eigen::VectorXd getBoardTemperature() const

Convenience function for returning feedback board temperature values.

Eigen::VectorXd getProcessorTemperature() const

Convenience function for returning feedback processor temperature values.

Eigen::VectorXd getVoltage() const

Convenience function for returning feedback voltage values.

Eigen::VectorXd getDeflection() const

Convenience function for returning feedback deflection values.

Eigen::VectorXd getDeflectionVelocity() const

Convenience function for returning feedback deflection velocity values.

Eigen::VectorXd getMotorVelocity() const

Convenience function for returning feedback motor velocity values.

Eigen::VectorXd getMotorCurrent() const

Convenience function for returning feedback motor current values.

Eigen::VectorXd getMotorSensorTemperature() const

Convenience function for returning feedback motor sensor temperature values.

Eigen::VectorXd getMotorWindingCurrent() const

Convenience function for returning feedback motor winding current values.

Eigen::VectorXd getMotorWindingTemperature() const

Convenience function for returning feedback motor winding temperature values.

Eigen::VectorXd getMotorHousingTemperature() const

Convenience function for returning feedback motor housing temperature values.

Eigen::VectorXd getPosition() const

Convenience function for returning feedback position values.

Eigen::VectorXd getVelocity() const

Convenience function for returning feedback velocity values.

Eigen::VectorXd getEffort() const

Convenience function for returning feedback effort values.

Eigen::VectorXd getPositionCommand() const

Convenience function for returning commanded position values.

Eigen::VectorXd getVelocityCommand() const

Convenience function for returning commanded velocity values.

Eigen::VectorXd getEffortCommand() const

Convenience function for returning commanded effort values.

Eigen::MatrixX3d getAccelerometer() const

Convenience function for returning feedback accelerometer values.

Eigen::MatrixX3d getGyro() const

Convenience function for returning feedback gyroscope values.

void getBoardTemperature(Eigen::VectorXd &out) const

Convenience function for returning feedback board temperature values.

void getProcessorTemperature(Eigen::VectorXd &out) const

Convenience function for returning feedback processor temperature values.

void getVoltage(Eigen::VectorXd &out) const

Convenience function for returning feedback voltage values.

void getDeflection(Eigen::VectorXd &out) const

Convenience function for returning feedback deflection values.

void getDeflectionVelocity(Eigen::VectorXd &out) const

Convenience function for returning feedback deflection velocity values.

void getMotorVelocity(Eigen::VectorXd &out) const

Convenience function for returning feedback motor velocity values.

void getMotorCurrent(Eigen::VectorXd &out) const

Convenience function for returning feedback motor current values.

void getMotorSensorTemperature(Eigen::VectorXd &out) const

Convenience function for returning feedback motor sensor temperature values.

void getMotorWindingCurrent(Eigen::VectorXd &out) const

Convenience function for returning feedback motor winding current values.

void getMotorWindingTemperature(Eigen::VectorXd &out) const

Convenience function for returning feedback motor winding temperature values.

void getMotorHousingTemperature(Eigen::VectorXd &out) const

Convenience function for returning feedback motor housing temperature values.

void getPosition(Eigen::VectorXd &out) const

Convenience function for returning feedback position values.

void getVelocity(Eigen::VectorXd &out) const

Convenience function for returning feedback velocity values.

void getEffort(Eigen::VectorXd &out) const

Convenience function for returning feedback effort values.

void getPositionCommand(Eigen::VectorXd &out) const

Convenience function for returning commanded position values.

void getVelocityCommand(Eigen::VectorXd &out) const

Convenience function for returning commanded velocity values.

void getEffortCommand(Eigen::VectorXd &out) const

Convenience function for returning commanded effort values.

void getAccelerometer(Eigen::MatrixX3d &out) const

Convenience function for returning feedback accelerometer values.

void getGyro(Eigen::MatrixX3d &out) const

Convenience function for returning feedback gyroscope values.

Public Members

std::shared_ptr<GroupFeedbackWrapper> internal_

Light wrapper around C-style group feedback object. NOTE: this should not be used except by library functions!