# Energy-Saver Mobile Manipulator Based on Numerical Methods

^{1}

^{2}

^{*}

Next Article in Journal

Next Article in Special Issue

Next Article in Special Issue

Previous Article in Journal

Previous Article in Special Issue

Previous Article in Special Issue

Universidad de las Fuerzas Armadas–ESPE, Sangolquí 171103, Ecuador

Escuela Politécnica Superior, Universidad Autónoma de Madrid, 28049 Madrid, Spain

Author to whom correspondence should be addressed.

Received: 1 September 2019 / Revised: 23 September 2019 / Accepted: 25 September 2019 / Published: 29 September 2019

(This article belongs to the Special Issue Motion Planning and Control for Robotics)

The work presents the kinematic and dynamic control of a mobile robotic manipulator system based on numerical methods. The proposal also presents the curvature analysis of a path not parameterized in time, for the optimization of energy consumption. The energy optimization considers two aspects: the velocity of execution in curves and the amount of movements generated by the robotic system. When a curve occurs on the predefined path, the execution velocity is analyzed throughout the system in a unified method to prevent skid effects from affecting the mobile manipulator, while the number of movements is limited by the redundancy presented by the robotic system to optimize energy use. The experimental results are shown to validate the mechanical and electronic construction of the system, the proposed controllers, and the saving of energy consumption.

At present, it is usual to find industries using robots instead of human personnel. In fact, more than 1.4 million new industrial robots are estimated to be installed in factories around the world by 2019, where more than seventy percent of them are placed in automotive, electrical, electronics, and metal industry segments, as stated Gonzalez, et al. [1]. In this aspect, the robots’ configuration depends on the application field where they work as states Magyar et al. in [2]. The most common robotic configuration in production areas is that of manipulators, which can perform tasks similar to those of a human upper limb, supplying the operator in repetitive or tedious tasks, or being a support for loading materials or moving heavy objects, and others, as you can read in Ding, et al. [3]. However, it has a severe limitation, which is to be embedded on a stationary base (often in a structured environment), this makes the robotic manipulator have restrictions in the field of application. To overcome motion limitation, a base that moves the manipulator can be included to achieve the characteristics of locomotion and manipulation, thus increasing the resulting range of applications, García, et al. in [4] show an example. This base can only be a semi-inert mobile base or a mobile robot with minimal or very high intelligence. The mobile manipulators unify the ability to hold objects and freedom of movement of the operating end in space (given by the robotic arm) with the displacement of the entire robotic system (given by the mobile platform). Some tasks, like Mori, et al. shows in [5] such as welding, assembly, paint spraying, accurate positioning systems, placement of elements, surgery, and so on can be deployed by this sort of robot. In this type of application, the precision of work has a decisive role due to the consequences that would generate the error in the execution of tasks, negligence that in the pursuit of roads or trajectories cannot be considered as a normal factor.

The proper design of a controller that will govern the actions of each of the robot’s effectors can ensure optimal execution of the scheduled task. In this respect, Su, et al. in [6] and Prada-Jimenez, et al. in [7] propose different ways of controlling mobile manipulators considering their kinematic model as a single robot. In a different way, Hamner, et al. in [8] works in the hybridization of locomotion and manipulation, joining a mobile platform and a manipulator in several modes of operation, but treating the mobile part and the arm as different robots. Considering the dynamics of the mobile manipulator, Li, et al. in [9] presents an adaptive control strategy for trajectory tracking, Liu, et al. in [10] proposes a diffuse control scheme based on integrated dynamic modelling considering nonholonomic constraints and interactive motions, and Eslamy, et al. in [11] investigates the dynamics resulting from placing a suspension system on the mobile part of a mobile manipulator in order to analyze the effect of vibration-absorbing systems. These works are mainly based on nonlinear control algorithms, given the nature of robotic systems. The nonlinearity of robotic assemblies implies the use of appropriate control methods for this type of system, with techniques based on passivity, slide mode, Lyapunov, and so on. For instance, Abou-Samah, et al. in [12] presents an adaptive sliding mode backstepping control algorithm for a wheeled mobile manipulator, integrating the sliding mode control strategy and adaptive backstepping methodology. The proposed algorithm possesses many characteristics in order to drive the wheeled mobile manipulator tracking error to converge to zero in the short period and be applied to the robotic system considering nonholonomic constrains, uncertainties, and disturbances. In the same way, Tchoń, et al. in [13] shows a three-dimensional (3D) passivity-based visual controller for mobile manipulator with eye-in-hand configuration. This work considers the redundancy of the mobile manipulator system to comply with objectives of obstacle avoidance, where the design of the robotic system is split into two cascaded subsystems: kinematics and dynamics-based controller. Simulated and experimental results are presented, in addition to the stability proof which is based on its passivity properties. Furthermore, Deepak, et al. in [14] presents the simulation of a mobile manipulator considering kinematics and dynamics. The control law is based on a combination of Lyapunov stability theory and an adaptive fuzzy control in order to track a trajectory. The fuzzy compensator is developed given the modelling uncertainties such as friction and external disturbances. For its part, the Lyapunov-based law control is used to reduce approximation errors and ensure system stability.

In addition to plan and control the operating end, features such as the force necessary to maintain an object lifted up continuously must be considered. In contrast to work on optimizing the energy consumption of an air vehicle (which must be kept in flight continuously) Rossi, et al. in [15], power consumption in land vehicles is often not carefully analyzed. However, power consumption optimization can result in a significant aid to the maintenance of the storage elements as well as extending the vehicle’s autonomy. In this respect, Hua, et al. in [16] and Motlagh, et al. in [17] and Lin C, et al. in [18] propose solutions that involve the energy saving of terrestrial robots considering different approaches such as manipulating velocities in certain parts of the trajectory or minimizing functional costs from the torque produced by the actuators. In these works, energy savings are focused on avoiding skidding or reducing velocity at critical points in vehicles whose control actions are executed on a plane, without considering movements over the space of an embedded robotic arm.

In a robotic arm, the manipulator’s redundancy increases its flexibility, versatility, and manipulability capabilities. In order to reach the desired point, redundancy is often exploited without considering undesirable configurations or energy expenditure. However, works such as Abbaspour, et al. in [19] propose the manipulation of redundancy in order to prevent controller solutions from greatly altering the velocities injected into the controllers. Also, within the analysis of energy optimization, redundancy can assist in reducing the movement of degrees of freedom of high consumption and increasing others low to optimize power expenditure.

In this paper, features such as redundancy and motion velocity of the mobile robotic manipulator system are analyzed through numerical methods to pose energy optimizers, a feature shows Li, et al. in [20]. In order to achieve energy-saving objectives and avoid unnecessary power consumption, the analysis of the radius of curvature of a road not parameterized in time is developed, considering the calculation of appropriate velocities for certain periods of time. Likewise, the consideration of reducing the movement of the mobile platform in comparison with the movement of the robotic arm is taken into account and analyzed. A dynamic model for the mobile manipulator is developed which, unlike previous works, accepts velocity inputs as it is usual in commercial robots, where the stability for both the kinematic proposal and the dynamic controller is tested through linear algebra properties. To validate the proposed control algorithms and the proposed energy cost optimization, experimental results are included and discussed. In addition, and as an alternative to the acquisition of a commercial robotic prototype, this work proposes the mechanical and electronic construction of a six-degree arm mounted on a unicycle-type mobile platform, which has an embedded computer for the execution of the kinematic and dynamic controller, together with the energy-saving proposal.

This article is organized as follows: Section 2 proposes energy saving, Section 3 presents the kinematic and dynamic modelling of the mobile manipulator, while Section 4 proposes the design of the static and dynamic control elements. Finally, Section 5 shows the experimental results obtained in this work.

The robot’s energy consumption is rarely taken into account when reaching the desired points of a trajectory. The manipulation of the displacement velocity of a robot allows a most effective use of energy, an example shows in Minitti, et al. [21]; likewise, in robotic systems composed of several robots (wheeled mobile manipulator, present it Park, et al. in [22], aerial manipulator, Thapa, et al. in [23], hexapod robot, humanoid robots, and so on Lunghi, et al. in [24]) it is also possible to optimize energy consumption through control schemes which allow achieving the desired objective with a smaller number of movements, attaining this optimization through restrictions in the control, it says Wu, et al. in [25] of system redundancy.

The velocity of displacement in the execution of path following is directly related to energy consumption. Analyzing the problem as an execution with constant velocity on a road that includes curves, the loss of energy could be produced mainly by skid effects and correction of centrifugal- and centripedics-resulting forces, according to the configuration of the robot that is executing a specific task. In addition, it should be noted that the power consumption of the entire system is equivalent to the sum of the powers consumed in each of the robot actuators.

Thus, in the case of a manipulator robot made up of a mobile platform with ${j}_{p}$ actuators (${P}_{jp}$) and a robotic arm with ${j}_{a}$ actuators (${P}_{ja}$), the total power of the robotic system is defined as ${P}_{T}={P}_{1p}+{P}_{2p}+\mathrm{\dots}+{P}_{mp}+{P}_{1a}+{P}_{2a}+\mathrm{\dots}+{P}_{na}$, the same that is equivalent to the consumption of the whole system in a defined period of time. As described above, the power expenditure can be determined by: ${E}_{T}={{\displaystyle \int}}_{{T}_{0}}^{{T}_{F}}{P}_{T}\left(t\right)dt$

