Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
wheelsSensor.cpp
Go to the documentation of this file.
1
#include "
sensorModels/wheelsSensor.hpp
"
2
3
WheelsSensor::WheelsSensor
(
double
rate,
double
deadTime)
4
{
5
this->rate =
rate
;
6
this->
lastSampleTime
= 0.0;
7
this->deadTime =
deadTime
;
8
}
9
10
void
WheelsSensor::readConfig
(
ConfigElement
& config)
11
{
12
config.
getElement
<
double
>(&this->
rate
,
"rate"
);
13
config.
getElement
<
double
>(&this->
deadTime
,
"dead_time"
);
14
config[
"error"
].
getElement
<
double
>(&this->
error_mean
,
"mean"
);
15
config[
"error"
].
getElement
<
double
>(&this->
error_sigma
,
"sigma"
);
16
}
17
18
bool
WheelsSensor::RunTick
(Wheels& in, Eigen::Vector3d& trans, Eigen::Vector3d& rot,
double
time)
19
{
20
if
(this->
sampleReady
(time))
21
{
22
Wheels value = this->
applyError
(in);
23
this->
deadTimeQueue
.push(value);
24
this->
registerSampling
();
25
}
26
return
availableDeadTime
(time);
27
}
28
29
Wheels
WheelsSensor::applyError
(Wheels input)
30
{
31
std::default_random_engine generator(
numFrames
);
32
std::normal_distribution<double> distError(
error_mean
,
error_sigma
);
33
34
input.FL += distError(generator);
35
input.FR += distError(generator);
36
input.RL += distError(generator);
37
input.RR += distError(generator);
38
numFrames
+= 1;
39
return
input;
40
}
ConfigElement
Definition
configParser.hpp:15
ConfigElement::getElement
ConfigElement getElement(string elementName)
Definition
configParser.cpp:23
SensorBase< Wheels >::sampleReady
bool sampleReady(double time)
Definition
sensorBase.hpp:31
SensorBase< Wheels >::lastSampleTime
double lastSampleTime
Definition
sensorBase.hpp:48
SensorBase< Wheels >::availableDeadTime
bool availableDeadTime(double time)
Definition
sensorBase.hpp:18
SensorBase< Wheels >::numFrames
int numFrames
Definition
sensorBase.hpp:51
SensorBase< Wheels >::registerSampling
void registerSampling()
Definition
sensorBase.hpp:33
SensorBase< Wheels >::deadTime
double deadTime
Definition
sensorBase.hpp:49
SensorBase< Wheels >::rate
double rate
Definition
sensorBase.hpp:47
SensorBase< Wheels >::deadTimeQueue
std::queue< Wheels > deadTimeQueue
Definition
sensorBase.hpp:50
WheelsSensor::readConfig
void readConfig(ConfigElement &config)
Definition
wheelsSensor.cpp:10
WheelsSensor::WheelsSensor
WheelsSensor(double rate, double deadTime)
Definition
wheelsSensor.cpp:3
WheelsSensor::error_mean
double error_mean
Definition
wheelsSensor.hpp:22
WheelsSensor::applyError
Wheels applyError(Wheels input)
Definition
wheelsSensor.cpp:29
WheelsSensor::RunTick
bool RunTick(Wheels &in, Eigen::Vector3d &trans, Eigen::Vector3d &rot, double time)
Definition
wheelsSensor.cpp:18
WheelsSensor::error_sigma
double error_sigma
Definition
wheelsSensor.hpp:23
wheelsSensor.hpp
src
pacsim
src
sensorModels
wheelsSensor.cpp
Generated by
1.9.8