0% found this document useful (0 votes)
24 views24 pages

3 Duoidemlen

This document presents the kinematic modeling and experimental validation of a holonomic mobile manipulator combining a KUKA youBot platform and a Kinova Jaco Gen 2H manipulator. The authors derive forward and inverse kinematics, Jacobian algorithms, and validate their theoretical results through experiments aimed at maintaining the end-effector's position in 3D space while the platform moves in 2D. The study highlights the complexity and benefits of integrating mobile platforms with manipulators for enhanced functionality in robotic applications.

Uploaded by

Xinh Xinh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views24 pages

3 Duoidemlen

This document presents the kinematic modeling and experimental validation of a holonomic mobile manipulator combining a KUKA youBot platform and a Kinova Jaco Gen 2H manipulator. The authors derive forward and inverse kinematics, Jacobian algorithms, and validate their theoretical results through experiments aimed at maintaining the end-effector's position in 3D space while the platform moves in 2D. The study highlights the complexity and benefits of integrating mobile platforms with manipulators for enhanced functionality in robotic applications.

Uploaded by

Xinh Xinh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

electronics

Article
Kinematic Modeling with Experimental Validation of a
KUKA®–Kinova® Holonomic Mobile Manipulator
Vasil Popov , Andon V. Topalov *, Tihomir Stoyanov and Sevil Ahmed-Shieva

Faculty of Electronics and Automation, Technical University—Sofia, Plovdiv Branch, 4000 Plovdiv, Bulgaria;
vasil_popov@[Link] (V.P.); [Link]@[Link] (T.S.); [Link]@[Link] (S.A.-S.)
* Correspondence: topalov@[Link]; Tel.: +359-882-389-026

Abstract: We have proposed an open-source holonomic mobile manipulator composed of the KUKA
youBot holonomic mobile platform with four Swedish wheels and a stationary aboard six-degrees-
of-freedom Kinova Jaco Gen 2H manipulator, and we have developed corresponding kinematic
problems. We have defined forward and inverse analytic Jacobians and designed Jacobian algorithms
of forward and inverse mobile manipulator kinematics. An experimental test conducted with the
designed laboratory prototype of the investigated mobile manipulator with the described kinematics
was used to verify the obtained theoretical results. The goal of the test was to keep constant the
position of the gripper in 3D space while the mobile platform is moving to some extend in the
2D workspace.

Keywords: forward kinematics; inverse kinematics; holonomic mobile manipulator; Denavit–Hartenberg;


Pieper’s algorithm; Jacobian algorithm; KUKA youBot; Kinova Jaco

1. Introduction
In the present day, robots with various configurations (mobile robots, robot manip-
ulators, mobile manipulators, etc.) are very rapidly advancing in performing different
Citation: Popov, V.; Topalov, A.V.;
application tasks in our everyday lives. There are also many companies that offer on the
Stoyanov, T.; Ahmed-Shieva, S.
Kinematic Modeling with
market service robots dedicated to helping disabled people in their daily activities. Cur-
Experimental Validation of a
rently, various approaches for human–robot interactions are gaining popularity, including,
KUKA® –Kinova® Holonomic Mobile for example, manual guidance, among others. It should be noted that such machines,
Manipulator. Electronics 2024, 13, 1534. especially in their recently investigated collaborative implementation, must correspond to
[Link] the safety standards developed in the EU [1–3]. The widespread use of robots also requires
electronics13081534 a high level of understanding of the problems involved into this field of science [4–8]. In
the present work, we describe existing research into the mathematical modeling of the
Academic Editor: Luca Patanè
kinematics of a holonomic mobile manipulator that has remarkable mobility and handling
Received: 15 January 2024 capabilities. The combined machinery contains two devices: a mobile platform and a 6
Revised: 3 April 2024 DoF manipulator. The chosen mobile platform, KUKA youBot, has four omnidirectional
Accepted: 11 April 2024 wheels, and it is widely used for scientific research tasks [9]. Installed on the top of the
Published: 17 April 2024 mobile platform robot manipulator, Kinova Jaco Gen2 is often used to assist disabled people
by helping them with their daily activities, such as drinking water, holding a spoon, etc.
The manipulator has also been selected for the experiments because it is supported by
numerous software tools that make its control open to users and provide an opportunity to
Copyright: © 2024 by the authors.
explore different control approaches. Such a combination of mobile platforms and manipu-
Licensee MDPI, Basel, Switzerland.
lators widens the fields of application of the resulting mobile manipulators. Examples of
This article is an open access article
similar assemblies can be found in [10–12]. All those efforts aimed to extend the working
distributed under the terms and
space of manipulators. However, the assembly of a mobile platform and a manipulator
conditions of the Creative Commons
Attribution (CC BY) license (https://
requires relevant kinematic models. An interesting solution can be found in [13], where
[Link]/licenses/by/
authors present a configuration of a mobile manipulator based on Boston Dynamics Spot
4.0/). that is additionally equipped with a robotic arm. Some of the mobile manipulators with

Electronics 2024, 13, 1534. [Link] [Link]


Electronics 2024, 13, x FOR PEER REVIEW 2 of 25

Electronics 2024, 13, 1534 2 of 24


arm. Some of the mobile manipulators with open-chain kinematics have been studied and
are presented in [14–20]. More recent studies on the inverse kinematics frameworks of
mobile manipulators are given in [21–24].
open-chain kinematics have been studied and are presented in [14–20]. More recent studies
In the present work, we derive the forward kinematics, inverse kinematics, Jacobian
on the inverse kinematics frameworks of mobile manipulators are given in [21–24].
and inverse Jacobian of the investigated mobile manipulator. The obtained mathematical
In the present work, we derive the forward kinematics, inverse kinematics, Jacobian
models are then applied to control the movement of the laboratory prototype mobile
and inverse Jacobian of the investigated mobile manipulator. The obtained mathematical
manipulator in the task of maintaining a constant position and orientation of the
models are then applied to control the movement of the laboratory prototype mobile manip-
manipulator’s end-effector in 3D space while the mobile platform is moving to some
ulator in the task of maintaining a constant position and orientation of the manipulator’s
extent in the 2D workspace. This is achieved by controlling the speed of each mobile
end-effector in 3D space while the mobile platform is moving to some extent in the 2D
manipulatorThis
workspace. link is
and the speed
achieved by of each mobile
controlling the platform
speed of wheel. Afterwards,
each mobile the efficacy
manipulator link
of the
and theproposed
speed ofapproach is evaluated
each mobile platformby running
wheel. a real-world
Afterwards, theexperiment.
efficacy of the proposed
The is
approach article is structured
evaluated by running ina the following
real-world way: In Section 2, we describe the
experiment.
components of the mobile manipulator and derive
The article is structured in the following way: In Section their 2,
kinematic models.
we describe Then, the
the components
forward and inverse kinematics of the mobile manipulator and Jacobian
of the mobile manipulator and derive their kinematic models. Then, the forward and algorithms are
derived. In Section 3, the achieved results from the conducted experimental
inverse kinematics of the mobile manipulator and Jacobian algorithms are derived. In test carried
out with
Section theachieved
3, the constructed
resultslaboratory prototypeexperimental
from the conducted are presented. Sectionout
test carried 4 with
contains
the
conclusions.
constructed laboratory prototype are presented. Section 4 contains conclusions.

2. Devices and
2. and Mathematical
Mathematical Models
Models
2.1.
2.1. The
The Mobile
Mobile Manipulator
Manipulator
The
Theassembled
assembledstructure consists
structure of two
consists of essential devices:
two essential a holonomic
devices: mobile platform
a holonomic mobile
and a six-degrees-of-freedom
platform (6 DoF) robot
and a six-degrees-of-freedom manipulator
(6 DoF) (Figure 1). The
robot manipulator mobile
(Figure platform
1). The is
mobile
aplatform
KUKA youBot holonomic
is a KUKA youBotplatform,
holonomicandplatform,
the implemented
and the spherical wristspherical
implemented robot is awrist
Jaco
Gen2
robot manipulator
is a Jaco Gen2produced by the
manipulator Canadian
produced bycompany Kinova.
the Canadian company Kinova.

Figure 1.
Figure 1. Mobile
Mobile manipulator
manipulator and
and velocities.
velocities.

This paper discusses


This discussesthe themathematical
mathematicalderivation
derivation ofof
many
many important
important aspects thatthat
aspects are
related
are to the
related to designed
the designed mobile manipulator:
mobile manipulator: the forward and inverse
the forward kinematics
and inverse of the
kinematics
of the mobile
mobile platform,platform,
forwardforward and kinematics
and inverse inverse kinematics of the manipulator
of the manipulator Jaco Gen2,Jaco Gen2,
combined
combined
homogeneous homogeneous transformation
transformation betweenbetween the mobile
the mobile platform
platform andandthe
the end-effector,
end-effector,
manipulator’s
manipulator’sJacobian
Jacobianmatrix, manipulator’s
matrix, inverse Jacobian
manipulator’s inversematrix, and synchronization
Jacobian matrix, and
between the velocities
synchronization betweenof these two individual
the velocities of thesecomponents.
two individualThe obtained
components. theoretical results
The obtained
have been verified
theoretical resultsvia the conducted
have been verified experimental test using a experimental
via the conducted laboratory prototype of thea
test using
above mobile
laboratory manipulator.
prototype of the The
above implemented control software
mobile manipulator. of the prototype
The implemented controluses ROS
software
Melodic (Robot Operating System)-implemented packages, which
of the prototype uses ROS Melodic (Robot Operating System)-implemented packages, were either provided by
the manufacturers of the devices or are freely available from the web.
which were either provided by the manufacturers of the devices or are freely available The transfer of the
control
from thesignals
web. and
The feedback
transfer of values is provided
the control signalsby and
the ROS’s topics,
feedback valuesthe ROS’s actions,
is provided byand
the
the
ROS’s topics, the ROS’s actions, and the ROS’s services. Each one of these typesthe
ROS’s services. Each one of these types of communication is used depending on of
existing situation.
communication is The
usedpresented
depending results
on theshow the velocities
existing situation. of
The thepresented
mobile platform Vmp
results show
Electronics 2024, 13, x FOR PEER REVIEW 3 of 25

Electronics 2024, 13, 1534 3 of 24


the velocities of the mobile platform V and the robot manipulator V . These
velocities allow for achieving a stable positioning of the end-effector during a movement
of the mobile platform. The resulting velocity is V .
and the robot manipulator Vman . These velocities allow for achieving a stable positioning of
the end-effector during a movementVof the= ±V ± platform.
mobile V The resulting velocity is V(1)
res .

Vres = ±Vmp ± Vman (1)


