Created
May 7, 2015 03:12
-
-
Save k-okada/274a25df882c29573d1e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// -*- C++ -*- | |
/*! | |
* @file AutoBalancerServiceROSBridge.cpp * @brief * $Date$ | |
* | |
* $Id$ | |
*/ | |
#include "AutoBalancerServiceROSBridge.h" | |
// Module specification | |
// <rtc-template block="module_spec"> | |
static const char* autobalancerservicerosbridge_spec[] = | |
{ | |
"implementation_id", "AutoBalancerServiceROSBridge", | |
"type_name", "AutoBalancerServiceROSBridge", | |
"description", "", | |
"version", "1.0.0", | |
"vendor", "", | |
"category", "", | |
"activity_type", "PERIODIC", | |
"kind", "DataFlowComponent", | |
"max_instance", "1", | |
"language", "C++", | |
"lang_type", "compile", | |
// Configuration variables | |
"" | |
}; | |
// </rtc-template> | |
AutoBalancerServiceROSBridge::AutoBalancerServiceROSBridge(RTC::Manager* manager) | |
// <rtc-template block="initializer"> | |
: RTC::DataFlowComponentBase(manager), | |
m_AutoBalancerServicePort("AutoBalancerService") | |
// </rtc-template> | |
{ | |
} | |
AutoBalancerServiceROSBridge::~AutoBalancerServiceROSBridge() | |
{ | |
} | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onInitialize() | |
{ | |
// Registration: InPort/OutPort/Service | |
// <rtc-template block="registration"> | |
// Set InPort buffers | |
// Set OutPort buffer | |
// Set service provider to Ports | |
// Set service consumers to Ports | |
ros::NodeHandle nh("~"); | |
std::string port_name = "service0"; | |
nh.getParam("service_port", port_name); | |
m_AutoBalancerServicePort.registerConsumer(port_name.c_str(), "AutoBalancerService", m_service0); | |
// Set CORBA Service Ports | |
addPort(m_AutoBalancerServicePort); | |
// </rtc-template> | |
// <rtc-template block="bind_config"> | |
// Bind variables and configuration variable | |
_srv11 = nh.advertiseService("getFootstepParam", &AutoBalancerServiceROSBridge::getFootstepParam, this); | |
_srv10 = nh.advertiseService("getAutoBalancerParam", &AutoBalancerServiceROSBridge::getAutoBalancerParam, this); | |
_srv9 = nh.advertiseService("setAutoBalancerParam", &AutoBalancerServiceROSBridge::setAutoBalancerParam, this); | |
_srv8 = nh.advertiseService("getGaitGeneratorParam", &AutoBalancerServiceROSBridge::getGaitGeneratorParam, this); | |
_srv7 = nh.advertiseService("setGaitGeneratorParam", &AutoBalancerServiceROSBridge::setGaitGeneratorParam, this); | |
_srv6 = nh.advertiseService("stopAutoBalancer", &AutoBalancerServiceROSBridge::stopAutoBalancer, this); | |
_srv5 = nh.advertiseService("startAutoBalancer", &AutoBalancerServiceROSBridge::startAutoBalancer, this); | |
_srv4 = nh.advertiseService("waitFootSteps", &AutoBalancerServiceROSBridge::waitFootSteps, this); | |
_srv3 = nh.advertiseService("setFootSteps", &AutoBalancerServiceROSBridge::setFootSteps, this); | |
_srv2 = nh.advertiseService("goStop", &AutoBalancerServiceROSBridge::goStop, this); | |
_srv1 = nh.advertiseService("goVelocity", &AutoBalancerServiceROSBridge::goVelocity, this); | |
_srv0 = nh.advertiseService("goPos", &AutoBalancerServiceROSBridge::goPos, this); | |
// </rtc-template> | |
return RTC::RTC_OK; | |
} | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onFinalize() | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onStartup(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onShutdown(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onActivated(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onDeactivated(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onExecute(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onAborting(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onError(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onReset(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onStateUpdate(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
/* | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onRateChanged(RTC::UniqueId ec_id) | |
{ | |
return RTC::RTC_OK; | |
} | |
*/ | |
extern "C" | |
{ | |
void AutoBalancerServiceROSBridgeInit(RTC::Manager* manager) | |
{ | |
coil::Properties profile(autobalancerservicerosbridge_spec); | |
manager->registerFactory(profile, | |
RTC::Create<AutoBalancerServiceROSBridge>, | |
RTC::Delete<AutoBalancerServiceROSBridge>); | |
} | |
}; | |
RTC::ReturnCode_t AutoBalancerServiceROSBridge::onExecute(RTC::UniqueId ec_id) { | |
ros::spinOnce(); | |
return RTC::RTC_OK; | |
} | |
template<typename T,typename S> | |
void genseq(S& s, int size, _CORBA_Unbounded_Sequence<T>* p){ | |
s = S(size,size,S::allocbuf(size), 1);} | |
template<typename T,typename S,int n> | |
void genseq(S& s, int size, _CORBA_Bounded_Sequence<T,n>* p){ | |
s = S(size,S::allocbuf(size), 1);} | |
template<class T1, class T2> inline | |
void convert(T1& in, T2& out){ out = static_cast<T2>(in); } | |
template<typename T> | |
void convert(T& in, std::string& out){ out = std::string(in); } | |
template<typename T> | |
void convert(std::string& in, T& out){ out = static_cast<T>(in.c_str()); } | |
void convert(_CORBA_String_element in, std::string& out){ out = std::string(in); } | |
void convert(std::string& in, _CORBA_String_element out){ out = (const char*)in.c_str(); } | |
template<class S,class T> | |
void convert(S& s, std::vector<T>& v){ | |
int size = s.length(); | |
v = std::vector<T>(s.length()); | |
for(int i=0; i<size; i++) convert(s[i],v[i]);} | |
template<class S,class T> | |
void convert(std::vector<T>& v, S& s){ | |
int size = v.size(); | |
s = S(size, size, S::allocbuf(size), 1); | |
for(int i=0; i<size; i++) convert(v[i],s[i]);} | |
template<class S,class T,std::size_t n> | |
void convert(S& s, boost::array<T,n>& v){ | |
for(std::size_t i=0; i<n; i++) convert(s[i],v[i]);} | |
template<class S,class T,std::size_t n> | |
void convert(boost::array<T,n>& v, S& s){ | |
s = S(n, S::allocbuf(n), 1); | |
for(std::size_t i=0; i<n; i++) convert(v[i],s[i]);} | |
template<typename S,class T,std::size_t n> | |
void convert(boost::array<T,n>& v, S (&s)[n]){ | |
for(std::size_t i=0; i<n; i++) convert(v[i],s[i]);} | |
// special case for RTC::LightweightRTObject_var | |
template<class T> void convert(T& in, RTC::LightweightRTObject_var out){ std::cerr << "convert from RTC::LightweightRTObject_var is not supported" << std::endl; } | |
template<class S> // convert multi-dimensional array | |
void convert(S& s, std_msgs::Float64MultiArray& v){ | |
if(v.layout.dim.size()==0 || v.layout.dim[v.layout.dim.size()-1].size==0) { | |
int level = v.layout.dim.size(); | |
v.layout.dim.push_back(std_msgs::MultiArrayDimension()); | |
v.layout.dim[level].stride = 1; | |
for(uint i=0; i<s.length(); i++){ | |
convert(s[i], v); | |
if(i==0) v.layout.dim[level].size = s.length(); // initialized flag | |
} | |
for(uint i=level; i<v.layout.dim.size(); i++) | |
v.layout.dim[level].stride *= v.layout.dim[level].size; | |
} else { | |
for(uint i=0; i<s.length(); i++){ convert(s[i], v); } | |
} | |
} | |
template<> | |
void convert(::CORBA::Double& s, std_msgs::Float64MultiArray& v){ v.data.push_back(s); } | |
template<class S> | |
void convert(std_msgs::Float64MultiArray& v, S& s){ | |
int level, size; | |
for(level=0; (size=v.layout.dim[level].size)==0; level++); | |
genseq(s, size, &s); | |
v.layout.dim[level].size = 0; | |
for(uint i=0; i<s.length(); i++) | |
convert(v, s[i]); | |
v.layout.dim[level].size = size; | |
} | |
template<> | |
void convert(std_msgs::Float64MultiArray& v, ::CORBA::Double& s){ convert(v.data[v.layout.data_offset++], s); } | |
template<> void convert(OpenHRP::AutoBalancerService::Footstep& in, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_Footstep& out){ | |
convert(in.pos, out.pos); | |
convert(in.rot, out.rot); | |
convert(in.leg, out.leg); | |
} | |
template<> void convert(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_Footstep& in, OpenHRP::AutoBalancerService::Footstep& out){ | |
convert(in.pos, out.pos); | |
convert(in.rot, out.rot); | |
convert(in.leg, out.leg); | |
} | |
template<> void convert(OpenHRP::AutoBalancerService::GaitGeneratorParam& in, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_GaitGeneratorParam& out){ | |
convert(in.default_step_time, out.default_step_time); | |
convert(in.default_step_height, out.default_step_height); | |
convert(in.default_double_support_ratio, out.default_double_support_ratio); | |
convert(in.stride_parameter, out.stride_parameter); | |
convert(in.default_orbit_type, out.default_orbit_type); | |
convert(in.swing_trajectory_delay_time_offset, out.swing_trajectory_delay_time_offset); | |
convert(in.stair_trajectory_way_point_offset, out.stair_trajectory_way_point_offset); | |
convert(in.gravitational_acceleration, out.gravitational_acceleration); | |
convert(in.toe_pos_offset_x, out.toe_pos_offset_x); | |
convert(in.heel_pos_offset_x, out.heel_pos_offset_x); | |
convert(in.toe_zmp_offset_x, out.toe_zmp_offset_x); | |
convert(in.heel_zmp_offset_x, out.heel_zmp_offset_x); | |
convert(in.toe_angle, out.toe_angle); | |
convert(in.heel_angle, out.heel_angle); | |
convert(in.toe_heel_phase_ratio, out.toe_heel_phase_ratio); | |
convert(in.use_toe_joint, out.use_toe_joint); | |
} | |
template<> void convert(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_GaitGeneratorParam& in, OpenHRP::AutoBalancerService::GaitGeneratorParam& out){ | |
convert(in.default_step_time, out.default_step_time); | |
convert(in.default_step_height, out.default_step_height); | |
convert(in.default_double_support_ratio, out.default_double_support_ratio); | |
convert(in.stride_parameter, out.stride_parameter); | |
convert(in.default_orbit_type, out.default_orbit_type); | |
convert(in.swing_trajectory_delay_time_offset, out.swing_trajectory_delay_time_offset); | |
convert(in.stair_trajectory_way_point_offset, out.stair_trajectory_way_point_offset); | |
convert(in.gravitational_acceleration, out.gravitational_acceleration); | |
convert(in.toe_pos_offset_x, out.toe_pos_offset_x); | |
convert(in.heel_pos_offset_x, out.heel_pos_offset_x); | |
convert(in.toe_zmp_offset_x, out.toe_zmp_offset_x); | |
convert(in.heel_zmp_offset_x, out.heel_zmp_offset_x); | |
convert(in.toe_angle, out.toe_angle); | |
convert(in.heel_angle, out.heel_angle); | |
convert(in.toe_heel_phase_ratio, out.toe_heel_phase_ratio); | |
convert(in.use_toe_joint, out.use_toe_joint); | |
} | |
template<> void convert(OpenHRP::AutoBalancerService::AutoBalancerParam& in, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_AutoBalancerParam& out){ | |
convert(in.default_zmp_offsets, out.default_zmp_offsets); | |
convert(in.move_base_gain, out.move_base_gain); | |
convert(in.controller_mode, out.controller_mode); | |
convert(in.graspless_manip_mode, out.graspless_manip_mode); | |
convert(in.graspless_manip_arm, out.graspless_manip_arm); | |
convert(in.graspless_manip_p_gain, out.graspless_manip_p_gain); | |
convert(in.graspless_manip_reference_trans_pos, out.graspless_manip_reference_trans_pos); | |
convert(in.graspless_manip_reference_trans_rot, out.graspless_manip_reference_trans_rot); | |
} | |
template<> void convert(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_AutoBalancerParam& in, OpenHRP::AutoBalancerService::AutoBalancerParam& out){ | |
convert(in.default_zmp_offsets, out.default_zmp_offsets); | |
convert(in.move_base_gain, out.move_base_gain); | |
convert(in.controller_mode, out.controller_mode); | |
convert(in.graspless_manip_mode, out.graspless_manip_mode); | |
convert(in.graspless_manip_arm, out.graspless_manip_arm); | |
convert(in.graspless_manip_p_gain, out.graspless_manip_p_gain); | |
convert(in.graspless_manip_reference_trans_pos, out.graspless_manip_reference_trans_pos); | |
convert(in.graspless_manip_reference_trans_rot, out.graspless_manip_reference_trans_rot); | |
} | |
template<> void convert(OpenHRP::AutoBalancerService::FootstepParam& in, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_FootstepParam& out){ | |
convert(in.rleg_coords, out.rleg_coords); | |
convert(in.lleg_coords, out.lleg_coords); | |
convert(in.support_leg_coords, out.support_leg_coords); | |
convert(in.swing_leg_coords, out.swing_leg_coords); | |
convert(in.swing_leg_src_coords, out.swing_leg_src_coords); | |
convert(in.swing_leg_dst_coords, out.swing_leg_dst_coords); | |
convert(in.dst_foot_midcoords, out.dst_foot_midcoords); | |
convert(in.support_leg, out.support_leg); | |
convert(in.support_leg_with_both, out.support_leg_with_both); | |
} | |
template<> void convert(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_FootstepParam& in, OpenHRP::AutoBalancerService::FootstepParam& out){ | |
convert(in.rleg_coords, out.rleg_coords); | |
convert(in.lleg_coords, out.lleg_coords); | |
convert(in.support_leg_coords, out.support_leg_coords); | |
convert(in.swing_leg_coords, out.swing_leg_coords); | |
convert(in.swing_leg_src_coords, out.swing_leg_src_coords); | |
convert(in.swing_leg_dst_coords, out.swing_leg_dst_coords); | |
convert(in.dst_foot_midcoords, out.dst_foot_midcoords); | |
convert(in.support_leg, out.support_leg); | |
convert(in.support_leg_with_both, out.support_leg_with_both); | |
} | |
bool AutoBalancerServiceROSBridge::goPos(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_goPos::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_goPos::Response &res){ | |
::CORBA::Double x; | |
::CORBA::Double y; | |
::CORBA::Double th; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::goPos()"); | |
convert(req.x, x); | |
convert(req.y, y); | |
convert(req.th, th); | |
try { | |
res.operation_return = m_service0->goPos(x, y, th); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goPos : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goPos : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goPos : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goPos : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goPos : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::goVelocity(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_goVelocity::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_goVelocity::Response &res){ | |
::CORBA::Double vx; | |
::CORBA::Double vy; | |
::CORBA::Double vth; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::goVelocity()"); | |
convert(req.vx, vx); | |
convert(req.vy, vy); | |
convert(req.vth, vth); | |
try { | |
res.operation_return = m_service0->goVelocity(vx, vy, vth); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goVelocity : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goVelocity : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goVelocity : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goVelocity : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goVelocity : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::goStop(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_goStop::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_goStop::Response &res){ | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::goStop()"); | |
try { | |
res.operation_return = m_service0->goStop(); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goStop : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goStop : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goStop : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goStop : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::goStop : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::setFootSteps(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_setFootSteps::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_setFootSteps::Response &res){ | |
OpenHRP::AutoBalancerService::FootstepSequence fs; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::setFootSteps()"); | |
convert(req.fs, fs); | |
try { | |
res.operation_return = m_service0->setFootSteps(fs); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setFootSteps : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setFootSteps : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setFootSteps : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setFootSteps : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setFootSteps : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::waitFootSteps(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_waitFootSteps::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_waitFootSteps::Response &res){ | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::waitFootSteps()"); | |
try { | |
m_service0->waitFootSteps(); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::waitFootSteps : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::waitFootSteps : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::waitFootSteps : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::waitFootSteps : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::waitFootSteps : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::startAutoBalancer(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_startAutoBalancer::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_startAutoBalancer::Response &res){ | |
OpenHRP::AutoBalancerService::StrSequence limbs; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::startAutoBalancer()"); | |
convert(req.limbs, limbs); | |
try { | |
res.operation_return = m_service0->startAutoBalancer(limbs); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::startAutoBalancer : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::startAutoBalancer : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::startAutoBalancer : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::startAutoBalancer : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::startAutoBalancer : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::stopAutoBalancer(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_stopAutoBalancer::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_stopAutoBalancer::Response &res){ | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::stopAutoBalancer()"); | |
try { | |
res.operation_return = m_service0->stopAutoBalancer(); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::stopAutoBalancer : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::stopAutoBalancer : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::stopAutoBalancer : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::stopAutoBalancer : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::stopAutoBalancer : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::setGaitGeneratorParam(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_setGaitGeneratorParam::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_setGaitGeneratorParam::Response &res){ | |
OpenHRP::AutoBalancerService::GaitGeneratorParam i_param; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::setGaitGeneratorParam()"); | |
convert(req.i_param, i_param); | |
try { | |
res.operation_return = m_service0->setGaitGeneratorParam(i_param); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setGaitGeneratorParam : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setGaitGeneratorParam : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setGaitGeneratorParam : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setGaitGeneratorParam : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setGaitGeneratorParam : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::getGaitGeneratorParam(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_getGaitGeneratorParam::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_getGaitGeneratorParam::Response &res){ | |
OpenHRP::AutoBalancerService::GaitGeneratorParam* i_param; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::getGaitGeneratorParam()"); | |
try { | |
res.operation_return = m_service0->getGaitGeneratorParam(i_param); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getGaitGeneratorParam : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getGaitGeneratorParam : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getGaitGeneratorParam : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getGaitGeneratorParam : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getGaitGeneratorParam : Caught unknown exception."); | |
return false; | |
} | |
convert(*i_param, res.i_param); | |
delete i_param; | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::setAutoBalancerParam(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_setAutoBalancerParam::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_setAutoBalancerParam::Response &res){ | |
OpenHRP::AutoBalancerService::AutoBalancerParam i_param; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::setAutoBalancerParam()"); | |
convert(req.i_param, i_param); | |
try { | |
res.operation_return = m_service0->setAutoBalancerParam(i_param); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setAutoBalancerParam : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setAutoBalancerParam : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setAutoBalancerParam : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setAutoBalancerParam : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::setAutoBalancerParam : Caught unknown exception."); | |
return false; | |
} | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::getAutoBalancerParam(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_getAutoBalancerParam::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_getAutoBalancerParam::Response &res){ | |
OpenHRP::AutoBalancerService::AutoBalancerParam* i_param; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::getAutoBalancerParam()"); | |
try { | |
res.operation_return = m_service0->getAutoBalancerParam(i_param); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getAutoBalancerParam : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getAutoBalancerParam : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getAutoBalancerParam : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getAutoBalancerParam : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getAutoBalancerParam : Caught unknown exception."); | |
return false; | |
} | |
convert(*i_param, res.i_param); | |
delete i_param; | |
return true; | |
}; | |
bool AutoBalancerServiceROSBridge::getFootstepParam(hrpsys_ros_bridge::OpenHRP_AutoBalancerService_getFootstepParam::Request &req, hrpsys_ros_bridge::OpenHRP_AutoBalancerService_getFootstepParam::Response &res){ | |
OpenHRP::AutoBalancerService::FootstepParam* i_param; | |
ROS_INFO_STREAM("AutoBalancerServiceROSBridge::getFootstepParam()"); | |
try { | |
res.operation_return = m_service0->getFootstepParam(i_param); | |
} catch(CORBA::COMM_FAILURE& ex) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getFootstepParam : Caught system exception COMM_FAILURE -- unable to contact the object."); | |
return false; | |
} catch(CORBA::SystemException&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getFootstepParam : Caught CORBA::SystemException."); | |
return false; | |
} catch(CORBA::Exception&) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getFootstepParam : Caught CORBA::Exception."); | |
return false; | |
} catch(omniORB::fatalException& fe) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getFootstepParam : Caught omniORB::fatalException:"); | |
ROS_ERROR_STREAM(" file: " << fe.file()); | |
ROS_ERROR_STREAM(" line: " << fe.line()); | |
ROS_ERROR_STREAM(" mesg: " << fe.errmsg()); | |
return false; | |
} | |
catch(...) { | |
ROS_ERROR_STREAM("AutoBalancerServiceROSBridge::getFootstepParam : Caught unknown exception."); | |
return false; | |
} | |
convert(*i_param, res.i_param); | |
delete i_param; | |
return true; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment