# Full Workspace Generation of Serial-link Manipulators by Deep Learning based
Jacobian Estimation

Peiyuan Liao  Kent Artificial Intelligence Laboratory
Kent, Connecticut 06757
Email<EMAIL_ADDRESS>Jiajun Mao  Kent Artificial Intelligence
Laboratory
Kent, Connecticut 06757
Email<EMAIL_ADDRESS>
###### Abstract

Apart from solving complicated problems that require a certain level of
intelligence, fine-tuned deep neural networks can also create fast algorithms
for slow, numerical tasks. In this paper, we introduce an improved version of
[1]’s work, a fast, deep-learning framework capable of generating the full
workspace of serial-link manipulators. The architecture consists of two neural
networks: an estimation net that approximates the manipulator Jacobian, and a
confidence net that measures the confidence of the approximation. We also
introduce M3 (Manipulability Maps of Manipulators), a MATLAB robotics library
based on [2](RTB), the datasets generated by which are used by this work.
Results have shown that not only are the neural networks significantly faster
than numerical inverse kinematics, it also offers superior accuracy when
compared to other machine learning alternatives. Implementations of the
algorithm (based on Keras [3]), including benchmark evaluation script, are
available at https://github.com/liaopeiyuan/Jacobian-Estimation. The M3
Library APIs and datasets are also available at
https://github.com/liaopeiyuan/M3.

##  I Introduction

The algorithm of finding manipulator workspace, the set of obtainable 6-D
poses given a fixed range of reachable parameters, is a well-studied subject,
utilizing various techniques in rigid body kinematics and dynamics. According
to the literature [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]. ,
The notion of workspace can be further developed into the following
subdivisions:

  * •

Reachable Workspace: The set of points end effector could reach with at least
one orientation

  * •

Total Orientation Workspace: The set of points end effector could reach with
all orientation angles in a given range

  * •

Dexterous Workspace: The set of points end effector could reach with all
orientation angles

  * •

Orientation Workspace: The set of orientations that result in a fixed end
effector location

  * •

Constant orientation Workspace: The set of points end effector could reach
with a specific orientation

Thus, a central idea from the current approaches is the controlling of
variables: since displaying $\mathbb{R}^{3}\times SO(3)$ is not possible,
constraints are added to the $SO(3)$ part so that the graph of
$\mathbb{R}^{3}$ can be drawn [19]. However, as pointed out by [1], a
prevalent issue of the current algorithms is that they require specific
software platforms and have bad time complexities. An analysis done in the
same work remarked that a MATLAB implementation yields a pathological
$O(n^{36})$ complexity with numerical inverse kinematics. Thus, a natural
solution comes from the field of pattern recognition and machine learning,
where the problem of manipulator workspace could be reframed into a supervised
learning problem, and thus be learned by a deep neural network. In this work,
we propose such a framework, seen as an improvement of the Subspace Learning
algorithm in [1], where the full workspace of a serial-link manipulator can be
generated from approximating its Jacobian matrix, if exists, at a given pose.

##  II Background Information

###  II-A Manipulator Jacobian

The relationship between the change in joint angles and the change in the
orientation and the coordinates of the end-effector is locally linear, which
means that the spatial velocity of the end-effector can be approximated by
applying a linear transformation to the rate of change of the joint angles.
Consider a basic homogeneous transformation representation of a pose $\xi$. A
first-order difference relationship exists between the angles that define the
pose and the pose itself: [2]

$\begin{split}\frac{d\xi}{d\textit{{q}}}&\approx\frac{\xi(\textit{{q}}+\Delta\textit{{q}})-\xi(\textit{{q}})}{\Delta\textit{{q}}}\\\
&\approx\frac{1}{\Delta\textit{{q}}}\begin{bmatrix}R(\textit{{q}}+\Delta\textit{{q}})-R(\textit{{q}})&\begin{matrix}\Delta
x\\\ \Delta y\\\ \Delta z\end{matrix}\\\ 0_{1\times
3}&0\end{bmatrix}\end{split}$ (1)

The first part of the analysis is trying to transform the upper right part
into the linear velocity of the end-effector. In this paper, a specific
example is examined where the numerical linear velocity at a specific joint
angle is calculated. Figure (1) shows the Fanuc AM120iB/10L, an industrial
6-DOF serial-link manipulator created in [2] using standard Denvait-Hartenberg
parameters. The robot’s pose is currently $\xi\in
SE(3)=\begin{bmatrix}1&0&0&1.02\\\ 0&1&0&0\\\ 0&0&1&-1.06\\\
0&0&0&1\end{bmatrix}$, with joint coordinates of
$\begin{bmatrix}0&0&0&0&0&0\end{bmatrix}$ .

Figure 1: Fanuc Am120iB/10L

Now, consider moving the first joint of the robot by an infinitely small angle
$dq$, approximated by the value $10^{-9}$. Applying Equation (1) results in

$\begin{split}\frac{\partial\xi}{\partial
q_{1}}&\rvert{{\textit{{q}}=\begin{bmatrix}0,0,0,0,0,0\end{bmatrix}}}\\\
&\approx\frac{\mathcal{K}(\begin{bmatrix}0_{1\times
6}\end{bmatrix}+\begin{bmatrix}10^{-9}&0_{1\times
5}\end{bmatrix})-\mathcal{K}(\begin{bmatrix}0_{1\times
6}\end{bmatrix})}{10^{-9}}\\\ &\approx\begin{bmatrix}0&-1&0&0\\\ 1&1&0&1.02\\\
0&0&0&0\\\ 0&0&0&0\end{bmatrix}\end{split}$ (2)

Equating elements from this matrix to those in Equation (1) gives

$\begin{bmatrix}\Delta x\\\ \Delta y\\\ \Delta
z\end{bmatrix}=\begin{bmatrix}0\\\ 1.02\\\ 0\\\ \end{bmatrix}\Delta q_{1}$ (3)

Finally, since velocity is the relationship between distance and time,
dividing both sides by an infinitely small change of time $\Delta t$ gives

$\begin{bmatrix}\dot{x}\\\ \dot{y}\\\ \dot{z}\end{bmatrix}=\begin{bmatrix}0\\\
1.02\\\ 0\\\ \end{bmatrix}\dot{q_{1}}$ (4)

, where $\dot{x}$ stands for the derivative of $x$ with respect to time. This
conversion from the velocity of a single joint to the linear speed of the end-
effector is explainable because as a joint that only rotates on a 2-D plane
and has the initial position parallel to the x-axis, at the very first instant
change in its angle will only result in a rightward end-effector motion.

This process is repeatable for all joints, and once added together, it
demonstrates how each of the joints is affecting end-effector linear velocity.

$\begin{split}&\frac{d\xi}{d\textit{{q}}}\rvert{{\textit{{q}}=\begin{bmatrix}0,0,0,0,0,0\end{bmatrix}}}\\\
&=\frac{\partial\xi}{\partial q_{1}}+\frac{\partial\xi}{\partial
q_{2}}+\dots+\frac{\partial\xi}{\partial q_{6}}\\\
&=\begin{bmatrix}R(\textit{{q}}+\Delta\textit{{q}})-R(\textit{{q}})&\begin{matrix}-1.06q_{2}+1.06q_{3}+0.1q_{5}\\\
1.02q_{1}\\\ -0.87q_{2}+0.1q_{3}\end{matrix}\\\ 0_{1\times
3}&0\end{bmatrix}\end{split}$ (5)