where ${T}_{0}$ and ${T}_{F}$ are the start and end time of the execution of the task of the robotic system.

According to the configuration of the robotic arm, the power of each one of the actuators will depend on the mass and the size of the link or links to be displaced; while the power consumed by the actuators of the mobile platform is equal between both actuators, given that the power necessary to displace a load is distributed among each one of the actuators.

The power required to move the entire robotic system requires higher consumption in the mobile platform motors compared with the arm actuators.

The power consumption dimensioning estimates that the cost of consumption of each one of the actuators of the mobile platform is up to four times higher than the consumption of the first two articulations of the robotic arm (considering that the first two motors of the robotic arm are the most powerful, compared with the rest of the actuators of the manipulator). Therefore, the energy saving of a mobile manipulator when executing a specific task is directly proportional to the number of movements performed by the platform and the arm simultaneously as stated Li, et al. in [26].

Based on the above, this work proposes a control scheme that optimizes the energy consumption of a mobile manipulator robot when executing a specific task. As an energy optimization criterion, it is considered: i) manipulation of the desired velocity to execute the task; and ii) reduction in the number of movements of the mobile manipulator, giving greater importance to the movement of the arm with respect to that of the mobile platform.

The mobile manipulator configuration is defined by a vector $q$ of ${n}_{a}$ independent coordinates called generalized coordinates of the mobile manipulator with $q={[\begin{array}{cccc}{q}_{1}& {q}_{2}& \mathrm{\dots}& {q}_{n}\end{array}]}^{T}$ $={[\begin{array}{cc}{q}_{p}^{T}& {q}_{a}^{T}\end{array}]}^{T}$, where ${q}_{a}$ represents the generalized coordinates of the arm and ${q}_{p}$ the generalized coordinates of the mobile platform. It is noticed that $n={n}_{a}+{n}_{p}$, where ${n}_{a}$ and ${n}_{p}$ are respectively the dimensions of the generalized spaces associated to the robotic arm and to the mobile platform.

The configuration $q$ is an element of the mobile manipulator configuration space; denoted by $\mathrm{N}$. The location of the end-effector of the mobile manipulator is given by the $m$–dimensional vector $\mathrm{h}={[\begin{array}{cccc}{h}_{1}& {h}_{2}& \mathrm{\dots}& {h}_{m}\end{array}]}^{T}$, where $\mathrm{h}\left(t\right)$ defines the position and the orientation of the end-effector of the mobile manipulator in $R$. Its $m$ coordinates are the operational coordinates of the mobile manipulator. The set of all locations constitutes the mobile manipulator operational space, denoted by $\mathrm{M}$.

The kinematic model of a mobile manipulator gives the location of the end-effector $\mathrm{h}$ as a function of the robotic arm configuration and the platform location (or its operational coordinates as functions of the robotic arm’s generalized coordinates and the mobile platform’s operational coordinates).
where, ${N}_{a}$ is the configuration space of the robotic arm, ${M}_{p}$ is the operational space of the platform.

$$\mathrm{f}:{\mathrm{N}}_{\mathrm{a}}\times {M}_{\mathrm{p}}\to M$$

$$\left({q}_{a},{q}_{p}\right)\mapsto h=f\left({q}_{a},{q}_{p}\right)$$

The instantaneous kinematic model of a mobile manipulator gives the derivative of its end-effector location as a function of the derivatives of both the robotic arm configuration and the location of the mobile platform. Now, after analyzing the above statements, we can represent the end-effector velocity as follow:
where, $J\left(q\right)$ is the Jacobian matrix that defines a linear mapping between the vector of the mobile manipulator velocities $v\left(t\right)$ and the vector of the end-effector velocity $\dot{\mathrm{h}}\left(\mathrm{t}\right)$. The Jacobian matrix is, in general, a function of the configuration $q\left(\mathrm{t}\right)$. Those configurations where $J\left(q\right)$ is rank-deficient are termed singular kinematic configurations. Finding the manipulator singularities is of great interest due to the following main reasons: a) Singularities represent configurations where the mobility of the structure is reduced (i.e., it is not possible to impose an arbitrary motion to the end-effector); b) In the neighborhood of a singularity, small velocities in the operational space may cause large velocities in the $q\left(\mathrm{t}\right)$ space.

$$\dot{\mathrm{h}}\left(t\right)=J\left(q\right)v\left(t\right)$$

In general, the dimension of the operational space$m$is smaller than the degree of mobility${\delta}_{n}$of the mobile manipulator. Therefore, there is a redundancy problem to be solved in controlling the mobile manipulator robot tasks.

The mathematic model which represents the dynamics of a mobile manipulator can be obtained from Lagrange’s dynamic equations, which are based on the difference between the kinetic and potential energy of each of the joints of the robot (energy balance) based in Sciavicco, et al. [27]. Most of the commercially available robots have low-level PID controllers in order to follow the reference velocity inputs, thus not allowing controlling the motors directly. Therefore, it becomes useful to express more appropriately the dynamic model of the mobile manipulator by considering the rotational and longitudinal reference velocities as the input signals. To do so, the velocity controllers are included in the model.
where,

$$\mathrm{M}\left(\mathrm{q}\right)\dot{\mathrm{v}}+\mathrm{C}\left(\mathrm{q},\mathrm{v}\right)\mathrm{v}+\mathrm{g}\left(\mathrm{q}\right)+\mathrm{d}={\mathrm{v}}_{\mathrm{ref}}$$

$$\mathrm{M}\left(\mathrm{q}\right)={\mathrm{H}}^{-1}\left(\overline{\mathrm{M}}+\mathrm{D}\right),$$

$$\mathrm{C}\left(\mathrm{q},\mathrm{v}\right)={\mathrm{H}}^{-1}\left(\overline{\mathrm{C}}+\mathrm{P}\right),$$

$$\mathrm{g}\left(\mathrm{q}\right)={\mathrm{H}}^{-1}\overline{\mathrm{g}}\left(\mathrm{q}\right),$$

$$\mathrm{d}={\mathrm{H}}^{-1}\overline{\mathrm{d}}$$

$${v}_{ref}={[\begin{array}{cccccc}{u}_{ref}& {\omega}_{ref}& {\dot{\theta}}_{{1}_{ref}}& {\dot{\theta}}_{{2}_{ref}}& \mathrm{\dots}& {\dot{\theta}}_{n{a}_{ref}}\end{array}]}^{T}.$$

Thus, $\mathrm{M}\left(\mathrm{q}\right)\in {\Re}^{{\mathsf{\delta}}_{\mathrm{n}}{\mathrm{x}\mathsf{\delta}}_{\mathrm{n}}}$ is a positive definite matrix representing the system’s inertia, $\mathrm{C}\left(\mathrm{q},\mathrm{v}\right)\mathrm{v}\in {\Re}^{{\mathsf{\delta}}_{\mathrm{n}}}$ represents centripetal and Coriolis forces, $\mathrm{g}\left(\mathrm{q}\right)\in {\Re}^{{\mathsf{\delta}}_{\mathrm{n}}}$ is the gravitational vector, $\mathrm{d}$ denotes bounded unknown disturbances including unmodeled dynamics and ${\mathrm{v}}_{\mathrm{ref}}\in {\Re}^{{\delta}_{n}}$ is the vector of velocity control signals, $\mathrm{H}\in {\Re}^{{\mathsf{\delta}}_{\mathrm{n}}{\mathrm{x}\mathsf{\delta}}_{\mathrm{n}}}$, $\mathrm{D}\in {\Re}^{{\mathsf{\delta}}_{\mathrm{n}}\hspace{0.17em}{\mathrm{x}\mathsf{\delta}}_{\mathrm{n}}}$ and $\mathrm{P}\in {\Re}^{{\mathsf{\delta}}_{\mathrm{n}}{\mathrm{x}\mathsf{\delta}}_{\mathrm{n}}}$ are positive definite constant diagonal matrices containing the physical parameters of the mobile manipulator, motors, and velocity controllers of both the mobile platform and the manipulator at state as Andaluz, et al. in [28].

It´s important to notice that the dynamic model of the mobile manipulator can be represented by:
where, $\mathsf{\Phi}\left(\mathrm{q},\mathrm{v},\mathsf{\sigma}\right)\in {\Re}^{{\mathsf{\delta}}_{\mathrm{n}}\mathrm{xl}}$ and $\mathsf{\chi}={[\begin{array}{cccc}{\mathsf{\chi}}_{1}& {\mathsf{\chi}}_{2}& \mathrm{\dots}& {\mathsf{\chi}}_{\mathrm{l}}\end{array}]}^{\mathrm{T}}$ is the vector of unknown parameters of the mobile manipulator (i.e., mass of the mobile robot, mass of the robotic arm, physical parameters of the mobile manipulator, motors, velocity, etc.).

$$\mathrm{M}\left(\mathrm{q}\right)\dot{\mathrm{v}}+\mathrm{C}\left(\mathrm{q},\mathrm{v}\right)\mathrm{v}+\mathrm{g}\left(\mathrm{q}\right)+\mathrm{d}=\mathsf{\Phi}\left(\mathrm{q},\mathrm{v},\mathsf{\sigma}\right)\mathsf{\chi}$$

