Design, manufacturing and programming of
a robot based on Jansen’s linkage ?
David Londoño Ochoa ∗ Andrés López Valencia ∗∗
Juan Sebastián Saldarriaga Arango ∗∗∗
Jose Fernando Montoya Vargas ∗∗∗∗
Wilfredo Montealegre Rubio † Freddy Bolaños Martı́nez ‡
∗
Universidad Nacional de Colombia, Sede Medellı́n
(e-mail: dlondonoo@[Link]).
∗∗
Universidad Nacional de Colombia, Sede Medellı́n
(e-mail:andlopezval@[Link]).
∗∗∗
Universidad Nacional de Colombia, Sede Medellı́n
(e-mail: jssaldarriagaa@[Link]).
∗∗∗∗
Universidad Nacional de Colombia, Sede Medellı́n
(e-mail: jfmontoyav@[Link]).
†
Universidad Nacional de Colombia, Sede Medellı́n
(e-mail: wmontealegrer@[Link]).
‡
Universidad Nacional de Colombia, Sede Medellı́n
(e-mail: fbolanosm@[Link]).
Abstract: Design process of a Robot based on Theo Jansen’s mechanism is carried out in this
study, using computational mechanic tools and structural optimization as from kinematic and
kinetic analysis of the system. In the other hand, it shows the implementation of remote control
system by an arduino microcontroller on its development environment. A final analysis shows
comparisons for the mechanism before and after the optimization and a fully funcional pototype
by additive manufacturing.
Keywords: H bridge, Theo Jansen, topology optimization, finite elements, articulated
mechanism, control, additive manufacturing, Jansen’s linkage.
1. INTRODUCTION 1.1 Mechanism’s description
Theo Jansen’s work has encouraged the development of
majestic wind-driven kinetic sculptures, but it also has
driven the development of an entire community dedicated
to the study and improvement of its mechanism. Several
systems and modern machines have been inspired by this
linkage.
Figure 1. Representative diagram of Jansen’s linkage
Developed during the 90s by the artist and physicist Theo
Jansen, it is a mechanism designed primarily through the
? Diseño, construcción y programación de un robot basado en el programming of a genetic algorithm that achieved the
mecanismo T heoJansen - Curso: PAE. Universidad Nacional de optimization of dimensions of its elements to pursue a tear-
Colombia - Sede Medellı́n. 2015 shaped trajectory which is considered ideal if subject of
interest to emulate the march of a living being with joints.
The system consists of two opposing four bar linkages,
a five bar chain and a ternary link, as seen in Figure 1.
The first 4-bar linkage is formed by the rod m, the link j
and the link b. The second 4-bar linkage is formed by the
connecting rod m, the link k and the link c. The links c,
d, f and g, with the structure provided by a and l create
the 5-bar chain. Elements h, g and p form another ternary
link, and G node connecting h and p is the point which
supports the mechanism to advance during the march.
2. PROBLEM FORMULATION
2.1 Structural mechanics and optimization problem
It has been found in literature researches focused in the
dynamic analysis of the mechanism to settle theoretical
bases for its study (Nansai et al), as well as studies in
which trajectories of the articulation are optimized in or- Figure 2. Trajectory of node G plotted in MatLab
der to reduce energy consumption in robots and prototypes
working with this mechanism (Giesbrecht et al).
However, the study of the Theo Jansen mechanism in this
research is focused in the determination of the time where
dynamic loads acting in each component of the system
have their bigger values with the purpose of implementing
3.2 Dynamic analysis
this information in a stress analysis using finite element
method and in a topology optimization process, a tool
that allows to find the best material distribution in a closed
volume called “design domain”, maximizing stiffness. This Similarly, a geometry of the mechanism was modeled in
way, the optimization of the geometry of a Theo Jansen Autodesk Inventor 2015 and, using the Dynamic Analysis
mechanism can have a structural approach and a dimen- module, simulated under the same conditions in order to
sional approach. find the forces acting in each node of the mechanism. Those
forces were used to elaborate the Free-body diagrams
shown in figure 3 to figure 7.
2.2 Design of a control system
Control’s main objective is the implementation of a system
aimed at the robot’s autonomy.
To achieve this, the most important topic is to recog-
nize the use of a control loop which includes sensors,
controllers, actuators and process elements, the latter is
evidently the robot so at the control loop design must
be identified the other elements. The consequence will be
the imitation of most of a spider’s articulated movements
based on joints parts that are designed similar in form to
those spider.
3. METHODOLOGY
3.1 Kinematic analysis
The kinematic analysis of a Theo Jansen mechanism was
performed using the general plane movement principle.
The analysis allowed to determine the velocities and ac-
celerations of every node in the articulation, and at the
same time a trajectory of the base of the mechanism could
be plotted allowing to appreciate the characteristic “tear-
shaped” movement of the leg.
Figure 3. Free body diagram for element BDC
3.3 Structural analysis and topology optimization
From the dynamic analysis the most representative inter-
vals of time were taken in function of the forces acting
in the mechanism elements. In addition, a case of fixed
supports was considered emulating an impaired movement
caused by an external element. Using OptiStruct form
Hyperworks 13.0 a stress analysis was performed to each
piece using quad4 elements with a size of 1mm. Figure 8
shows an example of boundary conditions of BDE element
derived from the Free-Body diagram built with the most
critical forces and a fixed support in one of its vertexes.
Values of the mechanical properties of the material used
in the simulations correspond to thermoplastic ABS M30,
and are given in table 1.
Figure 4. Free body diagram for element CF
Young’s modulus Shear modulus Poisson’s ratio Density
3091.7 M P a 1050 M P a 0.35 1040 kg/m3
Table 1. Mechanical properties of ABS M30.
Source: Stratasys, Ltd.
Figure 5. Free body diagram for element EFG
Figure 8. Boundary conditions for element BDC.
With the parameters for the simulation established, Topol-
Figure 6. Free body diagram for element J ogy Optimization Method was implemented to find the
best material distribution in the design domain of the
pieces. The final geometry must maximize stiffness reduc-
ing 50% the initial volume of every part of the mechanism.
Elements of the topology optimization are categorized as
follows:
• Objective: maximize stiffness minimizing volume
• Design variables: material distribution inside the de-
sign domain of the piece.
• Design constraints: final geometry must have 50% or
less of the initial volume of the piece
• Distances between points that connect the parts of
the mechanism must be kept in order to not affect
the calculated trajectory.
Mapping of pseudo-densities obtained using Optistruct are
Figure 7. Free body diagram for element K pictured below:
Actuators: An h bridge and two torque motors will
be chosen as actuators elements. The motors will be
responsible for overcoming the inertia associated with the
joints and at the same time be able to drive the entire load
due to assembly with the respective circuit feeding , which
in this case is a 12V and 1.4 Ah battery. The H bridge
provides current to the motors to rotate in one direction
or another, according to users’s will.
Figure 9. Densities mapping during optimization process
for element BDC.
Process: As mentioned above, the process will be the
robot, because it is the final control element which we
want to control (its position).
Thus, the following representation is proposed as block
diagram of the control loop.
Figure 10. Densities mapping during optimization process
for element EFG.
Figure 14. General block diagram
It should be noted that this representation is an open loop,
where a bluetooth module is included as a transmitter
element, which connects the Arduino with a smartphone,
where an application (GUI) has the ability to modify the
robot’s path and also to stop it, leading us to conclude
that the user can transform this feedback loop.
Figure 11. Densities mapping during optimization process Considering as sensor elements his eyes, his brain as a
for element CF. controller and hands as actuators to amend the application
would have a immersed in another tie, which was not taken
into consideration for the construction of general block
diagram.
After defining the sensor, controllers, actuators and pro-
cess elements, the next step is simulate the operation of the
H bridge, which is an integrated circuit with the following
topology:
Figure 12. Densities mapping during optimization process
for element J.
Figure 13. Densities mapping during optimization process
for element K.
3.4 Control loop’s elements definition Figure 15. H-bridge topology
Controller: An arduino is chosen as a controller element,
which is basically a circuit board with a microcontroller.
This offers two main benefits: the first one is its quite The software which simulation was performed is Pspice.
friendly software environment. The software is avaliable The nodal description of the circuit on the figure 15 is
for free online, being this the second benefit of this choice. shown in the annexes section at the end of the document.
The obtained simulations are:
4.2 Structural optimization of the mechanism
Table 2 shows a comparison before and after the optimiza-
tion for the volume and masses of the pieces. Approxi-
mately a 50% in mass reduction was achieved, and at the
same time the stiffness of the mechanism was improved
with a minimum increase in stresses (tabla 3). Figure 18
shows the full mechanism before and after optimization.
Figure 16. H-bridge simulation: Current given to motors .
Finally, the Arduino was programmed. The software in
which the code was developed is also called Arduino. Code
lines that were included in it are given in annexes section
at the end of the document.
Figure 18. Graphic comparison of the mechanism before
4. RESULTS and after optimization
4.1 Prototype Before optimization After optimization
Mass Volume Mass Volume
[kg] [(mm)3 ] [kg] [(mm)3 ]
BDE 0.016 14756.021 0.007 6417.482
EFG 0.037 34490.093 0.018 17297.933
CF 0.003 3240.498 0.001 1406.864
K 0.006 5490.498 0.003 2834.151
J 0.005 4995.498 0.003 3103.913
Total 0.067 62972.608 0.032 31060.343
Table 2. Characteristics of the mechanism be-
fore and after optimization.
Before optimization After optimization
Displacement Stress Displacement Stress
[mm] [M P a] [mm] [M P a]
BDE 0.012 0.1298 0.003 0.1292
EFG 0.00548 0.101 0.00192 0.103
CF 0.0311 0.437 0.007 0.619
K 0.067 0.364 0.017 0.77
J 0.16 0.318 0.052 0.379
Table 3. Displacements and stresses in the
mechanism before and after optimization.
5. CONCLUSIONS
Figure 17. Prototype of the robot • In this paper the whole process of design, manufac-
ture and development of a system based on Jansen’s
Linkage using numerical simulation tools for struc-
Geometries obtained using Topology Optimization Method tural calculations and digital electronic devices to
were 3D-printed using ABS-M30 with a density The body create robot control loops is presented. The proto-
were the motors and the circuit board are placed was type made it possible to validate the results obtained
made of 3 mm thick acrylic. ¼” diameter elements were through simulations demonstrating a satisfactory de-
used for pivot and pinned unions. The prototype can be sign that ensures stability of the robot during its
appreciated in figure 17. The full ensemble of the robot travel path with adequate energy consumption.
has a high stability only perturbed by the clearance of the • The implementation of control loop is one of the
articulated unions necessary to allow a relative movement. most important things to control the position of a
Autonomy in continuous operation was about 30 minutes robot. The trajectory that the robot will follow is
with a fully charged battery. manipulated, so it is qualified to dodge the obstacles
it could find.
• Topology optimization method is a computational • Garcı́a, P. Carro Control Remoto Bluetooth. (2014).
tool that presents a range of design alternatives that Retrieved on November 28, 2015 from:
do not go beyond the theoretical field and therefore http : //elprof [Link]/?p = 264
its implementation shall be subject to experimen-
tal validations. Still, being the design an iterative 8. ATTACHMENTS
process, this method supported by simulations using
finite element method offers a great advantage by Simulation: The following is a nodal description of the
allowing to reduce the amount of actual prototypes to circuit in figure 15. It is used to perform the simulation in
validate a final design and allow a phenomenological the software Pspice.
interpretation of the processes occurring in a system,
in this case, a mechatronic one. Puente H
• With the design and manufacture of this robot a *Descipción del circuito
sufficient appropriation of concepts of dynamics and
mechanics of materials was achieved for application in
an integrated manner to a specific problem of optimal Vin1 1 0 DC 12
design of mechanisms. This can be projected as a Vin2 4 0 DC 12
small starting point for the study of optimized mech- Vin3 6 0 DC 9
anisms from the perspective of cyclical phenomena as Q1 4 3 8 Q2n2222a
can be fatigue failure. Q2 8 7 0 Q2n2222a
Q3 9 10 0 Q2n2222a
Q4 4 5 9 Q2n2222a
6. ACKNOWLEDGMENTS R1 1 3 1k
R2 6 7 1k
This work was supported by the Group of Design and Ap- R3 5 6 1k
plied Optimization DOA and the Instrumentation, Control R4 10 1 1k
and Robotics Seedbed SInCro, both affiliated to the Na- R5 8 9 1.2k
tional University of Colombia, Medellı́n.
*Llamar los modelos
.MODEL Q2n2222a npn
7. BIBLIOGRAPHY AND REFERENCES +IS=3.88184e-14 BF=929.846 NF=1.10496 VAF=16.5003
• Mora, J. A. Matemáquinas. Spain. Retrieved in May +IKF=0.019539 ISE=1.0168e-11 NE=1.94752 BR=48.4545
15, 2015 from: +NR=1.07004 VAR=40.538 IKR=0.19539 ISC=1.0168e-
http : //[Link]/M ecan/M ecan/[Link] 11
• Jansen, T. Strandbeest. Netherlands. Retrieved in +NC=4 RB=0.1 IRB=0.1 RBM=0.1
May 19, 2015 from: +RE=0.0001 RC=0.426673 XTB=0.1 XTI=1
http : //[Link]/beestsl [Link] +EG=1.05 CJE=2.23677e-11 VJE=0.582701 MJE=0.63466
• Cántraba, E. Strandbeest. Netherlands. Retrieved in +TF=4.06711e-10 XTF=3.92912 VTF=17712.6 ITF=0.4334
May 18, 2015 from: +CJC=2.23943e-11 VJC=0.576146 MJC=0.632796 XCJC=1
http : //[Link]/strandbeest/inicio/ +FC=0.170253 CJS=0 VJS=0.75 MJS=0.5
• Miranda, M. El mecanismo Theo Jansen. Chile. Ge- +TR=1e-07 PTF=0 KF=0 AF=1
ometrı́a Dinámica. Retrieved in May 19, 2015 from:
http : //[Link]/2010/02/ *Configuración de simulación
mecanismo − de − jansen/ .TRAN 1n 8u 0u
• Marghitu, D. B. (2009). Mechanism and Robot Anal- .probe
ysis with Matlab. Springer. New York, USA. .end
• Ingram, A. J. (2004). Numerical kinematic and ki-
netic analysis of a new class of twelve bar linkage for
walking machines. Rand Afrikaans University. Johan- For purposes of the simulation, 1.2kresistor[Ω] is arbi-
nesburgo, Sudáfrica. trarily chosen. This will act as a load on the circuital
• Giesbrecht, D. (2010). Design and optimization of arrangement. It is noteworthy that in the actual assembly,
a One-Degree-Of Freedom eight-bar leg mechanism the charge will be the two DC motors that drive the robot.
for a walking machine. University of Manitoba. Win- The simulation demonstrates the possibility offered by the
nipeg, Canadá. H bridge to deliver to the load current in one direction or
• Klann, J. Mechanical spider. USA. Retrived on another. In conclusion engines also rotate in one direction
September 01, 2015 from: or another, depending on the order given by the user.
http : //[Link]/[Link]
• Brindley, P., Goodridge, R., East, M., Hague, R.
8.1 Programming:
(2008). Preliminary investigation into the mechanical
properties of Stratasys polycarbonate and M30 ABS The following lines of code were included in the Ardiuno
materials. Loughborough University. Loughborough, controller.
UK.
• Altair University. (2015). Practical Aspects of Struc- /* Mecanismo Theo Jansen Bluetooth
tural Optimization. 2° ed.
ARDUINO L293D(Puente H) if(estado==’c’) // Boton Parar
5 10 analogWrite(derB, 0);
6 15 analogWrite(izqB, 0);
97 analogWrite(derA, 0);
10 2 analogWrite(izqA, 0);
5V 1, 9, 16
GND 4, 5, 12, 13 if(estado==’d’) // Boton DER
analogWrite(derB, 0);
El motor 1 se conecta a los pines 3 y 6 del Puente H analogWrite(izqB, 0);
El motor 2 se conecta a los pines 11 y 14 del Puente H analogWrite(izqA, 0);
analogWrite(derA, vel);
La fuente de alimentación de los Motores se conecta a
tierra y el positivo al pin 8 del puente H.
if(estado==’e’) // Boton Reversa
analogWrite(derA, 0);
Conexión del Módulo Bluetooth HC-05 y el Arduino analogWrite(izqA, 0);
ARDUINO Bluetooth HC-06 analogWrite(derB, vel);
0 (RX) TX analogWrite(izqB, vel);
1 (TX) RX
5V VCC
GND GND
Las conexiones de TX y RX al Módulo Bluetooth deben
estar desconectadas en el momento que se realiza la carga
del código (Sketch) al Arduino.
*/
int izqA = 5;
int izqB = 6;
int derA = 9;
int derB = 10;
int vel = 255; // Velocidad de los motores (0-255)
int estado = ’g’; // inicia detenido
void setup()
[Link](9600); // inicia el puerto serial para comuni-
cacion con el Bluetooth
pinMode(derA, OUTPUT);
pinMode(derB, OUTPUT);
pinMode(izqA, OUTPUT);
pinMode(izqB, OUTPUT);
pinMode(13,OUTPUT);
void loop()
if ([Link]() > 0) // lee el bluetooth y almacena
en estado
estado = [Link]();
if(estado==’a’) // Boton desplazar al Frente
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, vel);
analogWrite(izqA, vel);
if(estado==’b’) // Boton IZQ
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, vel);