This implies

$\begin{bmatrix}\dot{x}\\\ \dot{y}\\\
\dot{z}\end{bmatrix}=\begin{bmatrix}-1.06\dot{q_{2}}+1.06\dot{q_{3}}+0.1\dot{q_{5}}\\\
1.02\dot{q_{1}}\\\ -0.87\dot{q_{2}}+0.1\dot{q_{3}}\end{bmatrix}$ (6)

Although the analytic relationship between the joint angle velocity and end-
effector linear velocity is still unknown, from equation (6) we can know that
at least when the arm just starts moving, the velocity of joint 1,2,3 and 5
dictates the movement of the end-effector.

For angular velocity relationship, consider the sub-matrix on the upper left
corner in equation (1). Differentiating it results in

$\begin{split}&\frac{\partial\textit{{R}}}{\partial
q_{1}}\rvert{{\textit{{q}}=\begin{bmatrix}0,0,0,0,0,0\end{bmatrix}}}\\\
&\approx\frac{R(\textit{{q}}+\Delta\textit{{q}})-R(\textit{{q}})}{\Delta\textit{{q}}}\dot{q_{1}}\\\
S(\bm{\mathit{\omega}})\textit{{R}}&\approx\frac{R(\textit{{q}}+\Delta\textit{{q}})-R(\textit{{q}})}{\Delta\textit{{q}}}\dot{q_{1}}\\\
S(\bm{\mathit{\omega}})&\approx\frac{R(\textit{{q}}+\Delta\textit{{q}})-R(\textit{{q}})}{\Delta\textit{{q}}}\textit{{R}}^{T}\dot{q_{1}}\\\
\omega&\approx\text{vex}\begin{pmatrix}\frac{R(\textit{{q}}+\Delta\textit{{q}})-R(\textit{{q}})}{\Delta\textit{{q}}}\textit{{R}}^{T}\end{pmatrix}\dot{q_{1}}\\\
\begin{bmatrix}\omega_{x}\\\ \omega_{y}\\\
\omega_{z}\end{bmatrix}&=\begin{bmatrix}0\\\ 0\\\
1\end{bmatrix}\dot{q_{1}}\end{split}$ (7)

,where $\text{vex}(\textit{{S}})$ is the inverse operation of the skew-
symmetric matrix.

Finally, after establishing relationships between the joint angle velocities
and the translational velocity angular velocities separately, we can arrive at
a cumulative representation of this relationship - the manipulator Jacobian.
Taking the derivative of the forward kinematics function, we obtain

$\begin{split}\frac{d\xi}{d\textit{{q}}}&=\frac{d}{d\textit{{q}}}\mathcal{K}(\textit{{q}})\\\
\bm{\mathit{\nu}}&=J(\textit{{q}})\dot{\textit{{q}}}\end{split}$ (8)

,where

$\begin{split}\bm{\mathit{\nu}}&=\begin{bmatrix}v_{x}&v_{y}&v_{z}&\omega_{x}&\omega_{y}&\omega_{z}\end{bmatrix}\\\
J(\textbf{{q}})&\in\mathbb{R}^{6\times N}\end{split}$

,$N$ being the degree-of-freedom of the robot.

###  II-B Workspace Mapping Seen as a Supervised Learning Problem

According to [20], a supervised learning problem can be seen as finding a
random vector x’s corresponding value y by estimating
$p(\textbf{y}|\textbf{x})$. This work uses the following steps to transform a
workspace mapping problem to a supervised learning problem [1]:

  * •

For a given all-revolute, serial-link manipulator, we first have a left-
invertible forward kinematics function:

$\begin{split}\mathcal{K}:\mathbb{S}^{n}\rightarrow\mathbb{R}^{3}\times
SO(3)\end{split}$ (9)

, where $\mathbb{S}$ is the set of all angles in the interval $[0,2\pi)$. This
maps a point in the parameter space of the manipulator to a pose in 6-D space.
In an object-oriented programming perspective, for a ` Manipulator ` object we
would have two methods: ` Manipulator.forwardKine(q)` that corresponds to
$\mathcal{K}(\textit{{q}})$ and ` Manipulator.inverseKine(xi)` that
corresponds to $\mathcal{K}^{-1}(\xi)$ (we use -1 here to denote left
inverse). This may be computed numerically of analytically, and, for quick
reference, see the Appendices in [1]. For a closer look into the details, one
may refer to [2] or [21].

  * •

We then define the Jacobian mapping function

$\begin{split}f:(\mathbb{R}^{m})^{n}\times\mathbb{R}^{3}\times
SO(3)\rightarrow\mathbb{R}^{6\times n}\end{split}$ (10)

that maps a manipulator with a corresponding pose to it’s corresponding
Jacobian matrix, where $n$ is the number of links and $m$ is the number of
parameters needed to describe a single link. [1] provides a specific from of
the above function, but this expression aim to provide a general form.

  * •

However, remark that $f$ is ill-defined because $\mathcal{K}$ is not right-
invertible-a manipulator cannot reach infinite space-and thus $f$ is not left-
total.

  * •

To resolve this issue, we introduce an improved version of $f$ :

$\begin{split}f_{1}&:(\mathbb{R}^{m})^{n}\times\mathbb{R}^{3}\times
SO(3)\rightarrow\begin{Bmatrix}0,1\end{Bmatrix}\\\
f_{2}&:(\mathbb{R}^{m})^{n}\times\begin{Bmatrix}0,1\end{Bmatrix}\rightarrow\mathbb{R}^{6\times
n}\end{split}$ (11)

They are defined via:

    1. 1.

$f_{1}(\textbf{m},\xi)=1$ if $\exists\textbf{q}\in\mathbb{S}^{n}$ such that
$\mathcal{K}(q)=\xi$, denoted $P(\textbf{m},\xi)$; $f_{1}(\textbf{m},\xi)=0$
if $\neg P(\textbf{m},\xi)$.

    2. 2.

$f_{2}(\textbf{m},b)=\inf_{6\times n}$ if $b=0$; otherwise,
$f_{2}(\textbf{m},f_{1}(\textbf{m},\xi))=f(\textbf{m},\xi)$.

  * •

Design x on a implementation basis: range of scopes that corresponds to
$p(\xi)$ and the ”manipulator distribution” $p(\textbf{m})$, the latter
usually uniform. By sampling from $p(\textbf{x})$ and evaluating
$f_{2}(\textbf{m},f_{1}(\textbf{m},\xi))$ numerically, we have created a
supervised learning problem.

Implementation-wise, according to empirical-risk minimization [20],

$\mathbb{E}_{\textbf{x},\textbf{y}\sim\widehat{p}_{data}(\textbf{x},\textbf{y})}[L(f(\textbf{x};\mathbf{\theta}),\textbf{y})]=\frac{1}{m}\sum^{m}_{i=1}L(f(\textbf{x}^{(i)};\mathbf{\theta}),\textbf{y}^{(i)})$
(12)

The above can be done in a discrete manner, where a dataset can be created by
sampling from $\textbf{x}\sim p(\textbf{x})$, and numerically compute the
corresponding values of each sample, without having to worry about the
analytic form of $p(\textbf{y})$.

##  III Related Works

