Mapping Error

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Mapping Error

Jimmy Notron
Hi every one
i have just one question more :)

1-we developed code that get cloud_map data from rtabmap and do some process on it but we see that during passing time and moving in long base suddenly we lost some data on the map that we saw it in the first time  (means the cloud_map dont publish some cloud anymore!) what should we do?

2-how can I write my code for getting point cloud and stitching them for building my map?
i mean i know how can i generate and reading point cloud but how can i receive rotation and transformation matrix for multiply in point cloud matrix and adding to general point cloud matrix?

3-how can i remove some noisy point cloud from the map because i cant detect Hole in the room from top view cuz of existing this noise ?

way to go! ;)
Reply | Threaded
Open this post in threaded view
|

Re: Mapping Error

matlabbe
Administrator
Jimmy Notron wrote
1-we developed code that get cloud_map data from rtabmap and do some process on it but we see that during passing time and moving in long base suddenly we lost some data on the map that we saw it in the first time  (means the cloud_map dont publish some cloud anymore!) what should we do?
If you have Rtabmap/TimeThr != 0, memory management is enabled and some nodes in the graph won't be published to save time. To get the global map, you can pause and republish everything:
$ rosservice call /rtabmap/pause
$ rosservice call /rtabmap/publish_map 1 1 0
then cloud_map will be republished with all clouds. You can disable memory management with Rtabmap/TimeThr=0, but the map updates may not be online at some point. See papers for more in-depth explanations.

Jimmy Notron wrote
2-how can I write my code for getting point cloud and stitching them for building my map?
i mean i know how can i generate and reading point cloud but how can i receive rotation and transformation matrix for multiply in point cloud matrix and adding to general point cloud matrix?
You can look at the map_assembler node. It subscribes to mapData topic and can reconstruct the point cloud map. You can also export point clouds separately from rtabmapviz or by re-opening the database in rtabmap standalone. You can also export the poses of each point cloud. See "File->Export point clouds..." and "File->Exports poses...".

Jimmy Notron wrote
3-how can i remove some noisy point cloud from the map because i cant detect Hole in the room from top view cuz of existing this noise ?
"cant detect Hole in the room" not sure to understand. For noisy points, see "cloud_noise_filtering_radius" and "cloud_noise_filtering_min_neighbors" parameters for rtabmap node or map_assembler node.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: Mapping Error

Jimmy Notron
I mean i cant detect door and window in room from top view because of existing the noisy cloud in 3d area
way to go! ;)
Reply | Threaded
Open this post in threaded view
|

Re: Mapping Error

matlabbe
Administrator
Do you have a screenshot of this? and what you want to detect?
Reply | Threaded
Open this post in threaded view
|

Re: Mapping Error

Jimmy Notron
I'm developed some awesome specific modified exploration algorithm for Autonomous navigation in Unknown Environment which running real time on our robot and i wanna short the rest of the story. finally  this program have two entering parameter
1) robot position (Localization)
2) 2D map (top view)
i wanna get these 2 parameter from RTABMAP for localization its ok
but i wanna get 2d map top view and i cant successful get this data because rtabmap just publish 3D map and i wanna get 2D map top view.
i,m trying to convert this matrix to 2d top view but this result wasn't good.
do you have any idea?
way to go! ;)
Reply | Threaded
Open this post in threaded view
|

Re: Mapping Error

matlabbe
Administrator
Is that something like the screenshot below that you want? Note the TopDownOrtho view selected on right.

Note also that I launched rtabmap.launch with "Odom/AlignWithGround" parameter to get the ground aligned with xy plane:
roslaunch rtabmap_ros rtabmap.launch rviz:=true rtabmapviz:=false rtabmap_args:="--delete_db_on_start --Odom/AlignWithGround true"