scenario::monopod C++ API¶
scenario::monopod::World¶
- 
class scenario::monopod::World : public World, public std::enable_shared_from_this<scenario::monopod::World>¶
- Public Functions - 
bool initialize(const monopod_drivers::Mode &mode, const bool &dummy_mode = false) const¶
- Initialize can_bus connections to encoder board and motor board. - Parameters
- monopod_mode – defines the task mode of the monopod. Can also specify individual boards. 
- dummy_mode – if false the sdk will try to connect to the canbus connection otherwise it will just create a dummy board class which fakes the real robot. 
 
 
 - 
bool valid() const override¶
- Check if the world is valid. - Returns
- True if the world is valid, false otherwise. 
 
 - 
std::string name() const override¶
- Get the name of the world. - Returns
- The name of the world. 
 
 - 
std::vector<std::string> modelNames() const override¶
- Get the name of the models that are part of the world. - Returns
- The list of model names. 
 
 - 
scenario::core::ModelPtr getModel(const std::string &modelName) const override¶
- Get a model part of the world. - Parameters
- modelName – The name of the model to get. 
- Returns
- The model if it is part of the world, - nullptrotherwise.
 
 - 
std::vector<scenario::core::ModelPtr> models(const std::vector<std::string> &modelNames = {}) const override¶
- Get the models of the world. - Parameters
- modelNames – Optional vector of considered models. By default, - World::modelNamesis used.
- Returns
- A vector of pointers to the model objects. 
 
 
- 
bool initialize(const monopod_drivers::Mode &mode, const bool &dummy_mode = false) const¶
scenario::monopod::Model¶
- 
class scenario::monopod::Model : public Model, public std::enable_shared_from_this<scenario::monopod::Model>¶
- Public Types - 
typedef monopod_drivers::Mode Mode¶
- A useful shortcut for using cpp scenario code. 
 - Public Functions - 
bool initialize(const monopod_drivers::Mode &mode, const bool &dummy_mode) const¶
- Initialize can_bus connections to encoder board and motor board. - Parameters
- monopod_mode – defines the task mode of the monopod. Can also specify individual boards. 
- dummy_mode – if false the sdk will try to connect to the canbus connection otherwise it will just create a dummy board class which fakes the real robot. 
 
 
 - 
void calibrate(const double &hip_home_offset_rad = 0, const double &knee_home_offset_rad = 0)¶
- Calibrate the Encoders. - Parameters
- hip_home_offset_rad – hip offset from found encoder index 0 (rad) 
- knee_home_offset_rad – knee offset from found encoder index 0 (rad) 
 
 
 - 
void reset()¶
- If the joint module is not valid (safemode after limit reached) the joint will be reset into a valid state. This means the joint must be set back into the valid state first otherwise it will trigger the limits again. 
 - 
void print_status()¶
- print status messages of robot. 
 - 
bool valid() const override¶
- Check if the model is valid. - Returns
- True if the model is valid, false otherwise. 
 
 - 
std::string name() const override¶
- Get the name of the model. - Returns
- The name of the model. 
 
 - 
size_t dofs(const std::vector<std::string> &jointNames = {}) const override¶
- Get the joints DOF - Parameters
- jointNames – Optional vector of considered joints that also defines the joint serialization. By default, - Model::jointNamesis used.
- Returns
- The sum of serialization of joint DOFs. The sum is the number of DoFs of all the considered joints. 
 
 - 
core::JointPtr getJoint(const std::string &jointName) const override¶
- Get a joint belonging to the model. - Parameters
- jointName – The name of the joint. 
- Throws
- std::runtime_error – if the joint does not exist. 
- Returns
- The desired joint. 
 
 - 
std::vector<std::string> jointNames(const bool scoped = false) const override¶
- Get the name of all the model’s joints. - Parameters
- scoped – Scope the joint names with the model name, (e.g. - mymodel::joint1).
- Returns
- The list of joint names. 
 
 - 
std::vector<double> jointPositions(const std::vector<std::string> &jointNames = {}) const override¶
- Get the joint positions. - Parameters
- jointNames – Optional vector of considered joints that also defines the joint serialization. By default, - Model::jointNamesis used.
- Returns
- The serialization of joint positions. The vector has as many elements as DoFs of the considered joints. 
 
 - 
std::vector<double> jointVelocities(const std::vector<std::string> &jointNames = {}) const override¶
- Get the joint velocities. - Parameters
- jointNames – Optional vector of considered joints that also defines the joint serialization. By default, - Model::jointNamesis used.
- Returns
- The serialization of joint velocities. The vector has as many elements as DoFs of the considered joints. 
 
 - 
std::vector<double> jointAccelerations(const std::vector<std::string> &jointNames = {}) const override¶
- Get the joint accelerations. - Parameters
- jointNames – Optional vector of considered joints that also defines the joint serialization. By default, - Model::jointNamesis used.
- Returns
- The serialization of joint accelerations. The vector has as many elements as DoFs of the considered joints. 
 
 - 
bool setJointControlMode(const core::JointControlMode mode, const std::vector<std::string> &jointNames = {}) override¶
- Set the control mode of model joints. - Parameters
- mode – The desired joint control mode. 
- jointNames – Optional vector of considered joints that also defines the joint serialization. By default, - Model::jointNamesis used.
 
- Returns
- True for success, false otherwise. 
 
 - 
std::vector<core::JointPtr> joints(const std::vector<std::string> &jointNames = {}) const override¶
- Get the joints of the model. - Parameters
- jointNames – Optional vector of considered joints. By default, - Model::jointNamesis used.
- Returns
- A vector of pointers to the joint objects. 
 
 - 
