This section explains the methodology to implement autonomous construction robot.
Robot can work in an unsupervised environment. Firstly, we have to localize the position of the robot in the arena. The arena is a specialized grid with markings that represent 4x3 cells. Each cross on the grid represents a cell. The Infrared sensors on the bottom of the robot allow it to identify where it is situated at the moment. The Infrared sensors recognize and validate and updates its internal algorithm its position.
User Input Structure
The automation of construction allows the user to input a desired structure. The structure is represented by a matrix of integers for the robot. Each element of the matrix is analogous to a cell on the grid of the arena. The integer values represent the height of the bricks to be placed onto the cell. This allows for a fairly simple user interface to be set up and an intuitive way for the robot to understand the desired structure.
Brick Laying Algorithm for Autonomous Construction Robot
The robot’s limitation only allows:
- Only one brick can be carried at a time
- The robot can climb only on one brick at a time
An algorithm was designed keeping these limitations in mind. The user input structure is first deciphered so that the robot starts construction from the very first layer of bricks. The algorithm deciphers which bricks needs to be placed before the others through understanding which is the furthest from its starting position. And once multiple layers of bricks are involved, the algorithm understands which route to take to place a brick at a certain height. It cannot choose a route which involves climbing more than one brick at a time and a route that is longer than its alternatives.
Implementation and Troubleshooting
A simulation was carried out through MATLAB to validate the decision process of the algorithms in placing bricks in subsequent order.The matrix was manipulated subsequently, adding borders and analyzing layers to be constructed first. As the following results show, the algorithm first analyzes the peak quadrants of the structure and chooses an opposing starting point of construction. Then, the furthest brick from the starting point is identified and construction begins step by step.
The simulations were later adapted to the Arduino IDE stage. The concept remained the same but matrices were changed to arrays as Arduino IDE does not use matrices. Further capability was added for the robot to maneuver to a new starting position according to the user input. The user input interface was an android application that allowed data transfer with the HC-05 bluetooth module connected to the Arduino.
A breadcrumb logic was utilized by the algorithm that allowed the robot to take a least distance path from the starting position to the brick placement cell while keeping track of the return path.
Hardware of autonomous construction robot
Once the dimensions were finalized, an aluminum body was manufactured and hardware testing of Autonomous construction robot began.
The Mercury switch-based tilt sensor module that gives high at its output pin when tilted. It requires a 5V of DC input. It's a three-terminal device consist of input, ground, and output. It has a glass tube consist of two electrode and liquid mercury ball. We are using a mercury tilt sensor to ensure the position of the robot whether it is at a smooth plain surface or it is climbing onto a brick.
The algorithm also devised a method for keeping track of elevation through the help of mercury tilt sensors. A reading of ‘ON’ on the front sensor showcased that the robot had elevated one level and a reading of ‘ON’ on the rear sensor showcased that the robot had descended one level.
Local Compass integration in autonomous construction robot.
A local compass was also incorporated for the robot that allowed it to keep track of its general direction on the grid using Infrared sensors only. We are using IR sensor to get to know which algorithm is to be carried out by looking into the white lines on our black colored bricks. This ensures the positions where the robot has to move the brick.
Summary and Conclusion
The autonomous construction robot is capable of picking up specialized bricks and placing them onto a grid, according to user input structure. First, the user inputs that data from an android application that allows for Bluetooth communication. Next, the structure is analyzed by the algorithm and deciphers steps for the robot to take in order to complete the structure. The furthest brick is placed first in order to avoid an inefficient construction procedure.
Limitations of autonomous construction robot
There are certain limitations. Body roll of the robot once it traverses on top of bricks causes instability of the brick latching system. When it comes to the claw, the stability of the brick is greatly hampered by the body roll caused by the robots wheg design. An appropriate redesign of the claw mechanism will enable it to latch the brick more easily and keep it stable. Furthermore, the robot is initially designed for bricks with limited height and weight. Further enhancing the body of the autonomous construction robot and using motors suitable to withstand greater weight, the robot can perfectly carry heavier and larger bricks.
Since this project is just an initialization of a new concept however there is a lot more work to make it suitable for commercial purpose. A swarm of such robots can make the complete process of construction cost and time efficient.