Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
perceptionSensor.hpp
Go to the documentation of this file.
1#ifndef PACSIMPERCEPTIONSENSOR_HPP
2#define PACSIMPERCEPTIONSENSOR_HPP
3
4#include "configParser.hpp"
5#include "sensorBase.hpp"
6#include "transform.hpp"
7#include "types.hpp"
8#include <queue>
9#include <random>
10
11class PerceptionSensor : public SensorBase<LandmarkList>
12{
13public:
15
16 void readConfig(ConfigElement& config);
17
18 LandmarkList process(LandmarkList& in, Eigen::Vector3d& trans, Eigen::Vector3d& rot, double time);
19
20 std::vector<Landmark> filterFoV(std::vector<Landmark>& in);
21
22 std::vector<Landmark> filterTypeAndDOO(std::vector<Landmark>& in);
23
24 std::vector<Landmark> addClassProbailities(std::vector<Landmark>& in);
25
26 std::vector<Landmark> handleFalsePositivesAndNegatives(std::vector<Landmark>& in);
27
28 std::vector<Landmark> addNoise(std::vector<Landmark>& in);
29
30 std::string getName();
31
32 std::string getFrameId();
33
34 bool RunTick(LandmarkList& in, Eigen::Vector3d& trans, Eigen::Vector3d& rot, double time);
35
36private:
37 std::string name;
38 std::string frame_id;
39 double minRange;
40 double maxRange;
45 Eigen::Vector3d errorSigmaXYZ;
46 Eigen::Vector3d errorMeanXYZ;
47
52 Eigen::Vector2d errorSigmaAngle;
53 Eigen::Vector2d errorMeanAngle;
54
59
65};
66
67#endif /* PACSIMPERCEPTIONSENSOR_HPP */
std::vector< Landmark > addClassProbailities(std::vector< Landmark > &in)
LandmarkList process(LandmarkList &in, Eigen::Vector3d &trans, Eigen::Vector3d &rot, double time)
std::vector< Landmark > filterFoV(std::vector< Landmark > &in)
std::vector< Landmark > addNoise(std::vector< Landmark > &in)
double classification_prob_min_dist
std::string getFrameId()
std::vector< Landmark > handleFalsePositivesAndNegatives(std::vector< Landmark > &in)
double detection_prob_decrease_dist_quadratic
double detection_prob_decrease_dist_linear
Eigen::Vector3d errorSigmaXYZ
Eigen::Vector2d errorMeanAngle
bool RunTick(LandmarkList &in, Eigen::Vector3d &trans, Eigen::Vector3d &rot, double time)
double classification_prob_decrease_dist_quadratic
std::vector< Landmark > filterTypeAndDOO(std::vector< Landmark > &in)
Eigen::Vector2d errorSigmaAngle
Eigen::Vector3d errorMeanXYZ
void readConfig(ConfigElement &config)
double classification_prob_decrease_dist_linear