# A Behavioral Robotics Approach to Radiation Mapping Using Adaptive Sampling
## 2 Methodology
### Behavior Modeling  
Inspired by behavioral robotics approaches, the developed behavior is intended to address the challenge of moving a manipulator in a cluttered environment without the arm having visual awareness by adopting a highly adaptable schema. Shown in Figure 2 the robot monitors its battery usage and returns to the docking station when the mapping stops. While the battery is sufficient and a user-defined number of sampled points, n, has not been measured, the robot performs a Bayesian optimization loop that involves using the current model to find the next best point to measure, traverse to that point with the arm, and modify the exploration parameter described in the previous section based on the number of consecutive collisions experienced. The return-to-dock and modify-\(\xi\) behaviors are more trivial, while there is more nuance occurring for the find-next-point and go-to-point behaviors. When finding the next point, the GP from (1) is requested, and a random sample of twenty-five points is calculated from it using (2). The acquisition function shown in (4) is then used to determine the highest value point, which is passed to the go-to-point behavior. From there, the motion planner for the body and manipulator is called for the execution of the goal. During this execution, the force on the manipulator's end effector is monitored, and if the force threshold is crossed, the collision outcome will result instead of success or failure, based on the motion planner results. If no collision occurs, the parameter will remain its default value; otherwise, the parameter's value will be defined by Equation (5). Due to the stochastic nature of Bayesian optimization, there is no single mathematically optimal choice for \(\xi\). Instead, its selection is primarily influenced by the Gaussian process (GP) model's parameters and the physical constraints of the real-world application. The kernel used in the GP model is a sum of a radial basis function (RBF) kernel, a Matern kernel, and a multiplicative constant kernel. The RBF kernel enforces a strong assumption of smoothness, while the Matern kernel, \(\
u=2.5\), introduces moderate local variation, allowing the model to capture some finer-scale deviations in the radiation field. Both kernels share a length scale of \([1.0,1.0]\) with the bounds \((10^{-4},10^{1})\), ensuring flexibility in spatial correlation. The constant kernel has the same bounds and a scaling factor of 1.0, controlling the overall magnitude of the function. These parameters were selected because they provide a balance between smooth interpolation and adaptability, making them broadly applicable to environmental radiation modeling. The GP model does not explicitly account for physical attenuation effects but instead constructs a geometrically driven radiation distribution. As a result, the uncertainty structure of the GP model is dictated by spatial distance, rather than underlying radiation physics, which can sometimes lead the optimization algorithm to over-exploit certain areas. Equation (5) is designed to mitigate this issue by dynamically adjusting \(\xi\) based on consecutive failures. An exponential function is chosen instead of a linear one to rapidly escape failure loops, ensuring that the optimizer does not repeatedly attempt to sample in physically unreachable locations. However, \(\xi\) is capped after four consecutive failures to prevent excessive exploration, which could degrade performance. Because this parameter modification is tied to manipulator collisions, the real-world constraints of robotic movement further shape the appropriate range of \(\xi\). The specific bounds in Equation (5) were determined empirically through experimentation, as demonstrated in the results section. \[\xi= \begin{cases}0.2e^{c}+1&0\leq c\leq 4,\\ 12&\text{otherwise}\end{cases}  \tag{5}\]  
In this equation, \(c\) is the number of consecutive collisions. If the robot successfully takes a measurement at a location, this number will reset to zero, and \(\xi\) will be 1.2.