Skip to content

tu-darmstadt-ros-pkg/hector_radiation_mapping

Repository files navigation

Radiation Mapping:
Gaussian Process 2D and 3D radiation mapping and source localization

This project provides a method for radiation mapping and source localization utilizing Gaussian Processes, for use on mobile robots. The project was developed by Team Hector for the ENRICH 2023 hackathon.

drawing drawing

Instructions

Overview

The Radiation Mapping node requires messages containing radiation measurements, the specific type of which can be dynamically configured (see Configuration), as well as an occupancy grid of the environment, which is typically provided by a SLAM system. For 3D mapping, an additional pointcloud scan of the environment is required.

With these inputs, a 2D and 3D radiation model is continuously generated and updated and then sampled to provide output data.

The node provides grid maps, containing predictions for radiation levels and uncertainty, overlaid on the provided occupancy grid. It also provides interactive markers, indicating the estimated locations of sources.

With 3D mapping enabled, a colored pointcloud is also provided, containing predictions and uncertainty in 3D.

Dependencies

The following ROS modules are required:

roscpp, std_msgs, geometry_msgs, grid_map_ros, grid_map_msgs, nav_msgs, tf2_ros, pcl_ros, interactive_markers, ros_babel_fish,cv_bridge

Installation

The package can be installed with the following command.

cd <Your ROS workspace>
git clone https://github.com/tu-darmstadt-ros-pkg/hector_radiation_mapping
catkin build

Configuration

Before the system can be run, a number of configurations need to be done in the params.yaml file, located at radiation_mapping/config/params.yaml. This file contains all the necessary parameters, to get Radiation Mapping to work.

The system is able to handle a variety of different input radiation messages, which are dynamically parsed using ros_babel_fish. The topic from which these messages are received is configured using the key subscribeTopic.

The config keys messageKey_cps and messageKey_rate are used to configure the keys of the fields of the input radiation messages, that store the received Counts per Second (CPS) and Equivalent dose rate respectively. The unit of the dose rate (eg. microSievert/hour) can be specified using the key radiationUnit.

If the utilized message type does not contain both CPS and dose rate information, the missing field can be set to an empty string. The key messageKey_frameId sets the frame relative to which the radiation messages are given.

The topics of the occupancy grid (nav_msgs/OccupancyGrid) and the accumulated pointcloud (sensor_msgs/PointCloud2) are configured using the keys environmentMapTopic and environmentCloudTopic respectively.

Launching the node

The Radiation Mapping node can be launched with 2D and 3D mapping enabled using

roslaunch hector_radiation_mapping mapping.launch

If only 2D mapping is required, the node can be launched with

roslaunch hector_radiation_mapping mapping_2D_only.launch

ROS topics and services

Topics

The following topics are used to communicate with the Radiation Mapping node.

Input

Topic name Type Description
/dose_rate Configurable Message containing the radiation measurements
/map nav_msgs/OccupancyGrid Occupancy grid of the environment
/pointcloud_accumulated sensor_msgs/PointCloud2 Pointcloud scan of the environment

Output

Topic name Type Description
/hector_radiation_mapping/grid_map_* grid_map_msgs/GridMap Environment map with predictions and uncertainty overlaid
/hector_radiation_mapping/pointCloud3D sensor_msgs/PointCloud2 Environment scan, colored using predictions and uncertainty
/hector_radiation_mapping/marker visualization_msgs/Marker Trajectory of the robot, colored according to radiation measurements
/hector_radiation_mapping/source_markers/* visualization_msgs/InteractiveMarkerUpdate Radiation source markers for confirmation

Additionally, interactive markers for predicted radiation sources in 2D and 3D are provided by the system.

Services

The Radiation Mapping node provides the following services.

Service name Input Description
/hector_radiation_mapping/exportModel String Exports the 2D and 3D representations of the model to the specified path
/hector_radiation_mapping/resetModel - Resets the model

Test Data

We provide a processed ROS bag file from ENRICH 2023 at TUdatalib.

You can play the bag file by running

rosbag play telemax_run2_processed_straight_init.bag

in another terminal window, before launching the Radiation Mapping node.

drawing drawing

Paper

Thank you for citing Paper Link coming soon! (SSRR-2023) if you use any of this code.

@INPROCEEDINGS{suess_radiation_mapping,
  author={Suess, Jonas and Volz, Martin and Daun, Kevin and von Stryk, Oskar},
  booktitle={2023 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR)}, 
  title={Online 2D-3D Radiation Mapping and Source Localization using Gaussian Processes with Mobile Ground Robots}, 
  year={2023}}

About

2D and 3D radiation mapping for mobile robots.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published