AALTO UNIVERSITY Delta Robot Kon-41.3131 Mechatronic Exercises; Final Report Mäntylä Jesse, Vauhkonen Niclas, Orhanen Samppa 29.4.2014
Jan 29, 2016
AALTO UNIVERSITY
Delta Robot Kon-41.3131 Mechatronic Exercises; Final Report
Mäntylä Jesse, Vauhkonen Niclas, Orhanen Samppa
29.4.2014
Table of Contents
1 Introduction ...................................................................................................................................... 2
2 Technologies ..................................................................................................................................... 4
2.1 Mechanical design ...................................................................................................................... 4
2.2 Electronic design ........................................................................................................................ 4
2.3 Control system design ................................................................................................................ 5
3 Target of the project ......................................................................................................................... 6
3.1 Primary target............................................................................................................................. 6
3.2 Secondary targets ....................................................................................................................... 6
4 Project plan ....................................................................................................................................... 7
4.1 CAD-model .................................................................................................................................. 8
4.2 Bill of Materials ......................................................................................................................... 10
4.3 Preliminary budget ................................................................................................................... 11
4.4 Actual budget based on purchases .......................................................................................... 12
5 Kinematics ....................................................................................................................................... 14
5.1 Code for the robot .................................................................................................................... 21
6 Physical structure ............................................................................................................................ 23
7 Summary ......................................................................................................................................... 25
Sources ............................................................................................................................................... 26
1 Introduction
Delta robots are widely used in automated processes as pickers. For example delta robots can be
used to pick and package products from production line. Usually delta robots are implemented in
vertically positioned portals, like in Figure 1, but the idea can be implemented also in horizontally
positioned portals. At its simplest delta robot consists of a frame portal, three actuator arms and
three motors. The motors can be servomotors like in Figure 1 but also other type of motors can be
used. One example of a different kind of actuators motor solution is depicted in Figure 2.
Figure 1. A traditional delta robot, with three servomotor controlled actuator arms and a tripod-like
frame.
Figure 2. Another solution for the actuator motors.
Delta robots are also quite commonly build as an exercise for control mechanics and the internet
is full of different reports and guides on how to build your own delta robot. However, most of the
homemade delta robots are quite rough. The main difficulty with the traditional servomotor
controlled delta robot seems to be the kinematics of the actuator arms and the control system
needed to operate the fluently.
This report is a journal our team wrote during our own process of designing and building a
functional delta robot. The driving force for the project was the course Mechatronics Exercises and
the project is conducted within the restrictions of the course. The report has been written during
the process, so that the reader can follow our team’s designing and learning process as closely as
possible. We haven’t deleted the parts where we have gone wrong and instead we let the report
show exactly what we did and how we managed to overcome the problems we had during the
project.
2 Technologies
The basic construction of a working delta robot is rather straight forward. It basically requires
three motors and a control system to drive the motors in a sensible way. In our case the control
system is based on an Arduino Uno board. To make the robot functional we will also need a
mechanically working frame, but this should be rather simple to achieve as the proportions of the
arms aren’t strictly restricted. Below we have explained in greater detail the required skills and
components and the set targets for our project.
2.1 Mechanical design
The mechanical design of the robot must be simple yet effective. Also the parts used for the frame
and the moving actuator arms needs to be quite cheap. The proportions of the actuator arms are
not that crucial as the control system can take the slight proportion errors into account if it is
programmed correctly. However, to make the robot as effective as possible, the actuator arm
proportions should be designed so that all three of them are identical and that the control system
code can be written in a simple way. This is just to decrease the workload on the programming
part of our project as all three members of our group are from a mechanical engineering
background. By default the mechanical system design should be our team’s strongest aspect.
Component wise we are planning on doing the actuator arms so that they can be adjusted to get
the robot to work as effective as possible. We planned to make our robot look light weight but be
sturdy and rigid enough for the actuator to be accurate. The actual way to achieve our goals will
be achieved through using lightweight aluminum sheets and parts, whose structural strength will
be achieved through effective structural design.
2.2 Electronic design
The electronic design is a rather simple and straight forward step. We are using an Arduino Uno
board as our control board and RC-servomotors as motors. We are going to keep the electronic
design as light as possible, so we can focus more on the programming part of the project. The
power supply for our RC-servomotors is an old smart phone charger, and the Arduino board will
be powered through a PC.
2.3 Control system design
The control system is going to be the hardest part of the project for our team as all of us are
coming from a mechanical engineering background. However we have some knowledge about
basic programming but, at this point, the level of programming needed to make the robot work is
still unclear to us. We use the tutorials found in the internet to give us guidelines to design the
control system for our robot.
3 Target of the project
3.1 Primary target
The minimum target of our delta robot project is to make robot that can move rationally on the
area that the construction limits. Delta robot should be able to in a cylinder with about 30 cm
diameter and 30 cm height. The movement should be accurate enough to demonstrate
capabilities of delta robots. If our team achieves this goal it can be said that we succeeded to
design and build a delta robot.
There is a lot of information and tutorials how to make delta robot, which makes it easier to
achieve the target. However, making delta robot requires knowledge from mechatronics and at
the beginning of the course, our groups experience level is not high enough to make a higher level
target as our primary target. The actual implementation of the functional delta robot does not
require a lot of time, but the learning the essential information can increase the workload a lot.
3.2 Secondary targets
Our group has considered several possible additional features to the delta robot. We are going to
make the moving parts of delta robot light, so that the movement of the robot would be fast and
accurate. We are also trying to make the robot look as it is not a “Do it yourself” –delta robot, but
rather a thought out design.
The other considered features are related to the functionality. The delta robot could have
functionality to draw a picture, move based on input of the keyboard or joystick, identify and pick
up things or maybe some closed loop solution. We didn’t want to decide our actual function at this
point of the project as we wanted to make a versatile and adjustable robot.
4 Project plan
Our main idea behind the project plan was to concentrate on our strongest fields and get them
completed as soon as possible and then maximize the time to solve the problems related to our
teams weaker fields (electronics and control design). The first step to get our project started was
to create a CAD model and a project timeline. We planned our project timeline to help us reach
the goals and ideals we set for out project. The timeline is attached below. We will use RC-servo
motors as the actuators, as they are relatively cheap and easy to control.
Mechanism is finished Moving robot
Functional robot
Finished product
16.2. 1.3.
16.3.
1.4. 16.4.
23.4.
CAD Assembly/manufactory
Designing and making the function
Selecting main components Electronics and program Testing and tuning
Documentation
4.1 CAD-model
In Figure 3 is depicted our own CAD design for the robot project. The idea behind the CAD model
was to get a better knowledge of how the kinematics of delta robots work and produce an
accurate enough BOM (Bill of Materials) to base our budget on and to start gathering parts
needed for the project. The yellow parts are threaded, red parts are store bought and white parts
are custom made. We wanted to make our design adjustable so we could fix possible design flaws
in the prototyping phase. The adjustability will come through the threaded lower actuator arms
and adjustable ball end mounting method. The electronic components will be installed above the
top plate on a suitable stand.
The frame was built from sheet metal to make the manufacturing and prototyping easy and cheap
and give our delta robot unique and futuristic look. Frame legs get their needed rigidity from the
structural design. The frame leg design is done so, that the robot can be flipped upside down, and
still remain functional without compromising the electronic installation above the top plate.
Figure 3. Our own design of a delta robot ready to be studied with simple CREO based mechanism
simulations.
Even though the simulations we ran with our CAD model are very simple, we gained a better
understanding of delta robot kinematics. For example we found out that the upper actuator arm is
far more remarkable in terms of robot reach than the lower actuator arm. However by extending
the lower arm we can limit the angular rotation of the ball joints. The model also indicated that
the structure is somewhat self-balancing in terms of the actuator end staying parallel to the top
plate. We were also able to verify that the design we build is able to meet the requirements we set
in our project start report. The BOM for the robot is explained in the next chapter.
4.2 Bill of Materials
In Figure 4 is depicted our current BOM (Bill of Materials) based on our CAD-model. The BOM does
not include any control electronics to keep it simple enough for our project purposes. The
mechanical BOM does also help us through our project timeline to start building our delta robot
mechanics. The nut and bolt quantities in the BOM might not be correct.
Figure 4. Bill of Materials.
4.3 Preliminary budget
To begin the construction as soon as possible we needed to know the rough costs of the store
bought parts of the robot. Store bought parts include RC servo motors, servo arms and ball joints.
Also the lower actuator arms will be built from store bought materials. The prices of RC servos
suitable for our project range from 20€ a piece to 70€ a piece. The more expensive the servos are,
the faster, more accurate and stronger our robot will become. The servo arms come with the
servos or if we decide to upgrade to aluminum arms, they will be around 7€ to 10€ a piece. The
easiest and most accurate approach to ball joints would be to use RC-car ball studs and –cups.
These cost around 14€ for 6 ball cups and 12€ for 4 ball studs. This would mean the store bought
parts for our project would cost between 120€ to 300€. The prices are from Finnish retailer’s web
shop and they are all usually “in stock” which means we could start building right away. To make
our robot functional we need also build some custom parts. These custom parts are simple
enough for us to manufacture on our own and they are using aluminum sheet as material.
Anodized aluminum sheet costs around 13€ per 200x1000mm sheet.
The control electronics needed to drive the RC servo motors will most likely be handed to us from
the Mechanical Engineering laboratory. Which means that our rough budget estimate would be
between 200€ to 400€ - mainly depending on the servos we decide to use and whether we
manufacture the frame parts on our own or we order them from a third party. However this
budget is just a rough estimate and we need to make it more accurate as we gain better
knowledge what parts we already have at our disposal.
The preliminary budget approved by Panu Kiviluoma can be found below in Table 1. The budget
doesn’t show exact costs for the bulk aluminum required, but we estimate the aluminum and
plastic materials to cost around 50€ to 80€. The prototype will be built with existing Arduino UNO
board and an old mobile phone power supply will work as a power source for the RC-servos.The
electronic components could be changed to achieve a more finished look, but all the necessary
functions will be achieved with Arduino UNO. With these things taken into account the budget
proposal stays at approximately 200€.
Table 1. The original budget proposal missing the estimates for aluminum materials and
electronic parts.
Part name Part code Required (pcs)
Unit price (€)
Total price (€)
Retailer
Actuator arm servo SG-0351 3 20,90 62,70 Hobbyfactory Oy / Leppävaara
Servo mount 306200-K 3 8,90 26,70 Hobbyfactory Oy / Leppävaara
Servo horn (aluminum) ? 3 10,00 30,00 Hobbyfactory Oy / Leppävaara
Ball joints (16 pcs) MC421942 1 7,20 7,20 Hobbyfactory Oy / Leppävaara
Actuator end material m2 0 Protoshop Oy / Otaniemi
Aluminum bar (circle, 5mm) m 1 0 Protoshop Oy / Otaniemi
Aluminum sheet (2 mm) m2 1 0 Protoshop Oy / Otaniemi
Aluminum tube (4x?x?) m 1 0 Protoshop Oy / Otaniemi
Aluminum square profile m 1 0 Protoshop Oy / Otaniemi
Threaded rod 3mm ZN m 2 0 Protoshop Oy / Otaniemi
Total expenses (€ ) 126,60
4.4 Actual budget based on purchases
In this chapter we will go through all the expenses that were caused by the project so we can get a
clear idea of how much the robot cost in the end. We decided to manufacture all the frame parts
on our own for two reasons. First we wanted to save money as we wanted to keep the budget as
low as possible – we wanted to challenge ourselves to make a cool, finished looking prototype
with the minimum amount of money. Secondly we wanted to learn manufacturing and machining.
We had also to change the originally planned ball joints as there were some problems with the
supplier. We changed them to slightly more expensive ones, but the price difference was only a
few euros. The true costs of the project are shown in Table 2.
Table 2. The true costs of the project.
Part name Unit price (€)
Total price (€)
Retailer
Aluminum sheet 1.5mm
9,90 / kg 27,72 Protoshop
Aluminum beam 6.0mm
12,00 / kg 1,20 Protoshop
Aluminum tube 6x1.0mm
1,00 / m 1,00 Protoshop
Threaded Rod 3mm ZN 1,35 / m 4,05 Protoshop
Threaded Rod 4mm ZN 2,20 6,60 Protoshop
Aluminum square profile 10x10mm
10,00 2,80 Protoshop
Aluminum square profile 20x20mm
9,50 4,56 Protoshop
Polyacetal d=200mm 14,63 / kg 23,41 Protoshop
Cutting service 2,00 2,00 Protoshop
Savöx SG-0351 4.1kg/0.17 Digital Servo
20,90 /pc 62,70 Hobbyfactory
Aluminum servo horn , HUDY
11,90 / pc 35,70 Hobbyfactory
Aluminum servo mount , Xray
9,90 / pair 29,70 Hobbyfactory
Ball joints , Traxxas 11,40 / 12 pc
11,40 Hobbyfactory
Savöx SC-0251MG 16kg/0.18 Digital Servo
41,90 /pc 125,70 Hobbyfactory
Total costs (€) 338,54
5 Kinematics
In this chapter we will look through the mathematics for solving the angles of the servo motors in
situation where we know the point of the delta robots actuator end. This is the situation, when
we are setting a desired point of the actuator end and then driving each servo motor to a
corresponding angle. In order to make the equations more simple we will calculate all required
servo angles separately – just modifying the calculation of motors 2 and 3 by rotating the
coordinates 120° or -120° accordingly (rotation around z-axis). The rotation is done with basic
rotational matrices. To begin with we set the coordinates as shown below in Figure 5. The y-axis is
aligned with the first servomotor’s upper arm, thus setting angle of the servo in the yz-plane.
Figure 5. Coordinates for the first servomotor.
First we need to declare the movement of one arm. The structure of the arm consists of bars,
hinges and ball joints – which can be reduced to two bars connected with a ball joint, in terms of
mathematics. The simplified structure of one arm is shown in Figure 6. The upper part of the arm
(1) is moving only in the yz-plane, because the movement of servo motor is limited only in rotation
around its x-axis. The lower arm (2) can rotate in yz-plane and also move in x-axis direction. The
highest bar of quadrangle has to be parallel to x-axis, because joint B is hinge. This means that – if
lower arms are set properly – the lower bar will also stay almost parallel to x-axis. The result is that
the actuator end (3) of the delta robot has to stay parallel to the xy-plate. This means that the
structure is indeed self-balancing as shown earlier by the CAD-model.
Figure 6. Simplified structure of one arm of the delta robot.
First we solve α1 (angle of servomotor 1) based on the point coordinates we want the actuator end
(point E in Figure 5) to be in. The known points are E (the target), the distance between E and C
and that the actuator end stays always parallel to yz-plane, thus meaning that the vector between
E and C stays always parallel to y-axis. Also the point A is known as it is defined by the structure.
The length of vector from origin (O) to A describes the distance of the servo motor axis to the
center point of the top plate. Also the length of the vector from point B to C is equal to the length
of the lower arm.
We also know the lengths of parts 1 and 2. To get the angle of the servo motor we need to solve
the coordinates of the point B. To calculate B, we also need to calculate the coordinates of point
D. The used markings for the coordinate points are shown in the following Table 3.
Table 3. The points used in calculating the required servo angles α1, α2 and α3.
Entity name
Description Known value A (xA, yA, zA) = (0,yA, 0) yA = -77
B (xB, yB, zB) = (0, yB, zB)
C (xC, yC, zC) = (x0, y0-EC,z0) EC =39
D (xD, yD, zD) = (0, y0-EC ,z0) EC =39
E (target) (x0, y0, z0) Driven value
AB (length) r1 r1 =211
BC (length) l2 l2 =332
As it can be seen from figures 5 and 6 point B lies in the intersection point of two circles. The origin
for the first circle lies at point A (in yz-plate), whose radius is the length of the part 1 – this
describes the possible movement of the upper arm. Origin of the second circle lies at point D. The
radius (r2) of the second circle can be understood as a projection of the length l2 to the yz-plane.
This can be calculated as the vertical part of the vector from B to C. This can be done with the
basic Pythagorean theorem. The calculation of the projection length r2 is shown in equation 1.
√
(1)
Now that the radius of the second circle is known, we can go on to solve the intersection of these
two circles. The circles are now in the yz-plane as the vector from B to C is projected to yz-plane.
The intersection points for these two circles can be calculated by using the equations 2 and 3 and
then using the solving method shown below. The equations give us two possible values for yB and
one value for zB. We should select the smaller value for yB for the point B (0, yB, zB). The required
angle for the first servo can be then calculated as both points A and B are known.
(2)
(3)
(2.1)
(3.1)
(2.2)
||*-1 (3.2)
Combining equation 2 and 3 gives us:
(4)
From this, we can solve the value for zB:
(5)
where a and b are
Then equation 2.2 can be expressed as follows:
(6)
(7)
This can be then solved by using the basic solving method for second degree equations:
√
(8)
Where
(9)
and (10)
Now
(11)
(12)
and
(13)
To make the programming part more sensible we have to first check if the two circles even have
intersection point. This can be done by examining the discriminant in equation 10. If the value D is
bigger than zero, there is two real number solutions for yB, if D is smaller than 0, there is no real
number solutions for yB and if the value D = 0 there is one real number solution for yB. In order not
to break the robot structure or servo motors we want to stay in the area where there are two
possible solutions to yB. We chose smaller value of yB. Theoretically the point where there is only
one real number solution to yB (D = 0) is also reachable as the circles are just touching, but in
practice there is a risk of lock-up in these points. Thus we do not want to drive our robot to these
points.
(14)
After we have checked that the coordinates, we are driving the actuator end into, are possible, we
can go on to calculate the exact y coordinate of point B (yB). X-coordinate of point B is zero as
defined earlier and the z-coordinate zB is calculated in equation 5. By definition yB is now either:
√
(15)
or
√
(16)
We choose to use the smaller value of these two as described earlier.
Now that we know points A and B, we can determine the angle of the vector AB relative to the
selected 0-line. Now we choose the zero line to be in the xy-plane, so that when the angle value is
negative, servo arm is pointing towards the actuator end (zB < 0) and when the angle value is
positive, the servo arm is pointing away from the actuator end (zB > 0). 0-line being, when the
servo arm is parallel to the top plate (zB = 0).
Now we can determine the angle α1 as follows:
(17)
Now value of zB determines the sign of α as described below, if zB < 0, α < 0.
The same operations must be done to the two remaining servo motor angles. The simplest way of doing this is by multiplying the desired actuator end point coordinate E = (x0, y0, z0) with rotational matrix Rz(ϴ). The rotation is done around z-axis, so
[
] (18)
where angle θ is the desired rotation angle around z-axis.
This gives us the point E in the second servo motor’s coordinate system to be:
and for the third servo motor:
It can be seen that the all the solved equations remain the same, and only the coordinate values
related to point E are changed. This means that the same code can be used to solve all the angles,
only using the point E2 for the second servo motor (counter clockwise from the first motor) and
the point E3 for the third servo motor (clockwise from the first motor).
This calculating method is conducted based on the examples from the links below. This is only one
solution for the kinematics of a delta robot and the kinematic problem can be solved in a
numerous different ways. However this way of thinking is quite easily understandable and it can
be modified into a quite efficient code for micro-controllers and PC to solve. This directly
contributes to the operating speed of our delta robot.
http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/
http://www.cim.mcgill.ca/~paul/clavdelt.pdf
5.1 Code for the robot
The logic for the code is basically done as the step by step solving of the delta robot’s kinematic
problem described in chapter “Kinematics”. To make the code more efficient there are a few
benchmark points written to make sure that the code stops as soon as it can be seen that the
destination point E is unreachable by the robot. There are also basic safety limits for the point E
written to the code in order to prevent any damage to the robot structure or electronics. One of
these benchmark points is the determination of discriminant D. If D <= 0 the code returns value
“false” for the servo angle thus stopping the robot from moving to the described point. The same
method is used with the set safety limit points. If even one of the servo motor angle calculating
functions returns value “false”, the code stops the robot from driving even the other servo motors
to that target point E. The basic idea behind the code is that we do all the calculating on PC, and
leave the on-board microcontroller (ATmega328 in Arduino UNO) only work as an interface
between the RC-servomotors and the PC. The communication happens through USB –serial port,
and as ATmega328 can only work with int() –type of variables and values, the desired angle is
given between 0 and 180 degrees. The desired angle is translated to PWM –signal for the RC-
servomotors by microcontroller.
The translator and the basic delta robot controlling (incl. calculating angles) are two different code
sets. Communicating between Arduino and PC proved to be little bit challenging. The Arduino Uno
serial buffer size is 64 bytes and in some cases the buffer size is not enough big. Overloading of the
buffer will mess the information between the driven RC-servos. Overloading causes the
information of one servo motor to go on to wrong servo motors, which then caused irrational
behavior of the robot. This can’t be seen, when the actuator is driven only in the z-direction (y=0,
x=0), but when x- or y-value differs from zero, the incorrect PWM-signal per RC-servo motor can
be seen clearly. There are few ways to solve this problem. We decided to limit the amount of the
data, which is send to the microcontroller. Robot’s controlling program is sending data only if the
coordinates are changed, in the meanwhile microcontroller is generating PWM-signal based on old
values. Generating PWM-signal whole time is essential to keep the positions of the RC-servos.
To create the user interface Processing language is used. Processing was chosen because of the
serial communication library and the library for the joystick. A good documentation and the
libraries used made it easy to make communication between PC and Arduino, and also between
the program and the joystick. The drawback of using the Processing was amount of work to create
the graphical user interface. The user interface of the controlling program is presented in figure 7.
In the top-left corner of the UI-window shows the basic functions for the drive: desired coordinate
points, toggle for drive (on/off) and driving mode (upside down –button). Clicking over the
pictures will change the values. Coordinates can be decreased by clicking the left side of picture
and by clicking the right side the coordinates will be increase. Coordinates can also be driven with
a joystick or through the predefined automated routes. Some helpful data is presented in the
bottom-left corner. The color of the possible mark tells if the coordinates can be reached by the
delta robot and the angels of upper arms are presented next to the possible signal. The different
predefined routes can be chosen in the top-right corner. First route is basic circle driven half-
automatically. The radius and the z-coordinate of the circle can be changed during the movement.
The route1 is programmed to draw a logo of the Aalto university (can be seen in the figure 8) and
the route2 is drawing third degree equation and a coordinate system for the graph. In the bottom-
right corner the location of the actuator end is presented (xy-plane). The robot can also be driven
with the joystick. The code is made to the Microsoft’s SideWinder Precision 2 joystick, but by
minor changes to the code also other joysticks can be used. The joystick enables basic controlling
of the delta robot, included different gears, which make it possible to drive the delta robot at
different speeds.
Figure 7. The graphical UI-window for the delta robot.
6 Physical structure
We decided to manufacture all the custom parts by ourselves for two reasons: firstly we wanted
to see how cheap we can build a working robot and secondly we wanted to learn basic
manufacturing skills. The fact that we decided to manufacture everything by hand also gave us the
freedom to change the design details as we went on. To make the robot more adjustable, we
chose to change the design for the bottom of the legs with adjustable leg ends so that we didn’t
require flat surfaces to mount our robot on. We also changed the design for the actuator end so
that we could attach different actuators to the actuator end mounting point. The adjustable
actuator end was simply done with a 3 screw mechanism working in the same sense as the basic
milling machine tool holders. The picture of our first version of the mechanical structure of a delta
robot can be seen in figure 8.
Figure 8. The actual first physical prototype of our delta robot.
Based on the physical delta robot prototype we found out that we cannot reach as large area as
we had thought based on the CAD-model. However we had anticipated this and designed the
robot dimensions so that there is large enough tolerances to still reach the area (d = 30 cm) we set
as our goal. The reason we are not able to reach the dimensions our CAD-model pointed, is that
we couldn’t take the mechanical restrictions of the ball joints into account, when we were building
the CAD-model. However we knew this, when we were building the model, so it didn’t come as a
surprise that the actual area we are going to reach is smaller than what the CAD-model predicted.
The actual are we area going to reach is approximately d = 30 cm. The first tests driving the robot
also proved that the RC servos we had chosen were too weak for our purposes. This could have
been prevented, if we had spent a little more time with the CAD-model and conducted some
simple force measurements. However the weaker servos we used were cheap, so it was only a
minor setback to the project.
The physical prototype also pointed out that even though the frame legs were quite rigid on their
own, the actual frame portal was a bit too flexible for the robot to be as accurate as possible.
However we set out to demonstrate the capabilities of delta robots and to create a futuristic and
thought out looking robot and this is what we achieved. For further improvements the frame
should be redesigned to maximize the structural rigidity to form the best possible platform for the
robot actuators.
7 Summary
In the end we were able to reach our goals we set to our project in the beginning of this course.
We were able to create a finished looking prototype of a delta robot and we were able to
demonstrate the capabilities of delta robots at the Mechatronics Circus. We used the robot to
draw Aalto University logo based on an automatic route. We also implemented a manual drive and
some half-automated routes for the robot to run. These routes and functions were chosen
because we wanted to point out that robots are part of industrial automation rather than
manually driven tools. We incorporated the manual drive to the final prototype to demonstrate a
safety feature for an industrial robot in a case where the robot gets stuck or something else goes
wrong. The manual drive also proved to be quite a hit amongst the Circus visitors. Despite the
small setbacks throughout the project we can still say that this delta robot project was successful.
As it can be understood by reading this report, we didn’t sail through the project without
problems. The biggest issue during the project was the communicational problems to get the
Arduino board and the PC-program to communicate effectively and without any problems. There
were also some minor issues with the electronics, mechanical design and the fact that we couldn’t
get the third aluminum servo horn in time for the Circus. The mechanical design was still good
enough for us to demonstrate the capabilities of delta robots.
If we were to start over or get involved into a new development process of a delta robot, we
would want to make the virtual prototypes more accurate to get rid of all possible errors in the
design. Virtual prototypes are cheap and the changes at this stage doesn’t cost anything but labor.
Other than that we should choose better microcontroller and driving servos as well as more
accurate ball joints to make the robot more stable and more effective. Other than that, the timing
of the project went rather well and we met all the major goals, we set for the project.
Sources
1. Matt Greensmith’s Ramblings. Making an Arduino-controlled Delta Robot. 2011. [Referenced
2.5.2014]. URL: http://mattgreensmith.wordpress.com/2011/11/26/making-an-arduino-
controlled-delta-robot/.
2. Trossen Robotics Community. Delta robot kinematics. [Referenced 2.5.2014]. URL:
http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/.
3. Zsombor-Murray, P. J. Descriptive Geometric Kinematic Analysis of Clavel’s “Delta” Robot.
2004. [Referenced 2.5.2014]. URL: http://www.cim.mcgill.ca/~paul/clavdelt.pdf.