CostmapBuilder.h
Go to the documentation of this file.
1
/**
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @author Fabian Reister ( fabian dot reister at kit dot edu )
17
* @date 2022
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <VirtualRobot/VirtualRobot.h>
25
26
#include <
armarx/navigation/algorithms/Costmap.h
>
27
28
namespace
armarx::navigation::algorithms
29
{
30
31
class
CostmapBuilder
32
{
33
public
:
34
CostmapBuilder
(
const
VirtualRobot::RobotPtr
& robot,
35
const
VirtualRobot::SceneObjectSetPtr& obstacles,
36
const
Costmap::Parameters
& parameters,
37
const
std::string& robotCollisonModelName);
38
39
Costmap
create
(
const
SceneBounds
& init =
SceneBounds
());
40
41
static
Eigen::MatrixXf
createUniformGrid
(
const
SceneBounds
& sceneBounds,
42
const
Costmap::Parameters
& parameters);
43
44
private
:
45
float
computeCost(
const
Costmap::Position
& position,
46
VirtualRobot::RobotPtr
& collisionRobot,
47
const
VirtualRobot::CollisionModelPtr& robotCollisionModel);
48
49
void
fillGridCosts(
Costmap
& costmap);
50
51
void
initializeMask(
Costmap
& costmap);
52
53
const
VirtualRobot::RobotPtr
robot;
54
const
VirtualRobot::SceneObjectSetPtr obstacles;
55
const
Costmap::Parameters
parameters;
56
const
std::string robotCollisionModelName;
57
};
58
59
}
// namespace armarx::navigation::algorithms
armarx::navigation::algorithms
This file is part of ArmarX.
Definition:
aron_conversions.cpp:13
armarx::navigation::algorithms::CostmapBuilder::createUniformGrid
static Eigen::MatrixXf createUniformGrid(const SceneBounds &sceneBounds, const Costmap::Parameters ¶meters)
Definition:
CostmapBuilder.cpp:88
Costmap.h
armarx::navigation::algorithms::CostmapBuilder::CostmapBuilder
CostmapBuilder(const VirtualRobot::RobotPtr &robot, const VirtualRobot::SceneObjectSetPtr &obstacles, const Costmap::Parameters ¶meters, const std::string &robotCollisonModelName)
Definition:
CostmapBuilder.cpp:43
armarx::navigation::algorithms::Costmap::Position
Eigen::Vector2f Position
Definition:
Costmap.h:45
armarx::navigation::algorithms::SceneBounds
Definition:
types.h:29
armarx::navigation::algorithms::CostmapBuilder
Definition:
CostmapBuilder.h:31
armarx::navigation::algorithms::CostmapBuilder::create
Costmap create(const SceneBounds &init=SceneBounds())
Definition:
CostmapBuilder.cpp:58
armarx::navigation::algorithms::Costmap::Parameters
Definition:
Costmap.h:21
armarx::navigation::algorithms::Costmap
Definition:
Costmap.h:13
VirtualRobot::RobotPtr
std::shared_ptr< class Robot > RobotPtr
Definition:
Bus.h:18
armarx
navigation
algorithms
CostmapBuilder.h
Generated on Tue Feb 13 2024 06:12:12 for armarx_documentation by
1.8.17