the visualization and optimization of the dynamic

27
The Visualization and Optimization of the Dynamic Workspace of a Delta Robot A PLAN B PROJECT REPORT SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF UNIVERSITY OF MINNESOTA BY Tiance Xia IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN MECHANICAL ENGINEERING Timothy M. Kowalewski, PhD September, 2018

Upload: others

Post on 30-Apr-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Visualization and Optimization of the Dynamic

The Visualization and Optimization of the Dynamic Workspace of a Delta Robot

A PLAN B PROJECT REPORT

SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL

OF UNIVERSITY OF MINNESOTA

BY

Tiance Xia

IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

FOR THE DEGREE OF

MASTER OF SCIENCE IN MECHANICAL ENGINEERING

Timothy M. Kowalewski, PhD

September, 2018

Page 2: The Visualization and Optimization of the Dynamic

The visualization and optimization of the dynamic workspace of a Delta robot

Tiance Xia

Department of Mechanical Engineering

University of Minnesota

I. Introduction

The parallel manipulator is a mechanical system where the base and the end effector are

connected by more than one series of mechanical links. Often each series of mechanical links has

identical structure. Compared with serial manipulators, parallel manipulators achieve higher

velocities and precision of motion and support more massive payloads, at the cost of reduced

workspace. The common examples included the Stewart platform used in flight simulators (Fig.1)

and the Delta robot used in pick/pack applications. (Fig.2) For the Delta robot, its kinematics

solution and the distribution of the singularities had been studied extensively. [1][2] However, for

the dynamics analysis, although the closed form solution of the motor torque had been given, either

via the Newton-Euler method [3][4][5] or the d’Alembert’s principle [6][7][8], the structure of the

robot dynamic workspace remains understudied. The dynamic workspace indicates the region

where the end effector can move at the designated velocity and acceleration, given the robot size,

mass and the motor data. The establishment of this workspace would facilitate the end users to

choose the appropriate robot model for their task.

The overall goal of this research is to provide an improved, easy-to-use tool to assist

hobbyists, engineering students, and professional engineers in the computational design of high

performance Delta robots for their custom applications. The specific aim of this research is to

derive the dynamic solutions of the Delta robot in detail, and elucidate both the reachable

workspace and the dynamic workspace of the robot as a function of robot link length and motor

performance specifications as dictated by the readily available motor torque-speed curves.

Fig.1. The CAE 7000XR full-flight simulator. Fig.2. The ABB IRB 360 FlexPicker.

Page 3: The Visualization and Optimization of the Dynamic

The specific contributions are 1) a re-derivation of the Delta robot dynamics using

mechanical energy conservation principles; 2) visualization of the complicated reachable and

dynamic workspaces and how they change with robot and motor parameters; 3) a software toolkit

in MATLAB with a graphical user interface (GUI) that visualizes complicated reachable and

dynamic workspaces and how they change based on simple motor parameters that a user may enter

to intuitively explore whether a specific choice of motors and link lengths will achieve the desired

performance characteristics; and 4) an example of such design analyses for a specific handheld 3D

bio-printing robot designed for medical applications in the Medical Robotics and Devices Lab.

II. Theory

The Delta robot is composed of three elements: the base, the moving platform and three

groups of connecting arms. (Fig.3a) Three active joints (motors) are placed on the base. The

connecting points of the moving platform are at the vertices of the triangle. For simplicity, the

parallelogram lower arm in the actual robot was represented by a single solid link. (Fig.3b)

Fig.3a. The assembly diagram of the Delta robot. Fig.3b. The Delta robot in Cartesian

coordinate system. The parallelogram

meant the forearm could move in both

XZ plane and YZ plane.

Because the moving platform only had three degrees of freedom for translational motion, the

following parallel conditions were always satisfied:

𝑂𝐴1 βˆ₯ 𝑃𝐢1

𝑂𝐴2 βˆ₯ 𝑃𝐢2

Page 4: The Visualization and Optimization of the Dynamic

𝑂𝐴3 βˆ₯ 𝑃𝐢3

The geometric size of the robot was given by:

𝑂𝐴1 = 𝑂𝐴2 = 𝑂𝐴3 = 𝑅

𝑃𝐢1 = 𝑃𝐢2 = 𝑃𝐢3 = π‘Ÿ

𝐴1𝐡1 = 𝐴2𝐡2 = 𝐴3𝐡3 = 𝐿

𝐡1𝐢1 = 𝐡2𝐢2 = 𝐡3𝐢3 = 𝑙

Points M and N represented the midpoint of the link, which were used for inertial analysis. In

addition, in this paper, the upper links were not allowed to go above the XY plane. Thus the arm

rotational angle πœƒ was always negative.

To make the structure clear, the establishment of the dynamic workspace had been divided

to three sections: the dynamic solution of the motor torque, the manipulator Jacobian, and the

algorithm to search the dynamic workspace.

1. Motor Torques

A. Link Dynamics

From the robot diagram (Fig.3b), the following relationships could be established:

𝐴1 = (𝑅, 0, 0)

𝐡1 = (𝑅 + πΏπ‘π‘œπ‘ πœƒ1, 0, πΏπ‘ π‘–π‘›πœƒ1)

𝑃 = (π‘₯𝑝, 𝑦𝑝, 𝑧𝑝)

𝐢1 = (π‘₯𝑝 + π‘Ÿ, 𝑦𝑝, 𝑧𝑝)

𝑀1 =𝐴1 + 𝐡12

= (1

2(2𝑅 + πΏπ‘π‘œπ‘ πœƒ1), 0,

1

2πΏπ‘ π‘–π‘›πœƒ1)

𝑁1 =𝐡1 + 𝐢12

= (1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ1 + π‘₯𝑝 + π‘Ÿ),

1

2𝑦𝑝,1

2(πΏπ‘ π‘–π‘›πœƒ1 + 𝑧𝑝))

The velocity at point 𝑀1:

𝑑

𝑑𝑑𝑂𝑀1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— = (

1

2(βˆ’πΏπ‘ π‘–π‘›πœƒ1 βˆ™ πœƒ1Μ‡), 0,

1

2πΏπ‘π‘œπ‘ πœƒ1 βˆ™ πœƒ1Μ‡)

The velocity at point 𝑁1:

𝑑

𝑑𝑑𝑂𝑁1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— = (

1

2(βˆ’πΏπ‘ π‘–π‘›πœƒ1 βˆ™ πœƒ1Μ‡ + π‘₯οΏ½Μ‡οΏ½),

1

2𝑦�̇�,1

2(πΏπ‘π‘œπ‘ πœƒ1 βˆ™ πœƒ1Μ‡ + 𝑧�̇�))

The tangential velocity at point 𝐢1:

Page 5: The Visualization and Optimization of the Dynamic

𝐡1𝐢1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— = (π‘₯𝑝 + π‘Ÿ βˆ’ 𝑅 βˆ’ πΏπ‘π‘œπ‘ πœƒ1, 𝑦𝑝, 𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ1)

𝑣𝐢1βƒ—βƒ—βƒ—βƒ—βƒ—βƒ— =𝑑

𝑑𝑑𝐡1𝐢1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— = (�̇�𝑝 + πΏπ‘ π‘–π‘›πœƒ1 βˆ™ πœƒ1Μ‡, 𝑦�̇�, 𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ1 βˆ™ πœƒ1Μ‡)

In 3D space, the angular velocity of one point rotating around an axis was given by:

οΏ½βƒ—βƒ—οΏ½ =π‘Ÿ Γ— 𝑣

π‘Ÿ2

Therefore, the angular velocity of link 𝐡1𝐢1:

𝑑

π‘‘π‘‘πœƒπ΅1 = πœ”π΅1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— =

1

𝑙2(𝐡1𝐢1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— Γ— 𝑣𝐢1βƒ—βƒ—βƒ—βƒ—βƒ—βƒ— )

=1

𝑙2(

𝑦𝑝(𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ1 βˆ™ πœƒ1Μ‡) βˆ’ (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ1)𝑦�̇�,

(𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ1)(π‘₯οΏ½Μ‡οΏ½ + πΏπ‘ π‘–π‘›πœƒ1 βˆ™ πœƒ1Μ‡) βˆ’ (π‘₯𝑝 + π‘Ÿ βˆ’ 𝑅 βˆ’ πΏπ‘π‘œπ‘ πœƒ1)(𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ1 βˆ™ πœƒ1Μ‡),

(π‘₯𝑝 + π‘Ÿ βˆ’ 𝑅 βˆ’ πΏπ‘π‘œπ‘ πœƒ1)𝑦�̇� βˆ’ 𝑦𝑝(π‘₯οΏ½Μ‡οΏ½ + πΏπ‘ π‘–π‘›πœƒ1 βˆ™ πœƒ1Μ‡)

)

Let

𝐾1𝑠 = πΏπ‘ π‘–π‘›πœƒ1 𝐾1𝑐 = πΏπ‘π‘œπ‘ πœƒ1

The differential of the rotational angle of link 𝐡1𝐢1 was given by:

π‘‘πœƒπ΅1

=1

𝑙2(

𝑦𝑝(𝑑𝑧𝑝 βˆ’ πΏπ‘π‘œπ‘ πœƒ1 βˆ™ π‘‘πœƒ1) βˆ’ (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ1)𝑑𝑦𝑝,

(𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ1)(𝑑π‘₯𝑝 + πΏπ‘ π‘–π‘›πœƒ1 βˆ™ π‘‘πœƒ1) βˆ’ (π‘₯𝑝 + π‘Ÿ βˆ’ 𝑅 βˆ’ πΏπ‘π‘œπ‘ πœƒ1)(𝑑𝑧𝑝 βˆ’ πΏπ‘π‘œπ‘ πœƒ1 βˆ™ π‘‘πœƒ1),

(π‘₯𝑝 + π‘Ÿ βˆ’ 𝑅 βˆ’ πΏπ‘π‘œπ‘ πœƒ1)𝑑𝑦𝑝 βˆ’ 𝑦𝑝(𝑑π‘₯𝑝 + πΏπ‘ π‘–π‘›πœƒ1 βˆ™ π‘‘πœƒ1)

)

