8 ROS_INFO_STREAM(
"[XBot2Hal constructor]: wait for xbot2core and gazebo to be ready...");
9 ros::service::waitForService(
"/xbotcore/ros_ctrl/switch", -1);
10 ROS_INFO_STREAM(
"[XBot2Hal constructor]: xbot2core and gazebo ready!");
33 std::string path_to_config_file = XBot::Utils::getXBotConfig();
35 _robot = XBot::RobotInterface::getRobot(path_to_config_file);
55 ROS_ERROR_STREAM(
"[XBot2Hal::" << __func__ <<
"] size of _js_msg is different from the size" <<
56 " or what received from the robot (_jointPositionActualMap)");
65 _js_msg.position.at(i) = it.second;
75 for (
int i=0; i<
_mr_msg.position.size(); i++) {
sensor_msgs::JointState _mr_msg
The references that must be read in the move() to send to the real/simulated robot TODO put private a...
XBot2Hal(ros::NodeHandle *nh)
XBot::JointNameMap _jointPositionActualMap
XBot::RobotInterface::Ptr _robot
Class representing an end-effector.
XBot::JointNameMap _jointPositionReferenceMap
virtual bool sense() override
sensor_msgs::JointState _js_msg
The states that must be filled in the sense(), reading info from real/simulated robot TODO put privat...
virtual bool move() override