The full mathematical model of the mobile manipulator robot is represented by: (1) the instantaneous kinematic model and (2) the dynamic model, taking the reference velocities of the system as input signals.

The design criteria of the proposed control considers the manipulation of the desired velocity for road tracking, as well as the redundancy control of the mobile manipulator system. The control proposal is applied to follow paths not parameterized in time, because the desired velocity can be modified depending on the task to be executed by the robotic system. The proposed control scheme to solve the motion control problem is shown in Figure 1, where the controller design is based on two cascading subsystems:

i) A minimum norm kinematic controller with saturation of velocity commands, where its inputs are ${\mathrm{h}}_{\mathrm{d}}\left(\mathrm{t},\mathrm{s},\mathrm{h}\right)$ and ${\mathrm{v}}_{\mathrm{hd}}\left(\mathrm{t},\mathrm{s},\mathrm{h}\right)$, which describe the desired location and velocity of the end-effector of the mobile manipulator. The control error is given by the location error of the end-effector defined as $\tilde{\mathrm{h}}={\mathrm{h}}_{\mathrm{d}}-\mathrm{h}$. Therefore, the control aim is expressed as

$$\underset{\mathrm{t}\to \infty}{\mathrm{lim}}\tilde{\mathrm{h}}\left(\mathrm{t},\mathrm{s},\mathrm{h}\right)=0\in {\Re}^{\mathrm{m}}$$

ii) Dynamic compensation controller, of which the main objective is to compensate the dynamics of the mobile manipulator, thus reducing the velocity tracking error. This controller receives as inputs the desired velocities calculated by the kinematic controller, and generates velocity references ${\mathrm{v}}_{\mathrm{ref}}$ for the mobile manipulator robot. The velocity control error is defined as $\tilde{\mathrm{v}}={\mathrm{v}}_{\mathrm{c}}-\mathrm{v}$. Hence, the control aim is to ensure that

$$\underset{\mathrm{t}\to \infty}{\mathrm{lim}}\tilde{\mathrm{v}}\left(\mathrm{t}\right)=0\in {\Re}^{{\mathsf{\delta}}_{\mathrm{n}}}$$

Both controllers are based on numerical methods.

The kinematic controller evaluates the control errors in each sampling period, so that the actual velocity obtained from the mobile manipulator can be used as a reference for maneuvering the entire system, thus reducing errors. This section presents road tracking considering the manipulation of a desired velocity with the aim of reducing energy consumption, where the task to be executed will be a function of the road followed and a desired velocity.

Figure 2 shows the path-tracking problem represented by $P(s)$, where $P(s)=({x}_{p}(s),{y}_{p}(s),{z}_{p}(s))$; ${P}_{d}$ represents the current desired point of the mobile manipulator robot which is considered to be the closest point $P(s)$ to the robotic system, this is defined as ${P}_{d}=({x}_{p}({s}_{d}),{y}_{p}({s}_{d}),{z}_{p}({s}_{d}))$, where ${s}_{d}$ is the defined curvilinear abscissa of the point ${P}_{d}$; the representation of errors in $x$ direction is given by $\tilde{x}={x}_{p}\left({s}_{d}\right)-x$; the representation of errors in $y$ direction is given by $\tilde{y}={y}_{p}\left({s}_{d}\right)-y$; the representation of errors in $z$ direction is given by $\tilde{z}={z}_{p}\left({s}_{d}\right)-z$.

Based on the graphical representation, control errors $\rho \left(t\right)$ are calculated by the difference in position between the operating end $h\left(x,y,z\right)$ and the desired point ${P}_{d}$, where the distance between the current position of the robot $h\left(x,y,z\right)$ and the reference point is zero $\tilde{\rho}=0-\rho =-\rho $; $\tilde{\psi}\left(t\right)$ is the orientation error of the final effect defined as $\tilde{\psi}={\theta}_{T}-\psi $, where ${\theta}_{T}$ is the orientation of the unit vector tangent to the trajectory of the point ${P}_{d}$ with respect to the reference system $R\left(X,Y,Z\right).$

The orientation of the final effector depends directly on the application, so it is not studied in this paper, because the algorithm aim is that the effector reaches the point of interest with a lower power consumption. For example, the application can be take a bottle (vertically oriented), pull a sheet of paper (horizontal orientation), or any other orientation of the clamp. This does not really affect the algorithm, since it will be the same for any application.

The consideration of energy saving proposes as a first instance the reduction of velocity in curves when executing the follow-up of a road, therefore, the desired velocity can be manipulated. For path tracking, the desired velocity can depend on different parameters, for example, the task to be executed, control errors, road curvature, optimization criteria, among others.

$${\mathsf{\upsilon}}_{\mathrm{d}}\left(\mathrm{t}\right)=\mathrm{f}\left(\mathrm{s},\mathsf{\rho},\Gamma \right)$$

In order to optimize energy consumption when executing a desired task, the control scheme proposed in this paper considers that the reference velocity on the road to be followed is a function of its radius of curvature.
where $\mathsf{\Gamma}$ represents the radius of curvature and $k$ is a dimensionless constant. By considering the required path $\mathrm{p}$ as a set of points, the value of curvature is defined as:

$${\upsilon}_{d}\left(t\right)=\frac{{\upsilon}_{max}}{1+k\mathrm{tan}h\left(\mathsf{\Gamma}\left(t\right)\right)}$$

$$\Gamma \left(k\right)=\frac{\left|\dot{p}\left(k\right)\times \ddot{p}\left(k\right)\right|}{{\left|\dot{p}\left(k\right)\right|}^{3}}$$

The values of the radius curvature in each instant of time of (3) can be found only if one has the analytical expression of the path. This limits to a great extent the use of this type of consideration, since for real applications there is not always the path to follow in the form of derivable mathematical equations.

In order to resolve the limitation of not having the analytical expression, it is proposed to use the next $\mathrm{p}\left(k+1\right)$ and previous $\mathrm{p}\left(k-1\right)$ points of the sampling period, in this way $\dot{\mathrm{p}}\left(k\right)$, is defined as follows:
and the $\ddot{\mathrm{p}}\left(k\right)$ value is calculated by

$$\dot{\mathrm{p}}\left(k\right)=\frac{\mathrm{p}\left(k-1\right)-\mathrm{p}\left(k+1\right)}{2{T}_{s}}$$

$$\ddot{\mathrm{p}}\left(k\right)=\frac{\mathrm{p}\left(k+1\right)-2\mathrm{p}\left(k\right)+\mathrm{p}\left(k-1\right)}{{T}_{s}{}^{2}}$$

The analysis of the radius of curvature can be developed separately since the mobile platform moves on the plane $x,y$, while the arm on the space $x,y,z$.

The design of the kinematic and dynamic controllers proposed in this work are based on numerical method tools. Specifically, for the solution of systems of equations, these systems can be represented in matrix form, for which theorems and axioms of linear algebra are applied.

Considering the first order differential equation
where $\mathrm{h}$ represents the output of the system to be controller; $\dot{\mathrm{h}}$ is the first derivative with respect to time; $\mathrm{v}$ is the control action; $\Gamma $ represents different criteria of the task to be executed. The values of $\mathrm{h}\left(\mathrm{t}\right)$ in the discrete time $\mathrm{t}=k{\mathrm{T}}_{0}$ are called $\mathrm{h}\left(k\right)$, where ${T}_{0}$ represents the sampling time and $k\in \left\{1,2,3,4,5\dots \right\}$. In addition, the use of numerical methods for the calculus of the system evolution is based mainly on the possibility to approximate the state system at the instant time $k$, if the state and the control action on the time instant $k-1$ are known, this approximation is called Euler method [24].

$$\dot{\mathrm{h}}\left(\mathrm{t}\right)=\mathrm{f}\left(\mathrm{h},\mathrm{v},\Gamma \right)\mathrm{with}\mathrm{h}\left(0\right)={\mathrm{h}}_{0}$$

$$\frac{\mathrm{h}\left(k\right)-\mathrm{h}\left(k-1\right)}{{\mathrm{T}}_{0}}=\mathrm{f}\left(\mathrm{h},\mathrm{v},\Gamma \right)$$

The design of the kinematic controller is based on the kinematic model of mobile manipulator robot. In order to design the kinematic controller, the model of robot (1) can be approximated as (4).

$$\frac{\mathrm{h}\left(k\right)-\mathrm{h}\left(k-1\right)}{{\mathrm{T}}_{0}}=\mathrm{J}\left(\mathrm{q}\left(k\right)\right)\mathrm{v}\left(k\right)$$

It should be noted that path tracking consists of keeping the operating end of the mobile manipulator within a predefined route without time parameterization. In this way, the control objective is to position the point of interest at the nearest point on the road $\mathrm{p}$ at a desired velocity ${\upsilon}_{d}$. To achieve this objective, the following expression is considered:
where, ${\mathrm{h}}_{\mathrm{d}}$ is the desired path, $\mathrm{W}\left(\tilde{\mathrm{h}}\left(k-1\right)\right)$ is a diagonal matrix that control error weights, defined as:
where $\mathrm{m}$ represents the operational coordinates of the mobile manipulator robot.