= (

𝐹1(𝑑𝑧𝑝 βˆ’ 𝐾1𝑐 βˆ™ π‘‘πœƒ1) βˆ’ 𝐹2 βˆ™ 𝑑𝑦𝑝,

𝐹2(𝑑π‘₯𝑝 + 𝐾1𝑠 βˆ™ π‘‘πœƒ1) βˆ’ 𝐹3(𝑑𝑧𝑝 βˆ’ 𝐾1𝑐 βˆ™ π‘‘πœƒ1),

𝐹3 βˆ™ 𝑑𝑦𝑝 βˆ’ 𝐹1(𝑑π‘₯𝑝 + 𝐾1𝑠 βˆ™ π‘‘πœƒ1)

)

If the payload underwent an infinitesimal displacement, there would be a corresponded

position change for the link group 𝐴1𝐡1 βˆ’ 𝐡1𝐢1. The work needed to move the link group from its

original location was represented by:

π‘ŠπΏπΊ1 = π‘Šπ΄1𝐡1 +π‘Šπ΅1𝐢1

= π‘Šπ΄1𝐡1,πΊπ‘Ÿπ‘Žπ‘£π‘–π‘‘π‘¦ +π‘Šπ΄1𝐡1,π‘…π‘œπ‘‘π‘Žπ‘‘π‘–π‘œπ‘› +π‘Šπ΅1𝐢1,πΊπ‘Ÿπ‘Žπ‘£π‘–π‘‘π‘¦ +π‘Šπ΅1𝐢1,π‘‡π‘Ÿπ‘Žπ‘›π‘ π‘™π‘Žπ‘‘π‘–π‘œπ‘› +π‘Šπ΅1𝐢1,π‘…π‘œπ‘‘π‘Žπ‘‘π‘–π‘œπ‘›

= (π‘šπΏπ‘” βˆ™ 𝛿𝑀1𝑧 + πΌπΏπœƒ1̈ βˆ™ π‘‘πœƒ1) + (π‘šπ‘™π‘” βˆ™ 𝛿𝑁1𝑧 +π‘šπ‘™π‘Žπ‘1 βˆ™ 𝛿𝑁1 + πΌπ‘™πœ”π΅1Μ‡ βˆ™ π‘‘πœƒπ΅1)

, where 𝛿𝑀1𝑧 and 𝛿𝑁1𝑧 represented the displacement of M1 and N1 in z-direction, 𝐼𝐿 and 𝐼𝑙

represented the moment of inertia of link 𝐴1𝐡1 and 𝐡1𝐢1 rotating around the axes that went through

Page 6: The Visualization and Optimization of the Dynamic

𝐴1 and 𝐡1 respectively, π‘Žπ‘1 represented the acceleration of point 𝑁1, and πœ”π΅1Μ‡ represented the

angular acceleration of link 𝐡1𝐢1.

π‘Žπ‘1 =𝑑

𝑑𝑑(𝑑

𝑑𝑑𝑂𝑁1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— ) = (π‘Žπ‘1π‘₯, π‘Žπ‘1𝑦, π‘Žπ‘1𝑧)

πœ”π΅1Μ‡ =𝑑

𝑑𝑑(πœ”π΅1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—) = (πœ”π΅1π‘₯Μ‡ , πœ”π΅1𝑦̇ , πœ”π΅1𝑧̇ )

Based on the expressions of 𝑑

𝑑𝑑𝑂𝑀1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— and

𝑑

𝑑𝑑𝑂𝑁1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— ,

𝛿𝑀1𝑧 =1

2πΏπ‘π‘œπ‘ πœƒ1 βˆ™ π‘‘πœƒ1 =

1

2𝐾1𝑐 βˆ™ π‘‘πœƒ1

𝛿𝑁1 = (1

2(βˆ’πΏπ‘ π‘–π‘›πœƒ1 βˆ™ π‘‘πœƒ1 + 𝑑π‘₯𝑝),

1

2𝑑𝑦𝑝,

1

2(πΏπ‘π‘œπ‘ πœƒ1 βˆ™ π‘‘πœƒ1 + 𝑑𝑧𝑝))

= (1

2(βˆ’πΎ1𝑠 βˆ™ π‘‘πœƒ1 + 𝑑π‘₯𝑝),

1

2𝑑𝑦𝑝,

1

2(𝐾1𝑐 βˆ™ π‘‘πœƒ1 + 𝑑𝑧𝑝))

𝛿𝑁1𝑧 =1

2(πΏπ‘π‘œπ‘ πœƒ1 βˆ™ π‘‘πœƒ1 + 𝑑𝑧𝑝) =

1

2(𝐾1𝑐 βˆ™ π‘‘πœƒ1 + 𝑑𝑧𝑝)

Therefore, the work equation could be expanded as:

π‘Šπ΄1𝐡1 +π‘Šπ΅1𝐢1

= π‘šπΏπ‘” βˆ™1

2𝐾1𝑐 βˆ™ π‘‘πœƒ1 + πΌπΏπœƒ1̈ βˆ™ π‘‘πœƒ1 +π‘šπ‘™π‘” βˆ™

1

2(𝐾1𝑐 βˆ™ π‘‘πœƒ1 + 𝑑𝑧𝑝)

+π‘šπ‘™ [π‘Žπ‘1π‘₯ βˆ™1

2(βˆ’πΎ1𝑠 βˆ™ π‘‘πœƒ1 + 𝑑π‘₯𝑝) + π‘Žπ‘1𝑦 βˆ™

1

2𝑑𝑦𝑝 + π‘Žπ‘1𝑧 βˆ™

1

2(𝐾1𝑐 βˆ™ π‘‘πœƒ1 + 𝑑𝑧𝑝)]

+𝐼𝑙 [πœ”π΅1π‘₯Μ‡ (𝐹1(𝑑𝑧𝑝 βˆ’ 𝐾1𝑐 βˆ™ π‘‘πœƒ1) βˆ’ 𝐹2 βˆ™ 𝑑𝑦𝑝)

+ πœ”π΅1𝑦̇ (𝐹2(𝑑π‘₯𝑝 + 𝐾1𝑠 βˆ™ π‘‘πœƒ1) βˆ’ 𝐹3(𝑑𝑧𝑝 βˆ’ 𝐾1𝑐 βˆ™ π‘‘πœƒ1)) +Μ‡

πœ”π΅1𝑧̇ (𝐹3 βˆ™ 𝑑𝑦𝑝

βˆ’ 𝐹1(𝑑π‘₯𝑝 + 𝐾1𝑠 βˆ™ π‘‘πœƒ1))]

Page 7: The Visualization and Optimization of the Dynamic

= (π‘šπΏπ‘” βˆ™1

2𝐾1𝑐 + πΌπΏπœƒ1̈ +π‘šπ‘™π‘” βˆ™

1

2𝐾1𝑐 βˆ’π‘šπ‘™π‘Žπ‘1π‘₯ βˆ™

1

2𝐾1𝑠 +π‘šπ‘™π‘Žπ‘1𝑧 βˆ™

1

2𝐾1𝑐 βˆ’ πΌπ‘™πœ”π΅1π‘₯Μ‡ 𝐹1𝐾1𝑐

+ πΌπ‘™πœ”π΅1𝑦̇ 𝐹2𝐾1𝑠 + πΌπ‘™πœ”π΅1𝑦̇ 𝐹3𝐾1𝑐 βˆ’ πΌπ‘™πœ”π΅1𝑧̇ 𝐹1𝐾1𝑠) π‘‘πœƒ1

+ (π‘šπ‘™π‘Žπ‘1π‘₯ βˆ™1

2+ πΌπ‘™πœ”π΅1𝑦̇ 𝐹2 βˆ’ πΌπ‘™πœ”π΅1𝑧̇ 𝐹1)𝑑π‘₯𝑝

+ (π‘šπ‘™π‘Žπ‘1𝑦 βˆ™1

2βˆ’ πΌπ‘™πœ”π΅1π‘₯Μ‡ 𝐹2 + πΌπ‘™πœ”π΅1𝑧̇ 𝐹3)𝑑𝑦𝑝

+ (π‘šπ‘™π‘Žπ‘1𝑧 βˆ™1

2+ πΌπ‘™πœ”π΅1π‘₯Μ‡ 𝐹1 βˆ’ πΌπ‘™πœ”π΅1𝑦̇ 𝐹3 +π‘šπ‘™π‘” βˆ™

1

2) 𝑑𝑧𝑝

= π‘‡π΄π‘‘πœƒ1 + 𝑇11𝑑π‘₯𝑝 + 𝑇12𝑑𝑦𝑝 + 𝑇13𝑑𝑧𝑝

The work equations for link group 𝐴2𝐡2 βˆ’ 𝐡2𝐢2 and link group 𝐴3𝐡3 βˆ’ 𝐡3𝐢3 could be

derived via same procedures. (Their positions would also change if the payload moved) To keep

the logic clear, only the final results were quoted here and the detailed expressions could be found

in the Appendix.

π‘Šπ΄2𝐡2 +π‘Šπ΅2𝐢2 = π‘‡π΅π‘‘πœƒ2 + 𝑇21𝑑π‘₯𝑝 + 𝑇22𝑑𝑦𝑝 + 𝑇23𝑑𝑧𝑝

π‘Šπ΄3𝐡3 +π‘Šπ΅3𝐢3 = π‘‡πΆπ‘‘πœƒ3 + 𝑇31𝑑π‘₯𝑝 + 𝑇32𝑑𝑦𝑝 + 𝑇33𝑑𝑧𝑝

B. Payload Dynamics

The work to move the end effector for an infinitesimal displacement 𝛿𝑃 was given by:

π‘Šπ‘π‘Žπ‘¦π‘™π‘œπ‘Žπ‘‘ = π‘šπ‘ƒπ‘” βˆ™ 𝛿𝑃𝑧 +π‘šπ‘ƒπ‘Žπ‘ƒ βˆ™ 𝛿𝑃

, where 𝛿𝑃 = (𝑑π‘₯𝑝, 𝑑𝑦𝑝, 𝑑𝑧𝑝), 𝛿𝑃𝑧 = 𝑑𝑧𝑝, and π‘Žπ‘ƒ = (π‘Žπ‘ƒπ‘₯, π‘Žπ‘ƒπ‘¦, π‘Žπ‘ƒπ‘§).

Therefore, the payload work could be written as:

