ProxemicZoneCreator.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 Tobias Gröger ( tobias dot groeger at student dot kit dot edu )
17
* @date 2022
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
#pragma once
22
23
#include <
armarx/navigation/human/types.h
>
24
25
namespace
armarx::navigation::human
26
{
27
28
class
ProxemicZoneCreator
29
{
30
31
public
:
32
struct
ProxemicParameters
33
{
34
float
intimateWeight
= 2.0;
35
float
personalWeight
= 1.0;
36
37
float
intimateRadius
= 400;
38
float
personalRadius
= 1000;
39
40
float
movementInfluence
= 0.8;
41
// an offset applied to the personal zone in the coordinate system of the human
42
// a positive x-value means an offset to the right
43
// a positive y-value means an offset to the front
44
Eigen::Vector2f
offset
{100, 150};
45
};
46
47
48
ProxemicZoneCreator
()
49
{
50
intimatePenalty = {.
minDistance
= 0.1, .epsilon = 0, .exponent = 1.2};
51
personalPenalty = {.
minDistance
= 0.1, .epsilon = 0, .exponent = 1.2};
52
}
53
ProxemicZoneCreator
(
ProxemicParameters
& params,
54
ExponentialPenaltyModel
& intimatePenalty,
55
ExponentialPenaltyModel
& personalPenalty) :
56
params(params), intimatePenalty(intimatePenalty), personalPenalty(personalPenalty)
57
{
58
}
59
60
61
ProxemicZones
createProxemicZones
(
const
Human
& human);
62
63
private
:
64
ProxemicParameters params;
65
ExponentialPenaltyModel
intimatePenalty;
66
ExponentialPenaltyModel
personalPenalty;
67
};
68
69
}
// namespace armarx::navigation::human
armarx::navigation::human::ProxemicZoneCreator::ProxemicParameters::movementInfluence
float movementInfluence
Definition:
ProxemicZoneCreator.h:40
armarx::navigation::human::ExponentialPenaltyModel::minDistance
float minDistance
Definition:
types.h:68
armarx::navigation::human::Human
Definition:
types.h:33
armarx::navigation::human::ProxemicZoneCreator
Definition:
ProxemicZoneCreator.h:28
armarx::navigation::human::ProxemicZoneCreator::ProxemicParameters::intimateWeight
float intimateWeight
Definition:
ProxemicZoneCreator.h:34
armarx::navigation::human::ProxemicZoneCreator::ProxemicParameters::intimateRadius
float intimateRadius
Definition:
ProxemicZoneCreator.h:37
armarx::navigation::human::ExponentialPenaltyModel
Definition:
types.h:66
types.h
armarx::navigation::human
This file is part of ArmarX.
Definition:
aron_conversions.cpp:9
armarx::navigation::human::ProxemicZones
std::vector< ProxemicZone > ProxemicZones
Definition:
types.h:82
armarx::navigation::human::ProxemicZoneCreator::createProxemicZones
ProxemicZones createProxemicZones(const Human &human)
Definition:
ProxemicZoneCreator.cpp:9
armarx::navigation::human::ProxemicZoneCreator::ProxemicParameters::personalWeight
float personalWeight
Definition:
ProxemicZoneCreator.h:35
armarx::navigation::human::ProxemicZoneCreator::ProxemicZoneCreator
ProxemicZoneCreator(ProxemicParameters ¶ms, ExponentialPenaltyModel &intimatePenalty, ExponentialPenaltyModel &personalPenalty)
Definition:
ProxemicZoneCreator.h:53
armarx::navigation::human::ProxemicZoneCreator::ProxemicZoneCreator
ProxemicZoneCreator()
Definition:
ProxemicZoneCreator.h:48
armarx::navigation::human::ProxemicZoneCreator::ProxemicParameters::personalRadius
float personalRadius
Definition:
ProxemicZoneCreator.h:38
armarx::navigation::human::ProxemicZoneCreator::ProxemicParameters::offset
Eigen::Vector2f offset
Definition:
ProxemicZoneCreator.h:44
armarx::navigation::human::ProxemicZoneCreator::ProxemicParameters
Definition:
ProxemicZoneCreator.h:32
armarx
navigation
human
ProxemicZoneCreator.h
Generated on Sat Oct 12 2024 09:14:15 for armarx_documentation by
1.8.17