$$\frac{\mathrm{h}\left(k\right)-\mathrm{h}\left(k-1\right)}{{T}_{0}}={\upsilon}_{d}\left(k\right)+\mathrm{W}\left(\frac{{\mathrm{h}}_{\mathrm{d}}\left(k-1\right)-\mathrm{h}\left(k-1\right)}{{T}_{0}}\right)$$

$$\mathrm{W}\left({\tilde{\mathrm{h}}}_{\mathrm{m}}\left(k-1\right)\right)=\frac{{\mathrm{w}}_{\mathrm{m}}}{1+\left|{\tilde{\mathrm{h}}}_{\mathrm{m}}\left(k-1\right)\right|}$$

Now, to generate the system equations consider (5) and (6), and the system can be rewritten as $\mathrm{Au}=\mathrm{b}$

$$\underset{\mathrm{A}}{\underset{\u23df}{\mathrm{J}\left(\begin{array}{c}\mathrm{q}\left(k\right)\end{array}\right)}}\underset{\mathrm{u}}{\underset{\u23df}{\mathrm{v}\left(k\right)}}=\underset{\mathrm{b}}{\underset{\u23df}{{\mathrm{v}}_{\mathrm{d}}\left(k\right)+\frac{\mathrm{W}\left({\mathrm{h}}_{\mathrm{d}}\left(k-1\right)-\mathrm{h}\left(k-1\right)\right)}{{T}_{0}}}}$$

Considering that the configuration of the robotic system is redundant (7), the Jacobian matrix$\mathrm{J}\in {\mathrm{R}}^{\mathrm{m}\times \mathrm{n}}$has more unknowns than equations ($\mathrm{m}<\mathrm{n}$), with range$\mathrm{r}=\mathrm{n}$for each$\mathrm{b}\in {\mathrm{R}}^{\mathrm{m}}$, then (7) represents a subdetermined linear system with general solution.
where${v}_{p}$it is a particular solution and${v}_{h}$is a homogeneous system solution$\mathrm{J}{v}_{h}=0$. This result is of fundamental importance for the resolution of redundant systems.

$$v={v}_{p}+{v}_{h}$$

A viable solution method is to formulate the problem as a constrained linear optimization problem.

$$\frac{1}{2}{\left|\right|v\left|\right|}_{2}{}^{2}=min.$$

Then yields the particular solution:

$${v}_{p}={\mathrm{J}}^{\mathrm{T}}{({\mathrm{JJ}}^{\mathrm{T}})}^{-1}\mathrm{b}$$

On the other hand, the null space of $\mathrm{J}$ in ${R}^{n}$ is the set of joint velocities and mobile platform velocities that do not produce any end-effector velocity of the mobile manipulator.

In that case, it is necessary to consider a new cost functional in the form:

$$\frac{1}{2}\left|\right|v-{v}_{0}\left|\right|{{}_{2}}^{2}=\mathrm{min}.$$

Then yields the homogeneous solution

$${v}_{h}=\left({\mathrm{I}}_{\mathrm{n}}-{\mathrm{J}}^{\mathrm{T}}{\left({\mathrm{JJ}}^{\mathrm{T}}\right)}^{-1}\mathrm{J}\right){v}_{0}$$

Therefore, this work proposes the inclusion of the two types of solutions, the particular solution to optimize the road tracking velocities of the entire robotic system and the homogeneous solution to reduce the amount of movements of the mobile platform with respect to the robotic arm.

This is how, inserting the expression (9) and (10) into (8) yields the solution rather than represents the proposed law of control.
where the first term on the left-hand side is the particular solution $\left({v}_{p}\right)$, and the second term $\left({v}_{h}\right)$ of this equation belongs to the null space $\mathrm{J}$.

$${v}_{c}=\underset{{v}_{p}}{\underset{\u23df}{{\mathrm{J}}^{\mathrm{T}}{\left({\mathrm{JJ}}^{\mathrm{T}}\right)}^{-1}\mathrm{b}}}+\underset{{v}_{h}}{\underset{\u23df}{\left({\mathrm{I}}_{\mathrm{n}}-{\mathrm{J}}^{\mathrm{T}}{\left({\mathrm{JJ}}^{\mathrm{T}}\right)}^{-1}\mathrm{J}\right){v}_{0}}}$$

The second term in (11) represents the projection on the null space of the mobile manipulator, where ${v}_{0}$ is an arbitrary vector which contains the velocities associated to the mobile manipulator. Therefore, any value given to ${v}_{0}$ will affect the internal structure of the manipulator only, but not the final control of the end-effector at all, as is shown in Figure 3. By using this term, different control objectives can be achieved, for example, maximum manipulability, energy saving, obstacle avoidance, distance from mechanical joint limits, and so on, it can be read at Paul, et al. in [29] and Li, G., et al. in [30]. This work considers as a secondary objective that the mobile robotic manipulator system must execute the task with a configuration of maximum manipulability and at the same time with a criterion of energy optimization.

We can observe that one of the main requirements for an accurate task execution by the robot is a good manipulability, defined as the robot configuration which maximizes its ability to manipulate a target object. Therefore, one of the secondary objectives of the control is to maintain maximum manipulability of the mobile manipulator during task execution. Manipulability is a concept introduced by Yoshikawa (1985) to measure the ability of a fixed manipulator to move in certain directions. Bayle and Fourquet (2001) present a similar analysis for the manipulability of mobile manipulators and extends the concept of manipulability ellipsoid as the set of all end-effector velocities reachable by robot velocities $v$ satisfying $\left|\right|v\left|\right|\le 1$ in the Euclidean space. A global representative measure of manipulation ability can be obtained by considering the volume of this ellipsoid which is proportional to the quantity $w$, called the manipulability measure,

$$w=\sqrt{\mathrm{det}(\mathrm{J}\left(\mathrm{q}\right){\mathrm{J}}^{\mathrm{T}}\left(\mathrm{q}\right))}$$