There are a number of attempts to apply deep learning to problems in
manipulator robotics, either to obtain the workspace of robots or to achieve
other goals in general. An obvious application is the inverse kinematics
itself, due to its non-linearity and the NP-completeness of optimal Jacobian
accumulation [22]. While early approaches often focus on a particular model
with a tailored network architecture [23, 24, 25], more recent studies begin
to generalize so that the deep network can solve the problem for a broader
spectrum of kinematic structures [26, 27, 28]. Another fascinating field is
the task-learning of humanoid robots, where their arms are seen as
kinematically redundant manipulators [29]. The goal is to learn basic arm
actions described in visual state representation from video feeds rather than
the pose of the desired object. The anthropomorphic nature of the problem is
intriguing, and by utilizing the spatial encoders, the tested robot is capable
of performing actions such as scooping a bag of rice with a spatula.

###  III-A Improvements over Subspace Learning

As a follow-up study of [1], this paper obtains incremental improvements over
several aspects:

  1. 1.

Not only predicting the existence of inverse kinematics, but the new framework
also offers an approximation of the Jacobian matrix at a given pose, which is
useful for a spectrum of tasks such as resolved rate motion control [2] and
manipulability estimation [30].

  2. 2.

A Python implementation is provided with pretrained weights, making it much
more portable than the previous MATLAB implementation.

  3. 3.

More advanced neural architectures are used, including new activation
functions [31], batch normalization [32], and dropout [33] that helps the
model to generalize better.

  4. 4.

Newer gradient descent optimizers are tested on the framework, like RMSprop
[34], Adagrad [35], Adam [36, 37], Nadam [38], Adadelta [39] and Adamax [36],
all provided by Keras [3].

##  IV M3 Library and Dataset

Along with the JacobianNet framework, we also release the Manipulability Map
for Manipulators (M3) library and datasets, a MATLAB robotics library designed
for deep learning related sampling of manipulator parameters and its
corresponding outputs. The library functions are based on [1]’s released
codes, with improvements in readability and extra features.

The main function in the library’s API is `NNsample.m`, with the following
signature and options:

⬇

function [features,labels]=NNsample(num,parallel,varargin)

opt.format=’csv’;

␣␣␣␣opt.variant=’CGAN’;

␣␣␣␣opt.mani=’kine’;

␣␣␣␣opt.DOF=6;

␣␣␣␣opt.type=’spherical’;

␣␣␣␣opt.r=0.5;

␣␣␣␣opt.dist=’uniform’;

␣␣␣␣opt.poseR=0.8;

␣␣␣␣opt.ikine=’analytic’;

␣␣␣␣opt.plim=50;

␣␣␣␣opt.testRatio=0.01;

␣␣␣␣opt.cutoff=0.03;

Currently, the library supports dataset generation for generative modeling,
inverse kinematics, and dynamics studies. This can be tuned by setting
`opt.variant` to different values. `parallel` argument requires a boolean
input, which determines if parallel pools would be used to accelerate
computing. There are also other scripts in the library, some used by
`NNsample.m`, which might also be useful on their own:

  * •

`cell2csv.m` [40], which turns a cell array into a `.csv` file.

  * •

`threshold.m`, used mainly for generative modeling research, which determines
if a sample is considered as belonging to the true distribution.

  * •

`randPose.m`, which returns a random pose given scope parameters.

  * •

`genWorkspace.m`, a canonical implementation of the discretized workspace
algorithm (both for constant orientation workspace and orientation workspace)

  * •

`randDyna.m` and `randKine.m`, which returns a randomly sampled manipulator
object with its vectorized representation.

All codes are available at https://github.com/liaopeiyuan/M3 published under
the MIT License, maintained by the Kent Artificial Intelligence Laboratory.

The dataset accompanied by the library, which is used to train the network
proposed above, is available along with the models at
https://github.com/liaopeiyuan/Jacobian-Estimation, and consists of the
following files:

  * •

`conf_feature_test.csv`

  * •

`conf_feature_train.csv`

  * •

`conf_label_test.csv`

  * •

`conf_label_train.csv`

  * •

`conf_feature_dyna_test.csv`

  * •

`conf_feature_dyna_train.csv`

  * •

`conf_label_dyna_test.csv`

  * •

`conf_label_dyna_train.csv`

  * •

`jacob_feature_test.csv`

  * •

`jacob_feature_train.csv`

  * •

`jacob_label_test.csv`

  * •

`jacob_label_train.csv`

  * •

`jacob0_feature_test.csv`

  * •

`jacob0_feature_train.csv`

  * •

`jacob0_label_test.csv`

  * •

`jacob0_label_train.csv`

Files with `train` prefix are used for train/validation split, and `test`
prefix for benchmarking results. Remark that files with `conf` prefix are used
to train the confidence net, and files with `jacob` prefix are used to train
the confidence nets. Files with `jacob` prefix record the Jacobian matrix in
the end-effector frame while files with `jacob0` prefix record the Jacobian
matrix in the world frame.

