3 Duoidemlen
3 Duoidemlen
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.
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
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.
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 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
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
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.
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).
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
−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
−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.
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
−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
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:
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)
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).
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)
0.0133
cθ 1 sϕ − sθ 1 cϕ = (23)
ρ
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
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:
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 :
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
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:
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
θ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
θ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
−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)
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
RRT = In (56)
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
Ω = Ωy (64)
Ωz
Applying vector cross-product gives
SP = Ω × P (65)
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].
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)
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 )
Y = F(X) (74)
δY = J(X)δX (77)
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 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)
(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.
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.
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 .