grid_map_model.h
Go to the documentation of this file.
00001 //=================================================================================================
00002 // Copyright (c) 2018, Alexander Stumpf, TU Darmstadt
00003 // Based on http://wiki.ros.org/footstep_planner by Johannes Garimort and Armin Hornung
00004 // All rights reserved.
00005 
00006 // Redistribution and use in source and binary forms, with or without
00007 // modification, are permitted provided that the following conditions are met:
00008 //     * Redistributions of source code must retain the above copyright
00009 //       notice, this list of conditions and the following disclaimer.
00010 //     * Redistributions in binary form must reproduce the above copyright
00011 //       notice, this list of conditions and the following disclaimer in the
00012 //       documentation and/or other materials provided with the distribution.
00013 //     * Neither the name of the Simulation, Systems Optimization and Robotics
00014 //       group, TU Darmstadt nor the names of its contributors may be used to
00015 //       endorse or promote products derived from this software without
00016 //       specific prior written permission.
00017 
00018 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
00019 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00020 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00021 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
00022 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00023 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00024 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00025 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00026 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00027 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00028 //=================================================================================================
00029 
00030 #ifndef VIGIR_FOOTSTEP_PLANNING_GRID_MAP_MODEL_H__
00031 #define VIGIR_FOOTSTEP_PLANNING_GRID_MAP_MODEL_H__
00032 
00033 #include <ros/ros.h>
00034 
00035 #include <nav_msgs/OccupancyGrid.h>
00036 
00037 #include <vigir_footstep_planning_plugins/plugins/collision_check_grid_map_plugin.h>
00038 
00039 #include <vigir_footstep_planning_default_plugins/world_model/grid_map_2d.h>
00040 
00041 
00042 
00043 namespace vigir_footstep_planning
00044 {
00045 class GridMapModel
00046   : public CollisionCheckGridMapPlugin
00047 {
00048 public:
00049   GridMapModel(const std::string& name);
00050 
00051   bool loadParams(const vigir_generic_params::ParameterSet& params = vigir_generic_params::ParameterSet()) override;
00052 
00053 protected:
00054   void mapCallback(const nav_msgs::OccupancyGridConstPtr& occupancy_grid_map_);
00055 
00071   bool collision_check(double x, double y, double cos_theta, double sin_theta, double height, double width) const;
00072 
00073 
00074 
00075   vigir_gridmap_2d::GridMap2D distance_map;
00076 
00081   int collision_check_accuracy;
00082 };
00083 }
00084 
00085 #endif


vigir_footstep_planning_default_plugins
Author(s): Alexander Stumpf
autogenerated on Thu Jun 6 2019 18:38:06