π‘Šπ‘π‘Žπ‘¦π‘™π‘œπ‘Žπ‘‘ = π‘šπ‘ƒπ‘” βˆ™ 𝑑𝑧𝑝 +π‘šπ‘ƒπ‘Žπ‘ƒπ‘₯𝑑π‘₯𝑝 +π‘šπ‘ƒπ‘Žπ‘ƒπ‘¦π‘‘π‘¦π‘ +π‘šπ‘ƒπ‘Žπ‘ƒπ‘§π‘‘π‘§π‘

C. The Torque Formula

By the energy conservation principle (or the d’Alembert principle), neglecting the friction,

the work done to move the links and the payload equaled the work outputted by the three motors.

Namely,

𝜏1π‘‘πœƒ1 + 𝜏2π‘‘πœƒ2 + 𝜏3π‘‘πœƒ3 +π‘Šπ‘’π‘₯π‘‘π‘’π‘Ÿπ‘›π‘Žπ‘™ = 0

, where 𝜏1, 𝜏2, 𝜏3 represented the torque the motor generated, and

π‘Šπ‘’π‘₯π‘‘π‘’π‘Ÿπ‘›π‘Žπ‘™ = π‘Šπ΄1𝐡1 +π‘Šπ΅1𝐢1 +π‘Šπ΄2𝐡2 +π‘Šπ΅2𝐢2 +π‘Šπ΄3𝐡3 +π‘Šπ΅3𝐢3 +π‘Šπ‘π‘Žπ‘¦π‘™π‘œπ‘Žπ‘‘

(1)

Page 8: The Visualization and Optimization of the Dynamic

= (π‘‡π΄π‘‘πœƒ1 + 𝑇11𝑑π‘₯𝑝 + 𝑇12𝑑𝑦𝑝 + 𝑇13𝑑𝑧𝑝) + (π‘‡π΅π‘‘πœƒ2 + 𝑇21𝑑π‘₯𝑝 + 𝑇22𝑑𝑦𝑝 + 𝑇23𝑑𝑧𝑝)

+ (π‘‡πΆπ‘‘πœƒ3 + 𝑇31𝑑π‘₯𝑝 + 𝑇32𝑑𝑦𝑝 + 𝑇33𝑑𝑧𝑝)

+ (π‘šπ‘ƒπ‘” βˆ™ 𝑑𝑧𝑝 +π‘šπ‘ƒπ‘Žπ‘ƒπ‘₯𝑑π‘₯𝑝 +π‘šπ‘ƒπ‘Žπ‘ƒπ‘¦π‘‘π‘¦π‘ +π‘šπ‘ƒπ‘Žπ‘ƒπ‘§π‘‘π‘§π‘)

= π‘‡π΄π‘‘πœƒ1 + π‘‡π΅π‘‘πœƒ2 + π‘‡πΆπ‘‘πœƒ3 + (𝑇11 + 𝑇21 + 𝑇31 +π‘šπ‘ƒπ‘Žπ‘ƒπ‘₯)𝑑π‘₯𝑝

+ (𝑇12 + 𝑇22 + 𝑇32 +π‘šπ‘ƒπ‘Žπ‘ƒπ‘¦)𝑑𝑦𝑝 + (𝑇13 + 𝑇23 + 𝑇33 +π‘šπ‘ƒπ‘Žπ‘ƒπ‘§ +π‘šπ‘ƒπ‘”)𝑑𝑧𝑝

= π‘‡π΄π‘‘πœƒ1 + π‘‡π΅π‘‘πœƒ2 + π‘‡πΆπ‘‘πœƒ3 +π‘ˆ1𝑑π‘₯𝑝 + π‘ˆ2𝑑𝑦𝑝 + π‘ˆ3𝑑𝑧𝑝

The manipulator Jacobian, which would be derived in the next section, established the

connection between the end effector spatial velocity and the motor angular velocity. For the delta

robot, the manipulator Jacobian J was a 3-by-3 matrix since there was no rotational motion for the

moving platform. From the expression 𝑿�̇� = 𝑱 βˆ™ οΏ½Μ‡οΏ½, the differentials of the end effector translational

displacement could be converted to the differentials of the motor rotational angles.

π‘₯οΏ½Μ‡οΏ½ = 𝐽11πœƒ1Μ‡ + 𝐽12πœƒ2Μ‡ + 𝐽13πœƒ3Μ‡ β†’ 𝑑π‘₯𝑝 = 𝐽11π‘‘πœƒ1 + 𝐽12π‘‘πœƒ2 + 𝐽13π‘‘πœƒ3

𝑦�̇� = 𝐽21πœƒ1Μ‡ + 𝐽22πœƒ2Μ‡ + 𝐽23πœƒ3Μ‡ β†’ 𝑑𝑦𝑝 = 𝐽21π‘‘πœƒ1 + 𝐽22π‘‘πœƒ2 + 𝐽23π‘‘πœƒ3

𝑧�̇� = 𝐽31πœƒ1Μ‡ + 𝐽32πœƒ2Μ‡ + 𝐽33πœƒ3Μ‡ β†’ 𝑑𝑧𝑝 = 𝐽31π‘‘πœƒ1 + 𝐽32π‘‘πœƒ2 + 𝐽33π‘‘πœƒ3

Therefore, the last half of equation (2) could be written as:

π‘ˆ1𝑑π‘₯𝑝 + π‘ˆ2𝑑𝑦𝑝 + π‘ˆ3𝑑𝑧𝑝

= (π‘ˆ1𝐽11 + π‘ˆ2𝐽21 + π‘ˆ3𝐽31)π‘‘πœƒ1 + (π‘ˆ1𝐽12 + π‘ˆ2𝐽22 + π‘ˆ3𝐽32)π‘‘πœƒ2 + (π‘ˆ1𝐽13 + π‘ˆ2𝐽23 + π‘ˆ3𝐽33)π‘‘πœƒ3

Equation (1) held true in all circumstances. Thus the motor torques were given by:

𝜏1 = βˆ’(𝑇𝐴 + π‘ˆ1𝐽11 + π‘ˆ2𝐽21 + π‘ˆ3𝐽31)

𝜏2 = βˆ’(𝑇𝐡 + π‘ˆ1𝐽12 + π‘ˆ2𝐽22 + π‘ˆ3𝐽32)

𝜏3 = βˆ’(𝑇𝐢 + π‘ˆ1𝐽13 + π‘ˆ2𝐽23 + π‘ˆ3𝐽33)

2. Manipulator Jacobian

A. Inverse Kinematics

The length of the forearm was constant. Namely, ‖𝐡𝑖𝐢𝑖⃗⃗ βƒ—βƒ— βƒ—βƒ— βƒ—β€– = 𝑙. Thus the following equations

could be written down: (the expressions of 𝐡𝑖𝐢𝑖⃗⃗ βƒ—βƒ— βƒ—βƒ— βƒ— could be found above, and let (π‘Ÿ βˆ’ 𝑅) = 𝐷.)

βˆ₯ 𝐡1𝐢1βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— βˆ₯2= 𝑙2 = (π‘₯𝑝 + 𝐷 βˆ’ πΏπ‘π‘œπ‘ πœƒ1)2+ 𝑦𝑝

2 + (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ1)2

= π‘₯𝑝2 + 𝐷2 + 𝐿2 cos2 πœƒ1 + 2π‘₯𝑝𝐷 βˆ’ 2π‘₯π‘πΏπ‘π‘œπ‘ πœƒ1 βˆ’ 2π·πΏπ‘π‘œπ‘ πœƒ1 + 𝑦𝑝

2 + 𝑧𝑝2

+ 𝐿2 sin2 πœƒ1 βˆ’ 2πΏπ‘§π‘π‘ π‘–π‘›πœƒ1

(2)

Page 9: The Visualization and Optimization of the Dynamic

β‡’ βˆ’2𝐿(π‘₯𝑝 + 𝐷)π‘π‘œπ‘ πœƒ1 βˆ’ 2πΏπ‘§π‘π‘ π‘–π‘›πœƒ1 + (π‘₯𝑝2 + 𝑦𝑝

2 + 𝑧𝑝2 + 𝐷2 + 𝐿2 + 2π‘₯𝑝𝐷 βˆ’ 𝑙

2) = 0

β‡’ 𝑀1π‘π‘œπ‘ πœƒ1 + 𝑁1π‘ π‘–π‘›πœƒ1 + 𝑂1 = 0

The second forearm:

βˆ₯ 𝐡2𝐢2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— βˆ₯2= 𝑙2 = (π‘₯𝑝 βˆ’1

2𝐷 +

1

2πΏπ‘π‘œπ‘ πœƒ2)

2

+ (𝑦𝑝 +√3

2𝐷 βˆ’

√3

2πΏπ‘π‘œπ‘ πœƒ2)

2

+ (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ2)2

= π‘₯𝑝2 +

1

4𝐷2 +

1

4𝐿2 π‘π‘œπ‘ 2 πœƒ2 βˆ’ π‘₯𝑝𝐷 + π‘₯π‘πΏπ‘π‘œπ‘ πœƒ2 βˆ’

1

2π·πΏπ‘π‘œπ‘ πœƒ2 + 𝑦𝑝

2 +3

4𝐷2 +

3

4𝐿2 π‘π‘œπ‘ 2 πœƒ2

+ √3𝑦𝑝𝐷 βˆ’ √3π‘¦π‘πΏπ‘π‘œπ‘ πœƒ2 βˆ’3

2π·πΏπ‘π‘œπ‘ πœƒ2 + 𝑧𝑝

2 + 𝐿2 𝑠𝑖𝑛2 πœƒ2 βˆ’ 2πΏπ‘§π‘π‘ π‘–π‘›πœƒ2

β‡’ 𝐿 (π‘₯𝑝 βˆ’1

2𝐷 βˆ’ √3𝑦𝑝 βˆ’

3

2𝐷) π‘π‘œπ‘ πœƒ2 + (βˆ’2𝐿𝑧𝑝)π‘ π‘–π‘›πœƒ2

+ (π‘₯𝑝2 + 𝑦𝑝

2 + 𝑧𝑝2 + 𝐷2 + 𝐿2 βˆ’ π‘₯𝑝𝐷 + √3𝑦𝑝𝐷 βˆ’ 𝑙

2) = 0

β‡’ 𝑀2π‘π‘œπ‘ πœƒ2 + 𝑁2π‘ π‘–π‘›πœƒ2 + 𝑂2 = 0

The third forearm:

βˆ₯ 𝐡3𝐢3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— βˆ₯2= 𝑙2 = (π‘₯𝑝 βˆ’1

2𝐷 +

1

2πΏπ‘π‘œπ‘ πœƒ3)

