How can I map temperature readings to a location?
I have a rover, that is creating a map using GMapping. On the rover, I also have a temperature sensor. I got the temperature readings in rviz, but I want to make a map that is a heatmap of the readings.
How would I go about doing this? Are there any packages that already do this?
I know there is http://wiki.ros.org/heatmap, but it seems its only for Wifi, and you cannot export the map as an image, you can only visualize it in rviz.
Asked by Cristian11235 on 2016-08-08 12:43:54 UTC
Answers
I have personally never done it, but I would start thjinking about using markers in rviz Maybe choose a slim shape and make the colour proportional to the temperature
http://wiki.ros.org/rviz/DisplayTypes/Marker
Asked by joekeo on 2020-12-04 10:59:01 UTC
Comments
A temperature sensor will measure the reading at a point whereas a heatmap will tell you the temperature of every point in that area. So I don't know how you would create a heatmap using just a sensor. You will need an array of sensors and stack them together or scan every point in your area with the same temperature sensor and transform/aggregate them into a heat map.
I want to make a map that is a heatmap of the readings
GMapping should give you your current pose. You can then take these temperature readings (or even better, heatmap images) and transform them to your current pose and just accumulate them. To visualize such a map maybe use rviz markers as mentioned by @joekeo
Asked by Akhil Kurup on 2020-12-04 12:05:18 UTC
Comments
You could use a marker array to drop squares with a relatively low alpha value (so that they are almost transparent) and scale the RGB values based on the temperature, and the marker location where the robot is. Essentially, your robot will drop little poos as it goes.
Asked by Bjb0403 on 2020-12-04 13:08:52 UTC
Comments
I also have a similar problem - I am looking for a method to overlay some sensor data on a map generated with GMapping to create a spatial heat map. Initially, I am likely to be testing this by publishing random numbers to a topic that a heat map generator node will subscribe to and create the heat map from when combined with robot X and Y coordinates. Ultimately, I'm looking to be able to manually move a robot around and visualise how this heat map is building up according to sensor data (i.e. the random number) at the robots position. Any ideas would be much appreciated!
Asked by Py on 2020-05-16 08:21:50 UTC