TABLE I: Preliminary Data Analysis: Part 1 File Name | # Targets | # Features | # Samples | Regres./Class.
---|---|---|---|---
`conf_*_test` | 1 | 24 | 3000 | Classification
`conf_*_train` | 1 | 24 | 297000 | Classification
`conf_*_dyna_test` | 1 | 96 | 2000 | Classification
`conf_*_dyna_train` | 1 | 96 | 198000 | Classification
`jacob_*_test` | 36 | 96 | 2000 | Regression
`jacob_*_train` | 36 | 96 | 198000 | Regression
`jacob0_*_test` | 36 | 96 | 2000 | Regression
`jacob0_*_train` | 36 | 96 | 198000 | Regression
Figure 2: Ratio of positive samples versus negatives in the confidence net training samples, dynamics version Figure 3: t-SNE plot of test input features for confidence net, stratified by $d3$, $d4$, $a2$, $a3$ respectively TABLE II: Preliminary Data Analysis: Part 2 (features) File Name | 2,3,7,8 (DH params) | Constant Cols.
---|---|---
`conf_*_test` | $[0,0.5]$ | $\begin{Bmatrix}0,1,4\sim 6,9\sim 17\end{Bmatrix}$
`conf_*_train` | $[0,0.5]$ | $\begin{Bmatrix}0,1,4\sim 6,9\sim 17\end{Bmatrix}$
`conf_*_dyna_test` | $[0,0.5]$ | $\begin{Bmatrix}0,1,4\sim 6,9\sim 17\end{Bmatrix}$
`conf_*_dyna_train` | $[0,0.5]$ | $\begin{Bmatrix}0,1,4\sim 6,9\sim 17\end{Bmatrix}$
`jacob_*_test` | $[0,0.5]$ | $\begin{Bmatrix}0,1,4\sim 6,9\sim 17\end{Bmatrix}$
`jacob_*_train` | $[0,0.5]$ | $\begin{Bmatrix}0,1,4\sim 6,9\sim 17\end{Bmatrix}$
`jacob0_*_test` | $[0,0.5]$ | $\begin{Bmatrix}0,1,4\sim 6,9\sim 17\end{Bmatrix}$
`jacob0_*_train` | $[0,0.5]$ | $\begin{Bmatrix}0,1,4\sim 6,9\sim 17\end{Bmatrix}$
TABLE III: Preliminary Data Analysis: Part 3 (feature column range) File Name | 18$\sim$23 (m) | 24$\sim$41 (r) | 42$\sim$59 (I)
---|---|---|---
`conf_*_dyna_test` | $[0,10]$ | $[-0.05,0.05]$ | $[0,1]$
`conf_*_dyna_train` | $[0,10]$ | $[-0.05,0.05]$ | $[0,1]$
`jacob_*_test` | $[0,10]$ | $[-0.05,0.05]$ | $[0,1]$
`jacob_*_train` | $[0,10]$ | $[-0.05,0.05]$ | $[0,1]$
`jacob0_*_test` | $[0,10]$ | $[-0.05,0.05]$ | $[0,1]$
`jacob0_*_train` | $[0,10]$ | $[-0.05,0.05]$ | $[0,1]$
TABLE IV: Preliminary Data Analysis: Part 4 (feature column range) File Name | 60$\sim$65 (B) | 66$\sim$77 (Tc) | 78$\sim$83 (G)
---|---|---|---
`conf_*_dyna_test` | $[0,0.005]$ | $[0,0.5]$ | $[-0.5,0]$ | $[-50,50]$
`conf_*_dyna_train` | $[0,0.005]$ | $[0,0.5]$ | $[-0.5,0]$ | $[-50,50]$
`jacob_*_test` | $[0,0.005]$ | $[0,0.5]$ | $[-0.5,0]$ | $[-50,50]$
`jacob_*_train` | $[0,0.005]$ | $[0,0.5]$ | $[-0.5,0]$ | $[-50,50]$
`jacob0_*_test` | $[0,0.005]$ | $[0,0.5]$ | $[-0.5,0]$ | $[-50,50]$
`jacob0_*_train` | $[0,0.005]$ | $[0,0.5]$ | $[-0.5,0]$ | $[-50,50]$
TABLE V: Preliminary Data Analysis: Part 5 (feature column range) File Name | 84$\sim$89 (Jm) | 90$\sim$92 ($\mathbb{R}^{3}$) | 93$\sim$95 ($\mathbb{S}^{3}$)
---|---|---|---
`conf_*_dyna_test` | $[0,5\times 10^{-4}]$ | $[-0.4,0.4]$ | $[0,2\pi]$
`conf_*_dyna_train` | $[0,5\times 10^{-4}]$ | $[-0.4,0.4]$ | $[0,2\pi]$
`jacob_*_test` | $[0,5\times 10^{-4}]$ | $[-0.4,0.4]$ | $[0,2\pi]$
`jacob_*_train` | $[0,5\times 10^{-4}]$ | $[-0.4,0.4]$ | $[0,2\pi]$
`jacob0_*_test` | $[0,5\times 10^{-4}]$ | $[-0.4,0.4]$ | $[0,2\pi]$
`jacob0_*_train` | $[0,5\times 10^{-4}]$ | $[-0.4,0.4]$ | $[0,2\pi]$
Figure 4: t-SNE plot of test Jacobian matrix (in world frame), stratified by
$d3$, $d4$, $a2$, $a3$ respectively

##  V Network Architecture

The confidence network serves the purpose of indicating that whether a
numerical solution for Jacobian matrix can be estimated from the input
representation. It consists of $8$ dense layers and is compiled with binary
cross entropy loss:

$L_{\text{bce}}(y,\hat{y})=-\sum_{i}y_{i}\log\hat{y}_{i}$ (13)

The estimation network, as its name suggests, is the network that estimates a
Jacobian matrix as the output from its input representation. It as well
contains $8$ dense layers, and it outputs a $22*1$ vector that is subsequently
reshaped into a complete Jacobian matrix. Since the task is treated as
regression, the network is compiled with mean squared error loss:

$L_{\text{mse}}(y,\hat{y})=\frac{1}{n}\sum_{i=1}^{n}(y_{i}-\hat{y}_{i})^{2}$
(14)

As suggested in Figure 5, the confidence network, and the estimation share the
same encoded representation from the encoder network. Noted that the function
of the confidence network is to indicate whether a solution exists for the
encoded representation, the activation of the estimation network depends on
the result of the confidence network. To elaborate, if the confidence returns
the result indicating that a solution can be estimated from the encoded
representation, then will the estimation network be initiated and estimate the
Jacobian matrix.

As shown in Figure 5 and described above, the combined model will produce a
Jacobian matrix only when the confidence network indicates that a solution is
possible. This model is constructed because we believe that this model can
provide us with few advantages:

  1. 1.

Memory-Efficiency. Since some encoded representation does not need to be
estimated by the estimation net if it is considered as insolvable by the
confidence net, this practice might be able to save memory from preventing it
to be used to store estimation outcome that will not be able to yield a
Jacobian matrix.

  2. 2.

Full-Pipeline. The combined model can offer its users the ability to obtain a
Jacobian matrix directly from certain features of a robot arm, assisting them
to obtain the manipulator Jacobian matrix more conveniently and speedily.

The input for the combined model consists of a tensor concatenated from two
data segment - manipulator features and pose feature, which is subsequently
fed into the encoder network shown in $f_{2}$. The encoder network then
encodes the input tensor into a $2150*1$ vector representation that will be
used to estimate the resulting Jacobian matrix and the relating confidence.
Remark that the confidence net is a neural network trained to determine
whether a numerical solution exists for the encoded representation of a
Jacobian matrix based on a manually set threshold shown in Figure 5. If the
outcome of the confidence net is below the threshold, the representation is
considered insolvable, discarded and never examined by the estimation net.
Lastly, the Jacobian estimation net, originally proposed in [1] produces a
vector from the input representation. The output vector is subsequently
reshaped into the estimated Jacobian matrix representing the manipulability
workspace of the robot arm.

Figure 5: JacobianNet Architecture

###  V-A Training

Three datasets are used to train the neural networks correspondingly: the
kinematics confidence dataset for confidence network, dynamics Jacobian
estimation dataset for estimation network, and dynamics estimation/confidence
dataset for the combined model. For the encoder network, batch
normalization[32] is used after the last four dense layers as well as the
output layer with PReLU[31] activation function and dropout[33] layer with a
dropout rate of $0.5$. A similar structure of batch normalization, PReLU and
dropout are also applied to the first four layers of the estimation and
confidence network. For the training of the combined network, Adam
optimizer[36] is employed with its default parameters ($\beta 1-0.9$, $\beta
2-0.999$, $\alpha-0.001$, $\epsilon-10^{-8}$), a batch size of 4096 and epoch
size of 25. To prevent the issue of overfitting, a validation split value is
set to separate the data set into the training set and validation set. For the
training of all the networks, the value for the validation split is kept at
$0.2$, meaning that $20\%$ of the dataset is set to be the validation set.

There are different models constructed for comparison:

  1. 1.

Baseline Model. Baseline model is constructed with default Adam optimizer[36]
and it mainly serves as a point of comparison for accuracy between the method
of generating manipulator Jacobian matrix proposed in this paper and other
machine learning methods proposed for similar proposes. Also, the speed of
generating manipulator Jacobian matrix is compared between our method that
traditional kinematic methods.

  2. 2.

Comparison Models. Comparison models are a set of methods that utilize
different types of gradient descent method. We constructed this set of models
to observe different gradient step methods’ influence on the result of the
training of the network and the general outcome/accuracy of the combined
model. The detailed comparison between different models will be elaborated in
later chapters.

###  V-B Data Augmentation

To accelerate convergence, several augmentations are employed. All of our data
augmentation functions are a part of the Scikit-Learn library[41]. When
training each of the individual networks (encoder, confidence, etc.), input
features are augmented through scaling to min and unit measure using the
function `scale`. In addition, data augmentation is applied to the output of
the estimation network for target features by using min-max scaling from $-1$
to $1$. To reiterate, data augmentation is applied to the input of all three
networks and the output of the estimation network aiming for faster
convergence during the training process.

##  VI Experiments

###  VI-A Benchmarking Results

According to Table VI and Table VII, we can see the following advantages of
our proposed model:

  1. 1.

Greater Accuracy. One purpose that we are seeking to achieve with the combined
model proposed in this paper is greater accuracy when compared to other
machine learning models aiming to solve similar problems.

  2. 2.

Greater Speed. Another characteristic of the proposed combined model is that
when comparing to traditional numerical/analytic inverse kinematics (`ikine.m`
/ `ikine6s.m` in RTB[2]) for solving the manipulator Jacobian; it can come up
with the result in greater speed.

Specifically, JSC stands for Jaccard similarity coefficient, MCC stands for
Matthews Correlation Coefficient, 0-1 stands for the 0-1 loss, EVS stands for
explained variance score, and the number in the parenthesis indicates the
thresholding value of continuous output.

TABLE VI: Confidence net benchmark Method | JSC | 0-1 | Prec. | Rec. | MCC | Avg.Time
---|---|---|---|---|---|---
NN(.5) | 0.983 | 0.017 | 0.97 | 0.99 | 0.967 |  $2*10^{-4}$s
NN(.25) | 0.98 | 0.02 | 0.96 | 1.00 | 0.961 |  $2*10^{-4}$s
NN(.75) | 0.985 | 0.015 | 0.98 | 0.99 | 0.970 |  $2*10^{-4}$s
SVM(RBF) | 0.930 | 0.070 | 0.92 | 0.95 | 0.861 |  $5*10^{-3}$s
SVM(Sigmoid) | 0.643 | 0.357 | 0.65 | 0.67 | 0.285 |  $5*10^{-3}$s
SVM(Lin. L2) | 0.751 | 0.249 | 0.76 | 0.77 | 0.502 |  $5*10^{-7}$s
LogisticReg. | 0.752 | 0.248 | 0.75 | 0.77 | 0.504 |  $3*10^{-7}$s
RidgeReg.(0.5) | 0.750 | 0.250 | 0.75 | 0.76 | 0.500 |  $\mathbf{1*10^{-7}}$s
Naive Bayes | 0.803 | 0.197 | 0.79 | 0.83 | 0.607 |  $2*10^{-7}$s
Gauss. Process | 0.865 | 0.135 | 0.86 | 0.88 | 0.729 |  $3*10^{-4}$s
Decision Tree | 0.879 | 0.121 | 0.88 | 0.88 | 0.757 |  $4*10^{-7}$s
Random Forest | 0.902 | 0.098 | 0.91 | 0.90 | 0.804 |  $4*10^{-5}$s
AdaBoosted DT | 0.849 | 0.151 | 0.84 | 0.87 | 0.698 |  $7*10^{-6}$s
XGboost | 0.820 | 0.180 | 0.79 | 0.88 | 0.643 |  $2*10^{-5}$s
LightGBM | 0.952 | 0.047 | 0.94 | 0.97 | 0.906 |  $3*10^{-4}$s
`ikine.m` | N/A | N/A | N/A | N/A | N/A |  $0.7583$ s
`ikine6s.m` | N/A | N/A | N/A | N/A | N/A |  $0.0598$ s
TABLE VII: Estimation net benchmark Method | MAE | MSE | EVS | R2 | Avg.Time
---|---|---|---|---|---
NN | 0.0658 | 0.0095 | 0.8799 | 0.8787 |  $2*10^{-4}$s
Lin.Reg. | 0.4106 | 0.2592 | 0.0794 | 0.0785 |  $4*10^{-7}$s
RidgeReg. | 0.4106 | 0.2592 | 0.0796 | 0.0787 |  $4*10^{-7}$s
Decision Tree | 0.5071 | 0.4556 | -0.5953 | -0.5962 |  $6*10^{-7}$s
Gauss. Process | 0.4905 | 0.3391 | 0.0 | -0.0012 |  $8*10^{-4}$s
k-NN | 0.4303 | 0.2997 | -0.0617 | -0.0627 |  $0.0531$s
`jacob0` (num.) | N/A | N/A | N/A | N/A |  $0.6146$ s
`jacob0` (ana.) | N/A | N/A | N/A | N/A |  $0.0626$ s
Figure 6: Comparison Between Training Gradient Curves Generated by Different
Optimizers for Confidence Network Figure 7: Comparison Between Training
Gradient Curves Generated by Different Optimizers for Estimation Network

We also compared network’s training performance against different gradient
step moethods. As demonstrated in Figure 6, when training the confidence
network, apparently Stochastic Gradient Descent[20]
($\theta=\theta-\eta\cdot\nabla_{\theta}J(\theta;x^{(i:i+n)};y^{(i:i+n)})$)
has the most stable gradient curve without the apparent and dramatic rise and
fall caused by the cycle model of training(freezing and unfreezing the
parameters of the encoder). The best result and the worst result, given the
training time of 100 epochs, are Adamax
($\theta_{t+1}=\theta_{t}-\dfrac{\eta}{\max(\beta_{2}\cdot
v_{t-1},|g_{t}|)}\hat{m}_{t}$) optimizer and Stochastic Gradient Descent
optimizer, both of which actually seem to be promising leading to a final
acceptable loss value. Other optimizers such as:

  * •

Adam[36]
$\theta_{t+1}=\theta_{t}-\dfrac{\eta}{\sqrt{\hat{v}_{t}}+\epsilon}\hat{m}_{t}$

  * •

Nadam[38]
$\theta_{t+1}=\theta_{t}-\dfrac{\eta}{\sqrt{\hat{v}_{t}}+\epsilon}(\beta_{1}\hat{m}_{t}+\dfrac{(1-\beta_{1})g_{t}}{1-\beta^{t}_{1}})$

  * •

RMSprop[34]
$\theta_{t+1}=\theta_{t}-\dfrac{\eta}{\sqrt{E[g^{2}]_{t}+\epsilon}}g_{t}$

exhibit unstable gradient curves due to the training cycle and not converging
really well.

The benchmark between different optimizers for the training of the estimation
network is drastically different from that of confidence network, according to
Figure 7. For the training of the estimation network, RMSprop[34], Adamax, and
Adam[36] all exhibit enough gradient to finally converge at an acceptable loss
value with RMSprop being the most stable. The optimizers that performed well
in the training of the confidence network including Nadan[38], Adagrad[35] and
Stochastic Gradient Descent[42], performed poorly with estimation network and
did not converge after 80 epochs of training.

###  VI-B Training Paradigms

A specific way of training the network is employed to ensure the greatest
accuracy when estimating the resulting Jacobian. The training of the combined
model starts with pre-training the encoder network on the estimation network.
Since the encoder network is essentially creating a regression, a $R^{2}$
value is calculated. However, because the decoder in estimation network is not
tuned at this point of the training, the $R^{2}$ value would appear to be
horrible.

Then in order to progress the training of the confidence network and
estimation network at the same time without one being overfitting the encoded
representation, we propose the `cycle` model for the training. A `cycle` is
defined as training the confidence network two times and the estimation
network one time since it takes a longer time for the confidence network to
converge compared to the estimation network.