2

+ (𝑦𝑝 βˆ’βˆš3

2𝐷 +

√3

2πΏπ‘π‘œπ‘ πœƒ3)

2

+ (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ3)2

= π‘₯𝑝2 +

1

4𝐷2 +

1

4𝐿2 cos2 πœƒ3 βˆ’ π‘₯𝑝𝐷 + π‘₯π‘πΏπ‘π‘œπ‘ πœƒ3 βˆ’

1

2π·πΏπ‘π‘œπ‘ πœƒ3 + 𝑦𝑝

2 +3

4𝐷2 +

3

4𝐿2 cos2 πœƒ3

βˆ’ √3𝑦𝑝𝐷 + √3π‘¦π‘πΏπ‘π‘œπ‘ πœƒ3 βˆ’3

2π·πΏπ‘π‘œπ‘ πœƒ3 + 𝑧𝑝

2 + 𝐿2 sin2 πœƒ3 βˆ’ 2πΏπ‘§π‘π‘ π‘–π‘›πœƒ3

β‡’ 𝐿 (π‘₯𝑝 βˆ’1

2𝐷 + √3𝑦𝑝 βˆ’

3

2𝐷) π‘π‘œπ‘ πœƒ3 + (βˆ’2𝐿𝑧𝑝)π‘ π‘–π‘›πœƒ3

+ (π‘₯𝑝2 + 𝑦𝑝

2 + 𝑧𝑝2 + 𝐷2 + 𝐿2 βˆ’ π‘₯𝑝𝐷 βˆ’ √3𝑦𝑝𝐷 βˆ’ 𝑙

2) = 0

β‡’ 𝑀3π‘π‘œπ‘ πœƒ3 + 𝑁3π‘ π‘–π‘›πœƒ3 + 𝑂3 = 0

For equations of the form π‘€π‘π‘œπ‘ πœƒ + π‘π‘ π‘–π‘›πœƒ + 𝑂 = 0, tangent half-angle substitution could be

applied to find the solution. Let 𝑑 = tan (πœƒ/2)

β‡’ π‘π‘œπ‘ πœƒ =1 βˆ’ 𝑑2

1 + 𝑑2, π‘ π‘–π‘›πœƒ =

2𝑑

1 + 𝑑2

β‡’ 𝑀1 βˆ’ 𝑑2

1 + 𝑑2+ 𝑁

2𝑑

1 + 𝑑2+𝑂 = 0

β‡’ 𝑀(1 βˆ’ 𝑑2) + 2𝑁𝑑 + 𝑂(1 + 𝑑2) = 0 β‡’ (𝑂 βˆ’π‘€)𝑑2 + 2𝑁𝑑 + (𝑀 + 𝑂) = 0

β‡’ 𝑑 =βˆ’2𝑁 Β± √4𝑁2 βˆ’ 4(𝑂 βˆ’π‘€)(𝑂 +𝑀)

2(𝑂 βˆ’π‘€)=βˆ’π‘ Β± βˆšπ‘2 βˆ’ 𝑂2 +𝑀2

𝑂 βˆ’π‘€

(3)

(4)

(5)

Page 10: The Visualization and Optimization of the Dynamic

β‡’ πœƒ = 2 tanβˆ’1 𝑑

Therefore, the solutions of the robot inverse kinematics were given by:

𝑑𝑖 =βˆ’π‘π‘– Β±βˆšπ‘π‘–

2 βˆ’ 𝑂𝑖2 +𝑀𝑖

2

𝑂𝑖 βˆ’π‘€π‘–, πœƒπ‘– = 2 tan

βˆ’1 𝑑𝑖

, where 𝑀𝑖, 𝑁𝑖 and 𝑂𝑖 were functions of (π‘₯𝑝, 𝑦𝑝, 𝑧𝑝). The two solutions for the rotational angle

corresponded to the elbow-out and elbow-in configuration. (Fig.4)

Fig.4. The possible link configurations of the Delta robot: the elbow-out configurations were

represented by black lines (𝐴1 βˆ’ 𝐡1 βˆ’ 𝐢1), and the elbow-in configurations were represented by

blue lines (𝐴1 βˆ’ 𝐡1β€² βˆ’ 𝐢1) for conditions (a) where an elbow could be above the XY plane, the robot

base, and (b) where all elbows were below the x-y plane.

Angle Determination Logic: depending on the location of the end effector, both the elbow-

out and elbow-in configuration could be under the XY plane (Fig.4b); another circumstance was

that the elbow-out configuration exceeded the XY plane but the elbow-in configuration remained

beneath it. (Fig.4a) Since the upper link was not allowed to rotate above the XY plane, the elbow-

out configuration in Fig.4a would not be accepted. For the same reason, the circumstance where

both the elbow-out and elbow-in configuration exceeded the XY plane had not been shown here.

In order to avoid singularities during robot operation, only the elbow-out configuration was

allowed in the process of searching the reachable workspace. (This statement would be discussed

in detail later.) Thus the rotational angle choice reduced from total six to one. (Elbow-out in Fig.4b)

B. Manipulator Jacobian

The manipulator Jacobian could be calculated by taking the time derivatives of the inverse

kinematics equations. Start from equation (3):

βˆ’2𝐿(π‘₯οΏ½Μ‡οΏ½π‘π‘œπ‘ πœƒ1 βˆ’ π‘₯π‘π‘ π‘–π‘›πœƒ1πœƒ1Μ‡) + 2πΏπ·π‘ π‘–π‘›πœƒ1πœƒ1Μ‡ βˆ’ 2𝐿(π‘§οΏ½Μ‡οΏ½π‘ π‘–π‘›πœƒ1 + π‘§π‘π‘π‘œπ‘ πœƒ1πœƒ1Μ‡)

+(2π‘₯𝑝π‘₯οΏ½Μ‡οΏ½ + 2𝑦𝑝𝑦�̇� + 2𝑧𝑝𝑧�̇� + 2𝐷π‘₯οΏ½Μ‡οΏ½) = 0

Page 11: The Visualization and Optimization of the Dynamic

Rewritten as:

(βˆ’2πΏπ‘π‘œπ‘ πœƒ1 + 2π‘₯𝑝 + 2𝐷)π‘₯οΏ½Μ‡οΏ½ + (2𝑦𝑝)𝑦�̇� + (βˆ’2πΏπ‘ π‘–π‘›πœƒ1 + 2𝑧𝑝)𝑧�̇�= βˆ’(2𝐿π‘₯π‘π‘ π‘–π‘›πœƒ1 + 2πΏπ·π‘ π‘–π‘›πœƒ1 βˆ’ 2πΏπ‘§π‘π‘π‘œπ‘ πœƒ1)πœƒ1Μ‡

β‡’ π‘Ž11π‘₯οΏ½Μ‡οΏ½ + π‘Ž12𝑦�̇� + π‘Ž13𝑧�̇� = 𝑏11πœƒ1Μ‡

The time derivative of equation (4):

𝐿(π‘₯οΏ½Μ‡οΏ½π‘π‘œπ‘ πœƒ2 βˆ’ π‘₯π‘π‘ π‘–π‘›πœƒ2πœƒ2Μ‡) +1

2πΏπ·π‘ π‘–π‘›πœƒ2πœƒ2Μ‡ βˆ’ √3𝐿(π‘¦οΏ½Μ‡οΏ½π‘π‘œπ‘ πœƒ2 βˆ’ π‘¦π‘π‘ π‘–π‘›πœƒ2πœƒ2Μ‡) +

3

2πΏπ·π‘ π‘–π‘›πœƒ2πœƒ2Μ‡

βˆ’ 2𝐿(π‘§οΏ½Μ‡οΏ½π‘ π‘–π‘›πœƒ2 + π‘§π‘π‘π‘œπ‘ πœƒ2πœƒ2Μ‡) + (2π‘₯𝑝π‘₯οΏ½Μ‡οΏ½ + 2𝑦𝑝𝑦�̇� + 2𝑧𝑝𝑧�̇� βˆ’ 𝐷π‘₯οΏ½Μ‡οΏ½ + √3𝐷𝑦�̇�) = 0

Rewritten as:

(πΏπ‘π‘œπ‘ πœƒ2 + 2π‘₯𝑝 βˆ’ 𝐷)π‘₯οΏ½Μ‡οΏ½ + (βˆ’βˆš3πΏπ‘π‘œπ‘ πœƒ2 + 2𝑦𝑝 + √3𝐷)𝑦�̇� + (βˆ’2πΏπ‘ π‘–π‘›πœƒ2 + 2𝑧𝑝)𝑧�̇�

= βˆ’(βˆ’πΏπ‘₯π‘π‘ π‘–π‘›πœƒ2 + √3πΏπ‘¦π‘π‘ π‘–π‘›πœƒ2 + 2πΏπ·π‘ π‘–π‘›πœƒ2 βˆ’ 2πΏπ‘§π‘π‘π‘œπ‘ πœƒ2)πœƒ2Μ‡

β‡’ π‘Ž21π‘₯οΏ½Μ‡οΏ½ + π‘Ž22𝑦�̇� + π‘Ž23𝑧�̇� = 𝑏22πœƒ2Μ‡

The time derivative of equation (5):

𝐿(π‘₯οΏ½Μ‡οΏ½π‘π‘œπ‘ πœƒ3 βˆ’ π‘₯π‘π‘ π‘–π‘›πœƒ3πœƒ3Μ‡) +1

2πΏπ·π‘ π‘–π‘›πœƒ3πœƒ3Μ‡ + √3𝐿(π‘¦οΏ½Μ‡οΏ½π‘π‘œπ‘ πœƒ3 βˆ’ π‘¦π‘π‘ π‘–π‘›πœƒ3πœƒ3Μ‡) +

3

2πΏπ·π‘ π‘–π‘›πœƒ3πœƒ3Μ‡

βˆ’ 2𝐿(π‘§οΏ½Μ‡οΏ½π‘ π‘–π‘›πœƒ3 + π‘§π‘π‘π‘œπ‘ πœƒ3πœƒ3Μ‡) + (2π‘₯𝑝π‘₯οΏ½Μ‡οΏ½ + 2𝑦𝑝𝑦�̇� + 2𝑧𝑝𝑧�̇� βˆ’ 𝐷π‘₯οΏ½Μ‡οΏ½ βˆ’ √3𝐷𝑦�̇�) = 0