2.2. The Mobile Platform KUKA youBot
TheMobile
2.2. The KUKAPlatform
youBot KUKA
mobileyouBot
platform gives us the opportunity to expand the working
spaceTheof the
KUKAmanipulator. Thus, platform
youBot mobile the proposedgivesstructure of mobile manipulator
us the opportunity to expand theenhances
working
its functionalities.
space of the manipulator. Thus, the proposed structure of mobile manipulator enhances
However, in the design, this combination also increases the complexity of the whole
its functionalities.
robotHowever,
system structure whilethis
in the design, increasing
combination the also
mobile robot’sthe
increases own weight of
complexity andtheenergy
whole
consumption. In order to
robot system structure complete
while complex
increasing the work,
mobilethe manipulator
robot’s own weightand omnidirectional
and energy con-
vehicle must
sumption. In be in perfect
order harmony,
to complete complexandwork,
they also need to reduce
the manipulator and energy loss. Therefore,
omnidirectional vehicle
the
muststudy
be in of omnidirectional
perfect harmony, andmobile operating
they also robot energy
need to reduce has important theoretical
loss. Therefore, and
the study
practical value.
of omnidirectional mobile operating robot has important theoretical and practical value.
The
The next figure
figure(Figure
(Figure2) 2) shows
shows the the
mostmost significant
significant dimensions
dimensions of the of
KUKAthe KUKA
youBot
youBot
mobile mobile
platform platform and its structure.
and its structure.

Figure 2. Geometric dimensions (in [mm]) of the mobile platform KUKA youBot.
Figure 2. Geometric dimensions (in [mm]) of the mobile platform KUKA youBot.
The mobile platform is controlled by an onboard computer with embedded Intel
Atom The mobile CPU
dual-core platform
and 2isGB controlled
RAM, 32by GBanSSD,
onboard
WLAN computer
and a USB with embedded
interface. Intel
Available
Atom dual-core CPU and 2 GB RAM, 32 GB SSD, WLAN and a USB
interfaces are USB and EtherCAT/Ethernet. The existing WiFi connection makes possible interface. Available
interfaces are USB of
the establishment andROSEtherCAT/Ethernet.
communication. The existing WiFi connection makes possible
the establishment
The conventional of ROS communication.
approach for description of the motion of the mobile platform in
The conventional approach
a 2D plane requires the definition of for description
coordinateofframes.
the motion of the mobile
To specify platform
the position andinthea
2D plane requires the definition of coordinate frames. To specify the
orientation of the mobile platform onto the plane, we have to establish a relationship position and the
orientation
between theofreference
the mobile frameplatform onto the
of the plane and plane, weframe
the local have oftothe
establish
platform. a relationship
The axes XI
between the reference
and YI define frameinertial
an arbitrary of the plane andthe
basis on theplane
local as
frame
the of the platform.
global referenceThe axes
frame fromX
someY origin
and defineOan : {arbitrary
XI , YI }. Toinertial
indicate basis
the on the plane
position and as the globalofreference
orientation the mobile frame from
platform,
some origina O:
we choose {X , Y }. To
geometric indicate
center theplatform
of the positionchassis-point
and orientation of thethus,
P, and, mobileit isplatform,
the originwe of
choose a geometric
the platform’s localcenter
referenceof the platform
frame. chassis-point
The axes {XR , YR } P, and, the
define thus, it is the
mobile origin oflocal
platform’s the
platform’s local reference
reference frame. The column frame. The(2)axes
vector {X , Ythe
specifies } define
positiontheandmobile platform’s of
the orientation local
the
reference frame.
platform local The column
reference framevector
in the (2) specifies
global the frame
reference position and the orientation of the
[25,26]:
platform local reference frame in the global reference   frame [25,26]:
xx
P P== yy (2)
(2)
µμ

