CalculateRotation.cpp
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
* @package navigation::NavigationCommands
17
* @author armar-user ( armar6 at kit )
18
* @date 2022
19
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
23
#include "
CalculateRotation.h
"
24
25
#include <Eigen/Core>
26
#include <Eigen/Geometry>
27
28
#include <SimoxUtility/math/convert/deg_to_rad.h>
29
30
#include <
RobotAPI/libraries/core/Pose.h
>
31
32
namespace
armarx::navigation::statecharts::navigation_commands
33
{
34
// DO NOT EDIT NEXT LINE
35
CalculateRotation::SubClassRegistry
36
CalculateRotation::Registry
(CalculateRotation::GetName(),
37
&
CalculateRotation::CreateInstance
);
38
39
void
40
CalculateRotation::onEnter
()
41
{
42
// put your user code for the enter-point here
43
// execution time should be short (<100ms)
44
}
45
46
void
47
CalculateRotation::run
()
48
{
49
const
float
rotation = simox::math::deg_to_rad(in.getrotationDegrees());
50
51
const
Eigen::Isometry3f robotRelativeMovement((Eigen::AngleAxisf(rotation, Eigen::Vector3f::UnitZ())));
52
53
out.setrelativePose(
toIce
(robotRelativeMovement.matrix()));
54
emitSuccess();
55
}
56
57
//void CalculateRotation::onBreak()
58
//{
59
// // put your user code for the breaking point here
60
// // execution time should be short (<100ms)
61
//}
62
63
void
64
CalculateRotation::onExit
()
65
{
66
// put your user code for the exit point here
67
// execution time should be short (<100ms)
68
}
69
70
71
// DO NOT EDIT NEXT FUNCTION
72
XMLStateFactoryBasePtr
73
CalculateRotation::CreateInstance
(
XMLStateConstructorParams
stateData)
74
{
75
return
XMLStateFactoryBasePtr
(
new
CalculateRotation
(stateData));
76
}
77
}
// namespace armarx::navigation::statecharts::navigation_commands
CalculateRotation.h
Pose.h
armarx::XMLStateConstructorParams
Definition:
XMLState.h:50
armarx::navigation::statecharts::navigation_commands::CalculateRotation::CalculateRotation
CalculateRotation(const XMLStateConstructorParams &stateData)
Definition:
CalculateRotation.h:33
armarx::navigation::statecharts::navigation_commands::CalculateRotation::onEnter
void onEnter() override
Definition:
CalculateRotation.cpp:40
IceInternal::Handle
Definition:
forward_declarations.h:8
armarx::navigation::statecharts::navigation_commands::CalculateRotation::CreateInstance
static XMLStateFactoryBasePtr CreateInstance(XMLStateConstructorParams stateData)
Definition:
CalculateRotation.cpp:73
armarx::toIce
void toIce(std::map< IceKeyT, IceValueT > &iceMap, const boost::container::flat_map< CppKeyT, CppValueT > &cppMap)
Definition:
ice_conversions_boost_templates.h:15
armarx::navigation::statecharts::navigation_commands::CalculateRotation::run
void run() override
Definition:
CalculateRotation.cpp:47
armarx::XMLStateFactoryBasePtr
IceInternal::Handle< XMLStateFactoryBase > XMLStateFactoryBasePtr
Definition:
XMLState.h:65
armarx::navigation::statecharts::navigation_commands
Definition:
CalculateRelativeMovement.cpp:30
armarx::navigation::statecharts::navigation_commands::CalculateRotation::Registry
static SubClassRegistry Registry
Definition:
CalculateRotation.h:47
armarx::navigation::statecharts::navigation_commands::CalculateRotation::onExit
void onExit() override
Definition:
CalculateRotation.cpp:64
armarx
navigation
statecharts
NavigationCommands
internal
CalculateRotation.cpp
Generated on Sat Oct 12 2024 09:14:15 for armarx_documentation by
1.8.17