Project Documentation
Robotic Arms are used in manufacturing to replace the role of
human workers in the process. It involves a mechanical operation driven by an
IT industrial solution. Research in the field focused on how the Robotic Arm
creates a more efficient, reliable and consistently accurate solution to the
construction process. The role of the robotic arm must reproduce the desired
human action in fulfilling that role in the manufacturing process. The robot
only needs to reproduce the specific actions involved.
Within the framework of the challenge, the aim is to create a robotic arm. The robotic arm will only need to carry out the specific task of picking up an object and placing it in a desired location. This action is the foundation of most robotic actions in the manufacturing industry.
Within the framework of the challenge, the aim is to create a robotic arm. The robotic arm will only need to carry out the specific task of picking up an object and placing it in a desired location. This action is the foundation of most robotic actions in the manufacturing industry.
Requirements Planning Phase
In this phase, all members collaborate on defining the problem and exploring the operating options of the available equipment and technology. As a team, we needed understand the scope of the project and how we were to create a solution.
The very first thing we needed to do when designing our robotic arm was to familiarize ourselves with the program and how it operates the Lego motors. My initial tests surrounded moving the motor a certain distance with the press of a button, I then started to get more technical by adding different motors and complicating the program.
Our first work on the robotic arm was actually making the arm itself. We were considering pros and cons of different designs and ideas of where to place motors. We eventually came up with a suitable design that was reasonably efficient.
In this phase, all members collaborate on defining the problem and exploring the operating options of the available equipment and technology. As a team, we needed understand the scope of the project and how we were to create a solution.
The very first thing we needed to do when designing our robotic arm was to familiarize ourselves with the program and how it operates the Lego motors. My initial tests surrounded moving the motor a certain distance with the press of a button, I then started to get more technical by adding different motors and complicating the program.
Our first work on the robotic arm was actually making the arm itself. We were considering pros and cons of different designs and ideas of where to place motors. We eventually came up with a suitable design that was reasonably efficient.
User design phase
In this phase, the team members need to translate the understanding of the problem, equipment and technology options and broad solution parameters into a working model. This involved trial and error development that allowed the team to work towards a viable prototype design.
After this, I started working on the base of the arm and coming up with a sturdy structure that had lots of support and functionality. I also noticed that the brick did not have enough buttons on it to work all the required operations, so I incorporated the touch sensors as two extra buttons for rotational movement.
Throughout construction of the base and arm, I was performing running tests to determine if the arm was going to do what I wanted it to do. I made the motors turn initially using timings, only to find that there was a far more efficient way of doing it – a command telling the following operations to run while the button was pressed, likewise, a command stopping the already running operations when the button is released.
In this phase, the team members need to translate the understanding of the problem, equipment and technology options and broad solution parameters into a working model. This involved trial and error development that allowed the team to work towards a viable prototype design.
After this, I started working on the base of the arm and coming up with a sturdy structure that had lots of support and functionality. I also noticed that the brick did not have enough buttons on it to work all the required operations, so I incorporated the touch sensors as two extra buttons for rotational movement.
Throughout construction of the base and arm, I was performing running tests to determine if the arm was going to do what I wanted it to do. I made the motors turn initially using timings, only to find that there was a far more efficient way of doing it – a command telling the following operations to run while the button was pressed, likewise, a command stopping the already running operations when the button is released.
The previous diagram shows a rough illustration of our robotic arm and its possible movements including degrees of freedom. As can be seen, it is able to move in the 3 axes: x plane rotation, y plane movement, and z plane through the addition of a second motor in the arm to allow it to reach something in front of it as far away as about 30cm.
Construction phase
In this phase, the team used an iterative approach in which a functional model was established and made operational. The freedom to allow the model's development to evolve functionally, was pivotal to the success of the project.
After the design work was completed, the project entered an iterative stage where frequent trials were undertaken and adjustments and modifications were completed in response to the trial results. The sequence of these trials and modifications were as follows:
In this phase, the team used an iterative approach in which a functional model was established and made operational. The freedom to allow the model's development to evolve functionally, was pivotal to the success of the project.
After the design work was completed, the project entered an iterative stage where frequent trials were undertaken and adjustments and modifications were completed in response to the trial results. The sequence of these trials and modifications were as follows:
Once constructed, all parts of the arm were fully functioning independently, however once put together problems arose. Some of these problems included: the claw not being able to pick up an object, the arm being too heavy, the whole unit being off balance, the cables getting tangled up in the arm, the arm not having the ability to pick up and object in front of it due to the physical restrictions of the construction, and the rotation being inhibited from the bottom motor colliding with the base.
These problems were all quite problematic and required a significant amount of time to rectify. Even the final product still had some of these flaws as the changes required to fix them were far too substantial and would have set back construction by a considerable amount of time.
Some problems even extended to the programming itself: sometimes, I would program the motor to move and it would continue moving without stopping, or it would continually repeat something over and over. These were overcome sometimes with difficulty and other times simplistically.
When we did finally complete the arm, we had to complete a challenge in which you had to pick up tires and stack them. We finally managed to complete it with some difficulty as, from post observation, our claw did not have the trajectory to come over the tire and pick it up (or drop it) perpendicular to the ground. This could have been solved by placing the motor performing the first y plane movement in a more vertical position, allowing the top of the arm to reach higher and thus having a better angle for pick up / placing.
Overall, our robotic arm was operational and could perform the required tasks, but in a relatively lengthy time due to failures in operation. However, if programmed, it could potentially perform the tasks with greater speed and efficiency because if it is possible when a human is operating the robot, it is most definitely possible (and quicker) to do it with programming.
These problems were all quite problematic and required a significant amount of time to rectify. Even the final product still had some of these flaws as the changes required to fix them were far too substantial and would have set back construction by a considerable amount of time.
Some problems even extended to the programming itself: sometimes, I would program the motor to move and it would continue moving without stopping, or it would continually repeat something over and over. These were overcome sometimes with difficulty and other times simplistically.
When we did finally complete the arm, we had to complete a challenge in which you had to pick up tires and stack them. We finally managed to complete it with some difficulty as, from post observation, our claw did not have the trajectory to come over the tire and pick it up (or drop it) perpendicular to the ground. This could have been solved by placing the motor performing the first y plane movement in a more vertical position, allowing the top of the arm to reach higher and thus having a better angle for pick up / placing.
Overall, our robotic arm was operational and could perform the required tasks, but in a relatively lengthy time due to failures in operation. However, if programmed, it could potentially perform the tasks with greater speed and efficiency because if it is possible when a human is operating the robot, it is most definitely possible (and quicker) to do it with programming.
Post-Project phase
While no hand-over or take-up of the working model was required, this phase looks at the hypothetical direction the project would take going forward.
In the future if our robotic arm could be developed more, we would first tweak the weight and make it far lighter, and at the same time moving the motors to a better position. If we were able, we would add another brick and add a motor to rotate the wrist and a motor to rotate the arm in a rolling fashion to allow for greater freedom of movement throughout the arm.
While no hand-over or take-up of the working model was required, this phase looks at the hypothetical direction the project would take going forward.
In the future if our robotic arm could be developed more, we would first tweak the weight and make it far lighter, and at the same time moving the motors to a better position. If we were able, we would add another brick and add a motor to rotate the wrist and a motor to rotate the arm in a rolling fashion to allow for greater freedom of movement throughout the arm.