ORCA: Optimization-based framework for Robotic Control Applications
include
orca
optim
ResolutionStrategy.h
Go to the documentation of this file.
1
//| This file is a part of the ORCA framework.
2
//|
3
//| Copyright 2018, Fuzzy Logic Robotics
4
//| Copyright 2017, ISIR / Universite Pierre et Marie Curie (UPMC)
5
//|
6
//| Main contributor(s): Antoine Hoarau, Ryan Lober, and
7
//| Fuzzy Logic Robotics <info@fuzzylogicrobotics.com>
8
//|
9
//| ORCA is a whole-body reactive controller framework for robotics.
10
//|
11
//| This software is governed by the CeCILL-C license under French law and
12
//| abiding by the rules of distribution of free software. You can use,
13
//| modify and/ or redistribute the software under the terms of the CeCILL-C
14
//| license as circulated by CEA, CNRS and INRIA at the following URL
15
//| "http://www.cecill.info".
16
//|
17
//| As a counterpart to the access to the source code and rights to copy,
18
//| modify and redistribute granted by the license, users are provided only
19
//| with a limited warranty and the software's author, the holder of the
20
//| economic rights, and the successive licensors have only limited
21
//| liability.
22
//|
23
//| In this respect, the user's attention is drawn to the risks associated
24
//| with loading, using, modifying and/or developing or reproducing the
25
//| software by the user in light of its specific status of free software,
26
//| that may mean that it is complicated to manipulate, and that also
27
//| therefore means that it is reserved for developers and experienced
28
//| professionals having in-depth computer knowledge. Users are therefore
29
//| encouraged to load and test the software's suitability as regards their
30
//| requirements in conditions enabling the security of their systems and/or
31
//| data to be ensured and, more generally, to use and operate it in the
32
//| same conditions as regards security.
33
//|
34
//| The fact that you are presently reading this means that you have had
35
//| knowledge of the CeCILL-C license and that you accept its terms.
36
37
#pragma once
38
#include <iostream>
39
40
namespace
orca
41
{
42
namespace
optim
43
{
44
enum class
ResolutionStrategy
45
{
46
OneLevelWeighted
47
,
MultiLevelWeighted
48
,
Generalized
49
};
50
51
inline
std::string
ResolutionStrategyToString
(
ResolutionStrategy
rs)
52
{
53
if
(rs ==
ResolutionStrategy::OneLevelWeighted
)
return
"OneLevelWeighted"
;
54
if
(rs ==
ResolutionStrategy::MultiLevelWeighted
)
return
"MultiLevelWeighted"
;
55
if
(rs ==
ResolutionStrategy::Generalized
)
return
"Generalized"
;
56
return
"Not supported"
;
57
}
58
inline
ResolutionStrategy
ResolutionStrategyFromString
(
const
std::string& rs)
59
{
60
if
(rs ==
"OneLevelWeighted"
)
return
ResolutionStrategy::OneLevelWeighted
;
61
if
(rs ==
"MultiLevelWeighted"
)
return
ResolutionStrategy::MultiLevelWeighted
;
62
if
(rs ==
"Generalized"
)
return
ResolutionStrategy::Generalized
;
63
return
ResolutionStrategy::OneLevelWeighted
;
64
}
65
inline ::std::ostream&
operator<<
(::std::ostream& os,
const
ResolutionStrategy
& rs)
66
{
67
os <<
ResolutionStrategyToString
(rs);
68
return
os;
69
}
70
}
// namespace optim
71
}
// namespace orca
72
73
orca::optim::ResolutionStrategy::MultiLevelWeighted
orca::optim::ResolutionStrategyFromString
ResolutionStrategy ResolutionStrategyFromString(const std::string &rs)
Definition:
ResolutionStrategy.h:58
orca::optim::operator<<
inline ::std::ostream & operator<<(::std::ostream &os, const ControlVariable &cv)
Definition:
ControlVariable.h:78
orca::optim::ResolutionStrategy::OneLevelWeighted
orca::optim::ResolutionStrategyToString
std::string ResolutionStrategyToString(ResolutionStrategy rs)
Definition:
ResolutionStrategy.h:51
orca::optim::ResolutionStrategy
ResolutionStrategy
Definition:
ResolutionStrategy.h:44
orca
Definition:
CartesianAccelerationPID.h:44
orca::optim::ResolutionStrategy::Generalized
Generated by
1.8.13