This work considers the maximum manipulability of the robotic system in order to avoid unwanted configurations (i.e., ${\mathrm{J}}^{\#}\to \infty $), in addition, the redundancy of the system is used for energy optimization purposes. In order to meet these secondary objectives, it is considered that the arbitrary vector ${v}_{0}$ is a function of the robot’s manipulability, the desired velocity, and the radius and direction of curvature of the road.

$${v}_{0}=\mathrm{g}\left(w,{v}_{max},\Gamma ,\mathrm{sign}\left(\Gamma \right)\right)$$

Therefore, ${v}_{0}$ must allow the robotic arm to perform the greatest number of movements in relation to the mobile platform, without the robotic arm ever having a unique configuration, that is, when the road does not contain curves, the robotic system is positioned in the configuration of maximum manipulability, while when there are curves, the arm has greater freedom to move in order to maintain the desired path. Therefore, the arbitrary vector is defined as,

$${v}_{0}={\left[\begin{array}{cccccc}{\mathrm{u}}_{0}& {\mathsf{\omega}}_{0}& {\mathrm{q}}_{{1}_{0}}& {\mathrm{q}}_{{2}_{0}}& \cdots & {\mathrm{q}}_{{\mathrm{na}}_{0}}\end{array}\right]}^{\mathrm{T}}$$

The velocities affecting the mobile platform affect the position of the operating end of the robotic system in the plane $\mathrm{x},\mathrm{y}$ of the reference system $R\left(X,Y,Z\right)$, therefore,
where ${\Gamma}_{\mathrm{xy}}\left(k\right)$ is the cross product resulting from the velocity and acceleration in the curvatures projected on the planes $\mathrm{x},\mathrm{y}$ (both velocities and accelerations of the third component are annulled) and it is defined as:

$${u}_{0}=f\left({\upsilon}_{max,}{\Gamma}_{\mathrm{xy}}\frac{{u}_{max}}{1+{k}_{u}\mathrm{tan}h\left({l}_{u}{\Gamma}_{\mathrm{xy}}\left(k\right)\right)}\right)$$

$${\mathsf{\omega}}_{0}=f\left({\Gamma}_{\mathrm{xy}},{\mathsf{\zeta}}_{\mathrm{xy}}\right)={\mathsf{\zeta}}_{\mathrm{xy}}\left(k\right){k}_{\mathsf{\omega}}\mathrm{tan}\mathrm{h}\left({\mathrm{l}}_{\mathsf{\omega}}{\Gamma}_{\mathrm{xy}}\left(k\right)\right)$$

$${\Gamma}_{\mathrm{xy}}\left(k\right)=\frac{\left|\dot{\mathrm{r}}\left(k\right)\times \ddot{\mathrm{r}}\left(k\right)\right|}{{\left|\dot{\mathrm{r}}\left(k\right)\right|}^{3}};\mathrm{with}\mathrm{r}\left(k\right)={\left[\begin{array}{ccc}{\mathrm{h}}_{\mathrm{x}}\left(k\right)& {\mathrm{h}}_{\mathrm{y}}\left(k\right)& 0\end{array}\right]}^{\mathrm{T}}$$

${\mathsf{\zeta}}_{\mathrm{xy}}=\mathrm{sign}\left(\dot{\mathrm{r}}\left(k\right)\times \ddot{\mathrm{r}}\left(k\right)\right)$ is the direction of curvature in the plane; $\mathrm{x},\mathrm{y}$ and ${k}_{u}$, ${l}_{u}$, ${k}_{\omega}$, ${l}_{\omega}$ are gain constants that weigh the incidence of curvature of the road as a function of the movement of the robotic platform.

In difference, the components ${q}_{{1}_{0}}\cdots {q}_{n{a}_{0}}$ consider the internal configuration of the robotic arm and the displacement of the operating end in the space $x,y,z$ of the reference system $R\left(X,Y,Z\right)$, thus:
where ${\Gamma}_{\mathrm{xyz}}\left(k\right)$ is the cross product resulting from the velocity and acceleration in the curvatures projected on the space ${\Gamma}_{\mathrm{xyz}}\left(k\right)$ and is defined as:

$$\{\begin{array}{l}{q}_{{1}_{0}}=f\left({\Gamma}_{\mathrm{xy}},{\zeta}_{xy}\right)={q}_{1dm}\pm {\zeta}_{xy}\left(k\right){k}_{1}\mathrm{tan}h\left({l}_{1}{\Gamma}_{\mathrm{xy}}\left(k\right)\right)\\ {q}_{{2}_{0}}=f\left({\Gamma}_{\mathrm{xyz}},{\zeta}_{xyz}\right)={q}_{2dm}\pm {\zeta}_{xyz}\left(k\right){k}_{2}\mathrm{tan}h\left({l}_{2}{\Gamma}_{\mathrm{xyz}}\left(k\right)\right)\\ {q}_{{3}_{0}}=f\left({\Gamma}_{\mathrm{xyz}},{\zeta}_{xyz}\right)={q}_{3dm}\pm {\zeta}_{xyz}\left(k\right){k}_{3}\mathrm{tan}h\left({l}_{3}{\Gamma}_{\mathrm{xyz}}\left(k\right)\right)\\ {q}_{{4}_{0}}=f\left({\Gamma}_{\mathrm{xyz}},{\zeta}_{xyz}\right)={q}_{4dm}\pm {\zeta}_{xyz}\left(k\right){k}_{4}\mathrm{tan}h\left({l}_{4}{\Gamma}_{\mathrm{xyz}}\left(k\right)\right)\\ \vdots \\ {q}_{n{a}_{0}}=f\left({\Gamma}_{\mathrm{xyz}},{\zeta}_{xyz}\right)={q}_{nadm}\pm {\zeta}_{xyz}\left(k\right){k}_{na}\mathrm{tan}h\left({l}_{na}{\Gamma}_{\mathrm{xyz}}\left(k\right)\right)\end{array}$$

$${\Gamma}_{\mathrm{xyz}}\left(k\right)=\frac{\left|\dot{\mathrm{r}}\left(k\right)\times \ddot{\mathrm{r}}\left(k\right)\right|}{{\left|\dot{\mathrm{r}}\left(k\right)\right|}^{3}};\mathrm{with}\mathrm{r}\left(k\right)={\left[\begin{array}{ccc}{\mathrm{h}}_{\mathrm{x}}\left(k\right)& {\mathrm{h}}_{\mathrm{y}}\left(k\right)& {\mathrm{h}}_{z}\left(k\right)\end{array}\right]}^{\mathrm{T}}$$

${\mathsf{\zeta}}_{\mathrm{xyz}}=\mathrm{sign}\left(\dot{\mathrm{r}}\left(k\right)\times \ddot{\mathrm{r}}\left(k\right)\right)$ is the direction of curvature in space $X,Y,Z$; and ${k}_{i}$,${l}_{i}$ with $i=1,2,3,\mathrm{\dots},na$ are constants of gain that weigh the incidence of the curvature of the path as a function of the movement of each of the articulations of the robotic arm.

Considering by now the perfect velocity tracking (i.e., ${v}_{\mathrm{ref}}\left(\mathrm{t}\right)=v\left(\mathrm{t}\right)$), Equation (11) can be substituted into the kinematic model Equation (5) to obtain the following closed-loop equation:
where ${\mathrm{JJ}}^{\mathrm{T}}{\left({\mathrm{JJ}}^{\mathrm{T}}\right)}^{-1}={\mathrm{I}}_{\mathrm{m}}$ the equation (16) is reduced
through the properties of an identity matrix is achieved

$$\frac{\mathrm{h}\left(k+1\right)-\mathrm{h}\left(k\right)}{{T}_{0}}=\mathrm{J}\left({\mathrm{J}}^{\mathrm{T}}{({\mathrm{JJ}}^{\mathrm{T}})}^{-1}\mathrm{b}+\left({\mathrm{I}}_{\mathrm{n}}-{\mathrm{J}}^{\mathrm{T}}{\left({\mathrm{JJ}}^{\mathrm{T}}\right)}^{-1}\mathrm{J}\right){v}_{0}\right);$$

$$\mathrm{h}\left(k+1\right)-\mathrm{h}\left(k\right)={T}_{0}{\mathrm{I}}_{\mathrm{m}}\mathrm{b}+\left({\mathrm{JI}}_{\mathrm{n}}-{\mathrm{I}}_{\mathrm{m}}\mathrm{J}\right){v}_{0};$$

$$\mathrm{h}\left(k\right)-\mathrm{h}\left(k-1\right)={T}_{0}\left({v}_{d}\left(k\right)+\frac{\mathrm{W}\left({\mathrm{h}}_{\mathrm{d}}\left(k-1\right)-\mathrm{h}\left(k-1\right)\right)}{{T}_{0}}\right).$$

Now, defining difference signal $\mathsf{\Upsilon}$ between ${\dot{\mathrm{h}}}_{\mathrm{d}}$ and ${v}_{hd}$, then

$${\upsilon}_{d}={\dot{\mathrm{h}}}_{\mathrm{d}}+\dot{\mathsf{\gamma}}$$

$$\mathrm{h}\left(k\right)-\mathrm{h}\left(k-1\right)={T}_{0}\left({\dot{\mathrm{h}}}_{\mathrm{d}}-\dot{\mathsf{\gamma}}+\frac{\mathrm{W}\left({\mathrm{h}}_{\mathrm{d}}\left(\mathrm{k}-1\right)-\mathrm{h}\left(k-1\right)\right)}{{T}_{0}}\right)$$

$$\mathrm{h}\left(k\right)-\mathrm{h}\left(k-1\right)={T}_{0}\left(\frac{{\mathrm{h}}_{\mathrm{d}}\left(k\right)-{\mathrm{h}}_{\mathrm{d}}\left(k-1\right)}{{T}_{0}}+\frac{\mathsf{\Delta}\mathsf{\gamma}}{{T}_{0}}+\frac{\mathrm{W}\left({\mathrm{h}}_{\mathrm{d}}\left(k-1\right)-\mathrm{h}\left(k-1\right)\right)}{{T}_{0}}\right)$$

Defining the control error $\tilde{\mathrm{h}}\left(k-1\right)={\mathrm{h}}_{\mathrm{d}}\left(k-1\right)-\mathrm{h}\left(k-1\right)$

at the instant of time $\left(k-1\right)$
for the analysis the transformed Z
where the poles of the system (19) are:

$$\tilde{\mathrm{h}}\left(k-1\right)=\tilde{\mathrm{h}}\left(k\right)+\mathrm{W}\left(\tilde{\mathrm{h}}\left(k-1\right)\right)-\mathsf{\Delta}\mathsf{\gamma}$$

$$\mathsf{\Delta}\mathsf{\gamma}=\tilde{\mathrm{h}}\left(k\right)-\tilde{\mathrm{h}}\left(k-1\right)+\mathrm{W}\left(\tilde{\mathrm{h}}\left(k-1\right)\right)$$

$$\mathsf{\Delta}\mathsf{\gamma}=\tilde{\mathrm{h}}\left(k\right)+\tilde{\mathrm{h}}\left(k-1\right)\left(\mathrm{W}-1\right)$$

$$\left(1-{\mathrm{z}}^{-1}\right)\mathsf{\gamma}\left(\mathrm{z}\right)=\mathrm{e}\left(\mathrm{z}\right)+\mathrm{e}\left(\mathrm{z}\right){\mathrm{z}}^{-1}\left(\mathrm{W}-1\right)$$

$$\left(1-{\mathrm{z}}^{-1}\right)\mathsf{\gamma}\left(\mathrm{z}\right)=\mathrm{e}\left(\mathrm{z}\right)\left(1+{\mathrm{z}}^{-1}\left(\mathrm{W}-1\right)\right)$$

$$\tilde{\mathrm{h}}\left(\mathrm{z}\right)=\frac{1-{\mathrm{z}}^{-1}}{1+{\mathrm{z}}^{-1}\left(\mathrm{W}-1\right)}\mathsf{\gamma}\left(\mathrm{z}\right);$$

$$1+{\mathrm{z}}^{-1}\left(\mathrm{W}-1\right)=0$$

In order for the poles of the system to be within the unitary radius $\mathrm{W}$, it must be defined $0<\mathrm{W}<1$. Therefore, it is concluded that control errors $\tilde{\mathrm{h}}\left(k\right)=0$ when $k\to \infty $, and it has asymptotic stability.

The objective of the dynamic compensation controller is to compensate for the dynamics of the mobile manipulator robot, thus reducing the velocity-tracking error. The correction of the velocity error generates energy optimization of the robotic system as it avoids unnecessary movements to generate large decompensations.

Figure 4 shows the proposed control scheme, the dynamic compensation controller receives as inputs the desired velocities ${v}_{c}$ calculated by the kinematic controller, and generates velocity references ${v}_{ref}$ for the mobile manipulator robot. Hence, if there is no perfect velocity tracking, the velocity error is defined as,

$$\tilde{v}\left(k\right)={v}_{c}\left(k\right)-v\left(k\right)$$

This velocity error motivates the dynamic compensation process, which will be performed based on the inverse dynamics of the mobile manipulator. With this aim, we consider the exact model of the mobile manipulator without including disturbances.

$$\mathrm{M}\left(\mathrm{q}\right)\dot{v}+\mathrm{C}\left(\mathrm{q},v\right)v+\mathrm{g}\left(\mathrm{q}\right)={v}_{ref}$$

Similar to (4), the acceleration of the maneuverability velocities of the mobile manipulator can be defined through the Euler method as

$$\dot{v}=\frac{v\left(k\right)-v\left(k-1\right)}{{T}_{0}}$$

Now, considering the discretized acceleration (22) in (21) one has

$${v}_{ref}=\mathrm{M}\left(\frac{v\left(k\right)-v\left(k-1\right)}{{T}_{0}}\right)+\mathrm{C}v+\mathrm{g}$$

For Markov’s property:

$$v\left(k\right)={v}_{c}\left(k\right)$$

In order for errors to tend to zero, it is defined that the velocity of the robotic system is

$$v\left(k\right)={v}_{c}\left(k\right)-{\mathrm{W}}_{\mathrm{v}}\left({v}_{c}\left(k-1\right)-v\left(k-1\right)\right)$$

Therefore, the following control law is proposed:
where, ${\mathrm{W}}_{\mathrm{v}}$ represents a constant diagonal matrix that velocities error weights.

$${v}_{ref}\left(k\right)=\mathrm{M}\left(\frac{{v}_{c}\left(k\right)-{\mathrm{W}}_{\mathrm{v}}\left({v}_{c}\left(k-1\right)-v\left(k-1\right)\right)}{{T}_{0}}\right)+\mathrm{C}v+\mathrm{g}$$

To ensure the stability of the proposed dynamic compensator, Equation (23) with (24)
reducing terms and grouping, we have that the error in the current state $\tilde{v}\left(k\right)$ depends only on the previous error multiplied by a gain matrix ${\mathrm{W}}_{\mathrm{v}}$, that is,

$$\mathrm{M}\left(\frac{v\left(k\right)-v\left(k-1\right)}{To}\right)+\mathrm{C}v+\mathrm{g}=\mathrm{M}\left(\frac{{v}_{c}\left(k\right)-{\mathrm{W}}_{\mathrm{v}}\left({v}_{c}\left(k-1\right)-v\left(k-1\right)\right)-v\left(k-1\right)}{To}\right)+\mathrm{C}v+\mathrm{g}$$

$${v}_{c}\left(k\right)=v\left(k\right)+{\mathrm{W}}_{\mathrm{v}}\left(\tilde{v}\left(k-1\right)\right)$$

$$\tilde{v}\left(k\right)={\mathrm{W}}_{\mathrm{v}}\left(\tilde{v}\left(k-1\right)\right)$$

Considering that $\tilde{v}\left(k\right)={\left[\begin{array}{ccccc}{\tilde{v}}_{u}\left(k\right)& {\tilde{v}}_{\omega}\left(k\right)& {\tilde{v}}_{{\dot{q}}_{1}}\left(k\right)& \mathrm{\dots}& {\tilde{v}}_{{\dot{q}}_{na}}\left(k\right)\end{array}\right]}^{T}$;

$$\tilde{v}\left(k-1\right)=[\begin{array}{cc}{\tilde{v}}_{u}\left(k-1\right)& {\tilde{v}}_{\omega}\left(k-1\right)\end{array};$$

${\begin{array}{ccc}{\tilde{v}}_{{\dot{q}}_{1}}\left(k-1\right)& \mathrm{\dots}& {\tilde{v}}_{{\dot{q}}_{na}}\left(k-1\right)\end{array}]}^{T}$ and ${\mathrm{W}}_{\mathrm{v}}=\mathrm{diag}\left({\mathrm{w}}_{\mathrm{u}},{\mathrm{w}}_{\mathsf{\omega}},{\mathrm{w}}_{{\dot{\mathrm{q}}}_{1}},\mathrm{\dots},{\mathrm{w}}_{{\dot{\mathrm{q}}}_{\mathrm{na}}}\right)$; Equation (25) can be represented by,

$$\left[\begin{array}{c}{\tilde{v}}_{u}\left(k\right)\\ {\tilde{v}}_{\omega}\left(k\right)\\ {\tilde{v}}_{{\dot{q}}_{1}}\left(k\right)\\ \vdots \\ {\tilde{v}}_{{\dot{q}}_{na}}\left(k\right)\end{array}\right]=\left[\begin{array}{l}{\mathrm{w}}_{\mathrm{u}}{\tilde{v}}_{u}\left(k-1\right)\\ {\mathrm{w}}_{\mathsf{\omega}}{\tilde{v}}_{\omega}\left(k-1\right)\\ {\mathrm{w}}_{{\dot{\mathrm{q}}}_{1}}{\tilde{v}}_{{\dot{q}}_{1}}\left(k-1\right)\\ \hspace{1em}\hspace{1em}\vdots \\ {\mathrm{w}}_{{\dot{\mathrm{q}}}_{\mathrm{na}}}{\tilde{v}}_{{\dot{q}}_{na}}\left(k-1\right)\end{array}\right]$$

Now, if you analyze the errors when $k=1,2,3,\mathrm{\dots},n$ and considering $i=u,\omega ,{\dot{q}}_{1},{\dot{q}}_{2},\mathrm{\dots},{\dot{q}}_{nq}$, you have:

$$\begin{array}{c}{\tilde{v}}_{i}\left(k\right)={\mathrm{w}}_{\mathrm{i}}{\tilde{v}}_{i}\left(k-1\right)\\ {\tilde{v}}_{i}\left(k+1\right)={\mathrm{w}}_{\mathrm{i}}{\tilde{v}}_{i}\left(k\right)={\mathrm{w}}_{\mathrm{i}}{}^{2}\tilde{v}\left(k-1\right)\\ {\tilde{v}}_{i}\left(k+2\right)={\mathrm{w}}_{\mathrm{i}}{\tilde{v}}_{i}\left(k+1\right)={\mathrm{w}}_{\mathrm{i}}{}^{3}\tilde{v}\left(k-1\right)\\ \vdots \\ {\tilde{v}}_{i}\left(k+n\right)={\mathrm{w}}_{\mathrm{i}}{\tilde{v}}_{i}\left(k+n-1\right)={\mathrm{w}}_{\mathrm{i}}{}^{\mathrm{n}}\tilde{v}\left(k-1\right)\end{array}$$

Hence, if $0<{\mathrm{w}}_{\mathrm{i}}<1$, it can be concluded that the velocity error of the robotic system mobile manipulator tends asymptotically to zero when $\mathrm{n}\to \infty $.

Finally, the proposed control scheme to solve the motion control problem of the mobile manipulator robot is shown in Figure 1 and Figure 4, where the controller design was based on two cascading subsystems: i) Kinematic controller, for this controller is proposed (11), which solves the motion control problem of the robotic system considering the desired position and velocity of the end-effector of the mobile manipulator robot to the execute the desired task; ii) Dynamic compensation controller, in order to compensate the dynamics of the mobile manipulator, thus reducing the velocity tracking error, the control law is proposed (24), where ${v}_{ref}\left(k\right)$ represents the output of the dynamic compensation controller, that is, ${v}_{ref}\left(k\right)$ is the vector of input velocities to the mobile manipulator robotic system.

The results are presented in two parts: the mechanical–electronic construction and the experimental tests developed to validate the proposed controllers. The construction presents a brief summary of the prototype created to execute the experiments, subdivided into mechanical and electronic construction, while the experimental tests are supported by various graphs showing the effectiveness of the proposed controllers, in addition to validating energy optimization.

For mechanical construction, two parts are analyzed separately: the mobile platform and the robotic arm. The mobile platform is unicycle type, which consists of two motors that generate the movement for each pair of side wheels with a system based on chains. All mechanical elements are strategically distributed so that the control and power components fit inside the mobile platform casing, as shown in Figure 5.

For the robotic arm, different components (motors, joints, frames, links) are unified to provide flexibility in the range of positions of the operating end. Figure 6 shows the simulation prior to the construction of the mobile manipulator.

Since the construction of each mechanical part is designed to fit together, the result of mass center analysis and appropriate weight distribution allows the platform and arm to be unified into a single robotic system, as shown in Figure 7.

The electronic components of the mobile manipulator robot are designed to interconnect all the control, power, and power supply equipment and elements. The design consists of eight Dynamixel motors, a computer, an electronic control board, overcurrent prevention elements, a peripheral extender, and a Lithium Polymer (LiPo) battery bank. The distribution of the elements is shown in Figure 8, additionally denoting the communication between them.

(i) Dynamixel motors, unlike frequency-controlled motors, can modify their characteristics by means of a serial communication frame. Communication with the computer is facilitated by the inclusion of a USB2Dynamixel device, which weaves the information to optimize communication and avoid saturation of the serial network. The velocity of communication between the computer and the entire engine network is optimized with the creation of libraries that allow you to invoke functions programmed in C through Mex files. With orientation to this work, information of current, velocity, position, and torque are acquired by the serial frame. The current information allows to know the precise magnitude of power consumed by the robotic system; therefore, it is not necessary to include additional measurement equipment to the information provided by the actuators. (ii) The computer has sufficient resources to run high-level processing programs. In the computer, the calculations necessary for the controllers are carried out in mathematical software. (iii) The electronic control board regulates and distributes power voltages to the entire motor and computer system. The board incorporates elements of current and voltage measurement for the emission of warning signals in possible discharges or disconnection of elements. In addition, a state of charge and connection display is embedded in the electronic control board. (iv) A peripheral ports extensor is included to provide communication between external devices (cameras, memory sticks, and so on) and the internal computer. Finally, (v) a LiPo battery bank provides the necessary power to the system, which delivers up to 15 A/h with peak current support of up to 25 A.

In order to evaluate the performance of the energy-saving proposal, three experiments were developed, differentiated by the geometric shape of the path to follow: chair, flower, and the sine function. Each one of the experiments was executed with different purposes: to measure the consumption of absorbed current, number of meters traveled, or time of execution. It should be clarified that experiments are considered executions on different roads, while tests are considered executions on the same road but with the use of different controllers (considering or not the analysis of radius of curvature, ROC).

The first experiment considers a desired path described by means ${h}_{d}=\left[{x}_{d},{y}_{d},{z}_{d}\right]$, where: ${x}_{d}=1.5\mathrm{cos}(0.1t)+1.75$, ${y}_{d}=2.5\mathrm{sin}(0.1t)+2.75$, ${z}_{d}=0.15\mathrm{sin}(0.2t)+0.6$.

The selection of this particular road was because it seeks to demonstrate directly the action of velocity reduction when finding a curve. To demonstrate energy savings through contrasting results, two types of executions were proposed, both considering the Lyapunov-based controller with redundancy in the robotic arm, but only one with the inclusion of velocity saturation by curvature radius analysis. The path tracking for both configurations was evaluated over the same distance traveled, in this case, 100 m.

The result considering only the control with redundancy presented major errors in each of the axes (Figure 9); and therefore, a greater total error compared with the result considering the analysis of radius of curvature, as shown in Figure 10. Emphasize from now on, ROC will be defined as the radius of curvature.

This reduction in errors in each of the axes was due to the fact that the mobile platform reduces the control velocities when approaching a curve, as shown in the comparison of linear and angular velocities in Figure 11.

In addition to reducing the velocity of execution in front of curves, the proposed algorithm gives more weight to the corrective actions of the robotic arm, significantly reducing the movements of the mobile platform and therefore, the power consumption. The control actions applied to the robotic arm for both tests (with and without consideration of ROC analysis) are shown in Figure 11.

The strobe movement of the robotic system makes it possible to determine the resulting execution by applying both controllers. Through an upper view, Figure 12 shows the comparison between the strobe movement of the robotic system without consideration of the curvature radius analysis and with the consideration of the curvature radius analysis, differentiating the path of the platform and the movements executed by the robotic arm. The Figure 13 also presents a stroboscopic view of the movements executed by the robot in space.

The energy consumption of the actuators of the robotic system was measured through one of the properties of the motor network. The measurement of the consumed current is shown in Figure 14, where the contrast between the power consumption is appreciated considering the radius of curvature analysis and without its consideration. As can be seen, given the reduction in velocity of the robotic system, the execution time increased to fulfill the given task. However, after fully executing the task, the proposed controller resulted in an 8.76% energy saving, as shown in the Table 1.

The path considered in the second experiment is described by ${h}_{d}=\left[{x}_{d},{y}_{d},{z}_{d}\right]$ for values of: ${x}_{d}=1.5\mathrm{cos}(0.1t)+1.75$, ${y}_{d}=2.5\mathrm{sin}(0.1t)+2.75$ and ${z}_{d}=0.15\mathrm{sin}(0.2t)+0.6$.

Unlike the first experiment, the established path indicated the efficiency of the controller by establishing a path that contained pronounced curves on all components (Figure 15). This experiment proposed to determine the total distance traveled considering the same amount of energy consumed with and without curvature radius analysis, thus assuming the similarity between the control errors of both tests. This consideration required finding the maximum velocities for the controller with and without radius of curvature analysis that satisfy the equality of errors, in order to make the comparison between the two energy consumptions more equitable. Figure 16 shows the errors in each of the axes, while Figure 17 shows the mean quadratic errors of both tests with maximum velocities of 0.25 m/s in the controller without ROC analysis and with a maximum velocity of 0.45 m/s for the controller with ROC analysis.

Figure 18 shows the comparison from a superior view of the platform route without the inclusion of the curvature analysis and with the inclusion of the same, where the displacement in meters of the second is less in comparison with the execution of the first. This result is given because, in addition to the inclusion of the curvature analysis, the redundancy weights in the robotic arm were greater than those of the mobile platform, considerably reducing the movements of the motors that allowed displacement in the plane.

The current consumed by both tests over the duration of the run (at a total distance of 70 m) is shown in Figure 19 The total energy consumption of the test without considering the radius curvature analysis was 302,464 Joules, while with the consideration of ROC analysis was 208,102 Joules. From these results, it can be determined that the consumption of the robotic system when the curvature analysis was not considered was 4321 J/m (0.23 m/J), while the consumption when the ROC analysis was considered was 4001 J/m (0.25 m/J). Assuming a consumption of 500 Joules as a ceiling for both tests, the distance traveled for the controller without curvature analysis was 115 m, while for the controller with optimization was 125 m.

As shown in the control velocities (Figure 20), the consideration of radius of curvature analysis caused the input values to the robotic platform to be reduced in the presence of a curve, extending the execution time but at the same time optimizing energy consumption.

Finally, the third experiment presents the execution of four tests considering a controller based on Lyapunov for the tracking of roads, but with different characteristics: i) control over the robotic system without consideration of manipulability, ii) control of the mobile platform by analysis of radius of curvature but without consideration of manipulability, iii) control of the robotic system considering manipulability, iv) control of the mobile manipulator considering manipulability and application of velocity saturation for the whole robotic system. To compare all the tests, the selected trajectory is shown in Figure 21, in addition to showing the strobe movements executed by the robotic system considering manipulability and application of velocity saturation given by the curvature radius analysis in Figure 22.

