0
$\begingroup$

Rosanswers logo

I am working on a robot to build a map of the indoor environment and i want to add details like(room temperature, gas concentration ) to the 2D map formed in order to to decide the environment of the different parts of the map.

It should be like if the gas sensors sensed some fluctuations in gas level it should note the place where the change took place.

I will get the data published from arduino . I want to know i can add these features to the data so that they can be displayed.

I want to stick with the rviz GUI.


Originally posted by Rohan on ROS Answers with karma: 1 on 2016-07-08

Post score: 0


Original comments

Comment by spmaniato on 2016-07-08:
A hacky and unnecessarily expensive solution is to store that kind of data in a costmap (instead of obstacle cost, it would encode the information you want, such as gas concentration). You would then visualize the costmap on top of the actual map in RViz. A simple Occupancy Grid might also work.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

With some coding, you could add these informations in user data field of the nodes. For example, if you set the userDataRaw variable here (cv::Mat myData = ....; data.setUserDataRaw(myData)), it will be saved in the database and sent in output mapData topic. The mapData topic contains the corrected graph and data of the latest node added to map (including your userData, the compressed user data).

Note that user data cannot be used for loop closure detection. To do so, it would require a deep change of the rtabmap library.

cheers


Originally posted by matlabbe with karma: 6409 on 2016-07-08

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.