Design and integration of a radiation detector module for robot operating system (ROS)

In this paper, we present a radiation detector module that can be seamlessly integrated with Robot Operating System (ROS) to enable robots to perform radiation measurements in hazardous environments. The module is designed with a detector PCB and connectors that are compatible with an Arduino shield. The Arduino firmware is programmed with a counter-timer algorithm and publishes data to the ROS environment, allowing for easy visualization of the data in a 2D occupancy map. Our experimental results demonstrate the module’s effectiveness in inspecting and reconstructing the robot’s path during operations. This paper provides a valuable contribution to the field of robotics by enabling robots to perform radiation measurements safely and accurately in dangerous environments.


Introduction
In nuclear and radiation industries, robots can help reduce the risk of radiation exposure to workers [1]- [3].Robots can perform tasks that are tough or unsafe for humans.Marques et al. [4] identified four key situations where mobile radiation detection and measurement using robots is crucial: radiological and nuclear emergencies, preventing illegal activities, ensuring safety at nuclear facilities, and monitoring naturally occurring radioactive materials (NORM).
To make a robot capable of radiation inspection and monitoring, robot integrated with a radiation detector module is required.Nowadays, many robots are equipped to run on Robot Operating System (ROS), which is open-source software with extensive libraries and tools for building robotics applications [5].Using ROS makes it faster to develop and test algorithms.It also offers diagnostic and visualization tools like Gazebo and RViz for evaluating algorithms in simulations and real-world experiments [6].
This paper introduces the design and integration of a radiation detector module that seamlessly works with ROS.This module serves as a fundamental building block for robots operating in radiation environments and can be adapted for various applications, including surveillance, emergency response, and monitoring.Additionally, it can be a valuable resource for students learning ROS and working on robotics projects.

Overview of the system
In this section the design and integration of the GM module with ROS will be described.The system comprises two main components: the GM module and a host computer running ROS. Figure 1 illustrates the block diagram of this system, while Figure 2 provides a visual representation of the physical connections involved.

Design of GM module hardware
Geiger Muller (GM) detector is a gas-filled radiation detector that generates voltage or current pulses as it interacts with ionising radiation.Their terminals are connected to a high-voltage supply, creating a high-potential field within the GM chamber.Ionizing radiation that enters the GM detector will trigger gas ionisations within the chamber, leading to a Townsend avalanche and producing a voltage pulse at the GM terminals.As each incoming radiation event produces a pulse, the number of pulses per unit of time measures the intensity of the radiation field.The GM detector circuit constructed for this system is adapted from the circuit designed in our previous work [7] .The circuit consists of the LND7121 GM tube detector, adjustable high voltage supply, and a pulse shaping circuit that converts the GM analog output to a digital TTL pulse.As shown in Figure 3, this circuit was modified as GM shield compatible to be mounted on an Arduino Uno shield.

Firmware of the GM module
The GM module firmware consist of a counter-timer program that counts the GM event detected within the counting time interval.To enable communication with ROS, the firmware utilized the ROS serial package for Arduino, rosserial_arduino.The rosserial ROS package uses Arduino's universal asynchronous receiver/transmitter (UART) communication and converts the GM module to a ROS node that can publish and subscribe ROS messages.The package setups and handles the ROS communication protocol as ROS topics publisher and send data from the GM module to the ROS environment of the host computer.
The firmware codes and flowchart are visualized in Figure 4. Here, a simple counter-timer is implemented to count the ionization radiation event detected by the GM detector in one second counting interval.The counter-timer output is published by the GM module as "RadiationData" topic.This topic can be subscribed by any ROS node of service running on the host computer.

Setup of ROS serial interface on the host computer
On the host computer, the rosserial_python package was run to set up a serial node.Subsequently, the serial node could subscribe to the ROS topic /RadiationData published by the GM module.The measured radiation data can be monitored in real-time and further manipulated or analysed from this point.The pose of the robot on 2D occupancy map is referred as the detector position.This data is acquired from the ROS tflistener which maintains the relationship between the map, odom, and base_footprint coordinate frames [8].

GM module basic functionality test
The GM module basic functionality has been tested and verified.The high voltage circuit output was measured at 500 Voltz.Meanwhile, the output pulse of the GM detector and pulse shaper are visualized in Figure 5.The pulse shaper output is connected to the counter-timer of the GM module.

Figure 5. GM detector output and pulse shaper output
A serial node is set-up as subscriber to the ROS topic /RadiationData published by the GM module.Data published can be viewed directly on the ROS terminal by using 'rostopic echo' command as shown in Figure 6.Alternatively, ROS rqt viewer can be used to visualized the data in real-time.Figure 7 compares the data measured at background and with the presence of checksource on ROS rqt viewer.

Conclusion
In conclusion, this paper presented the design and integration of a radiation detector module with the Robot Operating System (ROS).The GM module incorporates a GM shield compatible with Arduino PCB.The Arduino firmware publishes data into the ROS environment, enabling the effortless visualization of radiation measurements within a 2D occupancy map.The presented knowledge in this paper could serve as the basis to enable robot to autonomously conduct radiation surveys and inspections.This advancement not only enhances the efficiency and safety of radiation workers but also contributes to safeguarding the environment against potential radiation hazards.

Figure 1 .
Figure 1.Block diagram of the GM module and its integration with ROS on host computer.

Figure 2 .
Figure 2. Physical setup and connection of the GM module with the host computer.

Figure 7 .
Figure 7. ROS Samples of data visualized on ROS rqt viewer for /RadiationData published by GM module for background measurement (left) and checksource measurement (right).

3. 2 .
GM module data viewer and data logger ROS RViz tool is used as the data viewer to visualised the GM module poses, trajectories, and measured data on the ROI 2D occupancy map.Dedicated ROS nodes was programmed to create and implement RViz markers.These nodes subscribes to the /RadiationData topic.Each published data will trigger the nodes to request the current pose from the tflistener to synchronise the measured radiation data and the GM detector pose.In Figure8, the spherical markers visualised the continuous GM module i.e robot positions and trajectory.The marker colour represent the radiation intensity level, where red colour indicate high radiation intensity while green colour indicate low radiation intensity.

Figure 8 .
Figure 8. RViz visualisation of GM module trajectory and measured intensity.

Figure 9 .
Figure 9. Log files created by the data logger.