1 #ifndef YOUBOT_YOUBOTBASE_H 2 #define YOUBOT_YOUBOTBASE_H 67 #include <boost/ptr_container/ptr_vector.hpp> 68 #include <boost/scoped_ptr.hpp> 78 YouBotBase(
const std::string name,
const std::string configFilePath =
"../config/");
87 YouBotJoint&
getBaseJoint(
const unsigned int baseJointNumber);
93 void getBasePosition(quantity<si::length>& longitudinalPosition, quantity<si::length>& transversalPosition, quantity<plane_angle>& orientation);
99 void setBasePosition(
const quantity<si::length>& longitudinalPosition,
const quantity<si::length>& transversalPosition,
const quantity<plane_angle>& orientation);
105 void getBaseVelocity(quantity<si::velocity>& longitudinalVelocity, quantity<si::velocity>& transversalVelocity, quantity<si::angular_velocity>& angularVelocity);
111 void setBaseVelocity(
const quantity<si::velocity>& longitudinalVelocity,
const quantity<si::velocity>& transversalVelocity,
const quantity<si::angular_velocity>& angularVelocity);
124 virtual void getJointData(std::vector<JointSensedAngle>& data);
134 virtual void getJointData(std::vector<JointSensedVelocity>& data);
144 virtual void getJointData(std::vector<JointSensedCurrent>& data);
154 virtual void getJointData(std::vector<JointSensedTorque>& data);
YouBotBase(const std::string name, const std::string configFilePath="../config/")
int alternativeControllerType
std::string actualFirmwareVersionAllJoints
std::vector< std::string > supportedFirmwareVersions
void commutationFirmware200()
does the commutation of the arm joints with firmware 2.0
YouBotBase & operator=(const YouBotBase &source)
virtual void getJointData(std::vector< JointSensedAngle > &data)
void getBaseVelocity(quantity< si::velocity > &longitudinalVelocity, quantity< si::velocity > &transversalVelocity, quantity< si::angular_velocity > &angularVelocity)
void commutationFirmware148()
does the commutation of the arm joints with firmware 1.48 and below
EthercatMasterWithThread * ethercatMasterWithThread
YouBotJoint & getBaseJoint(const unsigned int baseJointNumber)
void getBasePosition(quantity< si::length > &longitudinalPosition, quantity< si::length > &transversalPosition, quantity< plane_angle > &orientation)
virtual void setJointData(const std::vector< JointAngleSetpoint > &JointData)
void setBasePosition(const quantity< si::length > &longitudinalPosition, const quantity< si::length > &transversalPosition, const quantity< plane_angle > &orientation)
The Ethercat Master interface.
void setBaseVelocity(const quantity< si::velocity > &longitudinalVelocity, const quantity< si::velocity > &transversalVelocity, const quantity< si::angular_velocity > &angularVelocity)
boost::scoped_ptr< ConfigFile > configfile
It groups the base joints together.
void doJointCommutation()
does the sine commutation of the base joints
EthercatMasterInterface & ethercatMaster
boost::ptr_vector< YouBotJoint > joints
void initializeKinematic()
Implementation of a base kinematic with four swedish wheels. The youBot base kinematic.
FourSwedishWheelOmniBaseKinematic youBotBaseKinematic
This class represents the kinematic of the YouBot.
abstract data class for joints