IMUState.h
Go to the documentation of this file.
1
/*
2
* IMUState.h
3
*
4
* Created on: Mar 16, 2014
5
* Author: Dr.-Ing. David Israel González Aguirre
6
* Mail: david.gonzalez@kit.edu
7
*/
8
9
#pragma once
10
11
#include "
Includes.h
"
12
13
namespace
IMU
14
{
15
struct
IMUState
16
{
17
inline
IMUState
() :
m_ControlData
(),
m_PhysicalData
()
18
{
19
}
20
21
struct
ControlData
22
{
23
ControlData
() :
24
m_PreviousSampleCount
(-1),
25
m_CurrentSampleCount
(0),
26
m_MessageCounter
(0),
27
m_IsConsecutive
(false)
28
{
29
memset(&
m_TimeStamp
, 0,
sizeof
(timeval));
30
}
31
32
long
m_PreviousSampleCount
;
33
unsigned
short
m_CurrentSampleCount
;
34
long
m_MessageCounter
;
35
bool
m_IsConsecutive
;
36
timeval
m_TimeStamp
;
37
};
38
39
struct
PhysicalData
40
{
41
PhysicalData
() :
m_AccelerationMagnitud
(0.0f)
42
{
43
memset(
m_Acceleration
, 0,
sizeof
(
float
) * 3);
44
memset(
m_GyroscopeRotation
, 0,
sizeof
(
float
) * 3);
45
memset(
m_MagneticRotation
, 0,
sizeof
(
float
) * 3);
46
memset(
m_QuaternionRotation
, 0,
sizeof
(
float
) * 4);
47
}
48
49
float
m_Acceleration
[3];
50
float
m_AccelerationMagnitud
;
51
float
m_GyroscopeRotation
[3];
52
float
m_MagneticRotation
[3];
53
float
m_QuaternionRotation
[4];
54
55
inline
void
56
UpdateAccelerationMagnitud
()
57
{
58
m_AccelerationMagnitud
=
std::sqrt
(
m_Acceleration
[0] *
m_Acceleration
[0] +
59
m_Acceleration
[1] *
m_Acceleration
[1] +
60
m_Acceleration
[2] *
m_Acceleration
[2]);
61
}
62
};
63
64
ControlData
m_ControlData
;
65
PhysicalData
m_PhysicalData
;
66
};
67
}
// namespace IMU
IMU::IMUState::PhysicalData::m_MagneticRotation
float m_MagneticRotation[3]
Definition:
IMUState.h:52
IMU::IMUState::ControlData::ControlData
ControlData()
Definition:
IMUState.h:23
IMU::IMUState::ControlData::m_TimeStamp
timeval m_TimeStamp
Definition:
IMUState.h:36
IMU::IMUState::m_PhysicalData
PhysicalData m_PhysicalData
Definition:
IMUState.h:65
IMU::IMUState::ControlData::m_PreviousSampleCount
long m_PreviousSampleCount
Definition:
IMUState.h:32
Includes.h
IMU::IMUState::ControlData::m_MessageCounter
long m_MessageCounter
Definition:
IMUState.h:34
IMU::IMUState
Definition:
IMUState.h:15
IMU
Definition:
IIMUEventDispatcher.cpp:13
IMU::IMUState::PhysicalData::PhysicalData
PhysicalData()
Definition:
IMUState.h:41
GfxTL::sqrt
VectorXD< D, T > sqrt(const VectorXD< D, T > &a)
Definition:
VectorXD.h:704
IMU::IMUState::PhysicalData::m_QuaternionRotation
float m_QuaternionRotation[4]
Definition:
IMUState.h:53
IMU::IMUState::PhysicalData::m_AccelerationMagnitud
float m_AccelerationMagnitud
Definition:
IMUState.h:50
IMU::IMUState::PhysicalData::m_GyroscopeRotation
float m_GyroscopeRotation[3]
Definition:
IMUState.h:51
IMU::IMUState::PhysicalData::m_Acceleration
float m_Acceleration[3]
Definition:
IMUState.h:49
IMU::IMUState::ControlData::m_IsConsecutive
bool m_IsConsecutive
Definition:
IMUState.h:35
IMU::IMUState::ControlData
Definition:
IMUState.h:21
IMU::IMUState::PhysicalData::UpdateAccelerationMagnitud
void UpdateAccelerationMagnitud()
Definition:
IMUState.h:56
IMU::IMUState::m_ControlData
ControlData m_ControlData
Definition:
IMUState.h:64
IMU::IMUState::ControlData::m_CurrentSampleCount
unsigned short m_CurrentSampleCount
Definition:
IMUState.h:33
IMU::IMUState::PhysicalData
Definition:
IMUState.h:39
IMU::IMUState::IMUState
IMUState()
Definition:
IMUState.h:17
RobotAPI
drivers
XsensIMU
IMU
IMUState.h
Generated on Sat Mar 29 2025 09:17:26 for armarx_documentation by
1.8.17