PRE2016 3 Groep15
<nowiki>Insert non-formatted text here</nowiki>== Group Members ==
Name | Student ID |
Martijn de Boer | 0907480 |
Josja Geijsberts | 0896965 |
Gijs Herings | 0953862 |
Martin van Leeuwen | 0901497 |
Max van Meer | 0951669 |
Bart Tulkens | 0956335 |
Introduction
Requirements, Preferences & Constraints
Requirements
- Grabbing and releasing Duplo® building blocks
- Stacking the building blocks to construct a building
- Autonomously carrying out a set building plan
Preferences
- On-site setup of the robot is easy and fast
- The construction built is as robust as possible
- Bystanders’ safety is ensured
- The robot is as cheap as possible
Constraints
- Placement precision has to be in the order of 10^-4 m
- The robot has to be able to reach the top of the building
- The budget depends on dr. Molengraft’s level of interest
USE Aspects
User
- The construction robot will reduce the workload of the construction workers.
- The construction robot will reduce the amount of danger construction workers are exposed to.
- The construction robot will lead to a quicker realisation time of the building, which in turn leads to:
- Quicker accessibility for potential future residents.
- Construction workers not having to works on the same project for too long.
Society
- The quicker realisation time of buildings the construction robot provides, will lead to a more efficient construction sector, which in turn leads to:
- The construction sector being more able to keep up with society’s demand for more living room.
- Possibly lower house costs due to reduced construction costs. This makes buy houses more accessible to a bigger audience.
Enterprise
- The quicker realisation time of buildings can save construction companies a lot of money due to being able to do more projects in less time.
- The construction robot can save construction companies money on wages for construction workers
- The construction robot can help construction companies compete better on the market.
Plan of Attack
The initial step in the assembly of the robot is to get the green light for its creation. To ensure that the scope of the project is indeed properly defined. Once the theoretical background is sufficiently explored the construction of the robot can start. The construction can be divided in a few segments.
- Acquiring the required components
- Physical assembly
- Calibration
- Software implementation
- General Debugging
Acquiring the required components
The most difficult obstacle for this section will be the funding. The robot will require at least three so called Stepper motors strong enough so it can move itself around on its rails. One of these motors will have the be even stronger because it will need to fight of gravity when moving over the y-axis of the robot. This motor could however be relieved of this extra stress by introducing a counterweight. Depending on the motors used and the complexity of the desired software a motor controller along with a general controller will need to be acquired to be able to control the motors. To provide electricity for the controllers and motors a power supply is required as well.
To give the motors a way of moving around three rails are necessary of appropriate size so the gearwheel of the motor will fit inside. These rails willbe attached upon a framework to ensure stability. Both the rails and the framework should be larger than the desired building so the gripper can reach all required positions along with the stack of bricks.
Physical assembly
The assembly phase will start once the motor components are acquired. First these motors will have to be connected to the motor controller and the general controller to test its function. Once sufficient tests have been completed the construction of the three axis can begin...
First the gripper will have to be created, this requires a a servo and a template block. This block should have a hole drilled in the middle. Through this hole the servo will be able to release the block as illustrated in figure...
In figure .. can be seen how this motor will be attached to the to the rails so it can move around a one dimensional space. The gripper will be attached to this motor as well. This gripper will have a template brick so other bricks will stick to it. This template brick will have a hole in the middle so using a serve on top of the brick. A brick can then be released from the template by pushing it away using a servo as visualised in figure...
Next the vertical axis also known as the y-axis will be created like in figure.. To move along this axis another rail is required and on this rail the motor dealing with the movement on this axis can be attached. Now the gripper can move around in two dimensional space.
Next the system that can move around in two dimensions should be attached on another axis so it can move around in 3 dimensions. This processes should be similar to the last one.
Calibration
Now we have a builder that can move around inside the frame and theoretically can reach every point the three dimensional space inside the frame. To prepare for the software implementation the motors should be calibrated so we know exactly what signals result in what amount of movement.
Software Implementation
The software should be able to convert a certain 3D model into points where the gripper should move in order to create a phyisical construction of the model. An advanced program could use the vertices's of a mesh from a 3d model to decide on which coordinates the bricks should be placed. This is however deemed outside of the scope of this project and our program will likely just use an array of 3-dimensional coordinates to decide where to place it's bricks. The so called pseudocode for such a program is given below.\\
OnCoordinatesRecieved:
- Retrieve list of Coordinates.
- Check if list is valid and we are not already building.
- Sort Coordinates on from low Y values to high Y values.
- Create a Queue from list.
- Start Build.
Build:
- Check if Queue not empty, if it is then break if not continue looping.
- Get the first coordinate from the queue and remove it from the queue.
- Go to brick stash.
- Push down on brick.
- Move to desired y coordinate + 1.
- Move to desired X and Z coordinate.
- Move to desired Y coordinate.
- Push down.
- Release brick.
- Move to desired Y coordinate + 1.
- Execute build again.
This programm can be executed using popular controllers such as the well-known Arduino and Rasperry-Pi. These controllers differ on price,ease of use, performance and versatility. This project should not require the higher performance and versatility of the raspberry pi, therefore the preferred controller for this project will be the Aruino Uno due to its ease of use and low price.
General debugging
Once completed the robot is likely to still show some unexpected behavior. This can be fixed in the final phase of the assembly. After numerous test in different condition the autonomous robot can be deemed completed.