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