Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
sensorBase.hpp
Go to the documentation of this file.
1
#ifndef PACSIMISENSORBASE_HPP
2
#define PACSIMISENSORBASE_HPP
3
4
#include <queue>
5
6
template
<
typename
T>
class
SensorBase
7
{
8
public
:
9
double
getRate
() {
return
this->
rate
; }
10
11
T
getOldest
()
12
{
13
T elem = this->
deadTimeQueue
.front();
14
this->
deadTimeQueue
.pop();
15
return
elem;
16
}
17
18
bool
availableDeadTime
(
double
time)
19
{
20
if
(this->
deadTimeQueue
.size() >= 1)
21
{
22
T elem = this->
deadTimeQueue
.front();
23
if
(time >= (elem.timestamp + this->deadTime))
24
{
25
return
true
;
26
}
27
}
28
return
false
;
29
}
30
31
bool
sampleReady
(
double
time) {
return
(time >= (this->
lastSampleTime
+ 1 / this->
rate
)); }
32
33
void
registerSampling
()
34
{
35
this->
lastSampleTime
+= 1.0 / this->
rate
;
36
return
;
37
}
38
39
Eigen::Vector3d
getPosition
() {
return
this->
position
; }
40
41
Eigen::Vector3d
getOrientation
() {
return
this->
orientation
; }
42
43
protected
:
44
Eigen::Vector3d
position
;
45
Eigen::Vector3d
orientation
;
46
47
double
rate
;
48
double
lastSampleTime
;
49
double
deadTime
;
50
std::queue<T>
deadTimeQueue
;
51
int
numFrames
;
52
};
53
54
#endif
/* PACSIMISENSORBASE_HPP */
SensorBase
Definition
sensorBase.hpp:7
SensorBase::sampleReady
bool sampleReady(double time)
Definition
sensorBase.hpp:31
SensorBase::getOrientation
Eigen::Vector3d getOrientation()
Definition
sensorBase.hpp:41
SensorBase::lastSampleTime
double lastSampleTime
Definition
sensorBase.hpp:48
SensorBase::getRate
double getRate()
Definition
sensorBase.hpp:9
SensorBase::availableDeadTime
bool availableDeadTime(double time)
Definition
sensorBase.hpp:18
SensorBase::orientation
Eigen::Vector3d orientation
Definition
sensorBase.hpp:45
SensorBase::numFrames
int numFrames
Definition
sensorBase.hpp:51
SensorBase::registerSampling
void registerSampling()
Definition
sensorBase.hpp:33
SensorBase::getPosition
Eigen::Vector3d getPosition()
Definition
sensorBase.hpp:39
SensorBase::deadTime
double deadTime
Definition
sensorBase.hpp:49
SensorBase::getOldest
T getOldest()
Definition
sensorBase.hpp:11
SensorBase::rate
double rate
Definition
sensorBase.hpp:47
SensorBase::deadTimeQueue
std::queue< T > deadTimeQueue
Definition
sensorBase.hpp:50
SensorBase::position
Eigen::Vector3d position
Definition
sensorBase.hpp:44
src
pacsim
include
sensorModels
sensorBase.hpp
Generated by
1.9.8