The power consumption of all cases was higher in relation to the energy expenditure of the proposed controller for energy optimization. This is verified through the analysis of the graphical representation of the power consumption shown in Figure 23, as well as by Table 2. Table 2 summarizes the results obtained by subjecting the robotic system to the various controller configurations, comparing the energy savings of each with the savings obtained by the proposed controller.

1st Configuration: Without manipulability nor ROC analysis; 2nd Configuration: Considering ROC analysis but not manipulability; 3rd Configuration: Considering manipulability but not ROC analysis; 4th Configuration: Considering manipulability and ROC analysis.

In this work, an embedded robotic system has been presented, which obtains the best characteristics of two important and efficient robotic systems: mobile manipulators and unicycle mobile robots.

The proposal integrates in a single mathematical analysis the two systems in such a way that it takes advantage of their efficient characteristics in the search for the reduction of energy consumption in the tasks it performs. Sophisticated mathematical elements have been added to evaluate its action in the controller, and it has been demonstrated in experimental tests by a reduction of 8.76% of energy consumption in the tasks.

This has been based on a complex mechanical and electronic design that integrates intelligent control and communications systems and an efficient mechanical platform that facilitates maximum versatility in movements, and thus does not introduce energy losses due to mechanical design.

Conceptualization, J.F.A.N.; Data curation, G.G.-d.-R.P. and J.G.S.; Formal analysis, J.F.A.N., G.G.-d.-R.P. and V.H.A.O.; Funding acquisition, G.G.-d.-R.P., V.H.A.O. and J.G.S.; Investigation, J.F.A.N.; Methodology, J.G.S.; Project administration, V.H.A.O. and J.G.S.; Resources, J.F.A.N., G.G.-d.-R.P., V.H.A.O. and J.G.S.; Software, J.F.A.N. and V.H.A.O.; Supervision, G.G.-d.-R.P., V.H.A.O. and J.G.S.; Validation, J.F.A.N., G.G.-d.-R.P., V.H.A.O. and J.G.S.; Writing–original draft, J.F.A.N.

