服务端:
#include <ros/ros.h>
#include <actionlib/server/simple_action_server.h>
#include <tf/transform_broadcaster.h>
#include <move_base_msgs/MoveBaseAction.h>
#include <sstream>
#include <geometry_msgs/Point.h>
/*
需求:软件实现一系列目标点的发送
1.包含头文件;
2.节点初始化;
3.创建NodeHandle;
4.创建action服务端对象;
5.处理请求,产生反馈与响应
6.回旋函数spin().
*/
typedef actionlib::SimpleActionServer<move_base_msgs::MoveBaseAction> Movebase_Server;
geometry_msgs::Point current_position;
void CallBack(const move_base_msgs::MoveBaseGoalConstPtr &goal,Movebase_Server *movebase_server)
{
move_base_msgs::MoveBaseGoal aim_goal;
aim_goal.target_pose.header.frame_id=goal->target_pose.header.frame_id;
aim_goal.target_pose.header.stamp=goal->target_pose.header.stamp;
aim_goal.target_pose.pose.position.x=goal->target_pose.pose.position.x;
aim_goal.target_pose.pose.position.y=goal->target_pose.pose.position.y;
aim_goal.target_pose.pose.position.z=goal->target_pose.pose.orientation.w;
ROS_INFO("提交的目标位姿为:x=%.2f,y=%.2f,w=%.2f",
aim_goal.target_pose.pose.position.x,
aim_goal.target_