As a part of the ongoing project EnviRobot, of which the BioRobotics Laboratory is an active participant, a swimming robot capable of tracking sources of pollutants in water bodies is being developed. The robot is equipped with sensors that allow it to measure the concentration of a range of different pollutants in its vicinity. A series of concentration measures and trajectory information are used to asses local trends in chemical concentration, from which direction of highest gradient in concentration is estimated. Guiding the robot to move in this direction, one can hope to uncover regions of accumulation or possible pollution sources.
To estimate such concentration trends, it is necessary to consider the position at which each concentration measurement was performed. If the position information corresponding to each measure is erroneous, the estimate of the required direction will be inaccurate, leading to ineffective guidance commands for the robot. Since the measurements from GPS and inertial sensors are typically colored by noise, they need to be processed before being used by the direction estimation algorithm.
In this project, we implement and assess performance of a number of probabilistic navigation methods, both through numerical simulations and experimental tests. These methods estimate a probability density function of the robot’s position by exploiting data provided by navigation instruments, and complementing that data using a simple model of the swimming robot’s dynamics. We first derive a Bayes filter for our case and test through numerical simulations two implementations of the filter, namely the extended Kalman filter (EKF) and the particle filter. Each of these two implementations offers different advantages.
In an effort to enhance performance of the algorithms, we develop a number of performance metrics, allowing to assess, among other things, to what extent navigation is facilitating the concentration trend estimation procedure. Using these metrics, we are able to tune algorithm parameters and improve navigation accuracy. Finally, we test the EKF experimentally on AmphiBot 3, using the setup available in the laboratory.