Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef VIGIR_FOOTSTEP_PLANNING_LIB_STEP_DYNAMICS_POST_PROCESS_H__
00030 #define VIGIR_FOOTSTEP_PLANNING_LIB_STEP_DYNAMICS_POST_PROCESS_H__
00031
00032 #include <ros/ros.h>
00033
00034 #include <vigir_footstep_planning_plugins/plugins/post_process_plugin.h>
00035
00036
00037
00038 namespace vigir_footstep_planning
00039 {
00040 class StepDynamicsPostProcess
00041 : public PostProcessPlugin
00042 {
00043 public:
00044 StepDynamicsPostProcess();
00045
00046 bool loadParams(const vigir_generic_params::ParameterSet& params = vigir_generic_params::ParameterSet()) override;
00047
00048 void postProcessStepForward(const State& left_foot, const State& right_foot, State& swing_foot) const override;
00049 void postProcessStepBackward(const State& left_foot, const State& right_foot, State& swing_foot) const override;
00050
00051
00052 typedef boost::shared_ptr<StepDynamicsPostProcess> Ptr;
00053 typedef boost::shared_ptr<const StepDynamicsPostProcess> ConstPtr;
00054
00055 protected:
00056
00057 virtual void determineStepAttributes(const State& swing_foot_before, const State& stand_foot, State& swing_foot_after) const;
00058 virtual void determineTravelDistance(const State& swing_foot_before, const State& stand_foot, State& swing_foot_after) const;
00059 virtual void determineTimings(const State& swing_foot_before, const State& stand_foot, State& swing_foot_after) const;
00060 virtual void determineDynamics(const State& swing_foot_before, const State& stand_foot, State& swing_foot_after) const;
00061
00062 double default_swing_height;
00063 double default_sway_duration;
00064 double default_step_duration;
00065 };
00066 }
00067
00068 #endif