00001 #include <ros/ros.h>
00002 #include <kinematics_msgs/GetKinematicSolverInfo.h>
00003 int main(int argc, char **argv){
00004 ros::init (argc, argv, "get_ik_solver_info");
00005 ros::NodeHandle rh;
00006 ros::service::waitForService("pr2_right_arm_kinematics/get_ik_solver_info");
00007 ros::ServiceClient query_client = rh.serviceClient<kinematics_msgs::GetKinematicSolverInfo>("pr2_right_arm_kinematics/get_ik_solver_info");
00008
00009
00010 kinematics_msgs::GetKinematicSolverInfo::Request request;
00011 kinematics_msgs::GetKinematicSolverInfo::Response response;
00012
00013 if(query_client.call(request,response))
00014 {
00015 for(unsigned int i=0; i< response.kinematic_solver_info.joint_names.size(); i++)
00016 {
00017 ROS_INFO("Joint: %d %s",i,response.kinematic_solver_info.joint_names[i].c_str());
00018 }
00019 }
00020 else
00021 {
00022 ROS_ERROR("Could not call query service");
00023 }
00024 ros::shutdown();
00025 }