SocialCostmapBuilder.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
#include <
armarx/navigation/algorithms/types.h
>
28
#include <
armarx/navigation/core/basic_types.h
>
29
#include <
armarx/navigation/human/types.h
>
30
31
namespace
armarx::navigation::components::social_cost_map
32
{
33
34
class
SocialCostmapBuilder
35
{
36
public
:
37
enum class
Mode
38
{
39
Mode1
,
40
Empty
41
};
42
43
SocialCostmapBuilder
(
const
navigation::algorithms::SceneBounds
sceneBounds,
44
const
navigation::algorithms::Costmap::Parameters
& parameters);
45
46
[[nodiscard]]
navigation::algorithms::Costmap
create
(
const
navigation::human::Humans
& humans,
Mode
mode);
47
48
[[nodiscard]]
navigation::algorithms::Costmap
create
(
const
std::vector<navigation::core::Pose2D>& humans,
Mode
mode);
49
50
private
:
51
static
Eigen::MatrixXf createUniformGrid(
const
navigation::algorithms::SceneBounds
& sceneBounds,
52
const
navigation::algorithms::Costmap::Parameters
& parameters);
53
54
float
computeCostMode1(
const
navigation::core::Position
& position,
55
const
std::vector<navigation::core::Pose2D>& humanPoses);
56
57
void
fillGridCostsMode1(
navigation::algorithms::Costmap
& costmap,
const
std::vector<navigation::core::Pose2D>& humanPoses);
58
59
void
initializeMask(
navigation::algorithms::Costmap
& costmap);
60
61
static
std::vector<navigation::core::Pose2D> getHumanPoses(
const
navigation::human::Humans
& humans);
62
63
// const VirtualRobot::RobotPtr robot;
64
const
navigation::algorithms::SceneBounds
sceneBounds;
65
const
navigation::algorithms::Costmap::Parameters
parameters;
66
67
struct
HumanPose
68
{
69
const
navigation::core::Pose
global_T_human;
70
const
navigation::core::Pose
global_T_hand;
71
};
72
};
73
74
}
// namespace armarx::navigation::algorithms
Costmap.h
basic_types.h
armarx::navigation::algorithms::Costmap
Definition
Costmap.h:18
armarx::navigation::components::social_cost_map::SocialCostmapBuilder::create
navigation::algorithms::Costmap create(const navigation::human::Humans &humans, Mode mode)
Definition
SocialCostmapBuilder.cpp:57
armarx::navigation::components::social_cost_map::SocialCostmapBuilder::Mode
Mode
Definition
SocialCostmapBuilder.h:38
armarx::navigation::components::social_cost_map::SocialCostmapBuilder::Mode::Mode1
@ Mode1
Definition
SocialCostmapBuilder.h:39
armarx::navigation::components::social_cost_map::SocialCostmapBuilder::Mode::Empty
@ Empty
Definition
SocialCostmapBuilder.h:40
armarx::navigation::components::social_cost_map::SocialCostmapBuilder::SocialCostmapBuilder
SocialCostmapBuilder(const navigation::algorithms::SceneBounds sceneBounds, const navigation::algorithms::Costmap::Parameters ¶meters)
Definition
SocialCostmapBuilder.cpp:50
armarx::navigation::components::social_cost_map
This file is part of ArmarX.
Definition
Component.cpp:68
armarx::navigation::core::Pose
Eigen::Isometry3f Pose
Definition
basic_types.h:31
armarx::navigation::core::Position
Eigen::Vector3f Position
Definition
basic_types.h:36
armarx::navigation::human::Humans
std::vector< Human > Humans
Definition
types.h:48
types.h
types.h
armarx::navigation::algorithms::Costmap::Parameters
Definition
Costmap.h:26
armarx::navigation::algorithms::SceneBounds
Definition
types.h:30
armarx
navigation
components
social_cost_map
SocialCostmapBuilder.h
Generated by
1.13.2