To prevent the training of the confidence network to affect the parameters of
the already trained encoder network such that the encoder network does not
bias toward the result of the confidence network, we freeze the encoder during
the second step of the training where we fit the confidence network to the
pre-trained encoder network. After the training, $R^{2}$ value for the
confidence network is evaluated, and the network is further fine-tuned and
compiled.

Then as we are training the estimation network, the encoder network is, and
its parameters are adjusted along with those of the estimation network. At the
end, the combined model’s $R^{2}$ value is evaluated. The cycled fashion of
training the combined model contribute to the gradient curves observed in
Figure 8 and Figure 9.

Figure 8: Confidence Network Gradient Curve Figure 9: Estimation Network
Gradient Curve

###  VI-C Simulation on PUMA560 Robotic Manipulator

To demonstrate the effectiveness of the neural network, we used visulization
APIs from the Robotics Toolbox [2] to compare the results between the ground
truth (generated by M3 library functions) and the predicted outputs. From
Figure 12 we can see that the results only vary slightly.

Figure 10: Neural network prediction versus ground truth

##  VII Future Works

The paradigm of confidence-estimation network collaboration can be applied to
different variants of the Jacobian estimation problem, like estimating its
elements based on joint angle configurations rather than poses, which can then
be used to create resolved rate motion control. Though this proposed framework
is also suitable for the task, it still needs a forward kinematics function to
obtain the end-effector pose from the joint angles, and further investigation
is needed before a production-ready model can be created.

Figure 11: Current resolved rate motion control scheme, provided by [2]. Note
that the mapping is from joint angles q to the Jacobian matrix in world frame
J. Figure 12: Application of estimation net (trained on world frame dataset)
in resolved rate motion control. The joint angles are first converted to end-
effector pose T; then it is fed into the neural network for output.

##  VIII Conclusion

In this work, we propose an accurate deep-learning framework that can generate
the full workspace of serial-link manipulators by estimating its Jacobian
matrix (given pose) and computing the confidence of the estimation. The
architecture consists of an estimation network that approximates the Jacobian,
either in world frame or in the end-effector frame and a confidence network
that measures the confidence of the approximation. M3 (Manipulability Maps of
Manipulators) is also introduced; it is a MATLAB robotics library based on
Peter Corke’s Robotics Toolbox, and it is used to generate the datasets for
the neural networks constructed. Results have shown that not only is the
proposed network is superior concerning runtime and portability when compared
to numerical inverse kinematics, it is also more accurate than other machine
learning alternatives.

## References

  * [1] P. Liao, “Deep neural network based subspace learning of robotic manipulator workspace mapping,” _CoRR_ , vol. abs/1804.08951, 2018. [Online]. Available: http://arxiv.org/abs/1804.08951
  * [2] P. I. Corke, _Robotics, Vision & Control: Fundamental Algorithms in MATLAB_, 2nd ed. Springer, 2017.
  * [3] F. Chollet _et al._ , “Keras,” https://keras.io, 2015.
  * [4] M. Ceccarelli and E. Ottaviano, “A workspace evaluation of an eclipse robot,” _Robotica_ , vol. 20, no. 3, pp. 299–313, may 2002.
  * [5] T. W. Lee and D. C. H. Yang, “On the evaluation of manipulator workspace,” _Journal of Mechanisms Transmissions and Automation in Design_ , vol. 105, no. 1, p. 70, 1983. [Online]. Available: https://doi.org/10.1115/1.3267350
  * [6] G. Castelli, E. Ottaviano, and M. Ceccarelli, “A fairly general algorithm to evaluate workspace characteristics of serial and parallel manipulators,” _Mechanics Based Design of Structures and Machines_ , vol. 36, no. 1, pp. 14–33, 2008. [Online]. Available: https://doi.org/10.1080/15397730701729478
  * [7] Y. Jin, I.-M. Chen, and G. Yang, “Workspace evaluation of manipulators through finite-partition of se(3),” _Robotics and Computer-Integrated Manufacturing_ , vol. 27, no. 4, pp. 850 – 859, 2011, conference papers of Flexible Automation and Intelligent Manufacturing.
  * [8] A. Peidró, Óscar Reinoso, A. Gil, J. M. Marín, and L. Payá, “An improved monte carlo method based on gaussian growth to calculate the workspace of robots,” _Engineering Applications of Artificial Intelligence_ , vol. 64, no. Supplement C, pp. 197 – 207, 2017.
  * [9] I. Tanase, T. Itul, E. Campean, and A. Pisla, _Workspace Identification Using Neural Network for an Optimal Designed 2-DOF Orientation Parallel Device_. Dordrecht: Springer Netherlands, 2013, pp. 159–167.
  * [10] Z. E. Kuzeci, V. E. Omurlu, H. Alp, and I. Ozkol, “Workspace analysis of parallel mechanisms through neural networks and genetic algorithms,” in _2012 12th IEEE International Workshop on Advanced Motion Control (AMC)_ , March 2012, pp. 1–6.
  * [11] E. Campean, T. P. Itul, I. Tanase, and A. Pisla, “Workspace generation for a 2 \- DOF parallel mechanism using neural networks,” _Applied Mechanics and Materials_ , vol. 162, pp. 121–130, mar 2012.
  * [12] H. Alp, E. Anli, and İ. Özkol, “Neural network algorithm for workspace analysis of a parallel mechanism,” _Aircraft Engineering and Aerospace Technology_ , vol. 79, no. 1, pp. 35–44, jan 2007.
  * [13] Z. Wang, S. Ji, Y. Li, and Y. Wan, “A unified algorithm to determine the reachable and dexterous workspace of parallel manipulators,” _Robotics and Computer-Integrated Manufacturing_ , vol. 26, no. 5, pp. 454–460, oct 2010\.
  * [14] Y. Cao, K. Lu, X. Li, and Y. Zang, “Accurate numerical methods for computing 2d and 3d robot workspace,” _International Journal of Advanced Robotic Systems_ , vol. 8, no. 6, p. 76, 2011. [Online]. Available: https://doi.org/10.5772/45686
  * [15] S. Herrero, T. Mannheim, I. Prause, C. Pinto, B. Corves, and O. Altuzarra, “Enhancing the useful workspace of a reconfigurable parallel manipulator by grasp point optimization,” _Robotics and Computer-Integrated Manufacturing_ , vol. 31, pp. 51–60, feb 2015.
  * [16] E. Macho, O. Altuzarra, E. Amezua, and A. Hernandez, “Obtaining configuration space and singularity maps for parallel manipulators,” _Mechanism and Machine Theory_ , vol. 44, no. 11, pp. 2110–2125, 2009.
  * [17] D. Pisla, A. Szilaghyi, C. Vaida, and N. Plitea, “Kinematics and workspace modeling of a new hybrid robot used in minimally invasive surgery,” _Robotics and Computer-Integrated Manufacturing_ , vol. 29, no. 2, pp. 463–474, apr 2013.
  * [18] A. Hay and J. Snyman, “The chord method for the determination of nonconvex workspaces of planar parallel manipulators,” _Computers & Mathematics with Applications_, vol. 43, no. 8-9, pp. 1135–1151, apr 2002.
  * [19] J. Merlet, _Parallel robots_. Dordrecht Boston, MA: Kluwer Academic Publishers, 2006.
  * [20] I. Goodfellow, Y. Bengio, and A. Courville, _Deep Learning_. MIT Press, 2016. [Online]. Available: http://www.deeplearningbook.org
  * [21] B. Siciliano and L. Sciavicco, _Robotics: Modelling, Planning and Control (Advanced Textbooks in Control and Signal Processing)_. Springer, 2008.
  * [22] U. Naumann, “Optimal jacobian accumulation is np-complete,” _Mathematical Programming_ , vol. 112, no. 2, pp. 427–441, Apr 2008. [Online]. Available: https://doi.org/10.1007/s10107-006-0042-z
  * [23] A. Guez and Z. Ahmad, “Accelerated convergence in the inverse kinematics via multilayer feedforward networks,” in _International 1989 Joint Conference on Neural Networks_ , 1989, pp. 341-344 vol.2.
  * [24] W. J. Daunicht, “Approximation of the inverse kinematics of an industrial robot by defanet,” in _[Proceedings] 1991 IEEE International Joint Conference on Neural Networks_ , Nov 1991, pp. 1995-2000 vol.3.
  * [25] Y. F. Lou and P. Brunn, “A hybrid artificial neural network inverse kinematic solution for accurate robot path control,” _Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering_ , vol. 213, no. 1, pp. 23–32, 1999. [Online]. Available: https://doi.org/10.1243/0959651991540359
  * [26] E. H. M. Bingul Z. and C. Oysu, _Applying Neural Network to Inverse Kinematic Problem for 6R Robot Manipulator with Offset Wrist_. Vienna: Springer Vienna, 2005, pp. 112–115.
  * [27] R. Köker, “A genetic algorithm approach to a neural-network-based inverse kinematics solution of robotic manipulators based on error minimization,” _Information Sciences_ , vol. 222, pp. 528–543, 2013.
  * [28] Y. Feng, W. Yao-nan, and Y. Yi-min, “Inverse kinematics solution for robot manipulator based on neural network under joint subspace,” _International Journal of Computers Communications & Control_, vol. 7, no. 3, p. 459, sep 2014.
  * [29] C. Finn, X. Y. Tan, Y. Duan, T. Darrell, S. Levine, and P. Abbeel, “Learning visual feature spaces for robotic manipulation with deep spatial autoencoders.” _CoRR_ , vol. abs/1509.06113, 2015.
  * [30] T. Yoshikawa, “Manipulability of robotic mechanisms,” _The International Journal of Robotics Research_ , vol. 4, no. 2, pp. 3–9, 1985. [Online]. Available: https://doi.org/10.1177/027836498500400201
  * [31] K. He, X. Zhang, S. Ren, and J. Sun, “Delving deep into rectifiers: Surpassing human-level performance on imagenet classification,” _CoRR_ , vol. abs/1502.01852, 2015. [Online]. Available: http://arxiv.org/abs/1502.01852
  * [32] S. Ioffe and C. Szegedy, “Batch normalization: Accelerating deep network training by reducing internal covariate shift,” _CoRR_ , vol. abs/1502.03167, 2015. [Online]. Available: http://arxiv.org/abs/1502.03167
  * [33] N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever, and R. Salakhutdinov, “Dropout: A simple way to prevent neural networks from overfitting,” _Journal of Machine Learning Research_ , vol. 15, pp. 1929–1958, 2014. [Online]. Available: http://jmlr.org/papers/v15/srivastava14a.html
  * [34] G. Hinton, “Neural networks for machine learning.” [Online]. Available: http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf
  * [35] J. Duchi, E. Hazan, and Y. Singer, “Adaptive subgradient methods for online learning and stochastic optimization,” _J. Mach. Learn. Res._ , vol. 12, pp. 2121–2159, Jul. 2011. [Online]. Available: http://dl.acm.org/citation.cfm?id=1953048.2021068
  * [36] D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization,” _CoRR_ , vol. abs/1412.6980, 2014. [Online]. Available: http://arxiv.org/abs/1412.6980
  * [37] S. J. Reddi, S. Kale, and S. Kumar, “On the convergence of adam and beyond,” in _International Conference on Learning Representations_ , 2018. [Online]. Available: https://openreview.net/forum?id=ryQu7f-RZ
  * [38] T. Dozat, “Incorporating nesterov momentum into adam,” http://cs229.stanford.edu/proj2015/054_report.pdf, (Accessed on 08/27/2018).
  * [39] M. D. Zeiler, “ADADELTA: an adaptive learning rate method,” _CoRR_ , vol. abs/1212.5701, 2012. [Online]. Available: http://arxiv.org/abs/1212.5701
  * [40] S. Fiedler, “cell2csv - file exchange - matlab central.” [Online]. Available: https://www.mathworks.com/matlabcentral/fileexchange/7601-cell2csv
  * [41] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay, “Scikit-learn: Machine learning in Python,” _Journal of Machine Learning Research_ , vol. 12, pp. 2825–2830, 2011.
  * [42] H. Robbins and S. Monro, “A stochastic approximation method,” _The Annals of Mathematical Statistics_ , vol. 22, no. 3, pp. 400–407, 1951. [Online]. Available: http://www.jstor.org/stable/2236626