This research was funded by Corporación Ecuatoriana para el Desarrollo de la Investigación y Academia–CEDIA.

The authors would like to thanks to the Corporación Ecuatoriana para el Desarrollo de la Investigación y Academia–CEDIA for the financing given to research, development, and innovation, through the CEPRA projects, especially the project CEPRA XIII-2019-08; Sistema Colaborativo de Robots Aéreos para Manipular Cargas con Óptimo Consumo de Recursos; also to Grupo de Investigación ARSI, for the support to develop this work.

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

- Gonzalez, A.G.C.; Alves, M.V.S.; Viana, G.S.; Carvalho, L.K.; Basilio, J.C. Supervisory Control-Based Navigation Architecture: A New Framework for Autonomous Robots in Industry 4.0 Environments. IEEE Trans. Ind. Inform.
**2018**, 14, 1732–1743. [Google Scholar] [CrossRef] - Magyar, B.; Tsiogkas, N.; Deray, J.; Pfeiffer, S.; Lane, D. Timed-Elastic Bands for Manipulation Motion Planning. IEEE Robot. Autom. Lett.
**2019**, 4, 3513–3520. [Google Scholar] [CrossRef] - Ding, X.; Liu, Y.; Hou, J.; Ma, Q. Online Dynamic Tip-Over Avoidance for a Wheeled Mobile Manipulator with an Improved Tip-Over Moment Stability Criterion. IEEE Access
**2019**, 7, 67632–67645. [Google Scholar] [CrossRef] - Garcia, M.A.R.; Rojas, R.A.; Pirri, F. Object-Centered Teleoperation of Mobile Manipulators with Remote Center of Motion Constraint. IEEE Robot. Autom. Lett.
**2019**, 4, 1745–1752. [Google Scholar] [CrossRef] - Mori, S.; Tanaka, K.; Nishikawa, S.; Niiyama, R.; Kuniyoshi, Y. High-Speed Humanoid Robot Arm for Badminton Using Pneumatic-Electric Hybrid Actuators. IEEE Robot. Autom. Lett.
**2019**, 4, 3601–3608. [Google Scholar] [CrossRef] - Su, H.; Qi, W.; Yang, C.; Aliverti, A.; Ferrigno, G.; de Momi, E. Deep Neural Network Approach in Human-Like Redundancy Optimization for Anthropomorphic Manipulators. IEEE Access
**2019**, 7, 124207–124216. [Google Scholar] [CrossRef] - Prada-Jiménez, V.; Niáo-Suaréz, P.A.; Portilla-Flores, E.A.; Mauledoux-Monroy, M.F. Tuning a PD+ Controller by Means of Dynamic Optimization in a Mobile Manipulator with Coupled Dynamics. IEEE Access
**2019**, 7, 124712–124726. [Google Scholar] [CrossRef] - Hamner, B.; Koterba, S.; Simmons, J.S.; Singh, S. An autonomous mobile manipulator for assembly tasks. Auton. Robot.
**2010**, 28, 131–149. [Google Scholar] [CrossRef] - Li, Z.; Ge, S.S.; Adams, M.; Wijesoma, W.S. Robust adaptive control of uncertain force/motion constrained nonholonomic mobile manipulators. Automatica
**2008**, 44, 776–784. [Google Scholar] [CrossRef] - Liu, Y.; Li, Y. Dynamic Modeling and Adaptive Neural-Fuzzy Control for Nonholonomic Mobile Manipulators Moving on a Slope. Int. J. Control Autom. Syst.
**2006**, 4, 197–203. [Google Scholar] - Eslamy, M.; Moosavian, S.A.A. Dynamics and Cooperative Object Manipulation Control of Suspended Mobile Manipulators. J. Intell. Robot. Syst.
**2010**, 60, 181–199. [Google Scholar] [CrossRef] - Abou-Samah, M.; Tang, C.P.; Bhatt, R.M.; Krovi, V. A kinematically compatible framework for cooperative payload transport by nonholonomic mobile manipulators. Auton. Robot.
**2006**, 21, 227–242. [Google Scholar] [CrossRef] - Tchoń, K.; Jakubiak, J. Endogenous configuration space approach to mobile manipulators: A derivation and performance assessment of Jacobian inverse kinematics algorithms. Int. J. Control
**2010**, 76, 1387–1419. [Google Scholar] [CrossRef] - Deepak, B.; Parhi, D.R. Control of an automated mobile manipulator using artificial immune system. J. Exp. Theor. Artif. Intell.
**2016**, 28, 417–439. [Google Scholar] [CrossRef] - Rossi, E.; Tognon, M.; Carli, R.; Schenato, L.; Cortés, J.; Franchi, A. Cooperative Aerial Load Transportation via Sampled Communication. IEEE Control Syst. Lett.
**2019**, 4, 277–282. [Google Scholar] [CrossRef] - Hua, M.; Wang, Y.; Wu, Q.; Dai, H.; Huang, Y.; Yang, L. Energy-Efficient Cooperative Secure Transmission in Multi-UAV-Enabled Wireless Networks. IEEE Trans. Veh. Technol.
**2019**, 68, 7761–7775. [Google Scholar] [CrossRef] - Motlagh, N.H.; Bagaa, M.; Taleb, T. Energy and Delay Aware Task Assignment Mechanism for UAV-Based IoT Platform. IEEE Internet Things J.
**2019**, 6, 6523–6536. [Google Scholar] [CrossRef] - Lin, C.; Wang, W.; Liu, S.; Hsu, C.; Chien, C. Heterogeneous Implementation of a Novel Indirect Visual Odometry System. IEEE Access
**2019**, 7, 34631–34644. [Google Scholar] [CrossRef] - Abbaspour, A.; Jafari, H.Z.; Hemmat, M.A.A.; Alipour, K. Redundancy Resolution for Singularity Avoidance of Wheeled Mobile Manipulators. In Proceedings of the ASME 2014 International Mechanical Engineering Congress and Exposition, Montreal, QC, Canada, 14–20 November 2014; p. V04AT04A036. [Google Scholar]
- Li, T.S.; Kuo, P.; Ho, Y.; Liou, G. Intelligent Control Strategy for Robotic Arm by Using Adaptive Inertia Weight and Acceleration Coefficients Particle Swarm Optimization. IEEE Access
**2019**, 7, 126929–126940. [Google Scholar] [CrossRef] - Minniti, M.V.; Farshidian, F.; Grandia, R.; Hutter, M. Whole-Body MPC for a Dynamically Stable Mobile Manipulator. IEEE Robot. Autom. Lett.
**2019**, 4, 3687–3694. [Google Scholar] [CrossRef] - Park, D.I.; Kim, H.; Park, C. Design and analysis of the dual arm manipulator for rescue robot. In Proceedings of the 2017 IEEE International Conference on Advanced Intelligent Mechatronics (AIM), Munich, Germany, 3–7 July 2017. [Google Scholar]
- Thapa, S.; Self, R.V.; Kamalapurkar, R.; Bai, H. Cooperative Manipulation of an Unknown Payload with Concurrent Mass and Drag Force Estimation. IEEE Control Syst. Lett.
**2019**, 3, 907–912. [Google Scholar] [CrossRef] - Lunghi, G.; Marin, R.; di Castro, M.; Masi, A.; Sanz, P.J. Multimodal Human-Robot Interface for Accessible Remote Robotic Interventions in Hazardous Environments. IEEE Access
**2019**, 7, 127290–127319. [Google Scholar] [CrossRef] - Wu, Y.; Balatti, P.; Lorenzini, M.; Zhao, F.; Kim, W.; Ajoudani, A. A Teleoperation Interface for Loco-Manipulation Control of Mobile Collaborative Robotic Assistant. IEEE Robot. Autom. Lett.
**2019**, 4, 3593–3600. [Google Scholar] [CrossRef] - Li, W.; Xiong, R. Dynamical Obstacle Avoidance of Task- Constrained Mobile Manipulation Using Model Predictive Control. IEEE Access
**2019**, 7, 88301–88311. [Google Scholar] [CrossRef] - Sciavicco, L.; Siciliano, B. Modeling and Control of Robot Manipulators; Springer: London, UK, 2000. [Google Scholar]
- Andaluz, V.; Roberti, F.; MarcosToibero, J.; Carelli, R. Adaptive unified motion control of mobile manipulators. Control Eng. Pract.
**2012**, 20, 1337–1352. [Google Scholar] [CrossRef] - Paul, R.P. Robot Manipulators: Mathematics, Programming, and Control; MIT Press: Cambridge, MA, USA, 1981. [Google Scholar]
- Li, G.; Song, D.; Xu, S.; Sun, L.; Liu, J. A Hybrid Model and Model-Free Position Control for a Reconfigurable Manipulator. IEEE ASME Trans. Mechatron.
**2019**, 24, 785–795. [Google Scholar] [CrossRef]

Parameter | Without ROC Analysis | With ROC Analysis |
---|---|---|

Distance [m] | 100 | 100 |

Vmax [m/s] | 0.5 | 0.5 |

Total time elapsed [s] | 190 | 325 |

Current average [A] | 2.613 | 1.399 |

Voltage [V] | 29 | 29 |

Energy consumed [J] | 493.273 | 450.021 |

Maximun peak [A] | 3.539 | 2.775 |

Minimun peak [A] | 2.409 | 0.521 |

Power average [W] | 75.777 | 40.571 |

Configuration | First | Second | Third | Fourth |
---|---|---|---|---|

Distance [m] | 32.74 | 32.42 | 31.86 | 34.1 |

Current Average [A] | 1.43 | 1.07 | 1.16 | 1.13 |

Power average [W] | 42.07 | 31.44 | 34.37 | 33.33 |

Energy [J] | 4245.36 | 4400 | 4224.48 | 3976.05 |

Voltage [V] | 29.4 | 29.4 | 29.4 | 29.4 |

Accumulated Error | 37.77 | 36.48 | 28.79 | 27.65 |

Energy saved [%] | −6.34 | −9.63 | −5.88 | 0% |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).