bool setJointGeneralizedForceTargets(const std::vector<double> &forces, const std::vector<std::string> &jointNames = {}) override¶
- Set the generalized force targets of the joints. - Parameters
- forces – The vector with the joint generalized force targets. It must have as many elements as the considered joint DoFs. 
- jointNames – Optional vector of considered joints. By default, - Model::jointNamesis used.
 
- Returns
- True for success, false otherwise. 
 
 - 
std::vector<double> jointGeneralizedForceTargets(const std::vector<std::string> &jointNames = {}) const override¶
- Get the generalized force targets of the joints. - Parameters
- jointNames – Optional vector of considered joints. By default, - Model::jointNamesis used.
- Returns
- The generalized force targets of the joints. 
 
 
- 
typedef monopod_drivers::Mode Mode¶
scenario::monopod::Joint¶
- 
class scenario::monopod::Joint : public Joint, public std::enable_shared_from_this<scenario::monopod::Joint>¶
- Public Functions - 
bool valid() const override¶
- Check if the joint is valid. - Returns
- True if the model is valid, false otherwise. 
 
 - 
size_t dofs() const override¶
- Get the number of degrees of freedom of the joint. - Returns
- The number of DOFs of the joint. 
 
 - 
std::string name(const bool scoped = false) const override¶
- Get the name of the joint. - Parameters
- scoped – If true, the scoped name of the joint is returned. 
- Returns
- The name of the joint. 
 
 - 
core::JointType type() const override¶
- Get the type of the joint. - Returns
- The type of the joint. 
 
 - 
bool setControlMode(const core::JointControlMode mode) override¶
- Set the joint control mode. - Parameters
- mode – The desired control mode. 
- Returns
- True for success, false otherwise. 
 
 - 
core::JointControlMode controlMode() const override¶
- get the joint control mode. - Returns
- the joint control mode 
 
 - 
core::PID pid() const override¶
- Get the PID parameters of the joint. - If no PID parameters have been set, the default parameters are returned. - Returns
- The joint PID parameters. 
 
 - 
bool setPID(const core::PID &pid) override¶
- Set the PID parameters of the joint. - Parameters
- pid – The desired PID parameters. 
- Returns
- True for success, false otherwise. 
 
 - 
std::vector<double> jointMaxGeneralizedForce() const override¶
- Get the maximum generalized force that could be applied to the joint. - Returns
- The maximum generalized force of the joint. 
 
 - 
bool setJointMaxGeneralizedForce(const std::vector<double> &maxForce) override¶
- Set the maximum generalized force that can be applied to the joint. - This limit can be used to clip the force applied by joint controllers. - Parameters
- maxForce – A vector with the maximum generalized forces of the joint DOFs. 
- Returns
- True for success, false otherwise. 
 
 - 
std::vector<double> jointPosition() const override¶
- Get the position of the joint. - Returns
- The position of the joint. 
 
 - 
std::vector<double> jointVelocity() const override¶
- Get the velocity of the joint. - Returns
- The velocity of the joint. 
 
 - 
std::vector<double> jointAcceleration() const override¶
- Get the acceleration of the joint. - Returns
- The acceleration of the joint. 
 
 - 
bool setJointGeneralizedForceTarget(const std::vector<double> &force) override¶
- Set the generalized force target of the joint. - Note that if there’s friction or other loss components, the real joint force will differ. - Parameters
- force – A vector with the generalized force targets of the joint DOFs. 
- Returns
- True for success, false otherwise. 
 
 - 
std::vector<double> jointGeneralizedForceTarget() const override¶
- Get the active generalized force target. - Returns
- The generalized force target of the joint. 
 
 - 
core::JointLimit jointPositionLimit() const override¶
- Get the position limits of the joint. - Returns
- The position limits of the joint. 
 
 - 
core::JointLimit jointVelocityLimit() const override¶
- Get the velocity limits of the joint. - Returns
- The velocity limits of the joint. 
 
 - 
core::JointLimit jointAccelerationLimit() const¶
- Get the acceleration limits of the joint. - Returns
- The acceleration limits of the joint. 
 
 - 
bool setJointPositionLimit(const double &maxPosition, const double &minPosition)¶
- Set the maximum position of the joint. - This limit can be used to set safety limits on the joint position. when violated the Robot will enter into a safe mode. disabling the robot until it is reset or restart. - Parameters
- maxPosition – maximum position of the joint DOFs. 
- minPosition – minimum position of the joint DOFs. 
 
- Returns
- True for success, false otherwise. 
 
 - 
bool setJointVelocityLimit(const double &maxVelocity, const double &minVelocity)¶
- Set the maximum velocity of the joint. - This limit can be used to set safety limits on the joint velocity. when violated the Robot will enter into a safe mode. disabling the robot until it is reset or restart. - Parameters
- maxVelocity – maximum velocity of the joint DOFs. 
- minVelocity – minimum position of the joint DOFs. 
 
- Returns
- True for success, false otherwise. 
 
 - 
bool setJointAccelerationLimit(const double &maxAcceleration, const double &minAcceleration)¶
- Set the maximum acceleration of the joint. - This limit can be used to set safety limits on the joint acceleration. when violated the Robot will enter into a safe mode. disabling the robot until it is reset or restart. - Parameters
- maxAcceleration – maximum acceleration of the joint DOFs. 
- minAcceleration – minimum acceleration of the joint DOFs. 
 
- Returns
- True for success, false otherwise. 
 
 
- 
bool valid() const override¶