* Roessner  _et al._ [2007] S. Roessner, C. Ratti, and W. Weise, Polyakov loop, diquarks and the two-flavour phase diagram, Phys. Rev. D 75, 034007 (2007), arXiv:hep-ph/0609281 .
  * Haag [1958] R. Haag, Quantum field theories with composite particles and asymptotic conditions, Phys. Rev. 112, 669 (1958).
  * Chisholm [1961] J. Chisholm, Change of variables in quantum field theories, Nuclear Physics 26, 469 (1961).
  * Kamefuchi  _et al._ [1961] S. Kamefuchi, L. O’Raifeartaigh, and A. Salam, Change of variables and equivalence theorems in quantum field theories, Nuclear Physics 28, 529 (1961).
  * Buballa [2005] M. Buballa, NJL model analysis of quark matter at large density, Phys. Rept. 407, 205 (2005), arXiv:hep-ph/0402234 .
  * Stiele [2014] R. Stiele,  _On the Thermodynamics and Phase Structure of Strongly-Interacting Matter in a Polyakov-loop–extended Constituent-Quark Model_ , Ph.D. thesis, Ruperto-Carola University of Heidelberg (2014).
  * Costa  _et al._ [2010] P. Costa, M. C. Ruivo, C. A. de Sousa, and H. Hansen, Phase diagram and critical properties within an effective model of QCD: the Nambu-Jona-Lasinio model coupled to the Polyakov loop, Symmetry 2, 1338 (2010), arXiv:1007.1380 [hep-ph] .
  * Boyd  _et al._ [1996] G. Boyd, J. Engels, F. Karsch, E. Laermann, C. Legeland, M. Lutgemeier, and B. Petersson, Thermodynamics of SU(3) lattice gauge theory, Nucl. Phys. B 469, 419 (1996), arXiv:hep-lat/9602007 .
  * Kaczmarek  _et al._ [2002] O. Kaczmarek, F. Karsch, P. Petreczky, and F. Zantow, Heavy quark anti-quark free energy and the renormalized Polyakov loop, Phys. Lett. B 543, 41 (2002), arXiv:hep-lat/0207002 .
  * Karsch [2002] F. Karsch, Lattice QCD at high temperature and density, Lect. Notes Phys. 583, 209 (2002), arXiv:hep-lat/0106019 .
  * Borsanyi  _et al._ [2012] S. Borsanyi, G. Endrodi, Z. Fodor, S. D. Katz, and K. K. Szabo, Precision SU(3) lattice thermodynamics for a large temperature range, JHEP 07, 056, arXiv:1204.6184 [hep-lat] .
  * Schaefer  _et al._ [2007] B.-J. Schaefer, J. M. Pawlowski, and J. Wambach, The Phase Structure of the Polyakov–Quark-Meson Model, Phys. Rev. D 76, 074023 (2007), arXiv:0704.3234 [hep-ph] .
  * Pisarski [2000] R. D. Pisarski, Quark gluon plasma as a condensate of SU(3) Wilson lines, Phys. Rev. D 62, 111501 (2000), arXiv:hep-ph/0006205 .
  * Lo  _et al._ [2013a] P. M. Lo, B. Friman, O. Kaczmarek, K. Redlich, and C. Sasaki, Polyakov loop fluctuations in SU(3) lattice gauge theory and an effective gluon potential, Phys. Rev. D 88, 074502 (2013a), arXiv:1307.5958 [hep-lat] .
  * Lucini  _et al._ [2002] B. Lucini, M. Teper, and U. Wenger, The Deconfinement transition in SU(N) gauge theories, Phys. Lett. B 545, 197 (2002), arXiv:hep-lat/0206029 .
  * Lucini  _et al._ [2004] B. Lucini, M. Teper, and U. Wenger, SU(N) gauge theories near T(c), Nucl. Phys. B Proc. Suppl. 129, 569 (2004), arXiv:hep-lat/0309009 .
  * Liddle and Teper [2008] J. Liddle and M. Teper, The Deconfining phase transition in D=2+1 SU(N) gauge theories (2008) arXiv:0803.2128 [hep-lat] .
  * Lucini  _et al._ [2012] B. Lucini, A. Rago, and E. Rinaldi, SU($N_{c}$) gauge theories at deconfinement, Phys. Lett. B 712, 279 (2012), arXiv:1202.6684 [hep-lat] .
  * Zhang  _et al._ [2010] T. Zhang, T. Brauner, and D. H. Rischke, QCD-like theories at nonzero temperature and density, JHEP 06, 064, arXiv:1005.2928 [hep-ph] .
  * [79] T. Brauner, Haar measure on the unitary groups, [Online; last downloaded at 15-February-2023].
  * Ripka [1997] G. Ripka,  _Quarks bound by chiral fields: The quark-structure of the vacuum and of light mesons and baryons_ (1997).
  * Meisinger and Ogilvie [2002] P. N. Meisinger and M. C. Ogilvie, Complete high temperature expansions for one loop finite temperature effects, Phys. Rev. D 65, 056013 (2002), arXiv:hep-ph/0108026 .
  * Meisinger  _et al._ [2002] P. N. Meisinger, T. R. Miller, and M. C. Ogilvie, Phenomenological equations of state for the quark gluon plasma, Phys. Rev. D 65, 034009 (2002), arXiv:hep-ph/0108009 .
  * Megias  _et al._ [2014] E. Megias, E. Ruiz Arriola, and L. L. Salcedo, Polyakov loop in various representations in the confined phase of QCD, Phys. Rev. D 89, 076006 (2014), arXiv:1311.2814 [hep-ph] .
  * Elvang  _et al._ [2003] H. Elvang, P. Cvitanovic, and A. D. Kennedy, Diagrammatic young projection operators for U(n) (2003) arXiv:hep-th/0307186 .
  * Tsai and Muller [2009] H.-M. Tsai and B. Muller, Phenomenology of the three-flavour PNJL model and thermal strange quark production, J. Phys. G 36, 075101 (2009), arXiv:0811.2216 [hep-ph] .
  * Ruggieri  _et al._ [2012] M. Ruggieri, P. Alba, P. Castorina, S. Plumari, C. Ratti, and V. Greco, Polyakov Loop and Gluon Quasiparticles in Yang-Mills Thermodynamics, Phys. Rev. D 86, 054007 (2012), arXiv:1204.5995 [hep-ph] .
  * Alba  _et al._ [2014] P. Alba, W. Alberico, M. Bluhm, V. Greco, C. Ratti, and M. Ruggieri, Polyakov loop and gluon quasiparticles: A self-consistent approach to Yang–Mills thermodynamics, Nucl. Phys. A 934, 41 (2014), arXiv:1402.6213 [hep-ph] .
  * Islam  _et al._ [2022] C. A. Islam, M. G. Mustafa, R. Ray, and P. Singha, Consistent approach to study gluon quasiparticles, Phys. Rev. D 106, 054002 (2022), arXiv:2109.13321 [hep-ph] .
  * Lo  _et al._ [2013b] P. M. Lo, B. Friman, O. Kaczmarek, K. Redlich, and C. Sasaki, Probing Deconfinement with Polyakov Loop Susceptibilities, Phys. Rev. D 88, 014506 (2013b), arXiv:1306.5094 [hep-lat] .
  * Bazavov  _et al._ [2016] A. Bazavov, N. Brambilla, H. T. Ding, P. Petreczky, H. P. Schadler, A. Vairo, and J. H. Weber, Polyakov loop in 2+1 flavor QCD from low to high temperatures, Phys. Rev. D 93, 114502 (2016), arXiv:1603.06637 [hep-lat] .
  * Clarke  _et al._ [2020] D. A. Clarke, O. Kaczmarek, F. Karsch, and A. Lahiri, Polyakov Loop Susceptibility and Correlators in the Chiral Limit, PoS LATTICE2019, 194 (2020), arXiv:1911.07668 [hep-lat] .
  * Lo  _et al._ [2014] P. M. Lo, B. Friman, and K. Redlich, Polyakov loop fluctuations and deconfinement in the limit of heavy quarks, Phys. Rev. D 90, 074035 (2014), arXiv:1406.4050 [hep-ph] .
  * Miura  _et al._ [2017] K. Miura, N. Kawamoto, T. Z. Nakano, and A. Ohnishi, Polyakov loop effects on the phase diagram in strong-coupling lattice QCD, Phys. Rev. D 95, 114505 (2017), arXiv:1610.09288 [hep-lat] .
  * Mykkanen  _et al._ [2012] A. Mykkanen, M. Panero, and K. Rummukainen, Casimir scaling and renormalization of Polyakov loops in large-N gauge theories, JHEP 05, 069, arXiv:1202.2762 [hep-lat] .
  * Bali [2000] G. S. Bali, Casimir scaling of SU(3) static potentials, Phys. Rev. D 62, 114503 (2000), arXiv:hep-lat/0006022 .
  * Petreczky and Schadler [2015] P. Petreczky and H. P. Schadler, Renormalization of the Polyakov loop with gradient flow, Phys. Rev. D 92, 094517 (2015), arXiv:1509.07874 [hep-lat] .
  * Brown [1992] L. S. Brown,  _Quantum Field Theory_ (Cambridge University Press, 1992).
  * Prasolov [1996] V. Prasolov,  _Problems and Theorems in Linear Algebra_, Translations of mathematical monographs (American Mathematical Society, 1996).
  * Curtright  _et al._ [2020] T. L. Curtright, D. B. Fairlie, and H. Alshal, A Galileon Primer (2020) arXiv:1212.6972 [hep-th] .