dynamicgraph::sot::RobotUtil Struct Reference

#include <sot/core/robot-utils.hh>

Public Member Functions

 RobotUtil ()
 
void create_id_to_name_map ()
 This method creates the map between id and name. More...
 
const Indexget_id_from_name (const std::string &name)
 Given a joint name it finds the associated joint id. More...
 
const std::string & get_name_from_id (Index id)
 Given a joint id it finds the associated joint name. More...
 
void set_name_to_id (const std::string &jointName, const Index &jointId)
 Set relation between the name and the SoT id. More...
 
void set_urdf_to_sot (const std::vector< Index > &urdf_to_sot)
 Set the map between urdf index and sot index. More...
 
void set_urdf_to_sot (const dg::Vector &urdf_to_sot)
 
void set_joint_limits_for_id (const Index &idx, const double &lq, const double &uq)
 Set the limits (lq,uq) for joint idx. More...
 
bool joints_urdf_to_sot (ConstRefVector q_urdf, RefVector q_sot)
 
bool joints_sot_to_urdf (ConstRefVector q_sot, RefVector q_urdf)
 
bool velocity_urdf_to_sot (ConstRefVector q_urdf, ConstRefVector v_urdf, RefVector v_sot)
 
bool velocity_sot_to_urdf (ConstRefVector q_urdf, ConstRefVector v_sot, RefVector v_urdf)
 
bool config_urdf_to_sot (ConstRefVector q_urdf, RefVector q_sot)
 
bool config_sot_to_urdf (ConstRefVector q_sot, RefVector q_urdf)
 
bool base_urdf_to_sot (ConstRefVector q_urdf, RefVector q_sot)
 
bool base_sot_to_urdf (ConstRefVector q_sot, RefVector q_urdf)
 
const JointLimitsget_joint_limits_from_id (Index id)
 Given a joint id it finds the associated joint limits. More...
 
JointLimits cp_get_joint_limits_from_id (Index id)
 

Public Attributes

ForceUtil m_force_util
 Forces data. More...
 
FootUtil m_foot_util
 Foot information. More...
 
HandUtil m_hand_util
 Hand information. More...
 
std::vector< Indexm_urdf_to_sot
 Map from the urdf index to the SoT index. More...
 
std::size_t m_nbJoints
 Nb of Dofs for the robot. More...
 
std::map< std::string, Indexm_name_to_id
 Map from the name to the id. More...
 
std::map< Index, std::string > m_id_to_name
 The map between id and name. More...
 
std::map< Index, JointLimitsm_limits_map
 The joint limits map. More...
 
std::string m_imu_joint_name
 The name of the joint IMU is attached to. More...
 
std::string m_urdf_filename
 URDF file path. More...
 
dynamicgraph::Vector m_dgv_urdf_to_sot
 

Logger related methods

Logger logger_
 
void sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const char *file="", int line=0)
 Send messages msg with level t. More...
 
void setLoggerVerbosityLevel (LoggerVerbosity lv)
 Specify the verbosity level of the logger. More...
 
LoggerVerbosity getLoggerVerbosityLevel ()
 Get the logger's verbosity level. More...
 
void display (std::ostream &os) const
 

Constructor & Destructor Documentation

◆ RobotUtil()

dynamicgraph::sot::RobotUtil::RobotUtil ( )

Member Function Documentation

◆ base_sot_to_urdf()

bool dynamicgraph::sot::RobotUtil::base_sot_to_urdf ( ConstRefVector  q_sot,
RefVector  q_urdf 
)

◆ base_urdf_to_sot()

bool dynamicgraph::sot::RobotUtil::base_urdf_to_sot ( ConstRefVector  q_urdf,
RefVector  q_sot 
)

◆ config_sot_to_urdf()

bool dynamicgraph::sot::RobotUtil::config_sot_to_urdf ( ConstRefVector  q_sot,
RefVector  q_urdf 
)

◆ config_urdf_to_sot()

bool dynamicgraph::sot::RobotUtil::config_urdf_to_sot ( ConstRefVector  q_urdf,
RefVector  q_sot 
)

◆ cp_get_joint_limits_from_id()

JointLimits dynamicgraph::sot::RobotUtil::cp_get_joint_limits_from_id ( Index  id)

◆ create_id_to_name_map()

void dynamicgraph::sot::RobotUtil::create_id_to_name_map ( )

This method creates the map between id and name.

It is called each time a new link between id and name is inserted (i.e. when set_name_to_id is called).

◆ display()

void dynamicgraph::sot::RobotUtil::display ( std::ostream &  os) const

◆ get_id_from_name()

const Index& dynamicgraph::sot::RobotUtil::get_id_from_name ( const std::string &  name)

Given a joint name it finds the associated joint id.

If the specified joint name is not found it returns -1;

