37 #ifndef JSK_FOOTSTEP_PLANNER_FOOTSTEP_MARKER_H_
38 #define JSK_FOOTSTEP_PLANNER_FOOTSTEP_MARKER_H_
42 #include <jsk_footstep_msgs/PlanFootstepsAction.h>
43 #include <jsk_footstep_msgs/ExecFootstepsAction.h>
44 #include <jsk_interactive_marker/GetTransformableMarkerPose.h>
45 #include <jsk_interactive_marker/SetPose.h>
47 #include <geometry_msgs/PointStamped.h>
48 #include <geometry_msgs/PoseStamped.h>
49 #include <std_srvs/Empty.h>
52 #include <Eigen/Geometry>
53 #include <visualization_msgs/MarkerArray.h>
55 #include "jsk_footstep_planner/FootstepMarkerConfig.h"
56 #include "jsk_footstep_planner/SetHeuristicPath.h"
57 #include <dynamic_reconfigure/server.h>
58 #include <jsk_rviz_plugins/OverlayText.h>
63 class UnknownPoseName:
public std::exception
105 typedef jsk_footstep_msgs::ExecFootstepsResult
ExecResult;
106 typedef boost::function<void(
const visualization_msgs::InteractiveMarkerFeedbackConstPtr&)>
111 typedef FootstepMarkerConfig
Config;
122 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
124 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
126 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
128 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
130 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
132 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
134 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
136 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
138 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
140 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
142 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
144 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
146 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
148 const ExecResult::ConstPtr &result);
153 virtual void plan(
const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
154 virtual void planIfPossible(
const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);
156 const PlanResult::ConstPtr &result);
158 const std_msgs::Header& header,
162 visualization_msgs::InteractiveMarker& int_marker);
164 visualization_msgs::InteractiveMarker& int_marker);
165 virtual void updateMarkerArray(
const std_msgs::Header& header,
const geometry_msgs::Pose& pose);
167 const std_msgs::Header& header,
const geometry_msgs::Pose& pose);
169 const std_msgs::Header& header,
const geometry_msgs::Pose& pose);
171 const std_msgs::Header& header,
const geometry_msgs::Pose& pose);
173 const std_msgs::Header& header,
const geometry_msgs::Pose& pose);
175 const std_msgs::Header& header,
const geometry_msgs::Pose& pose);
177 const std_msgs::Header& header,
const geometry_msgs::Pose& pose);
179 const std_msgs::Header& header,
const geometry_msgs::Pose& pose);
186 std_srvs::Empty::Request& req,
187 std_srvs::Empty::Response& res);
189 std_srvs::Empty::Request& req,
190 std_srvs::Empty::Response& res);
192 std_srvs::Empty::Request& req,
193 std_srvs::Empty::Response& res);
195 std_srvs::Empty::Request& req,
196 std_srvs::Empty::Response& res);
198 std_srvs::Empty::Request& req,
199 std_srvs::Empty::Response& res);
201 jsk_interactive_marker::GetTransformableMarkerPose::Request& req,
202 jsk_interactive_marker::GetTransformableMarkerPose::Response& res);
204 jsk_interactive_marker::SetPose::Request& req,
205 jsk_interactive_marker::SetPose::Response& res);
210 const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback);