diff --git a/src/OncillaL1L2.h b/src/OncillaL1L2.h index 2b7d5e2..8f38412 100644 --- a/src/OncillaL1L2.h +++ b/src/OncillaL1L2.h @@ -1,124 +1,124 @@ #pragma once #include #include #include #include #include #include "OncillaSynchronizer.h" namespace rci{ namespace oncilla{ class OncillaL1L2; -typedef std::tr1::shared_ptr OncillaL1Ptr; +typedef std::tr1::shared_ptr OncillaL1L2Ptr; /** * Node class, representing the hip node of the quadruped robot. * * @todo In case of simulation, this node can also sense the power consumption. */ class OncillaL1L2: public rci::ResourceNode, public rci::Controlled, public rci::Sensing, public rci::PositionControlled, public rci::PositionSensing, // Two encoder values public rci::VelocityControlled, public rci::TorqueControlled, public rci::ImpedanceControlled { public: const static unsigned int MotorAxisIndex = 0; const static unsigned int MagneticEncoderIndex = 1; /** * Special constructor to also link to webots */ OncillaL1L2(OncillaSynchronizer &s, const std::string &name = "Oncilla Hip"); virtual ~OncillaL1L2(); /** * Returns, if controller is converged. * @return True, if controller is converged after last command. */ bool isConverged() const; /** * Commanding a joint position. * @param position Position command * @return Return, if successfull. (e.g. not exceeding joint limits) * @todo Check for correct control mode */ bool setJointPosition(JointAnglesPtr position); void setRawLocalCommand(double value); double getRawLocalCommand() const ; /** * Returns current joint position. * @return Current joint position */ virtual JointAnglesPtr getJointPosition() const; double getRawLocalMotorAxisPosition() const; double getRawLocalMagneticEncoderPosition() const; void updateRawLocalMotorAxisPosition(double value); void updateRawLocalMagneticEncoderPosition(double value); /** * Commanding a joint velocity. * @param position Position command * @return Return, if successfull. (e.g. not exceeding joint limits) * @todo Check for correct control mode */ virtual bool setJointVelocity(rci::JointVelocitiesPtr vel); /** * Returns current joint torque. * @return Current joint torque */ virtual bool setJointTorque(JointTorquesPtr torque); /** * Returns current joint torque. * @return Current joint torque */ virtual bool setJointImpedance(JointImpedancePtr imped); /** * Returns latest position command. Note, that this is the latest valid * commanded position. If the position command exceeds limits and is * therefore rejected, it .. */ virtual JointAnglesPtr getLastPositionCommand() const; /** * Print */ std::string print() const; private: /** * Reference to OncillaSynchronizer * @todo This is a dangerous reference which will become invalid as soon as * OncillaSynchronizer gets deleted outside. */ OncillaSynchronizer &synchronizer; }; } }