Page MenuHomec4science

OncillaL2.cpp
No OneTemporary

File Metadata

Created
Tue, May 14, 04:31

OncillaL2.cpp

#include "OncillaL2.h"
using namespace std;
using namespace boost;
namespace rci {
namespace oncilla {
OncillaL2::OncillaL2(OncillaSynchronizer &s, const std::string &name) :
ResourceNode(name), Controlled(), Sensing(), PositionControlled(),
PositionSensing(), VelocityControlled(), TorqueControlled(),
ImpedanceControlled() {
// Two encoder values - difference is due to passive compliance
this->_dimension = 2;
}
bool OncillaL2::isConverged() const {
return false;
}
bool OncillaL2::setJointPosition(JointAnglesPtr position) {
// Successfull
// std::cerr << "[OncillaKnee] " << position << std::endl;
this->_lastCommandedPosition = position;
return true;
}
JointAnglesPtr OncillaL2::getJointPosition() const {
return this->_latestJointPosition;
}
OncillaL2::~OncillaL2() {
}
std::string OncillaL2::print() const {
ostringstream outstream(ostringstream::out);
outstream.precision(3); // Precision when printing double values
outstream << "<Oncilla Knee>" << endl;
return outstream.str();
}
bool OncillaL2::setJointTorque(JointTorquesPtr torques) {
throw std::runtime_error("Not yet implemented.");
}
bool OncillaL2::setJointImpedance(JointImpedancePtr imped) {
throw std::runtime_error("Not yet implemented.");
}
bool OncillaL2::setJointVelocity(JointVelocitiesPtr vel) {
throw std::runtime_error("Not yet implemented.");
}
JointAnglesPtr OncillaL2::getLastPositionCommand() const {
// TODO: The second part f this condition shouldn`t be necessary
if (!this->_lastCommandedPosition || !this->_lastCommandedPosition.get()) {
// No command set yet. Returning current joint values instead
// FIXME: Instead of return current position set command to current position
return this->_latestJointPosition;
}
return this->_lastCommandedPosition;
}
}
}

Event Timeline