MotionPlanningObjectFactories.h
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5
*
6
* ArmarX is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation.
9
*
10
* ArmarX is distributed in the hope that it will be useful, but
11
* WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*
18
* @package RobotComponents
19
* @author Raphael Grimm ( raphael dot grimm at kit dot edu )
20
* @date 2015
21
* @copyright http://www.gnu.org/licenses/gpl.txt
22
* GNU General Public License
23
*/
24
#pragma once
25
26
#include <map>
27
#include <string>
28
#include <vector>
29
30
#include <Ice/Ice.h>
31
#include <Ice/ObjectFactory.h>
32
33
#include <
ArmarXCore/core/logging/Logging.h
>
34
#include <
ArmarXCore/core/system/FactoryCollectionBase.h
>
35
#include <
ArmarXCore/core/system/Synchronization.h
>
36
37
#include <
RobotComponents/components/MotionPlanning/CSpace/VoxelGridCSpace.h
>
38
#include <
RobotComponents/components/MotionPlanning/Tasks/BiRRT/Task.h
>
39
#include <
RobotComponents/components/MotionPlanning/Tasks/CSpaceVisualizerTask/CSpaceVisualizerTask.h
>
40
41
#include "
CSpace/ScaledCSpace.h
"
42
#include "
CSpace/SimoxCSpace.h
"
43
#include "
ResourceRequestStrategies/ComputingPowerRequestStrategy.h
"
44
#include "
Tasks/AStar/Task.h
"
45
#include "
Tasks/AdaptiveDynamicDomainInformedRRTStar/ManagerNode.h
"
46
#include "
Tasks/AdaptiveDynamicDomainInformedRRTStar/Task.h
"
47
#include "
Tasks/AdaptiveDynamicDomainInformedRRTStar/WorkerNode.h
"
48
#include "
Tasks/PathCollection/Task.h
"
49
#include "
Tasks/RRTConnect/Task.h
"
50
#include "
Tasks/RRTConnect/WorkerNode.h
"
51
#include "
Tasks/RandomShortcutPostprocessor/Task.h
"
52
#include <
MemoryX/core/MemoryXCoreObjectFactories.h
>
53
#include <
MemoryX/libraries/memorytypes/MemoryXTypesObjectFactories.h
>
54
55
namespace
armarx::ObjectFactories
56
{
57
/**
58
* @brief Object factories for objects used by planning algorithms and the algorithms task objects.
59
*/
60
class
MotionPlanningObjectFactories
:
public
FactoryCollectionBase
61
{
62
public
:
63
/**
64
* @return The map of object factories.
65
*/
66
ObjectFactoryMap
67
getFactories
()
override
68
{
69
ObjectFactoryMap
map;
70
//planning alg
71
add<armarx::addirrtstar::TaskBase, armarx::addirrtstar::Task>
(map);
72
add<armarx::addirrtstar::ManagerNodeBase, armarx::addirrtstar::ManagerNode>
(map);
73
add<armarx::addirrtstar::WorkerNodeBase, armarx::addirrtstar::WorkerNode>
(map);
74
75
add<armarx::rrtconnect::TaskBase, armarx::rrtconnect::Task>
(map);
76
add<armarx::rrtconnect::WorkerNodeBase, armarx::rrtconnect::WorkerNode>
(map);
77
add<armarx::birrt::TaskBase, armarx::birrt::Task>
(map);
78
79
add<armarx::astar::TaskBase, armarx::astar::Task>
(map);
80
add<armarx::CSpaceVisualizerTaskBase, armarx::CSpaceVisualizerTask>
(map);
81
82
add<armarx::rngshortcut::TaskBase, armarx::rngshortcut::Task>
(map);
83
add<armarx::pathcol::TaskBase, armarx::pathcol::Task>
(map);
84
//cspace
85
add<armarx::SimoxCSpaceBase, armarx::SimoxCSpace>
(map);
86
add<armarx::SimoxCSpaceWith2DPoseBase, armarx::SimoxCSpaceWith2DPose>
(map);
87
add<armarx::SimoxCSpaceWith3DPoseBase, armarx::SimoxCSpaceWith3DPose>
(map);
88
add<armarx::ScaledCSpaceBase, armarx::ScaledCSpace>
(map);
89
add<armarx::VoxelGridCSpace, armarx::VoxelGridCSpace>
(map);
90
91
//resource request strategies
92
add<armarx::cprs::AndBase, armarx::cprs::And>
(map);
93
add<armarx::cprs::OrBase, armarx::cprs::Or>
(map);
94
add<armarx::cprs::NotBase, armarx::cprs::Not>
(map);
95
96
add<armarx::cprs::AlwaysBase, armarx::cprs::Always>
(map);
97
add<armarx::cprs::NeverBase, armarx::cprs::Never>
(map);
98
99
add<armarx::cprs::ElapsedTimeBase, armarx::cprs::ElapsedTime>
(map);
100
add<armarx::cprs::NoNodeCreatedBase, armarx::cprs::NoNodeCreated>
(map);
101
102
add<armarx::cprs::TotalNodeCountBase, armarx::cprs::TotalNodeCount>
(map);
103
104
add<armarx::cprs::TaskStatusBase, armarx::cprs::TaskStatus>
(map);
105
106
return
map;
107
}
108
};
109
110
const
FactoryCollectionBaseCleanUp
MotionPlanningObjectFactoriesVar
=
111
FactoryCollectionBase::addToPreregistration
(
new
MotionPlanningObjectFactories
());
112
}
// namespace armarx::ObjectFactories
Task.h
Task.h
WorkerNode.h
Task.h
CSpaceVisualizerTask.h
ComputingPowerRequestStrategy.h
FactoryCollectionBase.h
Logging.h
ManagerNode.h
MemoryXCoreObjectFactories.h
MemoryXTypesObjectFactories.h
Task.h
Task.h
WorkerNode.h
Task.h
ScaledCSpace.h
SimoxCSpace.h
Synchronization.h
VoxelGridCSpace.h
armarx::FactoryCollectionBaseCleanUp
Definition
FactoryCollectionBase.h:40
armarx::FactoryCollectionBase::addToPreregistration
static FactoryCollectionBaseCleanUp addToPreregistration(FactoryCollectionBasePtr factoryCollection)
Definition
FactoryCollectionBase.cpp:43
armarx::FactoryCollectionBase::FactoryCollectionBase
FactoryCollectionBase()
Definition
FactoryCollectionBase.cpp:31
armarx::FactoryCollectionBase::add
void add(ObjectFactoryMap &map)
Definition
FactoryCollectionBase.h:83
armarx::ObjectFactories::MotionPlanningObjectFactories
Object factories for objects used by planning algorithms and the algorithms task objects.
Definition
MotionPlanningObjectFactories.h:61
armarx::ObjectFactories::MotionPlanningObjectFactories::getFactories
ObjectFactoryMap getFactories() override
Definition
MotionPlanningObjectFactories.h:67
armarx::ObjectFactories
Definition
CoreObjectFactories.h:55
armarx::ObjectFactories::MotionPlanningObjectFactoriesVar
const FactoryCollectionBaseCleanUp MotionPlanningObjectFactoriesVar
Definition
MotionPlanningObjectFactories.h:110
armarx::ObjectFactoryMap
std::map< std::string, Ice::ValueFactoryPtr > ObjectFactoryMap
Definition
FactoryCollectionBase.h:62
RobotComponents
components
MotionPlanning
MotionPlanningObjectFactories.h
Generated by
1.13.2