Project

General

Profile

0123 » History » Version 5

Ellon Paiva Mendes, 2018-01-24 13:06

1 2 Quentin Labourey
h1. 01/23 - Discussion on PoM 
2 3 Quentin Labourey
3
*Participants:* 
4
Quentin, Simon
5
6
*Goal of the meeting:* Discuss the general state of the processing we want to showcase in sprint 1 and more precisely the problems we might encounter on PoM.
7
8
h2. General chain discussion
9
10
Ellon and I have been working on providing the right types of data to the DEM module. At the moment the chain from MORSE to the DEM module looks like this:
11
12
!existing_chain.png!
13
14
With:
15
* *Fake velodyne*: take as input the pointclouds produced by velodyne, aggregates them into one point cloud, and associate the pose of the robot to it.
16
* *Point cloud pose stamped* is a data structure defined in IDL for genom3 module from which we can build the DEM
17
18
ATM: *No POM*. What we would like is the following :
19
20
!wanted_chain.png!
21
22
This includes:
23
* *Changing fake velodyne* : makes it quite a bit harder as this means Ellon needs to "rewrite TF" and keep changes in pose in memory in order to aggregate properly when the robot moves
24 4 Quentin Labourey
* *Decide how we stamp the data*: right now, the "pose" data structure from genom3 IS NOT attached to a reference frame. The reference frame is implicit (one frame world in which the pose is described). This is not going to be enough in the future, but requires quite some changes into PoM. So for the moment we consider only the following frames: world (absolute), robot (moving), and sensor (fixed to the robot). The PC will be expressed in the robot frame of reference, while the pose will be expressed in the world frame of reference. => THIS WILL CHANGE IN THE FUTURE
25
26
h2. PoM discussion
27
28
The main problem with PoM is how to get data in the past. Basically, when DEM is running there are 3 main participants in the interaction : 
29
* PoM: handles Poses
30
* DEM: builds the elevation maps
31
* Supervisor S: makes request such as "build the fused map between time t1 and t2 in the past"
32
 
33
*Question*: when the supervisor wants to make a request, how should it address it? and to whom?
34
35
---
36
37
The intuitive way is : 
38
* S addresses DEM with arguments t1 and t2 (e.g. floats) to trigger the function producing the fusion ==> *POSSIBLE IN GENOM*
39
* DEM addresses PoM with arguments t1 and t2 (same) to trigger a function in PoM to transfer the poses available between those time ==> *NOT POSSIBLE NATIVELY IN GENOM*
40 5 Ellon Paiva Mendes
* PoM transfer data to DEM containing the poses (sequences of or_pose_estimator::state) ==> *POSSIBLE, BUT NOT THE WAY WE WANT IT (PUNCTUAL)*
41 4 Quentin Labourey
* DEM builds the fused map with the given poses ==> *POSSIBLE*
42
43
Problem is two modules are not supposed to "speak sporadically together". The only way 2 modules can talk is through a port that is read at a given frequence by the receiver...
44
*At the moment, no real solution...*