footstep_planning_msgs.h
Go to the documentation of this file.
1 //=================================================================================================
2 // Copyright (c) 2018, Alexander Stumpf, TU Darmstadt
3 // All rights reserved.
4 
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above copyright
10 // notice, this list of conditions and the following disclaimer in the
11 // documentation and/or other materials provided with the distribution.
12 // * Neither the name of the Simulation, Systems Optimization and Robotics
13 // group, TU Darmstadt nor the names of its contributors may be used to
14 // endorse or promote products derived from this software without
15 // specific prior written permission.
16 
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 //=================================================================================================
28 
29 #ifndef VIGIR_FOOTSTEP_PLANNING_MSGS_H__
30 #define VIGIR_FOOTSTEP_PLANNING_MSGS_H__
31 
32 #include <ros/ros.h>
33 
34 #include <geometry_msgs/Vector3.h>
35 
36 // messages
37 #include <vigir_footstep_planning_msgs/EditStep.h>
38 #include <vigir_footstep_planning_msgs/ErrorStatus.h>
39 #include <vigir_footstep_planning_msgs/Feet.h>
40 #include <vigir_footstep_planning_msgs/FeetPoseRequest.h>
41 #include <vigir_footstep_planning_msgs/FootstepExecutionStatus.h>
42 #include <vigir_footstep_planning_msgs/Foot.h>
43 #include <vigir_footstep_planning_msgs/PatternParameters.h>
44 #include <vigir_footstep_planning_msgs/PatternGeneratorParameters.h>
45 #include <vigir_footstep_planning_msgs/PlanningFeedback.h>
46 #include <vigir_footstep_planning_msgs/StepPlanFeedback.h>
47 #include <vigir_footstep_planning_msgs/StepPlanRequest.h>
48 #include <vigir_footstep_planning_msgs/StepPlan.h>
49 #include <vigir_footstep_planning_msgs/Step.h>
50 #include <vigir_footstep_planning_msgs/UpdateMode.h>
51 
52 // services
53 #include <vigir_footstep_planning_msgs/EditStepService.h>
54 #include <vigir_footstep_planning_msgs/GenerateFeetPoseService.h>
55 #include <vigir_footstep_planning_msgs/GetStepPlanService.h>
56 #include <vigir_footstep_planning_msgs/PatternGeneratorParametersService.h>
57 #include <vigir_footstep_planning_msgs/SetStepPlanService.h>
58 #include <vigir_footstep_planning_msgs/StepPlanRequestService.h>
59 #include <vigir_footstep_planning_msgs/StitchStepPlanService.h>
60 #include <vigir_footstep_planning_msgs/StitchStepPlanService.h>
61 #include <vigir_footstep_planning_msgs/TransformFeetPosesService.h>
62 #include <vigir_footstep_planning_msgs/TransformFootPoseService.h>
63 #include <vigir_footstep_planning_msgs/TransformStepPlanService.h>
64 #include <vigir_footstep_planning_msgs/StitchStepPlanService.h>
65 #include <vigir_footstep_planning_msgs/UpdateFeetService.h>
66 #include <vigir_footstep_planning_msgs/UpdateFootService.h>
67 #include <vigir_footstep_planning_msgs/UpdateStepPlanService.h>
68 
69 // actions
70 #include <vigir_footstep_planning_msgs/EditStepAction.h>
71 #include <vigir_footstep_planning_msgs/ExecuteStepPlanAction.h>
72 #include <vigir_footstep_planning_msgs/GenerateFeetPoseAction.h>
73 #include <vigir_footstep_planning_msgs/GetStepPlanAction.h>
74 #include <vigir_footstep_planning_msgs/SetStepPlanAction.h>
75 #include <vigir_footstep_planning_msgs/StepPlanRequestAction.h>
76 #include <vigir_footstep_planning_msgs/StitchStepPlanAction.h>
77 #include <vigir_footstep_planning_msgs/UpdateFeetAction.h>
78 #include <vigir_footstep_planning_msgs/UpdateFootAction.h>
79 #include <vigir_footstep_planning_msgs/UpdateStepPlanAction.h>
80 
81 
82 
84 {
85 namespace msgs
86 {
87 using namespace vigir_footstep_planning_msgs;
88 }
89 // Extension to ErrorStatus message
90 msgs::ErrorStatus operator+(const msgs::ErrorStatus& lhs, const msgs::ErrorStatus& rhs);
91 msgs::ErrorStatus operator+=(msgs::ErrorStatus& lhs, const msgs::ErrorStatus& rhs);
92 
93 msgs::ErrorStatus isConsistent(const msgs::StepPlan& result);
94 
95 std::string ErrorStatusCodeToString(unsigned int error);
96 std::string WarningStatusCodeToString(unsigned int warning);
97 
98 msgs::ErrorStatus createErrorStatus(const std::string& context, unsigned int error, const std::string& error_msg, unsigned int warning, const std::string& warning_msg, bool output = true, double throttle_rate = 0.0);
99 msgs::ErrorStatus ErrorStatusError(unsigned int error, const std::string& context, const std::string& error_msg, bool output = true, double throttle_rate = 0.0);
100 msgs::ErrorStatus ErrorStatusWarning(unsigned int warning, const std::string& context, const std::string& warning_msg, bool output = true, double throttle_rate = 0.0);
101 
102 bool hasError(const msgs::ErrorStatus& status);
103 bool hasWarning(const msgs::ErrorStatus& status);
104 bool isOk(const msgs::ErrorStatus& status);
105 
106 std::string toString(const msgs::ErrorStatus& error_status);
107 
108 std::string toString(const msgs::FootstepExecutionStatus& execution_status);
109 
110 template <typename Tin, typename Tout>
111 void copyPosition(const Tin &p_in, Tout &p_out)
112 {
113  p_out.x = p_in.x;
114  p_out.y = p_in.y;
115  p_out.z = p_in.z;
116 }
117 }
118 
119 #endif
msgs::ErrorStatus ErrorStatusWarning(unsigned int warning, const std::string &context, const std::string &warning_msg, bool output=true, double throttle_rate=0.0)
std::string WarningStatusCodeToString(unsigned int warning)
std::string ErrorStatusCodeToString(unsigned int error)
std::string toString(const msgs::ErrorStatus &error_status)
void copyPosition(const Tin &p_in, Tout &p_out)
msgs::ErrorStatus isConsistent(const msgs::StepPlan &result)
bool hasWarning(const msgs::ErrorStatus &status)
msgs::ErrorStatus createErrorStatus(const std::string &context, unsigned int error, const std::string &error_msg, unsigned int warning, const std::string &warning_msg, bool output=true, double throttle_rate=0.0)
msgs::ErrorStatus operator+(const msgs::ErrorStatus &lhs, const msgs::ErrorStatus &rhs)
bool isOk(const msgs::ErrorStatus &status)
msgs::ErrorStatus ErrorStatusError(unsigned int error, const std::string &context, const std::string &error_msg, bool output=true, double throttle_rate=0.0)
msgs::ErrorStatus operator+=(msgs::ErrorStatus &lhs, const msgs::ErrorStatus &rhs)
bool hasError(const msgs::ErrorStatus &status)


vigir_footstep_planning_msgs
Author(s): Alexander Stumpf
autogenerated on Mon Jun 10 2019 15:45:25