where
where xx and
andyyare
arethethedisplacements
displacementsalong
alongthetheXXI axis and Y
axis and YI axis,
axis, and
and the
the orientation
orientation is
is
defined by μ.
defined by µ.
The
The KUKA
KUKA youBot
youBot mobile
mobile robotic
robotic platform
platform isis controlled
controlled by
by varying
varying the
the rotational
rotational
speed of each of its omnidirectional wheels (Figure
speed of each of its omnidirectional wheels (Figure 3b).
The kinematic model describes the relationship between the rotational speeds of the
four wheels φ , φ , φ and φ and the speed of the mobile platform in the 2D plane.
Electronics 2024, 13, 1534 The types of wheels and robot chassis geometry define this relationship. Each4 ofwheel
24
introduces a set of mathematical constraints on the movement of the platform.

(a) (b)
Figure 3. A 3.
Figure sketch with
A sketch thethe
with necessary
necessarynotations
notationsto
to calculate theforward
calculate the forwardkinematics
kinematics of the
of the mobile
mobile
platform: (a) wheel
platform: parameters
(a) wheel and
parameters (b)(b)wheels
and wheelsand
and the
the corresponding speeds.
corresponding speeds.

The kinematic
According to model describes the relationship between the rotational speeds of the
. [25],
. . using .the constraints, we can obtain the kinematic model of the
four wheels φ1 , φ2 , φ3 and φ4 and the speed of the mobile platform in the 2D plane. The
mobile robot. For a Swedish (mecanum) wheel, the following equations must be satisfied
types of wheels and robot chassis geometry define this relationship. Each wheel introduces
[25,26]:
a set of mathematical constraints on the movement of the platform.
According to [25], using the constraints,
V R(𝜇)P − rφ we can )obtain
cos(γ = 0 the kinematic model of the
mobile robot. For a Swedish (mecanum) wheel, the following equations must be satis- (3)
fied [25,26]: V R(𝜇)P − rφ cos(γ ) − r φ = 0,
. .
V1 R(µ)P − r φi cos(γi ) = 0
where V1 and V2 denote the following three-element
. . vectors:
. (3)
V2 R(µ)P − r φi cos(γi ) − rsw φsw = 0,
where V1 andVV2=denote β + γ ) three-element
[sin(αthe+following + γ ) − lcos(β + γ )]
− cos(α + β vectors:

V = [[cos(α
V1 = i ++γiγ) )
sin(αi ++ββ sin(α
− cos +γγi ))−−
+ ββi +
(αi + lsin(β
lcos (βi + + γ )]
γi )]

the matrix R is the rotational


V2 = [cos(matrix,
αi + βi +and r denotes
γi ) sin (αi + βi the
+ γiradius
) − lsinof
(βithe
+ γwheels.
i )]
cos
the matrix R is the rotational matrix, and 𝜇 sinthe
r denotes 𝜇 radius
0 of the wheels.
R =  − sin 𝜇 cos 𝜇  0
0 µ sin0µ 0 1
cos
R = − sin µ cos µ 0
The index i denotes the number of platform wheels.
0 0 1
Considering the construction parameters of the platform: the length l = 235.5 mm,
l = 150 mm and the
The index angle γthe
i denotes = ±45°,
number(the robot dimensions
of platform wheels. are shown in (Figure 2) and
Considering
the notations the construction
in (Figure 3a)), the angles α and
parameters β platform:
of the lx = 235.5 mm,
the length according
can be calculated to the
l = 150 mm and the angle γ = ± 45 ◦ , (the robot dimensions are shown in (Figure 2)
following equations [26]:
y
and the notations in (Figure 3a)), the angles αi and βi can be calculated according to the
following equations [26]: α = arctg , α = 180о − arctg
 
ly ◦
 
ly (4)
α1 = arctgо lx , α2 = 180 − arctg lx
α = 180 + arctg , α = arctg (4)
−l
   
◦ l
α3 = 180 + arctg lyx , α4 = arctg lxy
where, for the considered platform, l = 235.5 mm and l = 150 mm.
where, for the
According toconsidered
the theoryplatform, lx = 235.5mm
of kinematics and ly =wheel
of the Swedish 150mm.[25], and considering the
According to the theory of kinematics of the Swedish wheel
fact that the axes of the four wheels are perpendicular to PXR, then using[25], and considering the in
the notations
fact that the axes of the four wheels are perpendicular to PXR , then using the notations in
Figure 3a, it is possible to express the angle 𝛃𝐢 and the length 𝐥:
Figure 3a, it is possible to express the angle βi and the length l:
𝛃𝐢 = 90 − α ; (5)
βi = 90 − αi ; (5)
q
l𝐥 =
= ll2x +
+ ll2y ≈ 0.279
0.279mm
Electronics 2024, 13, 1534 5 of 24

Table 1 contains the kinematic parameters of the mobile platform.

Table 1. Kinematic parameters of the mobile platform.

α [deg] β [deg] γ [deg] l[m] r[m]


Wheel (1) 32.5 57.5 −45 0.279 0.05
Wheel (2) 147.5 −57.5 45 0.279 0.05
Wheel (3) −147.5 −122.5 −45 0.279 0.05
Wheel (4) −32.5 122.5 45 0.279 0.05

The forward kinematics of the mobile platform is described by the following matrix
equation [26]:
.   φ. 
x 1 1 1 1 .1
 y.  = r  − 1 1 − 1 1  φ2 
 . 
 (6)
. 4

−1 −1 1 1 φ3 
µ .
(lx +ly ) (lx +ly ) (lx +ly ) (lx +ly ) φ4
And the inverse kinematic model is
 .  
−1 − lx + ly   . 

φ1 1
 φ.  x
. 2=  1 1 1 − lx + ly 
 y.  (7)
φ  r 1
 −1 lx + ly   .
.3 µ
φ4 1 1 lx + ly

Electronics 2024, 13, x FOR PEER REVIEW


2.3. The Manipulator KINOVA Jaco Gen 2 6 of 25

An overview of the robot manipulator Jaco Gen2 and its dimensions are shown on
(Figure 4) [27].

(a) (b)
Figure [Link]
Figure 4. Notations(a)(a)
andand dimensions
dimensions (b)Jaco
(b) of of Jaco
Gen 2Gen 2 manipulator.
manipulator.

The geometric
In Table dimensions
3, some physicalare shown in Tableof2;the
characteristics these values are essential
manipulator Jaco Gen2components
Spherical Wrist
of forward kinematics and notations: D1 , D2 , D3 , D4 , D5 , D6 ande2 are structural elements
are given.
of the homogeneous transformations.
Table 3. Physical characteristics of the manipulator Jaco Gen2 [27].

Characteristics Values
Total weight 4.4 kg
Reach 98.4 cm
Maximum payload 2.6 kg (mid-range)/2.2 kg (full-range)
Electronics 2024, 13, 1534 6 of 24

Table 2. Structural elements of the homogeneous transformations [27].

Parameters Descriptions Length (m)


D1 Base to shoulder 0.2755
Upper Length (shoulder to
D2 0.41
elbow)
(a) (b)
Forearm length (elbow to
D3 0.2073
wrist)
Figure 4. Notations (a) and dimensions (b) of Jaco Gen 2 manipulator.
D4 First wrist length 0.1038
D Second wrist length 0.1038
In Table 3,5some physical characteristics of the manipulator Jaco Gen2 Spherical Wrist
D6 Wrist to center of the hand 0.16
are given.
e2 Joint 3–4 lateral offset 0.0133

Table 3. Physical characteristics of the manipulator Jaco Gen2 [27].


In Table 3, some physical characteristics of the manipulator Jaco Gen2 Spherical Wrist
are given. Characteristics Values
Total weight 4.4 kg
Reach
Table 3. Physical characteristics of the manipulator Jaco Gen2 [27]. 98.4 cm
Maximum payload 2.6 kg (mid-range)/2.2 kg (full-range)
Characteristics Values
Materials carbon fiber/aluminum
Total weight 4.4 kg
Maximum linear arm speed
Reach 20 cm/sec
98.4 cm
PowerMaximum payload
supply voltage 2.6 kg (mid-range)/2.2
18–29 VDC kg (full-range)
Materials carbon fiber/aluminum
Averagelinear
Maximum power arm speed 25 W (15 20Wcm/sec
standby)
Power
Peak supply
powervoltage 18–29
100 W VDC
Average power 25 W (15 W standby)
Communication protocol
Peak power RS485
100 W
Communicationcables
Communication protocol 20 pins flatRS485
flex cable
Communication cables 20 pins flat flex cable
Water resistance
Water resistance IPX2IPX2
Operating temperature −10 to 40
Operating temperature −10 to 40

Kinova
KinovaJaco
JacoGen2
Gen2has specifically
has designed
specifically actuators
designed mechanics
actuators and electronics.
mechanics They
and electronics.
use DC brushless motors with harmonic drive technology and are equipped with
They use DC brushless motors with harmonic drive technology and are equipped with encoders,
aencoders,
torque sensor, a current
a torque sensor,sensor, a temperature
a current sensor andsensor
sensor, a temperature accelerometers [23]. Kinova’s
and accelerometers. [23].
actuators and parameters are presented in Figure 5 and Table 4, respectively.
Kinova’s actuators and parameters are presented in Figure 5 and Table 4, respectively.

Figure 5. Kinova’s actuators: K-75+, K-75 and K-58.

Table 4. Kinova Jaco Gen 2’s actuator specifications.

Title K−75+ K−75 K−58


Nominal torque (Nm) 12 9.2 3.6
Peak torque (Nm) 30.5 18 6.8
No load speed (rpm) 12.2 9.8 20.3
Nominal speed (rpm) 9.4 7 15
Weight (g) 570 587 357
Reduction ratio 136 160 110
Angular ranges, software limited (turns) ±27.7
Communication protocol RS485
Electronics 2024, 13, 1534 7 of 24

Multiple functionalities are offered by the software provided by the company Kinova
(Boisbriand, QC, Canada). Using the Development Center and the Torque Console [27],
researchers can monitor the manipulator’s state, activate admittance, switch between
Cartesian and angular control and define trajectories. There is a C++ programming function
integrated that can be used to access the API, for example, the API function can deactivate
auto-avoidance behavior. Kinova Jaco 2 is an integrable device in ROS environment. The
kinova-ros stack (set of ROS packages) provides a ROS interface for Kinova Jaco2. The stack
is developed above the Kinova C++ API functions, which communicate with the DSP inside
the robot base [27]. Using our knowledge of the robot’s structure and measurements, we
define its forward kinematic table, using classical Denavit–Hartenberg convention (Table 5).

Table 5. Table formed using Denavit–Hartenberg parameters, classical approach [27].

i αi ai di θi
π
1 2 0 D1 θ1
2 π D2 0 θ2
π
3 2 0 − e2 θ3
π
4 2 0 −(D3 + D4 ) θ4
π
5 2 0 0 θ5
6 π 0 −(D5 + D6 ) θ6

The classical Denavit–Hartenberg convention is defined by the following matrix [28]:

−sθ i cαi
 
cθ i sθ i sαi ai cθ i
i−1 sθ i
 cθ i cαi −cθ i sαi ai sθ i 
i T = 0 (8)

sαi cαi di 
0 0 0 1

The modified Denavit–Hartenberg convention is defined by the following matrix [29]:

−sθ i
 
cθ i 0 ai − 1
i−1
sθ i cαi−1 cθ i cαi−1 −sαi−1 −sαi−1 di 
i T = sθ sα (9)
 
i i−1 cθ i sαi−1 cαi−1 cαi−1 di 
0 0 0 1

We mark the trigonometric functions cθ i and  sθ i with cos θ iand sin θ i , respectively. Addi-
tionally, cθ ij and sθ ij are equal to cos θi + θj and sin θi + θj , respectively.

The Manipulator Jaco Gen 2 Inverse Kinematics


All approaches to obtain the inverse kinematics of a robot manipulator proposed in
the scientific literature can be divided into two classes: (i) approaches using numerical
solutions and (ii) approaches based on closed-form solutions. Due to their iterative nature,
approaches based on the numerical solutions are much slower than those using closed-form
solution. So, in the most applications, especially for online implementations, the numerical
approach for solving inverse kinematics is not suitable.
“Closed form” denotes a solution method based on analytic expressions or the solution
of polynomials of degree 4 or less. Although, in the general case, the six-degrees-of-freedom
manipulator does not have a closed–form solution, for some particular manipulator struc-
tures characterized by either several intersecting joint axes or several angles αi equal to 0
or ±90 degrees, closed-form solutions exist.
Such an approach to obtain a closed-form solution is Pieper’s approach that studies
manipulators with six degrees of freedom where three of their consecutive axes intersect
at a point [29]. The inverse kinematic problem calculates the desired angular position
θ1 , θ2 , θ3 , θ4 , θ5 , andθ 6 of each rotational joint, according the predefined position and orien-
Electronics 2024, 13, 1534 8 of 24

tation in the final homogeneous transformation 06 T. We have implemented Pieper’s method


for all six revolute joints of Jaco Gen 2, with the last three axes intersecting. The idea in
Pieper’s solution is to split the calculation into two separate problems—the first one, taking
into account the first three joints, and the second one, considering the last three joints. A
brief formulation of the algorithm can be presented as follows:
1. Locate the intersection point of the last three joint axes;
2. Calculate the position of this intersection point, given that we know the desired
position and orientation of the end-effector;
3. Solve inverse kinematics for first three joints;
4. Compute 03 T and determine 36 T;
5. Solve the inverse kinematics for the last three joints.
Using the modified Denavit–Hartenberg convention, given by (9) we can derive the
homogeneous transformation (Table 6):

Table 6. Table formed by Denavit–Hartenberg parameters, using a modified approach.

i αi−1 ai−1 di θi
1 0 0 0 θ1
π
2 2 0 0 θ2
3 0 D2 e2 θ3
4 − π2 0 D 3 + D4 θ4
π
5 2 0 0 θ5
6 − π2 0 0 θ6

Where θ1 , θ2 , θ3 , θ4 , θ5 andθ 6 are the known angular displacements as follows:

−sθ 1
 
cθ 1 0 0
0
sθ 1 cθ 1 0 0
1T =  0 (10)
 
0 1 0
0 0 0 1

cθ 2 −sθ 2 0 0
 

1
 0 0 1 0
2 T =  −sθ (11)
 
2 − cθ 2 0 0
0 0 0 1
cθ 3 −sθ 3 0 0.41
 

2
sθ 3 cθ 3 0 0 
3T =  0 (12)
 
0 1 0.0133
0 0 0 1
cθ 4 −sθ 4 0
 
0
3
 0 0 1 0.3111
4 T =  −sθ (13)
 
4 −cθ 4 0 0 
0 0 0 1
cθ 5 −sθ 5 0 0
 

4
 0 0 −1 0
5 T = sθ (14)
 
5 cθ 5 0 0
0 0 0 1
−sθ 6
 
cθ 6 0 0
5  0 0 1 0

6 T =  −sθ (15)

6 −cθ 6 0 0
0 0 0 1
Electronics 2024, 13, 1534 9 of 24

The complete model of forward kinematics, using a modified Denavit–Hartenberg conven-


tion [29], taking into account the actual angular displacement of each rotational joint, is
0
6T = 01 T (θ1 )12 T (θ2 )23 T (θ3 )34 T (θ4 )45 T (θ5 )56 T (θ6 ) (16)

In order to solve the inverse kinematics, we have to calculate the angular position of each
rotational joint, knowing the desired orientation and position 06 T:

r11 r12 r13 px


 

0  r21
 r22 r23 py 
 = 0 T ( θ1 )1 T ( θ2 )2 T ( θ3 )3 T ( θ4 )4 T ( θ5 )5 T ( θ6 )
6T =  2 3 5 6 (17)
r31 r32 r33 pz  1 4

0 0 0 1

Values θ1 , θ2 , θ3 , θ4 , θ5 andθ 6 in (17) are the desired angular positions, and 06 T contents are the
predefined desired orientations and positions. Using (17), we put 01 T (θ1 ) on the left-hand
side of the equation:
h i −1
0 0
1 T ( θ1 ) 6T = 12 T (θ2 )23 T (θ3 )34 T (θ4 )45 T (θ5 )56 T (θ6 ) (18)

Inverting the matrix 01 T, we can write (18)

r11 r12 r13 px


  
cθ 1 sθ 1 0 0
−sθ 1 cθ 1 0 0   r21 r22 r23 py 
 = 1T
  (19)
 0 0 1 0 r31 r32 r33 pz  6
0 0 0 1 0 0 0 1

According to Pieper’s approach, we equate the element placed on row 2, column 4 in-
 −1 0
side the matric 16 T with the element placed on row 2, column 4 from the matrix
0
1 T ( θ1 ) 6 T.
The unknown angular displacement θ1 can now be expressed by (20).

−sθ 1 px + cθ 1 py = 0.0133 (20)

To solve an equation of this form, we make the following trigonometric substitutions:

px = ρcϕ
(21)
py = ρsϕ

where ρ is the distance from the origin of the base coordinate system to the point defined
by the x and y coordinates of the end-effector:
q  
ρ = p2x + p2y ϕ = Atan2 py , px (22)

Substituting (21) into (20) [29],

0.0133
cθ 1 sϕ − sθ 1 cϕ = (23)
ρ

From the difference-of-angles formula,

0.0133
s( ϕ − θ1 ) = (24)
ρ

Hence, s
0.00017689
c( ϕ − θ1 ) = ± 1− (25)
ρ2
Electronics 2024, 13, 1534 10 of 24

and so s !
0.0133 0.00017689
ϕ − θ1 = Atan2 ,± 1− (26)
ρ ρ2

The solution for θ1 can be written as


   q 
θ1 = Atan2 py , px − Atan2 0.0133, ± p2x + p2y − 0.00017689 (27)

We have found two possible solutions for the desired value of θ1 , corresponding to the
plus-or-minus sign in (27). Now that θ1 is known, the left-hand side of (19) is known. By
equating the elements on row 1, column 4 and row 3, column 4 from both sides of (19), we
can write Equation (28) as follows [29]:

cθ 1 px + sθ 1 py = 0.41cθ 2 − 0.3111sθ 23
(28)
−pz = 0.41sθ 2 + 0.3111cθ 23

After taking the squares of Equations (28) and (20) and adding them, the resulting equations
are obtained:

p2x + p2y + p2z − D22 − e22 − (D3 + D4 )2


−(D3 + D4 )sθ 3 = (29)
2D2

0.265 − p2x − p2y − p2z


sθ 3 = =K (30)
0.2551
p
cθ 3 = ± 1 − K2 (31)
 p 
θ3 = Atan2 K, ± 1 − K2 (32)

The plus or minus sign in (32) leads to two different solutions for the angle θ3 . We can
rewrite Equation (17) so that the entire left-hand side becomes a function of three parameters
θ1 , θ2 andθ 3 . The only unknown parameter is θ2 :

r11 r12 r13 px


 
h i −1  r r22 r23 py 
0  21  = 3 T ( θ4 )4 T ( θ5 )5 T ( θ6 )
3 T ( θ2 ) 5 6 (33)
r
31 r32 r33 pz  4
0 0 0 1

or
sθ 1 cθ 23 −sθ 23 −0.41cθ 3 r11 r12 r13 px
  
cθ 1 cθ 23
−cθ 1 sθ 23 −sθ 1 sθ 23 −cθ 23 0.41sθ 3 r21 r22 r23 py 
  =
 −sθ 1 cθ 1 0 0.0133 r31 r32 r33 pz 
0 0 0 1 0 0 0 1
(34)
cθ 4 cθ 5 cθ 6 − sθ 4 sθ 6 −cθ 6 sθ 4 − cθ 4 cθ 5 sθ 6 −cθ 4 sθ 5
 
0
 cθ 6 sθ 5 sθ 5 sθ 6 cθ 5 0.3111
=−cθ 4 sθ 6 − cθ 5 cθ 6 sθ 4 cθ 5 sθ 4 sθ 6 − cθ 4 cθ 6

sθ 4 sθ 5 0 
0 0 1
If we equate the elements on row 1, column 4 and row 2, column 4 from both sides of (34),
we can write [29]

cθ 1 cθ 23 px + sθ 1 cθ 23 py − sθ 23 pz − 0.41cθ 3 = 0
(35)
−cθ 1 sθ 23 px − sθ 1 sθ 23 py − cθ 23 pz + 0.41sθ 3 = 0.3111
Electronics 2024, 13, 1534 11 of 24

These equations can be solved simultaneously for sθ 23 and cθ 23 , resulting in


 
0.41 cθ 1 sθ 3 px +sθ 1 sθ 3 py −cθ 3 pz
sθ 23 =  2
p2z + cθ 1 px +sθ 1 py
  (36)
0.41 cθ 1 cθ 3 px +sθ 1 cθ 3 py +sθ 3 pz −0.3111
cθ 23 =  2
p2z + cθ 1 px +sθ 1 py

The denominators are equal and positive, so we solve for the sum of θ2 and θ3 as fol-
lows [29]:
θ23 = Atan2( arg1, arg2) (37)
where h i
arg1 = cθ 1 cθ 23 px + sθ 1 cθ 23 py − 0.41cθ 3
h   i
and arg2 = 0.41 cθ 1 cθ 3 px + sθ 1 cθ 3 py + sθ 3 pz − 0.3111 .
Equation (37) computes four values of θ2 θ3 , according to the four possible combina-
tions of solutions for θ1 and θ3 ; then, four possible solutions for the desired angular position
θ2 are computed as follows:
θ2 = θ23 − θ3 (38)
The entire left side of (34) is known. If we equate the elements on row 1, column 3 and
row 3, column 3 from both sides of (34), we can write:

r13 cθ 1 cθ 23 + r23 sθ 1 cθ 23 − r33 sθ 23 = −cθ 4 sθ 5


(39)
−r13 sθ 1 + r23 cθ 1 = sθ 4 sθ 5

As long as sθ 5 ̸= 0, the solution for θ4 is

θ4 = Atan2(−r13 sθ 1 + r23 cθ 1 , r13 cθ 1 cθ 23 + r23 sθ 1 cθ 23 − r33 sθ 23 ) (40)

When θ5 = 0, the manipulator is in a configuration in which axes 6 and 4 line up and


cause the same motion of the last link of the robot. In this case, all that can be solved for
is the sum or difference of θ4 and θ6 . This situation is detected by checking whether both
arguments of the Equation (40) are near to zero. If so, θ4 is chosen arbitrarily, and when θ6
is computed later, it will be computed accordingly.
If we consider (17), we can rewrite it so that the entire left-hand side is a function of
only knowns and θ4 , rewriting it as follows [29]:

r11 r12 r13 px


 
h i −1  r r22 r23 py 
0  21  = 4 T ( θ5 )5 T ( θ6 )
4 T ( θ4 ) (41)
r
31 r32 r33 pz  5 6

0 0 0 1
0  −1
4 T ( θ4 ) =
sθ 1 cθ 23 cθ 4 − cθ 1 sθ 4 −sθ 23 cθ 4 0.0133sθ 4 − 0.41cθ 3 cθ 4
 
cθ 1 cθ 23 cθ 4 + sθ 1 sθ 4
−cθ 1 cθ 23 sθ 4 + sθ 1 cθ 4 −sθ 1 cθ 23 sθ 4 − cθ 1 cθ 4 sθ 23 sθ 4 0.0133cθ 4 + 0.41cθ 3 sθ 4  (42)
= 
 −cθ 1 sθ 23 −sθ 1 sθ 23 −cθ 23 0.41sθ 3 − D3 − D4 
0 0 0 1

cθ 5 cθ 6 −cθ 5 sθ 6 −sθ 5 0
 

4 5
 sθ 6 cθ 6 0 0
5 T ( θ5 )6 T ( θ6 ) = cθ sθ (43)
 
6 5 −sθ 5 sθ 6 cθ 5 0
0 0 0 1
Electronics 2024, 13, 1534 12 of 24

If we equate the elements on row 1, column 3 and row 3, column 3 from the both sides of
(42), we obtain

r13 (cθ 1 cθ 23 cθ 4 + r23 (sθ 1 cθ 23 − cθ 1 sθ 4 ) − r33 sθ 23 cθ 4 = −sθ 5


(44)
−r13 cθ 1 sθ 23 − r23 sθ 1 sθ 23 − r33 cθ 23 = cθ 5

We solve for the desired value of θ5 as follows:

θ5 = Atan2(sθ 5 , cθ 5 ) (45)

Applying the same method one more time, we compute 05 T −1 and write (17) in the
following form:
r11 r12 r13 px
 
h i −1  r r r py 
0  21 22 23  = 5 T ( θ6 )
5 T ( θ5 ) (46)
r r32
31 r33 pz  6
0 0 0 1
If we equate the elements on row 3, column 1 and row 1, column 1 from the both sides of
(42), we can write

−r11 (cθ 1 cθ 23 sθ 4 − sθ 1 cθ 4 ) − r21 (sθ 1 cθ 23 sθ 4 + cθ 1 cθ 4 ) + r31 sθ 23 sθ 4 = sθ 6


r11 [(cθ 1 cθ 23 cθ 4 + sθ 1 sθ 4 )cθ 5 − cθ 1 sθ 23 sθ 5 ]+
(47)
+r21 [(sθ 1 cθ 23 cθ 4 − cθ 1 sθ 4 )cθ 5 − sθ 1 sθ 23 sθ 5 ]−
−r31 (sθ 23 cθ 4 cθ 5 + cθ 23 sθ 5 ) = cθ 6

θ6 = Atan2(sθ 6 , cθ 6 ) (48)
Because of the plus or minus signs appearing in (27) and (32), these equations compute
four solutions. Additionally, there are four more solutions obtained by the wrist of the
manipulator. For each of the four solutions computed above, we obtain the flipped solution
by [29]
θ4′ = θ4 + 180o
θ5′ = −θ5 (49)

θ6 = θ6 + 180o

2.4. The Designed Mobile Manipulator’s Common Chain of Frames


To achieve a successful combination between the KUKA youBot mobile platform and
the Kinova Jaco Gen 2 robot manipulator, we have to describe the position of the end-
effector according the local frame, attached to the center of the mobile chassis (platform). In
order to deploy the mathematical equations, we have to describe the connection between the
Kinova manipulator’s base frame and the KUKA mobile platform frame using the classical
Denavit–Hartenberg convention (18). The aim is to derive a homogeneous transformation
mobP T between these two frames; the transformation will be sized as a 4 × 4 matrix, and
manip
the matrix will include the rotations between frame RmobP mobP
manip (t) and vector omanip (t) that
describes the displacement between the origins of these two frames. The origin of the
Kinova manipulator base frame is in negative direction according the x axis of the mobile
platform, a fact that causes a negative sign to be attached to the Denavit–Hartenberg
parameter a. The distance between the origins is denoted as h2 .

−1 −l2
 
" # 0 0
mobP RmobP
manip (t) omobP
manip ( t )  −1 0 0 0 
manip T = =
 0 1
 (50)
0 1 0 0 
0 0 0 1
attached to the Denavit–Hartenberg parameter a . The distance between the origin
denoted as h .
0 0 −1 −l
R (t) o (t) −1 0 0 0
Electronics 2024, 13, 1534 T= =
0 1 0 1 0 0 13 of 24

0 0 0 1
Tocalculate
To calculatethethe position
position and and the orientation
the orientation of the end-effector,
of the end-effector, we have towe have to prov
provide
the productofof
the product seven
seven homogeneous
homogeneous transformations:
transformations:
mobP
6 T T = 0 T 1T(θ )2 T(θ 3) T(θ4 ) T(θ
= mobP 5 ) T(θ ) T(θ )
manip T 1 T ( θ1 )2 T ( θ2 )3 T ( θ3 )4 T ( θ4 )5 T ( θ5 )6 T ( θ6 ) (51)

Thefinal
The finalresult
result is shown
is shown in (Figure
in (Figure 6). 6).

Figure 6. Position of the end-effector according to the mobile platform frame. The manipulator is
placed [Link]
Figure position.
Position of the end-effector according to the mobile platform frame. The manipulat
placed in home position.
2.5. Jacobian
Since the Kinova Jaco Gen 2 manipulator is mounted upon the mobile platform KUKA
2.5. Jacobian
youBot, in order to be able to maintain the stable position of the manipulator’s end-effector,
whileSince the Kinova
the platform is movingJaco Genits2 2D
within manipulator
workspace, we is have
mounted uponthe
to calculate the mobile platf
Jacobian
matrix to determine the instantaneous velocity of the gripper along the
KUKA youBot, in order to be able to maintain the stable position of the manipulatCartesian y axis (y
axis of the base coordinate system). The manipulator’s y axis coincides with the mobile
end-effector, while the platform is moving within its 2D workspace, we have to calcu
platform’s x axis. The goal that we imposed for our experiments is even simplified: to
the Jacobian matrix to determine the instantaneous velocity of the gripper along
keep the position of the gripper stable, according to the inertial coordinate system of
Cartesian 𝑦 axis
the environment, ( 𝑦 the
while axismobile
of the base is
platform coordinate
moving along system). Theline,
a straight manipulator’s
its x axis, 𝑦
coincides
for [Link] the mobile
To achieve platform’s
the purpose, we set the𝑥 velocity
axis. The
of thegoal
youBot that we platform
mobile imposed for
experiments
according to theis velocity
even simplified: to keep
of the gripper, usingthe
theposition
opposite of the gripper
direction. stable,
The joint according to
velocities
inertial coordinate system of the environment, while the mobile platform isROS
are accessible through the messages, provided by the ROS stack, a concatenated set of moving al
packages. The calculation of the Jacobi matrix is an essential mathematical element for the
a straight line, its 𝑥 axis, for example. To achieve the purpose, we set the velocity of
successful conduct of the experiments.
youBot mobile platform according to the velocity of the gripper, using the oppo
direction.
2.5.1. LinearThe joint velocities are accessible through the messages, provided by the R
Velocity
stack, a concatenated
Consider frame {B} set
to beofattached
ROS packages. The calculation
to a rigid body. of thethe
We must describe Jacobi matrix is
motion
of point B Q
essential mathematical frame {Afor
relative to the element }, where we consider
the successful {A} to be
conduct of fixed. Frame {B} is
the experiments.
located relative to frame {A}, the position vector is A PBORG , the rotation matrix is A B R, and
we will assume that the orientation of A R is constant with time, that is, the motion of point
2.5.1. Linear Velocity A B
Q relative to {A} is due to PBORG [29]. Equation (52) solves the linear velocity of point Q
Consider
in terms We have{B}
of {A}. frame to be attached
to express to a rigid
both components body.
of the We in
velocity must describe
terms of {A} andthe motio
point
sum them, Q keeping
relativethe
torelative
the frame {A} , between
orientation where we consider
these two frames{A}constant
to be as
fixed. Frame {B
follows:
located relative to frame {A}, A
the position vector is P , the rotation matrix is R,
VQ = A VBORG + A B
B R VQ (52)
we will assume that the orientation of R is constant with time, that is, the motio
point Q relative
2.5.2. Rotational to {A} is due to P
Velocity [29]. Equation (52) solves the linear velocit
If the orientation between two frames is changing in time, the point that is fixed in
frame {B} is indicated by vector B Q. The rotational velocity of the frame {B} relative to
frame {A} is expressed by a vector A ΩB . We will consider that the linear velocity vector
Electronics 2024, 13, 1534 14 of 24

BV
Qis constant equal to zero. Point Q will have only rotational velocity A ΩB according
frame {A}. We can observe both the magnitude and the direction of the change in vector
B Q, as viewed from {A}. The differential change in A Q is perpendicular to A Q and A Ω .
B
Additionally, it is observable that the magnitude of the differential change is
 
|∆Q| = ( A Q sin θ A ΩB ∆t (53)

The vector cross-product is suggested by a defined condition of magnitude and


direction. These conditions are satisfied by the following equation:
A
VQ = A Ω B × A Q (54)

Generally, the vector Q can also be changed according the frame {B}. This concept is
described by
 
Q + Ω B × Q = B R VQ + Ω B × B R Q =
A V =A B V A A A B A A B
Q (55)
= A VBORG + BA R B VQ + A ΩB × BA R B Q

When the geometric approach is described, however, to investigate more precisely, we


must describe also the mathematical approach.
To derive the relationship between the derivative of an orthonormal matrix and a
certain skew-symmetric matrix, we will use n × n orthonormal matrix R:

RRT = In (56)

the matrix In is an n × n identity matrix. Differenting (56), we derive


. T .T
RR + RR = 0n (57)

The matrix 0n is an n × n zero matrix; thus, (57) can be written as


 T
. T . T
RR + RR = S + ST = 0n , (58)

where S is a skew-symmetric matrix. The relationship between the derivative of orthonor-


mal matrices and skew-symmetric matrices is
. −1
S = RR (59)

Let us consider a vector B P that is fixed in frame {B}. Its description in another frame
{A} is
A
P = BA R B P (60)
.
If frame {B} is rotating, it means that the derivative BA R is not a zero, so the resulting vector
A P will also be changing:
. .
A
P = BA R B P (61)
Using the notation for velocity that it will give and (59), we have:
. .
A
VP = BA R B P = A A A A A
B R B R−1 P = B S P (62)
Electronics 2024, 13, 1534 15 of 24

The skew-symmetric matrix in (59) is called the angular-velocity matrix. We assign the
elements in a skew-symmetric matrix S as follows:

− Ωx Ωy
 
0
S =  Ωx 0 − Ωx  (63)
− Ωy Ωx 0

The column vector Ω, which corresponds to the 3 × 3 angular-velocity matrix, is an angular-


velocity vector:
Ωx
 

Ω =  Ωy  (64)
Ωz
Applying vector cross-product gives

SP = Ω × P (65)

where P is any vector.


Hence, (59) can be written as follows:
A
VP = A Ω B × A P (66)

where the notation for Ω indicates that it is the angular-velocity vector specifying the
motion of the frame {B} with respect to frame {A} [29].

2.5.3. Motion of the Robot’s Links


Notations vi and ωi are the linear and angular velocities of the origin of link frame
{i}. The robot’s structure is a chain of connected links, where each one is capable of motion
relative to its neighbors. To calculate the velocities of each link, the starting point is the
robot’s base. The velocities of link i + 1 will be calculated according to the velocity of link i
plus new velocity components added by link i + 1. We have to divide the velocity into two
subparts: the linear velocity of the origin of the link frame and the rotational velocity of
the link.
Rotational velocities can be added when both ω vectors are written with respect to the
same frame. Therefore, the angular velocity of link i + 1 is the same as that of link i plus a
new component caused by rotational velocity at joint i + 1. This statement can be written
according to frame {i} as follows:
.
i
ωi+1 = i ωi + ii+1 R θ i+1 i+1 Ẑi+1 (67)

Also  
.
0
θ i+1 i+1 Ẑi+1 = i+1  . 0  (68)
 
θ i+1
In order to represent the added rotational component due to motion at the joint in the
frame {i + 1}, we have made use of the rotational matrix related to frames {i} and {i + 1}.
The rotational matrix describes the rotation of joint i + 1 using its description in frame {i},
and we can add the two components of angular velocities [29]. We can find the description
of the angular velocity of link i + 1 according to frame {i + 1} using:
.
i+1
ωi+1 = ii+1 R i ωi + θ i+1 i+1 Ẑi+1 (69)
Electronics 2024, 13, 1534 16 of 24

The linear velocity of the origin of the frame {i + 1} is equal to the velocity of frame
{i} plus a new component caused by the rotation of link i. It is described by the last part of
(55), in frame {i}. One term vanishes because i Pi+1 is constant. We have

i
vi+1 = i vi + i ωi × i Pi+1 (70)

Premultiplying both sides by ii+1 R, we compute


 
i+1
vi+1 = ii+1 R i vi + i ωi × i Pi+1 (71)

Equations (69) and (71) are important results related to revolute joints. The correspond-
ing relationships for the case when joint i + 1 is prismatic are
 .
i+1 v
i+1 = ii+1 R i vi + i ωi × i Pi+1 + di+1 i+1 Ẑi+1
i+1 ω i+1 i (72)
i+1 = i R ωi

Applying Equation (72) or (69) and (71) successively from link to link, we can compute
Nω and N vN .
N
The multidimensional form of the derivatives is known as Jacobian. If we have six
functions and the number of the independent parameters is also six, we have [29]

y1 = f1 (x1 , x2 , x3 , x4 , x5 , x6 )
y2 = f2 (x1 , x2 , x3 , x4 , x5 , x6 )
.. (73)
.
y6 = f6 (x1 , x2 , x3 , x4 , x5 , x6 )

Using a vector notation (72) can be written as

Y = F(X) (74)

We can use the chain rule to calculate δyi as follows [29]:

∂f1 ∂f1 ∂f1


δy1 = ∂x1 δx1 + ∂x2 δx2 +···+ ∂x6 δx6
∂f2 ∂f2 ∂f2
δy2 = ∂x1 δx1 + ∂x2 δx2 +···+ ∂x6 δx6
.. (75)
.
∂f6 ∂f6 ∂f6
δy6 = ∂x1 δx1 + ∂x2 δx2 +···+ ∂x6 δx6

In vector notation, (76) is


∂F
δY =
δX (76)
∂X
The Jacobian is a 6 × 6 matrix. It contains partial derivatives, and the notion of the
matrix is J. If the functions f1 (X) through f6 (X) are nonlinear, then the partial derivatives
are functions of xi , so we can use the following notation:

δY = J(X)δX (77)

The Jacobian can be presented as mapping velocities in X to Y


. .
Y = J(X)X (78)
The Jacobian is a 6 × 6 matrix. ∂F
It=contains ∂F
In vector δY
notation, δX(76)partial is ∂f6
derivatives, and
∂f6 δY =δY
the
= notion∂fδX Y(76)= F(X)of the
matrix is J. If the functions f1 (X) through f6 (X) ∂X δy6are = nonlinear,δx1 + then δxthe J(X)δX ∂X 6
partial derivatives
2 + ⋯+ δx6
functionsisofa x6i ,×so6 we We can use notation: ∂x
the chain rule∂x to2calculate δy∂x iof6as follows [29]:
are Jacobian
The can use
matrix. The the
It contains
The following
JacobianJacobianpartial
can is 6 ×1 6 matrix.
bederivatives,
apresented asand Itthe
mapping containsnotion∂F partial
velocities theinderivatives,
X to Y a
δY = δX
matrix is J. If the functions In vector notation,
f1 (X) through
matrix is f6(76)
J. Ifisare
(X) functions fthen
the nonlinear, 1 (X) the
through
partial ∂f f (X)
derivatives
∂X
61 are ∂f
nonlinear,
1 then ∂f th
1
δY = J(X)δX δy1Ẏ== J(X)X δẋ 1 + δx(77)
2 +⋯+
Electronics 2024, 13, 1534 are functions of xi , so we can use the areThe
following
functions
Jacobian of isxia, so
notation: 6× we 6 can use the
matrix. It∂F following
contains ∂x1 partial notation:∂xderivatives,
2 17 of 24 ∂x6
and
The Jacobian can be presented At each as mapping velocities X hasinδY X=to YδXwhich means that the linear
matrix isδYJ. = Ifnew
the
J(X)δX
instance,
functions f1 (X) changed,
through ∂X fδY 6 (X)
∂f2= are J(X)δX nonlinear,
∂f2
(77) then the∂f2p
J(X)
are has also changing.
functions of ̇ x , so Iṅ can
we robotics,
use the δy 2 =
thefollowing
general δx
purpose1+
notation: ofδx 2 + ⋯ + is th
Jacobian
The Jacobian Y
isJacobian =i
a 6velocities J(X)X
× 6 can matrix. ∂x ∂x (78) ∂x
The Jacobian
At eachcannew be instance,
presented Xashas
velocities mapping
The
to the
changed, Cartesian which be XIt to
contains
in presented
velocities
means Yof the
that aspartial
mapping
tip
linear
1 derivatives,
of the velocities
transformation
2
arm [29] in X to Y
and the not 6
matrix is J. If the functions
X has changed, f (X) through f (X)
6 theδY are nonlinear,
=that J(X)δX then the partial d
J(X) At
haseach
also new instance,
changing. In robotics, the
̇ soJ(X)Xgeneral which
̇
1
purposemeansofthat Jacobian 0
linear is 0̇ =
transformation
iṫ relates
̇
(78)
⋮ joint
J(X) has also are functions
changing. In robotics,of xYthe
i ,= we can
general use the following
purpose of Jacobian 𝓋 = Ythat
notation:
is J(Θ)Θ J(X)X
it relates joint
velocities to the Cartesian velocities of the tipcan
The Jacobian of bethepresented
arm [29] as mapping ∂f6 velocities ∂f6 in X to Y ∂f6
velocities to the Cartesian
At each new instance, X has velocities
changed, of
Atvector
eachthe
which tip
new of
means the
instance,arm [29]
that Xthe δy
haslinear
changed,=transformation δx
which + means δx 2+ that⋯+ the
where the of joint displacements
. δY = is6 Θ,
J(X)δX
̇
and
∂x1 ̇ ∂x2 the 1 Cartesian
∂xli
velocities
6
J(X) has also changing. In robotics, J(X)
by the the general
has also
vector 0
𝓋.0 =The 0
purpose
changing.
J Θ Θ oḟ In
0(superscript
) Jacobian
robotics,
in is that
front the
of Y =
general
the J(X)X
it relates
vector purpose
joint
notations of
(79)Jacobian
indicates i
The Jacobian can
In 𝓋
be
vector = J
presented (Θ)Θ
notation, asvelocities
mapping
(76) velocities
is expressed. intheX arm (79)
to Y[29]
velocities to the Cartesian velocities the velocities
of the
resulting tip toof the
the
Cartesian Cartesian
arm [29]
velocities are
At each new instance, X has changed, which means that the linea of the tip of
The shape of the vector
where
where thethe vector
vector of
of joint
joint displacements
displacements
the
J(X)vector
0 is Θ,
is
𝓋 changing.
has Θ,the and
and the
the Cartesian
Cartesian
6 × [Link] ̇ = velocities
velocities ̇ 0 0𝓋 are
are represented
represented ∂F
has0also = 0Jof (Θ)Θ ̇ shape In robotics, the vector
J(X)X
general 0 is split
purpose into
of
=̇ frame
two parts:
Jacobian is t
by
by the vector 𝓋.. The superscript in𝓋front
the vector the vectorvector notations
notations indicates
indicates 𝓋 =in inJ(Θ)ΘδY(79)
which
which ∂X
δX
frame
At velocities
each new to the
instance, Cartesian XCartesian
has velocities
changed, of the
which tip of
. the arm [29]
wherethetheresulting
the resulting Cartesian
vector ofCartesian velocities
joint displacements where
velocities are
is the
are Θ,expressed.
and
vector
expressed. theof Theshape
joint
The shape ofofthe
displacements
velocitiesthevector
vector
are ismeans ΘΘ
Θ, ̇ 6isthat
represented
and
is ×the61×the 1 andlinear
Cartesian
and the veloctransf
0
𝓋 the J(X) has also changing.
6front
×the1. vector The In Jacobian
robotics,
0
𝓋 is
the a 6 ×
general 6 matrix.
purpose
0
𝓋 = 0 It
J (Θ)Θcontains
of Jacobian
̇ partial
is deriva
that it re
by thethe vector
vector
vector 0 𝓋.has
The has the shape
superscript
shape 6 ×in1.
by The The
of
vectorthevector
0 𝓋.isThe
vector isinto
notations
split splittwo
superscript into two
indicates
in
parts:frontparts:
in of whichthe vectorframe notations indic
velocities to the matrix isvelocities
Cartesian J. If the functions
of the tip fof
1 (X)the through
arm [29] f 6 (X) are nonlinear
the resulting Cartesian velocitieswhere are
theexpressed.
resulting Cartesian
The shape
 velocities
of the vector Θ̇ isand
are expressed. 6 ×the 1The and shape of the ve
the are vector ofjoint
functions 0 v ofdisplacements
xi , so we can is useΘ,the following Cartesiannotation: velocitie
the vector 0𝓋 has the shape 6 ×by [Link]
The vector
vector
the vector 𝓋. = 00𝓋 0
𝓋 has is split
the
The0 superscript inshape
into two60 ×parts:
𝓋= 1. 0The
front J(Θ)Θ vector
of the ̇ 0
𝓋
vector notationsis split into two
(80) indicate pa
ω δY shape = J(X)δX
where the thevector
resulting of0 jointCartesian
displacements velocitiesisare Θ, andexpressed.
the Cartesian The of theare
velocities vecto
rep
0
The first threeby theofvector
the vector
elements The𝓋superscript
0 𝓋. represent has
Thelinear the shape
Jacobian 6 ×be
can
in front
velocity, 1.
and The
ofpresented
the vector
thevector
second as 𝓋 is split
mapping
notations
three into twoinparts
velocities
indicates
elements whX
in
represent angularthe resulting
velocity. TheCartesian
Jacobian velocities has a number are expressed.
of rows equal The shape to the of degreesthe vector of Θ̇ is 6
0
Ẏ = J(X)Ẋ
freedom in the Cartesian
the vector space, 𝓋 haswith the shape 6representing
columns × 1. The vector the 0number
𝓋 is split ofinto joints two ofparts:
the
manipulator. The Jacobian can be found by Atdirectly
each new instance, Xthe
differentiating haskinematic changed,equations which means tha
of the manipulator. This approach isJ(X) easily hasimplemented
also changing. forIn robotics,
linear velocities, the general but there purpose
is of Ja
velocities to the
no 3 × 1 orientation vector whose derivative is ω. That is the reason why we introduced Cartesian velocities of the tip of the arm [29]
Equations (69) and (71). 0
𝓋 = 0J(Θ)Θ̇
When the Jacobian is nonsingular, we can calculate joint velocities from the given
Cartesian velocities: where
.
the vector of joint displacements is Θ, and the Cartesia
−1
byΘ the = Jvector (Θ)0 𝓋. The superscript in front of the vector (81) notatio
the resulting Cartesian velocities are expressed. The shape o
2.6. Maintaining the Constant Positionthe of the vectorManipulator’s
0
𝓋 has the Gripper
shapeWhile 6 × 1. theThe Mobile vector Platform
0
𝓋 is split into
Is Moving
The position and orientation of the working tool of Kinova Jaco Gen2 are calculated
by multiplying homogeneous transformations from (82) to (87). These transformations are
derived using a classical Denavit–Hartenberg convention, as is presented in (18):
 
cθ 1 0 sθ 1 0
0
 −
 sθ 1 0 cθ 1 0
1T =  0 (82)

−1 0 D1 
0 0 0 1
 
cθ 2 sθ 2 0 D2 cθ 2
1
sθ 2 cθ 2 0 D2 cθ 2 
2T =  0 (83)
 
0 −1 0 
0 0 0 1
 
cθ 3 0 sθ 3 0
2
sθ 3 0 −cθ 3 0 
3T =  0 (84)
 
1 0 −e2 
0 0 0 1
 
cθ 4 0 sθ 4 0
3
sθ 4 0 −cθ 4 0 
4T =  0 (85)
 
1 0 −(D3 + D4 )
0 0 0 1
 
cθ 5 0 sθ 5 0
4
sθ 5 0 −cθ 5 0
5T =  0 (86)
 
1 0 0
0 0 0 1
6 1 2 6
∂x1 ∂x2 ∂x6
In vector notation, (76) is
∂F
δY = δX (76)
Electronics 2024, 13, 1534 ∂X 18 of 24
The Jacobian is a 6 × 6 matrix. It contains partial derivatives, and the notion of the
matrix is J. If the functions f1 (X) 
through f6 (X) are nonlinear, then
 the partial derivatives
are functions of xi , so we can use thecθ 6following
sθ 6 0 notation:0
5
sθ 6 sθ 6 0 0 
6T =  0 δY = J(X)δX (87)
(77)
 
1 −1 −(D5 + D6 )
The Jacobian can be presented 0as mapping 0 0 velocities
1 in X to Y
The vector Θ contains all the angular positions
Ẏ = J(X)Ẋ of the joints: (78)
At each new instance, X hasΘchanged, T
= [θ1 , θ2 ,which
θ3 , θ4 , θmeans
5 , θ6 ] that the linear transformation (88)
J(X) has also changing. In robotics, the general purpose of Jacobian is that it relates joint
The to
velocities values of Θ are instantaneous.
the Cartesian velocities of the Since
tip ofthetheinvestigated
arm [29] mobile manipulator has only
rotational joints, we can use (69) and (71) 0
to calculate
0 (Θ)Θ̇
the Jacobian. The output will be a
vector with velocities in the Cartesian space, 𝓋 =whileJ the input values are the velocities of (79)
the
. .
where the vector
manipulator’s joints Θ. As
of joint the values ofisΘΘ,
displacements andand Θ the
were Cartesian
previously velocities are will
saved, we represented
use them
by
tothe vector0 𝓋.for
calculate Theeach
superscript
[Link] of the vector
calculation of thenotations
Jacobianindicates in which
is performed framein
in steps;
the resulting
each step, theCartesian
algorithm velocities
calculates area column
expressed. of the [Link] the vector Θ̇ is 6 × 1 and
Thematrix
the vector 0𝓋 has the shape 6 × 1. The vector 0𝓋 is split into two parts:
0 R = 0 T (0 : 2, 0 : 2) = 0 T ( θ )1 T ( θ ) (0 : 2, 0 : 2)
 
2 2 1 1 2 2
0 R = 0 T (0 : 2, 0 : 2) = 0 T ( θ )1 T ( θ )2 T ( θ ) (0 : 2, 0 : 2)
 
3 3 1 1 2 2 3 3
0 R = 0 T (0 : 2, 0 : 2) = 0 T ( θ )1 T ( θ )2 T ( θ )3 T ( θ ) (0 : 2, 0 : 2)
 
4 4 1 1 2 2 3 3 4 4 (89)
0 R = 0 T (0 : 2, 0 : 2) = 0 T ( θ )1 T ( θ )2 T ( θ )3 T ( θ )4 T ( θ ) (0 : 2, 0 : 2)
 
5 5  1 1 2 2 3 3 4 4 5 5
0 R = 0 T (0 : 2, 0 : 2) = 0 T ( θ )1 T ( θ )2 T ( θ )3 T ( θ )4 T ( θ )5 T ( θ ) (0 : 2, 0 : 2)

6 6 1 1 2 2 3 3 4 4 5 5 6 6

Using (86), we can calculate


     
1 0 0 0 0
 0
 1 00 × 06 T (0 : 3, 3) − 0

 0 0 1 1 0 
J(0 : 5, 0) =      (90)

 1 0 0 0 

 0 1 0 0 
0 0 1 1
 
0
 
01 R 0 × 0 T (0
: 3, 3) − 01 T (0 : 3, 3) 

 6 
 1 
J(0 : 5, 1) =     (91)

 0 

 0 R 0 
1
1
  
0

02 R 0 × 06 T (0 : 3, 3) − 02 T (0 : 3, 3) 

 
 1 
J(0 : 5, 2) = 
    (92)
 0 

 0 R 0 
2
1
  
0

03 R 0 × 06 T (0 : 3, 3) − 03 T (0 : 3, 3) 

 
 1 
J(0 : 5, 3) = 
    (93)
 0 

 0 R 0 
3
1
Electronics 2024, 13, 1534 19 of 24

 
0
 
04 R 0 × 0 T (0
: 3, 3) − 04 T (0 : 3, 3) 

 6 
 1 
J(0 : 5, 4) =     (94)

 0 

 0 R 0 
4
1
  
0

05 R 0 × 06 T (0 : 3, 3) − 05 T (0 : 3, 3) 

 
 1 
J(0 : 5, 5) = 
    (95)
 0 

 0 R 0 
5
1
The final Jacobian is derived by combining Equations (90) to (95).

J = [J(0 : 5, 0), J(0 : 5, 1), J(0 : 5, 2), J(0 : 5, 3), J(0 : 5, 4), J(0 : 5, 5)] (96)

The velocities of the joints are represented by


. h . . . . . . iT
Θ = θ1, θ2, θ3, θ4, θ5, θ6 (97)

The final Cartesian velocities are calculated using (96) and (97) by
0 
v .
0 ω = J( Θ ) Θ (98)

.
If we have to calculate Θ, we use the inverse Jacobian

1
J−1 = adj(J) (99)
det(J)
0 
. v
Θ = J−1 ( Θ ) 0ω (100)

3. Experimental Results
The proposed approach is validated by conducting a real-world experiment with
the laboratory prototype of the proposed mobile manipulator. Both components of the
introduced manipulator are ROS-supported. This gives a universal point of view regard-
ing the implemented solutions, despite the differences in the architecture of the mobile
manipulator subsystems.
Using the message provided by the Kinova ROS stack:/’${kinova_robotType}_driver’/
out/joint_state, we are able to observe the velocities and angular positions for each robot
joint. The calculated movement speeds along the Kinova Jaco Gen 2′ s Cartesian coordinate
system’s x, y and z axes and angular velocities of ωx , ωy , andωz are fed to KUKA youBot.
The data recorded during the experiments are used to display the results. The velocities
are measured in radians per second. Based on this, we structure a matrix that contains
the joint velocities during the experiment. Using these measurements, we are able to
Electronics 2024, 13, 1534 20 of 24

determine the end-effector’s velocities along the Cartesian coordinate system’s axis and its
angular velocities.
. 
 .  θ1
x . 
 y.  θ 2 
 .  . 
 z 
  = J6×6 θ. 3 
 
ωx    (101)
  θ. 4 
 ωy   
θ 5 
ωz .
θ 6 6×1
. . . . . .
where θ 1 , θ 2 , θ 3 , θ 4 , θ 5 and θ 6 are joint velocities. Figure 7 shows the velocity ramp for each
joint during the validation.
The values of the vector elements that represent the linear and angular velocities
during the experiment are shown in Figure 9. It visualizes the results of applying formula
(98). The velocities of the joints are applied to the earlier proposed algorithm. It calculates
ics 2024, 13, x FOR PEER REVIEW 20 of 25
the vector that is given in (98). The values inside the vector provide a stable position for
the end-effector in the 3D space, despite the movable base.

(a) (b)

(c) (d)

(e) (f)
Figure 7. Joint velocities:
Figure 7. (a) velocity
Joint of the(a)first
velocities: joint; of
velocity (b)the
velocity of the
first joint; (b)second joint;
velocity (c) second
of the velocityjoint;
of (c) velocity of
the third joint; (d) velocity of the fourth joint; (e) velocity of the fifth joint; (f) velocity of the sixth
the third joint; (d) velocity of the fourth joint; (e) velocity of the fifth joint; (f) velocity of the sixth joint.
joint.
The positions along the axes and the orientations around them for the end-effector in
the Cartesian coordinate system are shown in Figure 8.

(a) (b)

(c) (d)
(e) (f)
Figure 7. Joint velocities: (a) velocity of the first joint; (b) velocity of the second joint; (c) velocity of
Electronics 2024, 13,the
1534
third joint; (d) velocity of the fourth joint; (e) velocity of the fifth joint; (f) velocity of the sixth 21 of 24
joint.

(a) (b)

(c) (d)

nics 2024, 13, x FOR PEER REVIEW 21 of 25

(e) (f)
the vector
Figure that is given
8. Measured in (98).
positions The valuesof
and orientations insideend-effector.
the vector provide a stable position for
Figure 8. Measured positions andthe There
orientations of the are 3 positions
end-effector. Thereand
are 33 positions and 3
the end-effector
orientations in the
according to 3D manipulator’s
the space, despitebase
the(Cartesian)
movable [Link] system: (a) position along
orientations according to the manipulator’s base (Cartesian) coordinate system: (a) position along the
the 𝑥 axis;
The displacement
(b) position along the 𝑦 axis;
between the positions
(c) positionofalong the 𝑧 axis; (d)oforientation
the end-effector the Kinova Gen𝑥2
Jaco the
around
x axis; (b) position along the y axis; (c) position along the z axis; (d) orientation around the x axis—α;
manipulator
axis—α; and thearound
(e) orientation 𝑦 axis—β;
KUKAtheyouBot mobile platform during
(f) orientation the 𝑧experiment
around the axis—γ. is presented
(e) orientation around the y axis—β; (f) orientation around the z axis—γ.
in Figure 10.
The values of the vector elements that represent the linear and angular velocities
during the experiment are shown in Figure 9. It visualizes the results of applying formula
(98). The velocities of the joints are applied to the earlier proposed algorithm. It calculates

(a) (b)

(c) (d)

(e) (f)
Figure 9. Calculated
Figure velocities according
9. Calculated to theaccording
velocities manipulator’s
to thebase coordinatebase
manipulator’s system, along each
coordinate system, along each
axis and around each axis. These velocities applied to the base provide constant position of the end-
axis and around each axis. These velocities applied to the base provide constant position of the
effector during its movement according to the adjusted joint velocities vector Θ: (a) velocity along .
end-effector during its movement according to the adjusted joint velocities vector Θ: (a) velocity
the 𝑥 axis; (b) velocity along the 𝑦 axis; (c) velocity along the 𝑧 axis; (d) velocity around the 𝑥
axis; (e) velocityalong
around x axis;
thethe (b) velocity
𝑦 axis; along
(f) velocity the ythe
around axis;
𝑧 (c) velocity along the z axis; (d) velocity around the x
axis.
axis; (e) velocity around the y axis; (f) velocity around the z axis.
Electronics 2024, 13, 1534 (e) (f) 22 of 24

Figure 9. Calculated velocities according to the manipulator’s base coordinate system, along each
axis and around each axis. These velocities applied to the base provide constant position of the end-
The
effector displacement
during between
its movement the positions
according of thejoint
to the adjusted end-effector
velocities of
vector Θ: (a) velocity
the Kinova Jaco Gen
along2
the 𝑥 axis; (b)and
manipulator the KUKA
velocity along the 𝑦 axis;
youBot mobile platform
(c) velocity along the 𝑧the
during experiment
axis; is around
(d) velocity presented 𝑥
the in
velocity around the 𝑦 axis; (f) velocity around the 𝑧 axis.
axis; (e)10.
Figure

Figure 10.
Figure [Link]
Displacementbetween
between
thethe position
position ofmovable
of the the movable base coordinate
base coordinate system system and the
and the position
position
of of the end-effector.
the end-effector.

According to the proposedproposed approach,


approach, wewe calculated
calculated the manipulator’s velocity along
the axes of its base frame to keep its its end-effector
end-effector ’s position
position constant during the movement
of the [Link]. The Thebasebaseisisattached
attachedtotothe
the mobile
mobile platform
platform KUKA
KUKA youBot.
youBot. To validate
To validate the
the proposed approach, we visualized manipulator’s position along its y axis during the
movement of the mobile robot. The manipulator’s home position along y axis is around
−0.25 m. The horizontality of the line shows that the velocities of the manipulator and
mobile robot are approximately the same, slightly observable slope may be caused by not
perfect environment conditions like the slippage of the mobile platform’s wheels.
Figure 11 shows the positions of the mobile platform and the manipulator gripper
Electronics 2024, 13, x FOR PEER REVIEW 22 of 25
during the experiment. Additionally, the starting and the final positions of their movements
are visible.

Figure
Figure 11. The positions 11. The
of the positions
mobile of the mobile
platform platform and manipulator
and manipulator gripper during
gripper during the experiment.
the experiment.
4. Conclusions
We have proposed an affordable open-source mobile manipulator composed of the
KUKA youBot mobile platform and a Kinova Jaco manipulator, and we have developed
corresponding kinematic problems. The later have been verified by running experiments
with the designed laboratory prototype. The proposed open-source character of the
mobile manipulator and the initial software provided by the ROS community can help
robot researchers to concentrate directly on their research topics. The latter can more easily
complete challenging research and development tasks, which will accelerate the
Electronics 2024, 13, 1534 23 of 24

4. Conclusions
We have proposed an affordable open-source mobile manipulator composed of the
KUKA youBot mobile platform and a Kinova Jaco manipulator, and we have developed
corresponding kinematic problems. The later have been verified by running experiments
with the designed laboratory prototype. The proposed open-source character of the mobile
manipulator and the initial software provided by the ROS community can help robot
researchers to concentrate directly on their research topics. The latter can more easily com-
plete challenging research and development tasks, which will accelerate the technology’s
transfer and application.

Author Contributions: Conceptualization, A.V.T. and S.A.-S.; methodology, V.P. and S.A.-S.; software,
V.P. and T.S.; validation, T.S. and V.P.; formal analysis, V.P.; investigation, S.A.-S.; resources, A.V.T.
and S.A.-S.; data curation, T.S.; writing—original draft preparation, V.P.; writing—review and editing,
A.V.T., T.S. and S.A.-S.; visualization, V.P. and T.S.; supervision, A.V.T.; project administration, S.A.-S.;
funding acquisition, S.A.-S. and V.P. All authors have read and agreed to the published version of
the manuscript.
Funding: The European Regional Development Fund within the Operational Programme “Bul-
garian national recovery and resilience plan”, via the procedure for the direct provision of grants
”Establishing of a network of research higher education institutions in Bulgaria”, and under Project
BG-RRP-2.004-0005, “Improving the research capacity anD quality to achieve intErnAtional recogni-
tion and reSilience of TU-Sofia (IDEAS)”.
Data Availability Statement: Data are available upon request.
Conflicts of Interest: The authors declare no conflicts of interest. The funders had no role in the
design of the study; the collection, analyses, or interpretation of data; the writing of the manuscript;
or the decision to publish the results.

References
1. ISO/TS 15066:2016; Robots and Robotic Devices—Collaborative Robots. International Organization for Standardization: Geneva,
Switzerland, 2016. Available online: [Link] (accessed on 16 January 2024).
2. ISO 10218-1:2011; Robots and Robotic Devices—Safety Requirements for Industrial Robots—Part 1: Robots. International
Organization for Standardization: Geneva, Switzerland, 2011. Available online: [Link]
(accessed on 16 January 2024).
3. ISO 10218-2:2011; Robots and Robotic Devices—Safety Requirements for Industrial Robots—Part 2: Robot Systems and Integration.
International Organization for Standardization: Geneva, Switzerland, 2011. Available online: [Link]
[Link] (accessed on 16 January 2024).
4. Neto, P.; Pires, J.N.; Moreira, A.P. Accelerometer-based control of an industrial robotic arm. In Proceedings of the Robot and
Human Interactive Communication RO-MAN 2009, Toyama, Japan, 27 September–2 October 2009. [CrossRef]
5. Ben Abdallah, I.; Bouteraa, Y. Gesture Control of 3DOF Robotic Arm Teleoperated by Kinect Sensor. In Proceedings of the 19th
International Conference on Sciences and Techniques of Automatic Control & Computer Engineering (STA), Sousse, Tunisia,
24–26 March 2019. [CrossRef]
6. Ahmed, S.A.; Ramadan, M.M.; Fathy, E. Motion Control of Robot by Using Kinect Sensor. Res. J. Appl. Sci. Eng. Technol. 2014, 8,
1384–1388. [CrossRef]
7. Waldherr, S.; Romero, R.; Thrun, S.A. Gesture Based Interface for Human-Robot Interaction. Auton. Robot. 2000, 9, 151–173.
[CrossRef]
8. Tchon, K.; Jakubiak, J.; Muszynski, R. Mobile manipulators with implicit aboard kinematics. In Proceedings of the 11th
International Conference on Advanced Robotics ICAR 2003, Coimbra, Portugal, 30 June–3 July 2003. [CrossRef]
9. Bischoff, R.; Huggenberger, U.; Prassler, E. KUKA youBot—A mobile manipulator for research and education. In Proceedings of
the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011. [CrossRef]
10. Natarajan, S.; Kasperski, S.; Eich, M. An Autonomous Mobile Manipulator for Collecting Sample Containers. In Proceedings of
the International Symposium on Artificial Intelligence, Robotics and Automation in Space, Montreal, Canada, 17-19 June 2014.
11. Pepe, A.; Chiaravalli, D.; Melchiorri, C. A Hybrid Teleoperation Control Scheme for a Single-Arm Mobile Manipulator with
Omnidirectional Wheels. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS),
Daejeon, Republic of Korea, 9–14 October 2016. [CrossRef]
12. Adiwahono, A.H.; Chua, Y.; Tee, K.P.; Liu, B. Automated door opening scheme for non-holonomic mobile manipulator. In
Proceedings of the 2013 13th International Conference on Control, Automation and Systems (ICCAS 2013), Gwangju, Republic of
Korea, 20–23 October 2013. [CrossRef]
Electronics 2024, 13, 1534 24 of 24

13. Zimmermann, S.; Poranne, R.; Coros, S. Go Fetch!—Dynamic Grasps using Boston Dynamics Spot with External Robotic Arm. In
Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA), Xi’an, China, 30 May–5 June 2021.
[CrossRef]
14. Yamamoto, Y.; Yun, X. Coordinating locomotion and manipulation of a mobile manipulator. IEEE Trans. Autom. Contr. 1994, 39,
1326–1332. [CrossRef]
15. Seraji, H. A unified approach to motion control of mobile manipulators. Int. J. Rob. Res. 1998, 17, 107–118. [CrossRef]
16. Khatib, O.; Yokoi, K.; Chang, K.; Casai, A. Robots in human environments: Basic autonomous capabilities. Int. J. Rob. Res. 1999,
18, 684–696. [CrossRef]
17. Yamamoto, Y.; Yun, X. Unified analysis of mobility and manipulability of mobile manipulators. In Proceedings of the Proceedings
1999 IEEE International Conference on Robotics and Automation (Cat. No.99CH36288C), Detroit, MI, USA, 10–15 May 1999;
pp. 1200–1206. [CrossRef]
18. Tchon, K.; Jakubiak, J.; Muszynski, R. Kinematics of mobile manipulators: A control theoretic perspective. Arch. Control Sci. 2001,
11, 79–105.
19. Sharma, S.; Kraetzschmar, G.K.; Scheurer, C.; Bischoff, R. Unified Closed Form Inverse Kinematics for the KUKA youBot. In
Proceedings of the ROBOTIK 2012, 7th German Conference on Robotics, Munich, Germany, 21–22 May 2012; ISBN 978-3-8007-
3418-4.
20. Liu, Y.; Li, H.; Ding, L.; Liu, L.; Liu, T.; Wang, J.; Gao, H. An Omnidirectional Mobile Operating Robot Based on Mecanum Wheel.
In Proceedings of the 2017 2nd International Conference on Advanced Robotics and Mechatronics (ICARM), Hefei and Tai’an,
China, 27–31 August 2017. [CrossRef]
21. Li, X.; Luo, L.Z.; Zhao, H.; Ge, D.S.; Ding, H. Inverse Kinematics Solution Based on Redundancy Modeling and Desired Behaviors
Optimization for Dual Mobile Manipulators. J. Intell. Robot. Syst. 2023, 108, 37. [CrossRef]
22. Zhang, X.F.; Li, G.F.; Xiao, F.; Jiang, D.; Tao, B.; Kong, J.Y.; Jiang, G.Z.; Liu, Y. An inverse kinematics framework of mobile
manipulator based on unique domain constraint. Mech. Mach. Theory 2023, 183, 105273. [CrossRef]
23. Colucci, G.; Botta, A.; Tagliavini, L.; Cavallone, P.; Baglieri, L.; Quaglia, G. Kinematic Modeling and Motion Planning of the
Mobile Manipulator Agri.Q for Precision Agriculture. Machines 2022, 5, 321. [CrossRef]
24. Huang, Y.; Li, D.L.; Dong, K.J.; Zhang, W.C.; Gao, X.M. Inverse Kinematics Analysis and Mechatronics Design of Mobile Parallel
Manipulator for Assisted Assembly. In Proceedings of the 2022 IEEE International Conference on Mechatronics and Automation
(IEEE ICMA 2022), Guilin, China, 7–10 August 2022. [CrossRef]
25. Siegwart, R.; Nourbakhsh, I.R.; Scaramuzza, D. Introduction to Autonomous Mobile Robots; The MIT Press: Cambridge, MA, USA,
2011.
26. Ahmed, S.A.; Shakev, N.G.; Topalov, A.V.; Popov, V.L. Model-Free Detection and Following of Moving Objects by an Omnidirec-
tional Mobile Robot using 2D Range Data. IFAC-PapersOnLine 2018, 51, 226–231. [CrossRef]
27. User Guide KINOVA®GEN2 Ultra Lightweight Robot. Available online: [Link]
/download?repoKey=generic-documentation-public&path=Documentation%252FGen2%252FTechnical%2520documentation%
252FUser%2520Guide%252FUG-009_KINOVA_Gen2_Ultra_lightweight_robot_User_guide_EN_R03.pdf (accessed on 21 October
2023).
28. Craig, J.J. Introduction to Robotics: Mechanics and Control, 4th ed.; Pearson Prentice Hall: London, UK, 2017.
29. Lewis, W.L.; Dawson, D.M.; Abdallag, C.T. Robot Manipulator Control Theory and Practice, 2nd ed.; Publisher Marcel Dekker, Inc.:
New York, NY, USA, 2004.

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.

Common questions

Powered by AI

The inverse Jacobian is derived to transform the desired end-effector velocities back into joint velocities, facilitating precise control of the manipulator. In practice, it helps maintain the end-effector's stability by allowing the control system to adjust joint movements to counteract disturbances or changes in the environment, ensuring robustness and accuracy during operations .

The Jacobian matrix relates the joint velocities of the manipulator to the Cartesian velocities of the end-effector. It is used to determine the instantaneous velocity of the gripper, ensuring stability and desired positioning of the manipulator's end-effector while the platform continues to move within its workspace. The matrix's partial derivatives facilitate dynamic adjustments needed for maintaining control in varied conditions .

Theoretical models of the mobile manipulator were verified through real-world experiments using a laboratory prototype. The control software implemented via ROS facilitated synchronizing the manipulator's and platform's velocities. The experiments demonstrated the effectiveness of the kinematic models in maintaining the end-effector's stability while the platform moved, validating the approach's practicality .

Synchronization between the mobile platform and the robotic manipulator is crucial for maintaining the manipulator's end-effector's position and orientation, despite the movements of the mobile base. This integration allows for continuous updating of positions using Jacobian matrices, ensuring coordinated and efficient operation during dynamic tasks. Without synchronization, the tasks would suffer from instability and positioning errors .

Challenges include discrepancies between theoretical models and real-world conditions due to physical imperfections, sensor inaccuracies, and dynamic environmental factors. These can be mitigated through adaptive control algorithms, rigorous calibration procedures, and integrating real-time feedback loops that adjust models dynamically to align with actual performance conditions .

The forward kinematics of the mobile manipulator calculate the position and orientation of the end-effector from given joint variables, while the inverse kinematics solve the reverse problem, determining the necessary joint variables to achieve a specific end-effector position and orientation. These processes are crucial for executing precise manipulations and maintaining the required posture of the manipulator despite the movement of its base platform .

Using ROS Melodic in the control software allows for modular and flexible system integration through its packages provided by manufacturers and open-source community contributions. ROS provides a robust framework for data processing and real-time synchronization of control signals and feedback, enhancing the system's adaptability to complex tasks and varied operational environments .

The Denavit-Hartenberg convention is essential because it provides a systematic method for setting up the kinematic equations that connect the Kinova manipulator with the KUKA platform through homogeneous transformations. This convention helps define the relationship between the local frames of the manipulator's base and the mobile platform, which is critical for accurately modeling and controlling the manipulator's movements .

The mobile manipulator is composed of a holonomic mobile platform, specifically the KUKA youBot, and a six-degrees-of-freedom manipulator, the Jaco Gen2 produced by Kinova. Integration is achieved through mathematical models like forward and inverse kinematics, Jacobian algorithms, and combined homogeneous transformations that maintain the end-effector's constant position and orientation in 3D space while the platform moves within a 2D workspace .

The combined homogeneous transformation matrix describes the spatial relationship between the manipulator's end-effector and the mobile platform. This matrix encapsulates rotations and translations necessary for positioning and orienting the end-effector accurately within the workspace, facilitating seamless interaction and control across the manipulator's frames in the kinematic chain .

You might also like