Parameters
nameName of the joint to find.
Returns
The id of the specified joint, -1 if not found.

◆ get_joint_limits_from_id()

const JointLimits& dynamicgraph::sot::RobotUtil::get_joint_limits_from_id ( Index  id)

Given a joint id it finds the associated joint limits.

If the specified joint is not found it returns JointLimits(0,0).

Parameters
idId of the joint to find.
Returns
The limits of the specified joint, JointLimits(0,0) if not found.

◆ get_name_from_id()

const std::string& dynamicgraph::sot::RobotUtil::get_name_from_id ( Index  id)

Given a joint id it finds the associated joint name.

If the specified joint is not found it returns "Joint name not found";

Parameters
idId of the joint to find.
Returns
The name of the specified joint, "Joint name not found" if not found. Get the joint name from its index

◆ getLoggerVerbosityLevel()

LoggerVerbosity dynamicgraph::sot::RobotUtil::getLoggerVerbosityLevel ( )
inline

Get the logger's verbosity level.

◆ joints_sot_to_urdf()

bool dynamicgraph::sot::RobotUtil::joints_sot_to_urdf ( ConstRefVector  q_sot,
RefVector  q_urdf 
)

◆ joints_urdf_to_sot()

bool dynamicgraph::sot::RobotUtil::joints_urdf_to_sot ( ConstRefVector  q_urdf,
RefVector  q_sot 
)

◆ sendMsg()

void dynamicgraph::sot::RobotUtil::sendMsg ( const std::string &  msg,
MsgType  t = MSG_TYPE_INFO,
const char *  file = "",
int  line = 0 
)

Send messages msg with level t.

Add string file and line to message.

◆ set_joint_limits_for_id()

void dynamicgraph::sot::RobotUtil::set_joint_limits_for_id ( const Index idx,
const double &  lq,
const double &  uq 
)

Set the limits (lq,uq) for joint idx.

◆ set_name_to_id()

void dynamicgraph::sot::RobotUtil::set_name_to_id ( const std::string &  jointName,
const Index jointId 
)

Set relation between the name and the SoT id.

◆ set_urdf_to_sot() [1/2]

void dynamicgraph::sot::RobotUtil::set_urdf_to_sot ( const std::vector< Index > &  urdf_to_sot)

Set the map between urdf index and sot index.

◆ set_urdf_to_sot() [2/2]

void dynamicgraph::sot::RobotUtil::set_urdf_to_sot ( const dg::Vector &  urdf_to_sot)

◆ setLoggerVerbosityLevel()

void dynamicgraph::sot::RobotUtil::setLoggerVerbosityLevel ( LoggerVerbosity  lv)
inline

Specify the verbosity level of the logger.

◆ velocity_sot_to_urdf()

bool dynamicgraph::sot::RobotUtil::velocity_sot_to_urdf ( ConstRefVector  q_urdf,
ConstRefVector  v_sot,
RefVector  v_urdf 
)

◆ velocity_urdf_to_sot()

bool dynamicgraph::sot::RobotUtil::velocity_urdf_to_sot ( ConstRefVector  q_urdf,
ConstRefVector  v_urdf,
RefVector  v_sot 
)

Member Data Documentation

◆ logger_

Logger dynamicgraph::sot::RobotUtil::logger_
protected

◆ m_dgv_urdf_to_sot

dynamicgraph::Vector dynamicgraph::sot::RobotUtil::m_dgv_urdf_to_sot

◆ m_foot_util

FootUtil dynamicgraph::sot::RobotUtil::m_foot_util

Foot information.

◆ m_force_util

ForceUtil dynamicgraph::sot::RobotUtil::m_force_util

Forces data.

◆ m_hand_util

HandUtil dynamicgraph::sot::RobotUtil::m_hand_util

Hand information.

◆ m_id_to_name

std::map<Index, std::string> dynamicgraph::sot::RobotUtil::m_id_to_name

The map between id and name.

◆ m_imu_joint_name

std::string dynamicgraph::sot::RobotUtil::m_imu_joint_name

The name of the joint IMU is attached to.

◆ m_limits_map

std::map<Index, JointLimits> dynamicgraph::sot::RobotUtil::m_limits_map

The joint limits map.

◆ m_name_to_id

std::map<std::string, Index> dynamicgraph::sot::RobotUtil::m_name_to_id

Map from the name to the id.

◆ m_nbJoints

std::size_t dynamicgraph::sot::RobotUtil::m_nbJoints

Nb of Dofs for the robot.

◆ m_urdf_filename

std::string dynamicgraph::sot::RobotUtil::m_urdf_filename

URDF file path.

◆ m_urdf_to_sot

std::vector<Index> dynamicgraph::sot::RobotUtil::m_urdf_to_sot

Map from the urdf index to the SoT index.