Rewritten as:

(πΏπ‘π‘œπ‘ πœƒ3 + 2π‘₯𝑝 βˆ’ 𝐷)π‘₯οΏ½Μ‡οΏ½ + (√3πΏπ‘π‘œπ‘ πœƒ3 + 2𝑦𝑝 βˆ’ √3𝐷)𝑦�̇� + (βˆ’2πΏπ‘ π‘–π‘›πœƒ3 + 2𝑧𝑝)𝑧�̇�

= βˆ’(βˆ’πΏπ‘₯π‘π‘ π‘–π‘›πœƒ3 βˆ’ √3πΏπ‘¦π‘π‘ π‘–π‘›πœƒ3 + 2πΏπ·π‘ π‘–π‘›πœƒ3 βˆ’ 2πΏπ‘§π‘π‘π‘œπ‘ πœƒ3)πœƒ3Μ‡

β‡’ π‘Ž31π‘₯οΏ½Μ‡οΏ½ + π‘Ž32𝑦�̇� + π‘Ž33𝑧�̇� = 𝑏33πœƒ3Μ‡

Thus, the manipulator Jacobian could be written as:

[

π‘Ž11 π‘Ž12 π‘Ž13π‘Ž21 π‘Ž22 π‘Ž23π‘Ž31 π‘Ž32 π‘Ž33

] [

π‘₯�̇�𝑦�̇�𝑧�̇�

] = [

𝑏11 0 00 𝑏22 00 0 𝑏33

] [

πœƒ1Μ‡πœƒ2Μ‡πœƒ3Μ‡

] β‡’ 𝐀�̇� = 𝑩�̇� β‡’ 𝑱 = π‘¨βˆ’πŸπ‘©

C. Motor Angular Acceleration

The angular acceleration could be found by taking the derivative of the Jacobian equation.

𝑑

𝑑𝑑(𝐀�̇�) =

𝑑

𝑑𝑑(𝑩�̇�)

οΏ½Μ‡οΏ½οΏ½Μ‡οΏ½ + π‘¨οΏ½ΜˆοΏ½ = οΏ½Μ‡οΏ½οΏ½Μ‡οΏ½ + π‘©οΏ½ΜˆοΏ½

β‡’ �̈� = π‘©βˆ’πŸ(οΏ½Μ‡οΏ½οΏ½Μ‡οΏ½ + π‘¨οΏ½ΜˆοΏ½ βˆ’ οΏ½Μ‡οΏ½οΏ½Μ‡οΏ½)

Page 12: The Visualization and Optimization of the Dynamic

3. The Workspace Search Algorithm

Starting from a point in space, if the end effector could move at the given speed |𝑣| in any

direction, its velocity vector could reach any point on a sphere with radius π‘Ÿ = |𝑣|. (Here the |𝑣| was the task requirement set by the user.) If the velocity vector could reach the eight vertices of

the cube that circumscribed the sphere, it could reach any point on the cube and thus any point on

the sphere. (Fig.5) The coordinates of the vertices were given by:

𝒗 = [

|𝑣 | |𝑣 | |𝑣 | |𝑣 | βˆ’|𝑣 | βˆ’|𝑣 | βˆ’|𝑣 | βˆ’|𝑣 |

|𝑣 | |𝑣 | βˆ’|𝑣 | βˆ’|𝑣 | |𝑣 | |𝑣 | βˆ’|𝑣 | βˆ’|𝑣 |

|𝑣 | βˆ’|𝑣 | |𝑣 | βˆ’|𝑣 | |𝑣 | βˆ’|𝑣 | |𝑣 | βˆ’|𝑣 |

]

, where each column represented a point that the velocity vector must be able to reach. The

acceleration vertices could be formulated in the same way to generate a 3 Γ— 8 matrix.

Fig.5. The velocity sphere of the moving platform and its circumscribed cube.

At each point in the reachable workspace, 8 Γ— 8 = 64 combinations of moving platform velocity

and acceleration (corresponded to the cube vertices) were substituted into the torque equation and

the Jacobian equation. Then, the maximum value of the torque and angular speed calculated was

used to compare with the parameters of the actual motor installed. If the motor parameter exceeded

this maximum value, this point was inside the dynamic workspace. In other words, if the motor

could operate at the angular speed faster than the calculated maximum, and at the same time output

the torque larger than the calculated maximum, the end effector could reach all the vertices on the

velocity and acceleration cube; thus it could move at the given 𝑣 and π‘Ž of any direction.

Page 13: The Visualization and Optimization of the Dynamic

The reachable workspace was the region where the kinematics equations had a real

solution. Also, the πœƒπ‘– < 0 condition and the elbow-out configuration both needed to be satisfied.

III. Results and Analysis

1. The Reachable Workspace

The reachable workspace contained all the locations the moving platform could arrive. The

kinematics equations indicated that this workspace was only impacted by the geometric size of the

robot. By modifying the robot arm length and keeping the size of the base and moving platform

constant, the following reachable workspaces could be established: (Fig.6)

Fig.6. The reachable workspaces for three combinations of upper arm and forearm of different

lengths. R = 0.06m, r = 0.017m.

As the robot arm length increased, the reachable workspace expanded, which meant the

end effector could span larger volume in space. The user could substitute various length values

(and/or base and moving platform size values) to find the appropriate reachable workspace for his

task requirement.

Page 14: The Visualization and Optimization of the Dynamic

2. The Workspace with Angular Velocity Limits

From the manipulator Jacobian equation, it was shown that the angular speed of the motors

determined the spatial velocity of the end effector. By setting a limit on the motor rotational speed,

some regions inside the reachable workspace would be expunged since the motor could not provide

the required rotational speed for the end effector to have the ability to move in any direction in

these regions with the given (maximum) speed. The following workspace plot reflected the

influence of the motor RPM limit: (Fig.7)

Fig.7. The workspaces where the moving platform could move at |𝑣| = 1m/s in any direction.

L = 0.055m, l = 0.06m, R = 0.06m, r = 0.017m.

As the motor rotational speed limit decreased, the region where the end effector could move

in any direction at the given speed reduced. This region was referred to as the velocity workspace.

3. The Workspace with Torque Limits.

In the torque equations, the moving platform acceleration and the motor torques were

coupled together, which indicated that the motor torque set a limit for the region where the end

effector could move in any direction with the given (maximum) acceleration. Since the motor

rotational speed also appeared in the torque equation, one temporary assumption needed to be

made to allow the torque calculation: the motor could provide any rotational speed at the position

where the algorithm tested the torque requirement. The following workspace plot reflected the

influence of the motor torque limit: (Fig.8)

Page 15: The Visualization and Optimization of the Dynamic

Fig.8. The workspaces where the moving platform could move at |π‘Ž| = 1m/s2 in any direction.

L = 0.055m, l = 0.06m, R = 0.06m, r = 0.017m, mL = 21.3g, ml = 5.8g, mP = 250g.

The workspace in Fig.8 represented the region where the end effector could move in any

direction with the given acceleration, which was constrained by the maximum torque output of the

motor. This region was referred to as the acceleration workspace.

4. The Dynamic Workspace

In the process of constructing the acceleration workspace, the assumption that the motor

could provide any rotational speed inside this workspace was made. Since the actual motor had a

limitation on the RPM, in some regions, this assumption would not be valid. However, these

regions could be excluded by overlapping the velocity workspace onto the acceleration workspace.

(Fig.9) Inside the overlapped region, the motor could rotate at the angular speed less than its

limitation and at the same time produce the torque required. In other words, inside this overlapped

region, the end effector could move with any combination of 𝑣 and π‘Ž given, as long as they did

not exceed the user-defined limits. This region was referred to as the dynamic workspace.

Page 16: The Visualization and Optimization of the Dynamic

Fig.9. The dynamic workspace obtained by overlapping the green velocity space and the red

acceleration workspace together. Inside the overlapped region, the end effector could move at

|𝑣| = 1m/s and |π‘Ž| = 1m/s2 in any direction. Robot information same as that of Fig.8.

The region outside the dynamic workspace indicated one or more conditions had not been

met. For example, the region covered by the velocity workspace but not the acceleration workspace

meant that although the motor could provide the RPM required for the end effector to move with

any 𝑣 , it could not at the same time provide the torque required for the end effector to move with

any π‘Ž in its motion. By modifying the two limits (torque and angular speed), the user could

generate a dynamic workspace that covered the task requirement space, and the data (geometric

size, motor limits, link mass, etc.) could be used to aid the robot selection.

5. The GUI in Design Analysis

The efficiency of the algorithm could be improved by creating a GUI with torque limit and

angular velocity limit as input sliders. (Fig.10) Since the no-load speed and stall torque were

usually used in the motor’s technical datasheets to illustrate its capacity, for convenience, the

sliders would take these two values as input, and the actual torque and angular velocity limit in the

background calculation were chosen to be half of them, where the motor mechanical power output

reached the maximum. (Fig.11)

Page 17: The Visualization and Optimization of the Dynamic

Fig.10. The GUI example. By dragging the two sliders, the user could set the stall torque and no-

load speed (to match with those of the actual motors). Then, click the Run button to generate a

dynamic workspace plot.

Fig.11. The motor torque-speed curve and the mechanical power curve. Point P (midpoint)

represented the actual torque and angular velocity limit values used in the calculation after the user

inputted the no-load speed and stall torque.

Page 18: The Visualization and Optimization of the Dynamic

The primal purpose of the GUI was to rapidly compare the dynamic workspace for different

types of motor. In the following example, for the same Delta robot, three types of motor (Fig.12,

Table.1) produced various dynamics workspaces. (Fig.14) The robot geometric size and mass data

remained same as those of Fig.8 except now mP = 50g. These robot data were obtained from a

specific handheld 3D bio-printing Delta robot designed for medical applications in the Medical

Robotics and Devices Lab. (Fig.13)

Fig.12. The motors listed in Table 1.

Motor model No-load speed

[sec/60Β°] [rad/s]

Stall torque

[oz/in.] [Nm]

Retail price

[USD]

Futaba S9470SV 0.09 11.64 191.7 1.35 99.99

Savox SA-1258TG 0.08 13.09 166.6 1.18 59.99

Futaba S3003 0.19 5.51 56.8 0.40 10.99

Table.1. Motor technical specifications selection

