ed_sensor_integration
include
ed
kinect
kinect/updater.h
Go to the documentation of this file.
1
#ifndef ED_KINECT_UPDATER_H_
2
#define ED_KINECT_UPDATER_H_
3
4
#include "
ed/kinect/fitter.h
"
5
#include "
ed/kinect/segmenter.h
"
6
#include "
ed/kinect/entity_update.h
"
7
8
#include <
map
>
9
#include <
vector
>
10
11
// ----------------------------------------------------------------------------------------------------
12
13
struct
UpdateRequest
14
{
15
UpdateRequest
() :
background_padding
(0),
max_yaw_change
(M_PI) {}
16
17
// Symbolic description of area to be updated (e.g. "on_top_of cabinet")
18
std::string
area_description
;
19
20
// When applying background removal, amount of padding given to the world model (the more padding
21
// the points are 'cut away')
22
double
background_padding
;
23
24
// When refitting an entity, this states the maximum change in yaw (in radians), i.e., the fitted
25
// yaw will deviate at most 'max_yaw_change' from the estimated yaw
26
double
max_yaw_change
;
27
28
// Should the supporting entity be fitted
29
bool
fit_supporting_entity
;
30
};
31
32
// ----------------------------------------------------------------------------------------------------
33
34
struct
UpdateResult
35
{
36
UpdateResult
(
ed::UpdateRequest
& update_req_) :
update_req
(update_req_) {}
37
38
std::vector<EntityUpdate>
entity_updates
;
39
std::vector<ed::UUID>
removed_entity_ids
;
40
ed::UpdateRequest
&
update_req
;
41
std::stringstream
error
;
42
};
43
44
// ----------------------------------------------------------------------------------------------------
45
46
class
Updater
47
{
48
49
public
:
50
51
Updater
();
52
53
~Updater
();
54
55
bool
update
(
const
ed::WorldModel
& world,
const
rgbd::ImageConstPtr
&
image
,
const
geo::Pose3D
& sensor_pose,
56
const
UpdateRequest
&
req
,
UpdateResult
& res);
57
58
private
:
59
60
Fitter
fitter_
;
61
62
Segmenter
segmenter_
;
63
64
// Stores for each segmented entity with which area description it was found
65
std::map<ed::UUID, std::string>
id_to_area_description_
;
66
67
};
68
69
#endif
Segmenter
Definition:
segmenter.h:27
UpdateResult::update_req
ed::UpdateRequest & update_req
Definition:
kinect/updater.h:40
ed::UpdateRequest
std::string
std::shared_ptr
vector
std::stringstream
geo::Transform3T
UpdateRequest::background_padding
double background_padding
Definition:
kinect/updater.h:22
image
cv::Mat image
UpdateResult::entity_updates
std::vector< EntityUpdate > entity_updates
Definition:
kinect/updater.h:38
segmenter.h
Updater
Definition:
kinect/updater.h:46
Updater::~Updater
~Updater()
Definition:
kinect/updater.cpp:195
UpdateResult::error
std::stringstream error
Definition:
kinect/updater.h:41
req
string req
Updater::fitter_
Fitter fitter_
Definition:
kinect/updater.h:60
UpdateRequest::UpdateRequest
UpdateRequest()
Definition:
kinect/updater.h:15
map
UpdateRequest::area_description
std::string area_description
Definition:
kinect/updater.h:18
ed::WorldModel
UpdateResult::removed_entity_ids
std::vector< ed::UUID > removed_entity_ids
Definition:
kinect/updater.h:39
UpdateRequest::max_yaw_change
double max_yaw_change
Definition:
kinect/updater.h:26
entity_update.h
Updater::update
bool update(const ed::WorldModel &world, const rgbd::ImageConstPtr &image, const geo::Pose3D &sensor_pose, const UpdateRequest &req, UpdateResult &res)
Definition:
kinect/updater.cpp:201
UpdateRequest::fit_supporting_entity
bool fit_supporting_entity
Definition:
kinect/updater.h:29
UpdateRequest
Definition:
kinect/updater.h:13
Updater::segmenter_
Segmenter segmenter_
Definition:
kinect/updater.h:62
fitter.h
UpdateResult::UpdateResult
UpdateResult(ed::UpdateRequest &update_req_)
Definition:
kinect/updater.h:36
Fitter
The Fitter class contains the algorithm to do the 2D fit of an entity.
Definition:
fitter.h:100
Updater::id_to_area_description_
std::map< ed::UUID, std::string > id_to_area_description_
Definition:
kinect/updater.h:65
Updater::Updater
Updater()
Definition:
kinect/updater.cpp:189
UpdateResult
Definition:
kinect/updater.h:34
Generated on Sun Feb 23 2025 04:34:57 for ed_sensor_integration by
1.8.17