Go to the documentation of this file.00001 #include <ros/ros.h>
00002 #include "iri_wam_arm_navigation/PosePath.h"
00003 int main(int argc, char ** argv)
00004 {
00005 ros::init(argc,argv,"test");
00006 iri_wam_arm_navigation::PosePath::Request request;
00007 iri_wam_arm_navigation::PosePath::Response response;
00008 double tx,ty,tz,qx,qy,qz,qw;
00009 ROS_INFO("Ingresa X de traslacion");
00010 std::cin>>tx;
00011 request.pose.position.x=tx;
00012 ROS_INFO_STREAM("X ingresada: "<<tx);
00013 ROS_INFO("Ingresa Y de traslacion");
00014 std::cin>>ty;
00015 request.pose.position.y=ty;
00016 ROS_INFO_STREAM("Y ingresada: "<<ty);
00017 ROS_INFO("Ingresa Z de traslacion");
00018 std::cin>>tz;
00019 request.pose.position.z=tz;
00020 ROS_INFO_STREAM("Z ingresada: "<<tz);
00021 ROS_INFO("Ingresa X de Rotacion");
00022 std::cin>>qx;
00023 request.pose.orientation.x=qx;
00024 ROS_INFO_STREAM("X ingresada: "<<qx);
00025 ROS_INFO("Ingresa Y de Rotacion");
00026 std::cin>>qy;
00027 request.pose.orientation.y=qy;
00028 ROS_INFO_STREAM("Y ingresada: "<<qy);
00029 ROS_INFO("Ingresa Z de Rotacion");
00030 std::cin>>qz;
00031 request.pose.orientation.z=qz;
00032 ROS_INFO_STREAM("Z ingresada: "<<qz);
00033 ROS_INFO("Ingresa W de Rotacion");
00034 std::cin>>qw;
00035 request.pose.orientation.w=qw;
00036 ROS_INFO_STREAM("W ingresada: "<<qw);
00037
00038 ros::NodeHandle nh;
00039 ros::service::waitForService("/get_pose_path");
00040 ros::ServiceClient client = nh.serviceClient<iri_wam_arm_navigation::PosePath>("/get_pose_path");
00041
00042 if(client.call(request, response))
00043 {
00044 if(response.solution_found == true)
00045 {
00046
00047 ROS_INFO("[iri_wam_arm_navigation]Found Solution");
00048 for(int i=0; i < response.poses_solution.size(); ++i)
00049 {
00050 ROS_INFO_STREAM(""<<response.poses_solution[i]);
00051 }
00052 }
00053 else
00054 {
00055 ROS_ERROR("[iri_wam_arm_navigation]No Found Solution");
00056 }
00057 }
00058 else
00059 {
00060 ROS_ERROR("[iri_wam_arm_navigation]service call failed");
00061 ros::shutdown();
00062 }
00063
00064 return 0;
00065 }