Fig.13. The handheld 3D bio-printing Delta robot

Page 19: The Visualization and Optimization of the Dynamic

Fig.14. The comparison of the dynamic workspaces generated from three types of motors. The T

in the legend represented the torque limit and the AV for the angular velocity limit. (Half of the

stall torque and no-load speed) The UI control buttons had been hided.

From Table 1, the Futaba S9470SV and Savox SA-1258TG motor had similar stall torque

and no-load speed. Thus the dynamic workspaces for them nearly coincided with each other. As a

comparison group, the Futaba S3003 motor provided significantly lower stall torque and no-load

speed. Therefore its corresponding dynamic workspace occupied much less volume than the other

two. Depending on the task requirement, the user could choose suitable motor to reduce cost.

6. The Role of Singularities

In the discussion of the motor rotational angle determination logic (Section II.2.A), it was

mentioned that only the elbow-out configuration in Fig.4b was accepted. If the elbow-in

configuration had also been allowed, the reachable workspace would have expanded greatly.

(Fig.15) However, if both the elbow-out and elbow-in configurations were allowed, there would

be a transition point where the upper arm and forearm formed a straight line. In this circumstance,

this link group fell into the singularity where det(J) = 0. Robot operating near the singularities

could trigger unpredictable consequences, such as losing degrees of freedom, requiring infinite

motor torque, etc. Therefore, to avoid singularities during gesture transition, the elbow-in

configuration had been expunged from the construction of the robot reachable workspace.

Page 20: The Visualization and Optimization of the Dynamic

Fig.15. The reachable workspace comparison. The green workspace allowed both the elbow-out

and elbow-in configurations. Inside the red workspace (elbow-out configuration only), the moving

platform would not experience any singularities. R = 0.06m, r = 0.017m

While the selection of the elbow-out configuration was a specific design choice which

followed the common practice in industry, the equations (torque, manipulator Jacobian) held true

in all circumstances (both elbow-in and elbow-out).

IV. Conclusion

The dynamic solutions of the Delta robot have been derived in detail. The structure of the

reachable workspace and the dynamic workspace as a function of robot size and motor

performance specifications was visualized for a variety of practical situations. The MATLAB

toolkit with GUI provided a convenient way to compare the dynamic workspace for different

motors, enabling future users to visualize dynamic workspaces for any practical robot dimensions

or motor specifications. The dynamic workspace evaluation for a specific Delta robot designed for

medical application had been conducted and the motor influence were shown. Based on the

dynamic solutions derived and the workspace construct algorithm provided, a more user-friendly

robot design toolkit that took all the robot parameters (size, link mass, motor data, etc.) as GUI

inputs and with better (near simultaneous) calculation and graphic plotting performance could be

expected in future.

Page 21: The Visualization and Optimization of the Dynamic

References:

[1] R.L. Williams II, β€œThe Delta Parallel Robot: Kinematics Solutions”, Internet Publication,

www.ohio.edu/people/williar4/html/pdf/DeltaKin.pdf, January 2016.

[2] LΓ³pez, M., Castillo, E., GarcΓ­a, G. and Bashir, A. (2006). Delta robot: Inverse, direct, and

intermediate Jacobians. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of

Mechanical Engineering Science, 220(1), pp.103-109.

[3] P. Guglielmetti and R. Longchamp, "A closed form inverse dynamics model of the delta

parallel robot", IFAC Proceedings Volumes, vol. 27, no. 14, pp. 51-56, 1994.

[4] P. Guglielmetti and R. Longchamp, "Task Space Control of the Delta Parallel Robot", IFAC

Proceedings Volumes, vol. 25, no. 29, pp. 337-342, 1992.

[5] Staicu, Stefan & Carp-Ciocardia, Daniela-Craita. (2003). Dynamic analysis of Clavel’s Delta

parallel robot. Proceedings - IEEE International Conference on Robotics and Automation. 3.

10.1109/ROBOT.2003.1242230.

[6] Zhao, Y & Yang, Z & Huang, Taosheng. (2005). Inverse dynamics of delta robot based on the

principle of virtual work. Transactions of Tianjin University. 11. 268-273.

[7] Codourey, A & Burdet, Etienne. (1997). Body-oriented method for finding a linear form of the

dynamic equation of fully parallel robots. Proceedings - IEEE International Conference on

Robotics and Automation. 2. 1612 - 1618 vol.2. 10.1109/ROBOT.1997.614371.

[8] L. Tsai, "Solving the Inverse Dynamics of a Stewart-Gough Manipulator by the Principle of

Virtual Work", Journal of Mechanical Design, vol. 122, no. 1, p. 3, 2000.

Page 22: The Visualization and Optimization of the Dynamic

Appendix

1. The Link Group 2 (π‘¨πŸ βˆ’π‘©πŸ βˆ’ π‘ͺ𝟐) Dynamics:

𝐴2 = (βˆ’1

2𝑅,√3

2𝑅, 0) 𝐡2 = (βˆ’

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2),

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2), πΏπ‘ π‘–π‘›πœƒ2)

𝑃 = (π‘₯𝑝, 𝑦𝑝, 𝑧𝑝) 𝐢2 = (π‘₯𝑝 βˆ’1

2π‘Ÿ, 𝑦𝑝 +

√3

2π‘Ÿ, 𝑧𝑝)

𝑀2 =𝐴2 + 𝐡22

= (βˆ’1

4(2𝑅 + πΏπ‘π‘œπ‘ πœƒ2),

√3

4(2𝑅 + πΏπ‘π‘œπ‘ πœƒ2),

1

2πΏπ‘ π‘–π‘›πœƒ2)

𝑁2 = (1

2(βˆ’1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2) + π‘₯𝑝 βˆ’

1

2π‘Ÿ) ,

1

2(√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2) + 𝑦𝑝 +

√3

2π‘Ÿ) ,

1

2(πΏπ‘ π‘–π‘›πœƒ2 + 𝑧𝑝))

𝑑

𝑑𝑑𝑂𝑀2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— = (βˆ’

1

4(βˆ’πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡),

√3

4(βˆ’πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡),

1

2πΏπ‘π‘œπ‘ πœƒ2 βˆ™ πœƒ2Μ‡)

𝑑

𝑑𝑑𝑂𝑁2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— = (

1

2(1

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡ + π‘₯οΏ½Μ‡οΏ½) ,

1

2(βˆ’βˆš3

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡ + 𝑦�̇�) ,

1

2(πΏπ‘π‘œπ‘ πœƒ2 βˆ™ πœƒ2Μ‡ + 𝑧�̇�))

𝐡2𝐢2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— = (π‘₯𝑝 βˆ’1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2), 𝑦𝑝 +

√3

2π‘Ÿ βˆ’

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2), 𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ2)

𝑣𝐢2βƒ—βƒ—βƒ—βƒ—βƒ—βƒ— =𝑑

𝑑𝑑𝐡2𝐢2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— = (π‘₯οΏ½Μ‡οΏ½ βˆ’

1

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡, 𝑦�̇� +

√3

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡, 𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ2 βˆ™ πœƒ2Μ‡)

οΏ½βƒ—βƒ—οΏ½ =π‘Ÿ Γ— 𝑣

π‘Ÿ2

𝑑

π‘‘π‘‘πœƒπ΅2 = πœ”π΅2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— =

1

𝑙2(𝐡2𝐢2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— Γ— 𝑣𝐢2βƒ—βƒ—βƒ—βƒ—βƒ—βƒ— )

=1

𝑙2

(

(𝑦𝑝 +

√3

2π‘Ÿ βˆ’

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2)) (𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ2 βˆ™ πœƒ2Μ‡) βˆ’ (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ2) (𝑦�̇� +

√3

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡) ,

(𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ2) (π‘₯οΏ½Μ‡οΏ½ βˆ’1

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡) βˆ’ (π‘₯𝑝 βˆ’

1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2)) (𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ2 βˆ™ πœƒ2Μ‡),

(π‘₯𝑝 βˆ’1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2))(𝑦�̇� +

√3

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡) βˆ’ (𝑦𝑝 +

√3

2π‘Ÿ βˆ’

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2))(π‘₯οΏ½Μ‡οΏ½ βˆ’

1

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ πœƒ2Μ‡)

)

Let

𝐾2𝑠 = πΏπ‘ π‘–π‘›πœƒ2 𝐾2𝑐 = πΏπ‘π‘œπ‘ πœƒ2

Page 23: The Visualization and Optimization of the Dynamic

π‘‘πœƒπ΅2

=1

𝑙2

(

(𝑦𝑝 +

√3

2π‘Ÿ βˆ’

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2)) (𝑑𝑧𝑝 βˆ’ πΏπ‘π‘œπ‘ πœƒ2 βˆ™ π‘‘πœƒ2) βˆ’ (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ2) (𝑑𝑦𝑝 +

√3

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ π‘‘πœƒ2) ,

(𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ2) (𝑑π‘₯𝑝 βˆ’1

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ π‘‘πœƒ2) βˆ’ (π‘₯𝑝 βˆ’

1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2)) (𝑑𝑧𝑝 βˆ’ πΏπ‘π‘œπ‘ πœƒ2 βˆ™ π‘‘πœƒ2),

(π‘₯𝑝 βˆ’1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2))(𝑑𝑦𝑝 +

√3

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ π‘‘πœƒ2) βˆ’ (𝑦𝑝 +

√3

2π‘Ÿ βˆ’

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ2))(𝑑π‘₯𝑝 βˆ’

1

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ π‘‘πœƒ2)

)

=

(

𝐺1(𝑑𝑧𝑝 βˆ’ 𝐾2𝑐 βˆ™ π‘‘πœƒ2) βˆ’ 𝐺2 (𝑑𝑦𝑝 +

√3

2𝐾2𝑠 βˆ™ π‘‘πœƒ2) ,

𝐺2 (𝑑π‘₯𝑝 βˆ’1

2𝐾2𝑠 βˆ™ π‘‘πœƒ2) βˆ’ 𝐺3(𝑑𝑧𝑝 βˆ’ 𝐾2𝑐 βˆ™ π‘‘πœƒ2),

𝐺3 (𝑑𝑦𝑝 +√3

2𝐾2𝑠 βˆ™ π‘‘πœƒ2) βˆ’ 𝐺1 (𝑑π‘₯𝑝 βˆ’

1

2𝐾2𝑠 βˆ™ π‘‘πœƒ2)

)

