International Journal of Engineering Insights: (2023) Vol. 1, Nro.1, Regular Paper
https://doi.org/10.61961/injei.v1i1.6
Simultaneous motion and shape control of redundant mobile
manipulators
Mar
´
ıa del Carmen Claudio · Viviana Moya · Emanuel Slawi
˜
nski · Vicente Mut
Received: 28 August 2023 / Accepted: 29 October 2023
Abstract: This work proposes the design of a simultaneous
motion and shape control of a redundant mobile manipula-
tor. The method is based on the construction of a variable
weighting matrix that allows to control of specific sections
of this type of robot composed of a mobile platform and
manipulator arm. The weight matrix allows for prioritizing
desired parts of the robot through cost functions that depend
on an additional variable defined in this work, which can
be changed automatically according to some pre-established
criteria or by a human operator if the robot is teleoperated.
In addition, simulations are included to show the usefulness
of the proposal.
Keywords Weighting Matrix · Redundant Robot · Robot
Shape Control · Jacobian Matrix
1 Introduction
The advancement of robotics has facilitated the execution
of tasks that previously could only be performed by hu-
man operators, either by replacing them in repetitive and
tedious tasks or by showing themselves as complementary
in dangerous scenarios [1]. In this context, a robot’s control
actions may be generated internally (from automatic refer-
ences from sensors) or may come from a distant environ-
ment, where redundant robots are generally used, e.g. a mo-
bile manipulator.
Considering that the robot can execute a task in an au-
tonomous way, the difficulty of the mission may require more
degrees of freedom (DoF) than apparent, either for safety or
design requirements. In this case, the amount of additional
Mar
´
ıa del Carmen Claudio
Inmersoft Technologies
Quito, Ecuador
Tel.: +593 98 787 3246
mcclaudio@inmersoft.com
Emanuel Slawi
˜
nski · Vicente Mut
Instituto de Autom
´
atica, Universidad Nacional de San Juan
San Juan, Argentina
Viviana Moya
Universidad Internacional del Ecuador
Quito, Ecuador
degrees of freedom would allow to execution of secondary
actions, where appropriate control techniques would allow
to use of certain joints (e.g. the mobile platform) more fre-
quently compared to other DoFs (e.g. the robotic manipu-
lator) [2]. Such techniques are developed in order to fulfill
additional goals to the primary one, such as obstacle avoid-
ance, singularity avoidance, energy saving, maximum ma-
nipulability, and so on. Therefore, having full control over
the redundancy characteristics of the system could facilitate
the proper execution of the [3] mission.
On the other hand, if in isolated cases of the task, it is
required to generate higher magnitude control commands
to the mobile platform and lower magnitude commands to
the robotic manipulator, these strategies must be embedded
in the remote control algorithm. However, handling such
a large number of degrees of freedom requires additional
physical and mathematical analysis. Based on the literature,
two common ways are proposed to solve this problem: sec-
tion the robot into two main parts and control them indepen-
dently or relate the whole robotic system (mobile manipu-
lator) through a single Jacobian matrix and control it with
some technique.
The first way is to control each section of the robot in-
dependently (i.e. in the mobile manipulator, to control either
the platform or the robotic manipulator in isolation), treat-
ing it as a set of mechanically linked mechanisms where
one dynamically perturbs the other [4]. This solution, al-
though obvious and easily implementable, poses discrete ac-
tivations and deactivations of each part of the robot, addi-
tionally needing to generate references to each section of
the system. The most notorious disadvantages are the need
for non-unified mathematical modeling, controllers for each
of the sections, discrete switching that could generate con-
trol instabilities, and possibly the involvement of more than
one human operator with different robotic controls (the lat-
ter two in cases of the remote control).
For the second form, completely activating/deactivating
different parts of the robot depending on the situation would
not be feasible by directly using the Jacobian matrix that
relates Cartesian reference velocities to joint velocities. In
this aspect, using strategies such as shape control (as a pri-
21 International Journal of Engineering Insights, (2023) 1:1
mary objective) to command the entire robotic system in a
unified manner is a straightforward solution, however, there
are technique-specific constraints to be able to position the
end effector in a desired state, given that the reach of the
operating end to a desired position would be located in the
null space of the homogeneous solution [3]. An appropri-
ate solution to this problem is to modify the behavior of
the Jacobian by multiplying it by a weighting matrix, which
weighs sections of the matrix to give/remove priority to cer-
tain joints. The modification of the behavior of a pondered
Jacobian (or weighted) is a concept widely used in the liter-
ature. In this aspect, works such as [5] use this technique to
limit the positions of the joints with the objective of limit-
ing their achievable range, forcing them to work in safe lim-
its (preventing the actuators from exceeding positions that
would damage them). In this type of work, the weight ma-
trix is based on derivable functions that cause zero veloci-
ties when the joints reach the safe limits, with a continuous
reduction until reaching zero (causing complete immobility
in the effector). Similarly, [6] proposes the use of this tech-
nique to avoid collisions between parts of the robot, where
each link is represented by a protective sphere. The danger-
ous approach between links (and therefore spheres) causes
the deceleration of all the actuators involved, all this based
on a function that depends on the diameters and distances
between the virtual spheres. In addition to the weight ma-
trix, this body of work has in common the continuous way in
which joint positions are constrained, which depends on an
internal factor (range of maximum and minimum positions
for [5] and collision between sphere surfaces for [6]). In the
literature, no proposal is determined that uses this technique
to weight robot sections through a weight matrix, specifi-
cally using an additional variable that depends on task vari-
ables or can be modified by an operator.
The main contribution of this work is the design of a
weighting matrix that includes cost functions for the con-
tinuous selection of sections of a highly redundant robot,
specifically a redundant mobile manipulator robot (MM). In
this way, by means of the weight matrix, it is proposed to
control either isolated sections of the MM (when the switch-
ing variable is at its extremes), or to give execution priority
to desired parts of the mechanism (when the variable is set
to intermediate values), considering that the switching value
is task-dependent and can be modified in real time.
2 Mathematical Foundations
2.1 MM velocity relationships
The differential of the geometric representation with respect
to time makes it possible to obtain the relationship between
the joint velocity and the Cartesian velocity of the robotic
Table 1: DH parameters of the manipulator under consider-
ation
Link q d a α
1 φ + q
1
h 0 π/2
2 q
2
+ π/2 0 l
T
0
3 q
3
+ π/2 lb 0 π/2
4 q
4
+ π/2 + atan(30/264) 0 l
1a
0
5 q
5
+ 3π/4 atan(30/258) 0 l
1b
π/2
6 q
6
l2 0 π/2
7 q
7
0 0 π/2
8 q
8
l3 0 0
9 0 0 0 π/2
10 π/2 0 0 0
system,
˙x = J(q) ˙q (1)
where J(q) is the matrix relating these velocities and is gen-
erally referred to as the Jacobian of the whole robot, while
˙x is the Cartesian velocity with respect to a global reference
frame. Fig. 1 shows a redundant mobile manipulator. Then,
to take into account the characteristics of the robotic mech-
anism, one can define a generalized variable of the form
q =
q
M
T
q
R
T
T
, (2)
where q
M
R
n
M
represents the integral of the linear and
angular velocities of the moving platform and q
R
R
n
R
represents the angular positions of the robotic arm.
To determine the kinematic behavior of the robotic ma-
nipulator, Denavit Hartenberg representation (DH) is used
[7]. Table 1 shows the DH parameters to define the geo-
metric relationship of the robotic manipulator used in this
work. As for the mobile platform [8], the possibility of inde-
pendently controlling all four wheels of a skid-steering ve-
hicle greatly extends the applications that these robots can
have, especially when the applications must be developed
outdoors and with non-regular surfaces. The position of a
skid-steering robot [9] can be represented by
q
M
=
x y φ
T
, (3)
where
x y
T
are the coordinates of O
r
(arm reference sys-
tems) with respect to the global reference frame (< W >),
while φ is the angle of rotation with respect to < W >. Ki-
netically, the mathematical representation of a skid-steering
robot can be expressed as follows.
˙q
M
= S(q
M
)v + A(q
M
)v
y
, (4)
where v =
v
x
ω
T
represents the linear and angular veloc-
ity of the robot, v
y
is the lateral velocity of the robot (gen-
erally produced by sliding), while S(q
M
) and A(q
M
) are
22 International Journal of Engineering Insights, (2023) 1:1
Fig. 1: Mobile Manipulator robot
defined as:
S(q
M
) =
cos(φ) a sin(φ)
sin(φ) a cos(φ)
0 1
, (5)
A(q
M
) =
sin(φ)
cos(φ)
0
. (6)
In this way, the velocity of the robotic structure of the
mobile manipulator can be defined as:
η = ˙q =
˙q
T
M
˙q
T
R
T
R
n
, (7)
where n = n
M
+ n
R
, while η
i
(con i = 1, 2, ..., n) is the
i-th velocity of the MM.
Thus, the displacement velocity of the Operating End
(O.E) in Cartesian space is represented as follows:
˙x
R
= J(q)η, (8)
where J(q) R
m×(n
M
+n
R
)
is a Jacobian matrix that re-
lates the joint velocities to the Cartesian velocities of the
complete robotic mechanism.
2.2 Matrix Design W
Assuming that we have a single Jacobian of the whole robot,
we need to modify the solutions given by the inverse kine-
matics based controller. Cost functions governed by a vari-
able solve the given problem. Thus, the selection of robot
sections of interest is achieved through the construction of a
diagonal weight matrix W. Depending on the application,
the construction of the matrix W() uses both functions
placed on the elements of its diagonal. Consider the case of
a mobile manipulator, divided into two parts of interest: 1)
the mobile platform, and 2) the robotic manipulator. Thus,
a number of α references is required to control the moving
platform, while β references are required to control the ma-
nipulator.
Thus, the weight matrix for selecting degrees of freedom
depending on for the MM can be constructed with w
i
ele-
ments. The scalars of w
i
are defined by:
w
i
=
f
1
() f or i = 1 : α
f
2
() f or i = α + 1 : α + β,
(9)
in this way,
W() =
w
1
0 0 0 0 0
0
.
.
.
0 0 0 0
0 0 w
α
0 0 0
0 0 0 w
α+1
0 0
0 0 0 0
.
.
.
0
0 0 0 0 0 w
α+β
.
The solution considers a pair of candidate cost functions
denoted by f
1
() and f
2
(), both with different properties
given the application requirements.
Let us consider f
1
() as a decreasing function that has a
large value when tends to zero, and tends to unity when the
adjustable variable also tends to 1; while we define f
2
()
as an increasing function that tends to a large value when
tends to unity, and tends to unity when tends to zero.
Among many possibilities, we adopt the following functions:
f
1
() =
1
b
1
+ b
2
, (10)
f
2
() = a
1
e
a
2
+a
3
+ 1, (11)
where a
i
and b
i
are constants to adjust the shape of the func-
tions.
The behavior of the inverse of W is directly related to
the final solution of the controller (as will be seen below).
Thus, the change from 0 to 1 in continuously deactivates
the moving platform, while activating the manipulator. At
the extremes of , each of the robots is either activated or
completely deactivated.
2.3 Resolution of the redundancy of inverse kinematics
The displacement velocity of an operating end can be calcu-
lated using differential kinematics ( ˙x = J(q) ˙q), however,
23 International Journal of Engineering Insights, (2023) 1:1
for practical purposes the parameters set are given by the
inverse kinematics solution:
η = J
(q) ˙x, (12)
where J
(q) is the pseudo-inverse of J(q). Given the redun-
dancy of robotic systems, an exact solution for η does not
normally exist, but an approximation can be found through
the use of least squares by calculating k ˙x J(q)ηk, obtain-
ing the following solution:
η = J
(q) ˙x + (I J(q)
J(q))z
0
, (13)
where I J
J is the projection on the null space generated
by J(q) and z
0
is an arbitrary vector in the homogeneous
part of the solution which may include secondary objectives,
e.g. operating end orientation, energy saving or maximum
manipulability.
Considering that there are two control variables: x
p
and
x
o
, in our case, we propose to find a solution that allows
us to meet both objectives through the redundancy of the
robotic system. Similar to how (13) is obtained, a least-squares
solution allows to use the null space of the redundant sys-
tem, having:
η =J
p
˙x
p
+ (I J
p
J
p
)
˜
J
o
( ˙x
o
J
o
J
p
˙x
p
)
+ (I J
p
J
p
)(I
˜
J
o
˜
J
o
)z
.
(14)
where
˜
J
o
= J
o
(I J
p
J
p
), with
˜
J
o
being the pseudoinverse
of
˜
J
o
and z
is an arbitrary joint velocity vector that could
contain tertiary targets.
Now, based on [10], the constructed weight matrix is
used to compute the Moore-Penrose right-handed pseudoin-
verse. In this way, the inverses of the Jacobian are calculated
as follows:
J
p
= W
1
J
T
p
[J
p
W
1
J
T
p
]
1
, (15)
˜
J
o
= W
1
˜
J
T
o
[
˜
J
o
W
1
˜
J
T
o
]
1
. (16)
In order to correct the numerical error, information ob-
tained from the robot in real time allows us to calculate both
position and orientation errors. From (14), results the final
closed-loop inverse kinematics solution
η = J
p
˙x
p
ref
+ (I J
p
J
p
)
˜
J
o
( ˙x
h
ref
J
o
J
p
˙x
p
ref
), (17)
where ˙x
p
ref
and ˙x
h
ref
are references in Cartesian coordi-
nates generated by the human operator through a local robot.
2.4 Control references
The variable can be calibrated considering several factors,
automatically or teleoperated. For this work, we assume that
the master robot has an additional degree of freedom that
allows a continuous online modification of this parameter
and that the operator configures it depending on the require-
ments of the task. On the other hand, the reference to follow
is generated by a position controller, based on the position
error. Thus, we have:
˙x
p
ref
= K
p
(e
p
) = K
p
(x
rd
x
r
), (18)
with x
rd
being the desired positions; K
p
is a positive def-
inite matrix that regulates the position errors. On the other
hand, we have established that the redundancy of the MM al-
lows the inclusion of secondary objectives. Keeping in mind
that the secondary target is set in the null space of the overall
solution, this requirement is fulfilled as long as it does not
interfere with the main solution. For our case, the orienta-
tion of the end-effector can be modified in-line according to
task requirements and defined as follows:
˙x
h
ref
= K
o
e
o
, (19)
where K
o
is a gain matrix and e
o
are the orientation errors
defined through the unitary quaternion [11] and are calcu-
lated as follows:
e
o
=
e
r
e
υ
T
=
rr
d
+ υ
T
υ
d
rυ
d
r
d
υ S
o
(υ)υ
d
, (20)
where (r, υ) and (r
d
, υ
d
) are the real and desired orientation
expressed in quaternions [11], respectively, with the fulfill-
ment that e
T
o
e
o
= e
2
r
+ e
υ
T
e
υ
= 1, while S
o
(υ) is a skew-
symmetric matrix defined as:
S
o
(υ) ,
0 υ
k
υ
j
υ
k
0 υ
i
υ
j
υ
i
0
. (21)
3 Results
The execution of a task is shown in this section to determine
the performance of the proposal. For this, three points to
be reached are defined, where is modified in real time at
different periods of execution.
To reach the first point, the robot starts from a known po-
sition, with a default configuration (Figs. 2, 3). For the first
5 seconds, = 0 is set, i.e., the platform is fully activated
and the manipulator deactivated. In this time frame, posi-
tion errors tending to zero are present for the X-Y axes (Fig.
4), while the error in Z remains constant since the participa-
tion of the MM is required to achieve zero errors. The range
of e
p
= 0 is performed in the next 5 seconds of execution
24 International Journal of Engineering Insights, (2023) 1:1
Fig. 2: Reconstruction of execution, lateral view
Fig. 3: Reconstruction of execution, front view
since = 1 is set and the manipulator is activated, while the
platform remains stationary. All this behavior of the robotic
structure is shown in Figs. 5 and 6. These initial ten seconds
show an approach of the platform to the desired point, after
which it switches ( practically unobtrusively) to the MM.
The second point range runs from seconds 10 to 20.
Differently from the first point range, this period consid-
ers an involvement of both the platform and the manipulator
in an indicated period. In the second ten, the new desired
point generates position errors that the controller tries to re-
solve. From 10 to 12.3 seconds, enables only the moving
platform, i.e. = 0. Subsequently, the weighting value is
= 0.6, which enables velocities to be induced at all joints
of the robot. In this period (at seconds 12.3 to 15), it can
be observed how the platform moves backward (Fig. 5) to
facilitate the MM reaching the target (Fig. 6), nulling the
position errors in all axes (Fig. 4).
25 International Journal of Engineering Insights, (2023) 1:1
Fig. 4: Position errors
Fig. 5: Platform velocities
Finally, the range of the third point indicates a continu-
ous involvement of both the moving platform and the ma-
nipulator. In this case, continuous motion of all joints (Figs.
5 and 6) and a trend of errors (Fig. 4) to zero similar in all
axes is observed, given a configuration of = 0.4.
For their part, quaternion-based orientation errors are
shown in Fig. 7. Since the use of redundancy of the robotic
system is posited, a desired orientation of the operating end
is configured throughout the task. In this case and since this
secondary objective is projected onto the null space of the
solution, the position range may or may not be achieved.
However, given the characteristics of the robotic system and
as shown in Fig. 7, the errors tend to zero as long as allows
the manipulator to be activated.
Fig. 6: Robotic manipulator positions
Fig. 7: Orientation errors
4 Conclusions
The main contribution of this work is the design of a weight
matrix that includes cost functions for the continuous selec-
tion of sections of a highly redundant robot. In this way, it
is proposed to control either isolated sections of a mobile
manipulator robot, or by means of the weight matrix, to give
higher execution priority to desired parts of the mechanism,
based on a task-dependent variable that can be modified in
real time.
The activation of parts of a redundant robotic system is
possible through the use of a weighting matrix. As shown
in the development of this proposal, the design of a ma-
trix that allows to continuously switch sections of interest of
the robot while deactivating others is possible. Additionally,
since the switching factor can vary in real time, the applica-
26 International Journal of Engineering Insights, (2023) 1:1
tion of such techniques can be useful for both autonomous
and teleoperated control.
Acknowledgements The authors would like to thank the German Stu-
dent Exchange Service (DAAD), and the Instituto de Autom
´
atica, a
dual-dependent institute: Universidad Nacional de San Juan and CON-
ICET - Argentina.
Conflict of interest
The authors declare that they have no conflict of interest.
References
1. T. Sandakalum and M. H. Ang Jr, “Motion planning for mobile
manipulators—a systematic review, Machines, vol. 10, no. 2,
p. 97, 2022.
2. E. Slawinski, D. Santiago, and V. Mut, “Dual coordination for bi-
lateral teleoperation of a mobile robot with time varying delay,
IEEE Latin America Transactions, vol. 18, no. 10, pp. 1777–1784,
2020.
3. H. Xing, Z. Gong, L. Ding, A. Torabi, J. Chen, H. Gao, and
M. Tavakoli, An adaptive multi-objective motion distribution
framework for wheeled mobile manipulators via null-space explo-
ration,Mechatronics, vol. 90, p. 102949, 2023.
4. H. Xing, L. Ding, H. Gao, W. Li, and M. Tavakoli, “Dual-
user haptic teleoperation of complementary motions of a redun-
dant wheeled mobile manipulator considering task priority,IEEE
Transactions on Systems, Man, and Cybernetics: Systems, vol. 52,
no. 10, pp. 6283–6295, 2022.
5. S. Huang, J. Xiang, W. Wei, and M. Z. Chen, “On the virtual
joints for kinematic control of redundant manipulators with multi-
ple constraints, IEEE Transactions on Control Systems Technol-
ogy, vol. 26, no. 1, pp. 65–76, 2017.
6. B. Dariush, Y. Zhu, A. Arumbakkam, and K. Fujimura, “Con-
strained closed loop inverse kinematics, in 2010 IEEE Interna-
tional Conference on Robotics and Automation. IEEE, 2010, pp.
2499–2506.
7. P. I. Corke, A simple and systematic approach to assigning de-
navit–hartenberg parameters, IEEE Transactions on Robotics,
vol. 23, no. 3, pp. 590–594, 2007.
8. K. Kozłowski and D. Pazderski, “Modeling and control of a 4-
wheel skid-steering mobile robot, International journal of ap-
plied mathematics and computer science, vol. 14, no. 4, pp. 477–
496, 2004.
9. J. Moreno, E. Slawi
˜
nski, F. A. Chicaiza, F. G. Rossomando,
V. Mut, and M. A. Mor
´
an, “Design and analysis of an input–output
linearization-based trajectory tracking controller for skid-steering
mobile robots,Machines, vol. 11, no. 11, p. 988, 2023.
10. Y. Wei, “Motion planning and tracking of a hyper redundant
non-holonomic mobile dual-arm manipulator,” Ph.D. dissertation,
Ecole Centrale de Lille, 2018.
11. B. Xian, M. de Queiroz, D. Dawson, and I. Walker, “Task-space
tracking control of robot manipulators via quaternion feedback,
IEEE Transactions on Robotics and Automation, vol. 20, no. 1, pp.
160–167, 2004.
License
Copyright (2023) © Mar
´
ıa del Carmen Claudio, Viviana
Moya, Emanuel Slawi
˜
nski, and Vicente Mut.
This text is protected under an international Creative Com-
mons 4.0 license.
You are free to share, copy, and redistribute the mate-
rial in any medium or format and adapt the document
— remix, transform, and build upon the material for any
purpose, even commercially, provided you comply with the
conditions of Attribution. You must give appropriate credit
to the original work, provide a link to the license, and indi-
cate if changes were made. You may do so in any reasonable
manner, but not in a way that suggests endorsement by the
licensor or approval of your use of the work.
License summary - Full text of the license