Development of a low-cost ultrasonic environment detection system to build a 3D map of the environment around a robot
Keywords:
Robot, ultrasonic sensors, 3D map, Occupancy Grid, ROS, OctomapAbstract
Building a three-dimensional positioning map around a robot is still a difficult goal for researchers in the field of autonomous robots, due to the complexity of the mathematical issue first, the difficulty of technical implementation secondly, and the high cost of technical equipment third. When robotics overcomes this difficult goal and obtains a three-dimensional map of the environment with sufficient accuracy and acceptable range, a new horizon of research will open up providing the possibilities of positioning, finding the optimal path, and other capabilities of dealing with physical environment. Getting an accurate model of the unknown environment surrounding a robot depends on the type and quality of sensors used, which directly affects the cost and complexity of the robotic system.
In this research, an environment detection system was designed and implemented. This system is capable of detecting and modelling the unknown surrounding environment within a specific range. The system relied on several arrays of ultrasonic sensors, due to its low cost, the simplicity of its operational processes, and its ability to work in different climatic conditions. The array of sensors was installed on a platform that can rotate horizontally and vertically in order to give the measurement system the ability of environment scanning and covering the entire space in front of the robot. Based on the sensor array measurements, the system builds a map for the environment using the Occupancy Grid algorithm, which was achieved using the 3D library Octomap. In this paper, we have also developed an algorithm to represent the surrounding environment and take advantage of the rotational movement of the platform to give probabilistic values of space occupancy, this are reflected in the form of a color gradient on the map. The software part is implemented using C++ language libraries and within ROS operating system on Ubuntu, which makes it possible to be used later in most of the robotic platforms.
The results of applying the developed algorithm on real experiments showed its ability to model the surrounding environment using standard grid data structures that can be used later in subsequent robot tasks such as navigation and optimal path planning.