βˆ‘π‘ŠπΏπΊ2 = π‘Šπ΄2𝐡2 +π‘Šπ΅2𝐢2

= (π‘šπΏπ‘” βˆ™ 𝛿𝑀2𝑧 + πΌπΏπœƒ2̈ βˆ™ π‘‘πœƒ2) + (π‘šπ‘™π‘” βˆ™ 𝛿𝑁2𝑧 +π‘šπ‘™π‘Žπ‘2 βˆ™ 𝛿𝑁2 + πΌπ‘™πœ”π΅2Μ‡ βˆ™ π‘‘πœƒπ΅2)

The acceleration at point 𝑁2 and the angular acceleration of link 𝐡2𝐢2 were represented by:

π‘Žπ‘2 =𝑑

𝑑𝑑(𝑑

𝑑𝑑𝑂𝑁2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— ) = (π‘Žπ‘2π‘₯, π‘Žπ‘2𝑦, π‘Žπ‘2𝑧)

πœ”π΅2Μ‡ =𝑑

𝑑𝑑(πœ”π΅2βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—) = (πœ”π΅2π‘₯Μ‡ , πœ”π΅2𝑦̇ , πœ”π΅2𝑧̇ )

𝛿𝑀2𝑧 =1

2πΏπ‘π‘œπ‘ πœƒ2 βˆ™ π‘‘πœƒ2 =

1

2𝐾2𝑐 βˆ™ π‘‘πœƒ2

𝛿𝑁2 = (1

2(1

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ π‘‘πœƒ2 + 𝑑π‘₯𝑝) ,

1

2(βˆ’βˆš3

2πΏπ‘ π‘–π‘›πœƒ2 βˆ™ π‘‘πœƒ2 + 𝑑𝑦𝑝) ,

1

2(πΏπ‘π‘œπ‘ πœƒ2 βˆ™ π‘‘πœƒ2 + 𝑑𝑧𝑝))

= (1

2(1

2𝐾2𝑠 βˆ™ π‘‘πœƒ2 + 𝑑π‘₯𝑝) ,

1

2(βˆ’βˆš3

2𝐾2𝑠 βˆ™ π‘‘πœƒ2 + 𝑑𝑦𝑝) ,

1

2(𝐾2𝑐 βˆ™ π‘‘πœƒ2 + 𝑑𝑧𝑝))

𝛿𝑁2𝑧 =1

2(πΏπ‘π‘œπ‘ πœƒ2 βˆ™ π‘‘πœƒ2 + 𝑑𝑧𝑝) =

1

2(𝐾2𝑐 βˆ™ π‘‘πœƒ2 + 𝑑𝑧𝑝)

Page 24: The Visualization and Optimization of the Dynamic

π‘Šπ΄2𝐡2 +π‘Šπ΅2𝐢2 = π‘šπΏπ‘” βˆ™1

2𝐾2𝑐 βˆ™ π‘‘πœƒ2 + πΌπΏπœƒ2̈ βˆ™ π‘‘πœƒ2 +π‘šπ‘™π‘” βˆ™

1

2(𝐾2𝑐 βˆ™ π‘‘πœƒ2 + 𝑑𝑧𝑝)

+π‘šπ‘™ [π‘Žπ‘2π‘₯ (1

2(1

2𝐾2𝑠 βˆ™ π‘‘πœƒ2 + 𝑑π‘₯𝑝)) + π‘Žπ‘2𝑦 (

1

2(βˆ’βˆš3

2𝐾2𝑠 βˆ™ π‘‘πœƒ2 + 𝑑𝑦𝑝))

+ π‘Žπ‘2𝑧 (1

2(𝐾2𝑐 βˆ™ π‘‘πœƒ2 + 𝑑𝑧𝑝))]

+ 𝐼𝑙 [πœ”π΅2π‘₯Μ‡ (𝐺1(𝑑𝑧𝑝 βˆ’ 𝐾2𝑐 βˆ™ π‘‘πœƒ2) βˆ’ 𝐺2 (𝑑𝑦𝑝 +√3

2𝐾2𝑠 βˆ™ π‘‘πœƒ2))

+ πœ”π΅2𝑦̇ (𝐺2 (𝑑π‘₯𝑝 βˆ’1

2𝐾2𝑠 βˆ™ π‘‘πœƒ2) βˆ’ 𝐺3(𝑑𝑧𝑝 βˆ’ 𝐾2𝑐 βˆ™ π‘‘πœƒ2))

+ πœ”π΅2𝑧̇ (𝐺3 (𝑑𝑦𝑝 +√3

2𝐾2𝑠 βˆ™ π‘‘πœƒ2) βˆ’ 𝐺1 (𝑑π‘₯𝑝 βˆ’

1

2𝐾2𝑠 βˆ™ π‘‘πœƒ2))]

= (π‘šπΏπ‘” βˆ™1

2𝐾2𝑐 + πΌπΏπœƒ2̈ +π‘šπ‘™π‘” βˆ™

1

2𝐾2𝑐 +π‘šπ‘™π‘Žπ‘2π‘₯ βˆ™

1

4𝐾2𝑠 βˆ’π‘šπ‘™π‘Žπ‘2𝑦 βˆ™

√3

4𝐾2𝑠 +π‘šπ‘™π‘Žπ‘2𝑧 βˆ™

1

2𝐾2𝑐

βˆ’ πΌπ‘™πœ”π΅2π‘₯Μ‡ 𝐺1𝐾2𝑐 βˆ’ πΌπ‘™πœ”π΅2π‘₯Μ‡ 𝐺2 βˆ™βˆš3

2𝐾2𝑠 βˆ’ πΌπ‘™πœ”π΅2𝑦̇ 𝐺2 βˆ™

1

2𝐾2𝑠 + πΌπ‘™πœ”π΅2𝑦̇ 𝐺3𝐾2𝑐

+ πΌπ‘™πœ”π΅2𝑧̇ 𝐺3 βˆ™βˆš3

2𝐾2𝑠 + πΌπ‘™πœ”π΅2𝑧̇ 𝐺1 βˆ™

1

2𝐾2𝑠)π‘‘πœƒ2

+ (π‘šπ‘™π‘Žπ‘2π‘₯ βˆ™1

2+ πΌπ‘™πœ”π΅2𝑦̇ 𝐺2 βˆ’ πΌπ‘™πœ”π΅2𝑧̇ 𝐺1)𝑑π‘₯𝑝

+ (π‘šπ‘™π‘Žπ‘2𝑦 βˆ™1

2βˆ’ πΌπ‘™πœ”π΅2π‘₯Μ‡ 𝐺2 + πΌπ‘™πœ”π΅2𝑧̇ 𝐺3)𝑑𝑦𝑝

+ (π‘šπ‘™π‘Žπ‘2𝑧 βˆ™1

2+ πΌπ‘™πœ”π΅2π‘₯Μ‡ 𝐺1 βˆ’ πΌπ‘™πœ”π΅2𝑦̇ 𝐺3 +π‘šπ‘™π‘” βˆ™

1

2) 𝑑𝑧𝑝

= π‘‡π΅π‘‘πœƒ2 + 𝑇21𝑑π‘₯𝑝 + 𝑇22𝑑𝑦𝑝 + 𝑇23𝑑𝑧𝑝

Page 25: The Visualization and Optimization of the Dynamic

2. The Link Group 3 (π‘¨πŸ‘ βˆ’π‘©πŸ‘ βˆ’ π‘ͺπŸ‘) Dynamics:

𝐴3 = ( βˆ’1

2𝑅,βˆ’

√3

2𝑅, 0) 𝐡3 = (βˆ’

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3),βˆ’

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3), πΏπ‘ π‘–π‘›πœƒ3)

𝑃 = (π‘₯𝑝, 𝑦𝑝, 𝑧𝑝) 𝐢3 = (π‘₯𝑝 βˆ’1

2π‘Ÿ, 𝑦𝑝 βˆ’

√3

2π‘Ÿ, 𝑧𝑝)

𝑀3 =𝐴3 + 𝐡32

= (βˆ’1

4(2𝑅 + πΏπ‘π‘œπ‘ πœƒ3), βˆ’

√3

4(2𝑅 + πΏπ‘π‘œπ‘ πœƒ3),

1

2πΏπ‘ π‘–π‘›πœƒ3)

𝑁3 = (1

2(βˆ’1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3) + π‘₯𝑝 βˆ’

1

2π‘Ÿ) ,

1

2(βˆ’βˆš3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3) + 𝑦𝑝 βˆ’

√3

2π‘Ÿ) ,

1

2(πΏπ‘ π‘–π‘›πœƒ3 + 𝑧𝑝))

𝑑

𝑑𝑑𝑂𝑀3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— = (βˆ’

1

4(βˆ’πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡), βˆ’

√3

4(βˆ’πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡),

1

2πΏπ‘π‘œπ‘ πœƒ3 βˆ™ πœƒ3Μ‡)

𝑑

𝑑𝑑𝑂𝑁3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— = (

1

2(1

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡ + π‘₯οΏ½Μ‡οΏ½) ,

1

2(√3

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡ + 𝑦�̇�) ,

1

2(πΏπ‘π‘œπ‘ πœƒ3 βˆ™ πœƒ3Μ‡ + 𝑧�̇�))

𝐡3𝐢3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— = (π‘₯𝑝 βˆ’1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3), 𝑦𝑝 βˆ’

√3

2π‘Ÿ +

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3), 𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ3)

𝑣𝐢3βƒ—βƒ—βƒ—βƒ—βƒ—βƒ— =𝑑

𝑑𝑑𝐡3𝐢3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— = (π‘₯οΏ½Μ‡οΏ½ βˆ’

1

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡, 𝑦�̇� βˆ’

√3

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡, 𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ3 βˆ™ πœƒ3Μ‡)

οΏ½βƒ—βƒ—οΏ½ =π‘Ÿ Γ— 𝑣

π‘Ÿ2

𝑑

π‘‘π‘‘πœƒπ΅3 = πœ”π΅3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— =

1

𝑙2(𝐡3𝐢3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ— Γ— 𝑣𝐢3βƒ—βƒ—βƒ—βƒ—βƒ—βƒ— )

=1

𝑙2

(

(𝑦𝑝 βˆ’

√3

2π‘Ÿ +

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3)) (𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ3 βˆ™ πœƒ3Μ‡) βˆ’ (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ3) (𝑦�̇� βˆ’

√3

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡) ,

(𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ3) (π‘₯οΏ½Μ‡οΏ½ βˆ’1

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡) βˆ’ (π‘₯𝑝 βˆ’

1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3)) (𝑧�̇� βˆ’ πΏπ‘π‘œπ‘ πœƒ3 βˆ™ πœƒ3Μ‡),

(π‘₯𝑝 βˆ’1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3))(𝑦�̇� βˆ’

√3

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡) βˆ’ (𝑦𝑝 βˆ’

√3

2π‘Ÿ +

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3))(π‘₯οΏ½Μ‡οΏ½ βˆ’

1

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ πœƒ3Μ‡)

)

Let

𝐾3𝑠 = πΏπ‘ π‘–π‘›πœƒ3 𝐾3𝑐 = πΏπ‘π‘œπ‘ πœƒ3

Page 26: The Visualization and Optimization of the Dynamic

π‘‘πœƒπ΅3

=1

𝑙2

(

(𝑦𝑝 βˆ’

√3

2π‘Ÿ +

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3)) (𝑑𝑧𝑝 βˆ’ πΏπ‘π‘œπ‘ πœƒ3 βˆ™ π‘‘πœƒ3) βˆ’ (𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ3) (𝑑𝑦𝑝 βˆ’

√3

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ π‘‘πœƒ3) ,

(𝑧𝑝 βˆ’ πΏπ‘ π‘–π‘›πœƒ3) (𝑑π‘₯𝑝 βˆ’1

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ π‘‘πœƒ3) βˆ’ (π‘₯𝑝 βˆ’

1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3)) (𝑑𝑧𝑝 βˆ’ πΏπ‘π‘œπ‘ πœƒ3 βˆ™ π‘‘πœƒ3),

(π‘₯𝑝 βˆ’1

2π‘Ÿ +

1

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3))(𝑑𝑦𝑝 βˆ’

√3

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ π‘‘πœƒ3) βˆ’ (𝑦𝑝 βˆ’

√3

2π‘Ÿ +

√3

2(𝑅 + πΏπ‘π‘œπ‘ πœƒ3))(𝑑π‘₯𝑝 βˆ’

1

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ π‘‘πœƒ3)

)

=

(

𝐻1(𝑑𝑧𝑝 βˆ’ 𝐾3𝑐 βˆ™ π‘‘πœƒ3) βˆ’ 𝐻2 (𝑑𝑦𝑝 βˆ’

√3

2𝐾3𝑠 βˆ™ π‘‘πœƒ3) ,

𝐻2 (𝑑π‘₯𝑝 βˆ’1

2𝐾3𝑠 βˆ™ π‘‘πœƒ3) βˆ’ 𝐻3(𝑑𝑧𝑝 βˆ’ 𝐾3𝑐 βˆ™ π‘‘πœƒ3),

𝐻3 (𝑑𝑦𝑝 βˆ’βˆš3

2𝐾3𝑠 βˆ™ π‘‘πœƒ3) βˆ’ 𝐻1 (𝑑π‘₯𝑝 βˆ’

1

2𝐾3𝑠 βˆ™ π‘‘πœƒ3)

)

βˆ‘π‘ŠπΏπΊ3 = π‘Šπ΄3𝐡3 +π‘Šπ΅3𝐢3

= (π‘šπΏπ‘” βˆ™ 𝛿𝑀3𝑧 + πΌπΏπœƒ3̈ βˆ™ π‘‘πœƒ3) + (π‘šπ‘™π‘” βˆ™ 𝛿𝑁3𝑧 +π‘šπ‘™π‘Žπ‘3 βˆ™ 𝛿𝑁3 + πΌπ‘™πœ”π΅3Μ‡ βˆ™ π‘‘πœƒπ΅3)

The acceleration at point 𝑁3 and the angular acceleration of link 𝐡3𝐢3 were represented by:

π‘Žπ‘3 =𝑑

𝑑𝑑(𝑑

𝑑𝑑𝑂𝑁3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— ) = (π‘Žπ‘3π‘₯, π‘Žπ‘3𝑦, π‘Žπ‘3𝑧)

πœ”π΅3Μ‡ =𝑑

𝑑𝑑(πœ”π΅3βƒ—βƒ— βƒ—βƒ— βƒ—βƒ— βƒ—) = (πœ”π΅3π‘₯Μ‡ , πœ”π΅3𝑦̇ , πœ”π΅3𝑧̇ )

𝛿𝑀3𝑧 =1

2πΏπ‘π‘œπ‘ πœƒ3 βˆ™ π‘‘πœƒ3 =

1

2𝐾3𝑐 βˆ™ π‘‘πœƒ3

𝛿𝑁3 = (1

2(1

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ π‘‘πœƒ3 + 𝑑π‘₯𝑝) ,

1

2(√3

2πΏπ‘ π‘–π‘›πœƒ3 βˆ™ π‘‘πœƒ3 + 𝑑𝑦𝑝) ,

1

2(πΏπ‘π‘œπ‘ πœƒ3 βˆ™ π‘‘πœƒ3 + 𝑑𝑧𝑝))

= (1

2(1

2𝐾3𝑠 βˆ™ π‘‘πœƒ3 + 𝑑π‘₯𝑝) ,

1

2(√3

2𝐾3𝑠 βˆ™ π‘‘πœƒ3 + 𝑑𝑦𝑝) ,

1

2(𝐾3𝑐 βˆ™ π‘‘πœƒ3 + 𝑑𝑧𝑝))

𝛿𝑁3𝑧 =1

2(πΏπ‘π‘œπ‘ πœƒ3 βˆ™ π‘‘πœƒ3 + 𝑑𝑧𝑝) =

1

2(𝐾3𝑐 βˆ™ π‘‘πœƒ3 + 𝑑𝑧𝑝)

Page 27: The Visualization and Optimization of the Dynamic

π‘Šπ΄3𝐡3 +π‘Šπ΅3𝐢3 = π‘šπΏπ‘” βˆ™1

2𝐾3𝑐 βˆ™ π‘‘πœƒ3 + πΌπΏπœƒ3̈ βˆ™ π‘‘πœƒ3 +π‘šπ‘™π‘” βˆ™

1

2(𝐾3𝑐 βˆ™ π‘‘πœƒ3 + 𝑑𝑧𝑝)

+π‘šπ‘™ [π‘Žπ‘3π‘₯ (1

2(1

2𝐾3𝑠 βˆ™ π‘‘πœƒ3 + 𝑑π‘₯𝑝)) + π‘Žπ‘3𝑦 (

1

2(√3

2𝐾3𝑠 βˆ™ π‘‘πœƒ3 + 𝑑𝑦𝑝))

+ π‘Žπ‘3𝑧 (1

2(𝐾3𝑐 βˆ™ π‘‘πœƒ3 + 𝑑𝑧𝑝))]

+ 𝐼𝑙 [πœ”π΅3π‘₯Μ‡ (𝐻1(𝑑𝑧𝑝 βˆ’ 𝐾3𝑐 βˆ™ π‘‘πœƒ3) βˆ’ 𝐻2 (𝑑𝑦𝑝 βˆ’βˆš3

2𝐾3𝑠 βˆ™ π‘‘πœƒ3))

+ πœ”π΅3𝑦̇ (𝐻2 (𝑑π‘₯𝑝 βˆ’1

2𝐾3𝑠 βˆ™ π‘‘πœƒ3) βˆ’ 𝐻3(𝑑𝑧𝑝 βˆ’ 𝐾3𝑐 βˆ™ π‘‘πœƒ3))

+ πœ”π΅3𝑧̇ (𝐻3 (𝑑𝑦𝑝 βˆ’βˆš3

2𝐾3𝑠 βˆ™ π‘‘πœƒ3) βˆ’ 𝐻1 (𝑑π‘₯𝑝 βˆ’

1

2𝐾3𝑠 βˆ™ π‘‘πœƒ3))]

= (π‘šπΏπ‘” βˆ™1

2𝐾3𝑐 + πΌπΏπœƒ3̈ +π‘šπ‘™π‘” βˆ™

1

2𝐾3𝑐 +π‘šπ‘™π‘Žπ‘3π‘₯ βˆ™

1

4𝐾3𝑠 +π‘šπ‘™π‘Žπ‘3𝑦 βˆ™

√3

4𝐾3𝑠 +π‘šπ‘™π‘Žπ‘3𝑧 βˆ™

1

2𝐾3𝑐

βˆ’ πΌπ‘™πœ”π΅3π‘₯Μ‡ 𝐻1𝐾3𝑐 + πΌπ‘™πœ”π΅3π‘₯Μ‡ 𝐻2 βˆ™βˆš3

2𝐾3𝑠 βˆ’ πΌπ‘™πœ”π΅3𝑦̇ 𝐻2 βˆ™

1

2𝐾3𝑠 + πΌπ‘™πœ”π΅3𝑦̇ 𝐻3𝐾3𝑐

βˆ’ πΌπ‘™πœ”π΅3𝑧̇ 𝐻3 βˆ™βˆš3

2𝐾3𝑠 + πΌπ‘™πœ”π΅3𝑧̇ 𝐻1 βˆ™

1

2𝐾3𝑠)π‘‘πœƒ3

+ (π‘šπ‘™π‘Žπ‘3π‘₯ βˆ™1

2+ πΌπ‘™πœ”π΅3𝑦̇ 𝐻2 βˆ’ πΌπ‘™πœ”π΅3𝑧̇ 𝐻1) 𝑑π‘₯𝑝

+ (π‘šπ‘™π‘Žπ‘3𝑦 βˆ™1

2βˆ’ πΌπ‘™πœ”π΅3π‘₯Μ‡ 𝐻2 + πΌπ‘™πœ”π΅3𝑧̇ 𝐻3) 𝑑𝑦𝑝

+ (π‘šπ‘™π‘Žπ‘3𝑧 βˆ™1

2+ πΌπ‘™πœ”π΅3π‘₯Μ‡ 𝐻1 βˆ’ πΌπ‘™πœ”π΅3𝑦̇ 𝐻3 +π‘šπ‘™π‘” βˆ™

1

2) 𝑑𝑧𝑝

= π‘‡πΆπ‘‘πœƒ3 + 𝑇31𝑑π‘₯𝑝 + 𝑇32𝑑𝑦𝑝 + 𝑇33𝑑𝑧𝑝