Please note! This essay has been submitted by a student.
A surface contour mapping is a graphical technique for representing 3D surfaces. Devices intended to carry out such functions when placed in a 3D environment scans and explores the environment, thus mapping the scanned environment to a 3D plane yielding the surface contour plot of the surroundings. Various methods have been adopted for mapping and localization purposes. In this paper a simple prototype for obtaining such plots is demonstrated. The robot constructed here consists of three ultrasonic sensors which works on the principle of an ultrasonic 3D scanner in order to map the contour of surface objects. Three ultrasonic sensors along with servo motors can explore the surroundings within a range of 1800, collecting the information regarding the surrounding surface objects in the form of cylindrical co-ordinates. These set of real world 3D co-ordinates is transferred to the PC through Arduino serial port, after which the entire set of co-ordinates is written to a text file with the help of Processing. Matlab reads the text file consisting of all the real world co-ordinates, converts it to rectangular co-ordinates and plots it in the 3D plane to obtain scatter plot of the 3D surroundings. A process called Reconstruction converts the obtained scatter plot into surface contour map of the surface objects. This system effectively enables us to plot 3D planar surfaces. With the usage of more accurate sensors, contour plots of complex surroundings consisting of curved object surfaces can easily be obtained.
In this modern era, robots have become an inseparable part of human life. Countries around the world are extensively carrying out experimentation on various robotic technologies to bring out new inventions. These new inventions in the field of robotics are implemented in various sectors in order to make human life simpler. Few of such sectors where robotics are considerably used are space/planetary exploration and 3D environment mapping.
Surface contour mapping finds its application in various sectors where topographic exploration of unknown surroundings is required. Because of their extensive and potential usage in various applications, this system has attracted attention.
Exploration of 3D environment and its 3D mapping are the key functions of robots used for search and security applications. Robots designed for such purposes must traverse through it’s surroundings and provide the fundamental map of the contour surfaces present in the surroundings. Such exploration robots are fully-autonomous or semi autonomous robots which scan the 3D environment present around them and give us a basic overview of its surroundings by 3D mapping.
Various types of sensors or devices such as LIDAR, webcamera etc can be used for scanning the 3D environment. Here ultrasonic sensors are used which gathers data regarding the environment present around it in the form of co-ordinates. The ultrasonic sensor measures the physical parameters of the location, which is used to make a 3D map of the area.
Various models and methods have been proposed to map the 3D environment which is fundamentally categorized into three categories namely-contact, non-contact active, and non-contact passive. This paper aims at developing a prototype for designing a simple non-contact active 3D surface contour mapping robot using ultrasonic sensors. The robot explores the unknown 3D surroundings in which it is placed and provides the 3D surface contour plot of the scanned 3D environment, thus mapping the 3D environment. Approaches designing of such robots in a similar way, but uses thread for the movement of sensors which makes it difficult for the navigation of the robot. Also the methodology used for measuring each surface point using only two ultrasonic sensors enables it to only linearly scan the 3D environment. The paradigm presented here shows the designing of a semi-autonomous robot which can scan and create the model of the 3D environment by rotating 3 ultrasonic sensors within a range of 1800.
In this article a basic low cost exploration robot is designed to scan its 3D contour environment and plot the scanned 3D environment. Here for the exploration and scanning purposes three ultrasonic sensors along with an Arduino Uno R3 is used. Mapping and plotting of the 3D surroundings is done by using the software Processing and Matlab.
The experimental setup, working methodology, results and analysis of the maps is explained in the further sections.
Three ultrasonic sensors are mounted onto a single stand vertically on above the other with equal spacing between them. This entire stand is mounted onto a single servo motor. The servo motor can sweep an angle from 00 to 1800. The ultrasonic sensors along with the servo motor are interfaced with an Arduino Uno R3 board. The entire hardware setup is schematically represented.
An Ultrasonic sensor measures distance using time difference between sending signal (from Tx) and receiving signal (through Rx). The distance thus measured by each ultrasonic sensor corresponds to ‘r’ (in cm), angle swept by the servo motor corresponds to Φ(in degrees), and ‘z’ is the height of each ultrasonic sensor measured from the bottom of the stand.
Thus each ultrasonic sensor at each step yields a set of 3D real world co-ordinates in cylindrical co-ordinate format(r,Φ,z). The servo motor sweeps from 00 to 1800 along 12 steps with a step size of 150. At each step the three ultrasonic sensors scans for the 3D environment and 3 sets of 3-dimentional real world cylindrical coordinates are obtained from the three ultrasonic sensors. Hence a set of 36 real world 3D cylindrical coordinates are obtained. The ultrasonic sensors along with the servo motor are interfaced with the Arduino Uno R3 board. An Arduino IDE program controls the movement of the servo motor and receives the data in the form of 3D real world co-ordinates from the sensors through the COM port. Hence the data pertaining to the 3D environment in the form of co-ordinates is transferred to the PC. The set of these co-ordinates is transferred from the serial window to a text file using Processing.
The text file is then read by a Matlab program which converts cylindrical co-ordinates (r,Φ,z) to rectangular co-ordinates i.e., (x,y,z) and these set of 36 real world 3D rectangular co-ordinates are reconstructed to obtain surface contour plot of the scanned 3D environment.
The robot thus constructed is placed in an environment consisting of 3 planes. The three planar surfaces are placed adjacently.
The contour surface map of the scanned environment is. The co-ordinates from the text file are converted into rectangular form and are read in the form of matrix by Matlab. These points are plotted in the 3 dimensional plane to produce a scatter plot of the scanned environment. Once the points are plotted planar surfaces join the adjacent points to produce the surface map.
For more than over a decade there has been numerous researchers from various reputed institutions which have conducted studies regarding 3D mapping and localization using ultrasonic sensors and exploration robots. Since then the concerned field has seen immense development and also numerous robot units have been developed and tested in this field successfully. The processing unit of the robot currently only takes horizontal readings, which allows us to create the 3D image of the planar surfaces however with the usage of more ultrasonic sensors and development of algorithm for vertical scanning effectively yields scanning and mapping of curved surfaces. The robot with such prototypes can be used in a number of fields starting from a mission to space, to find a clear path while on a hiking trip, to explore the deepest oceans.