# Optimal Feed-Forward Control for
Robotic Transportation of Solid and Liquid Materials
via Nonprehensile Grasp

Luigi Biagiotti, Davide Chiaravalli, Riccardo Zanella and Claudio Melchiorri
L. Biagiotti is with the Department of Engineering “Enzo Ferrari”, University
of Modena and Reggio Emilia, via Pietro Vivarelli 10, 41125 Modena, Italy,
e-mail<EMAIL_ADDRESS>Chiaravalli, R. Zanella and C.
Melchiorri are with the Department of Electrical, Electronic and Information
Engineering “Guglielmo Marconi”, University of Bologna, Viale del Risorgimento
2, 40136 Bologna, Italy, e-mail: {davide.chiaravalli},{riccardo.zanella2}
<EMAIL_ADDRESS>
###### Abstract

In everyday life, we often find that we can maintain an object’s equilibrium
on a tray by adjusting its orientation. Building upon this observation and
extending the method we previously proposed to suppress sloshing in a moving
vessel, this paper presents a feedforward control approach for transporting
objects with a robot that are not firmly grasped but simply placed on a tray.
The proposed approach combines smoothing actions and end-effector re-
orientation to prevent object sliding. It can be integrated into existing
robotic systems as a plug-in element between the reference trajectory
generator and the robot control. To demonstrate the effectiveness of the
proposed methods, particularly when dealing with unknown reference signals, we
embed them in a direct teleoperation scheme. In this scheme, the user commands
the robot carrying the tray by simply moving their hand in free space, with
the hand’s 3D position detected by a motion capture system. Furthermore, in
the case of point-to-point motions, the same feedforward control, when fed
with step inputs representing the desired goal position, dynamically generates
the minimum-time reference trajectory that complies with velocity and
acceleration constraints, thus avoiding sloshing and slipping. More
information and accompanying videos can be found at
https://sites.google.com/view/robotwaiter/.

##  I Introduction

As highlighted in a recent survey on Nonprehensile Dynamic Manipulation [1], a
typical example of a non-prehensile task performed by humans consists of
”carrying a glass full of liquid on a tray.” This is exactly the task that we
aim to replicate in this research activity by means of a robotic manipulator
as shown in Fig. 1. In fact, the relocation of an object from position A to
position B can be safely performed by grasping the object and moving it, but
it requires a mechanism, such as a gripper, capable of restraining the object.
In many cases, dynamic nonprehensile manipulation may offer advantages [2, 1],
as there is no need to firmly grasp the object, eliminating the requirement
for grasping mechanisms and reducing the risk of damaging the object with
excessive grasping forces. However, several limitations arise, such as bounds
on the maximum velocities and accelerations that can be applied to the robot
to maintain the object on the carrying structure.

Figure 1:  Industrial robot manipulating a mug of beer resting on a tray
(picture from the video [3]).

The problem becomes even more complicated when the object to be manipulated
without a firm grasp is represented by a liquid contained in a vessel. In this
case, the challenge of balancing the object is combined with the need to
suppress the sloshing of the liquid, which could cause it to spill. Although
this type of problem is considered an example of non-prehensile manipulation,
to the best of our knowledge, a robot-based solution has not yet been proposed
in the literature. In fact, the existing literature focused on sloshing
suppression typically involves firmly connecting the vessel to the robot
flange or the manipulation mechanism.

This paper builds upon the results reported in the conference paper [4], which
are briefly summarized in the section describing the experimental results, and
generalizes the proposed control method to eliminate the need for a stable
connection between the container and the robot flange. As a cascaded result
also the problem of minimum-time transportation of solid objects via
nonprehensile grasp is solved.

##  II Related works and contribution of the paper

This paper joins two research lines, such as sloshing suppression and
nonprehensile manipulation, therefore it is necessary to take into account
both research fields. We initially consider them separately but in the paper,
a tight connection between the two problems will be proved from an analytical
and an experimental viewpoint.
As mentioned above, this paper extends the approach proposed in [4], whose
basic idea consists of combining a smoothing action applied to the desired
trajectory for suppressing the oscillations of the liquid, and a compensation
of the lateral accelerations based on a proper modification of the container’s
orientation. The proposed approach is a typical example of feed-forward
control providing the proper reference trajectory for the robot/machine on the
basis of the model of the slosh dynamics. With respect to feedback methods
that rely on a measure of the liquid surface configuration, feed-forward
algorithms offer some advantages since they do not require an additional
sensor apparatus (that in case of detection of the liquid configuration,
especially in containers that are not specifically designed for the robotic
applications like e.g. a glass or a bottle, may be quite complicated) and can
be easily implemented in standard industrial robots/machines, without
modifications of their control systems. For this reason, the techniques based
on feed-forward are the most common solutions in the field of liquid
manipulation. For instance, in [5] and [6] the of slosh dynamics is
compensated via tilt angle modification. Input shaping techniques are widely
used in conjunction with smooth trajectory planning and other kinds of
filtering/smoothing methods, see [7, 8, 9, 10, 11] among many others.
Alternative feed-forward methods are based on the optimization of the
reference trajectories applied to the liquid container, computed by taking
into account the dynamic model of the system and a number of constraints, like
maximum velocity, acceleration, or even the location of possible obstacles
[12, 13, 14, 15, 16, 17].
The main drawback of all these methods is obviously the poor robustness of the
system with respect to unmodelled dynamics (in this specific case higher order
sloshing modes) and inaccurate knowledge of the physical parameters. For this
reason, some authors combine the feed-forward control with a feedback
compensation, e.g. based on $H_{\infty}$ loop shaping methods [7, 18], or mix
different feed-forward algorithms like input shaping and smoothing filters
[11], or input shaping and tilting compensation, like in our previous paper
[19].
By analyzing the literature on the transportation of solid objects using
robotic systems without grasping mechanisms, it becomes evident that the
methods employed are highly similar to those utilized for suppressing
sloshing. Firstly, the majority of procedures aimed at preventing object
slippage on a tray manipulated by a robot rely on feed-forward approaches. The
simplest methods involve effectively planning the timing and motion profile
along the desired path to minimize the overall trajectory duration while
ensuring that the contact forces remain within the friction cones [20, 21,
22]. However, when implementing these methods on real robots, unmodeled
effects such as incorrect estimation of the friction coefficient can lead to
failures or, conversely, to over-conservative trajectories. To address this,
other works have proposed strategies to more robustly avoid object slippage by
adjusting the tray orientation and defining 6D trajectories. In [23], the
orientation of the end-effector is adjusted to ensure that the inertial forces
acting on the grasped object always remain within the Grasp Spatial Force
Space (GSFS), which represents the range of forces that a grasp can withstand.
It should be noted that defining the GSFS relies on the contact model between
the object and the end-effector, as well as accurate knowledge of frictional
parameters. Additionally, the proposed approach is based on an offline
optimization method and cannot be utilized in applications where the reference
position is not known in advance. Similar considerations are applicable to the
approach presented in [24], where a minimum-time trajectory is sought using a
dynamic programming algorithm applied to a chain of integrators, subject to
constraints on internal variables (e.g., velocity and acceleration) and
tangential force affecting the object. Notably, the procedure in [24] bears
striking resemblance to the one employed in [16] for sloshing suppression. A
comparable concept is explored in [25], where the orientation of the tray
supporting the object is dynamically adjusted to increase the distance between
the contact forces and the boundaries of the friction cone. However, in this
case, the procedure operates in real-time and is implemented within a direct
tele-manipulation architecture with shared control to maintain object
stability.
In [26], an algorithm similar to the one that we proposed for sloshing
suppression in [4] is utilized when high accelerations are induced by
translational motion. Specifically, the horizontal motion is decomposed into
the $x$ and $y$ directions, and a rotation $\theta_{x}$ around the $x$-axis is
imposed on the tray, which depends on the acceleration $a_{y}$ along the
$y$-axis (and vice-versa):

$\theta_{x}=\tan^{-1}\left(\frac{\mu g-a_{y}}{g+\mu a_{y}}\right)$ (1)

where $\mu$ represents the static friction coefficient between the object and
the tray. Two main differences distinguish the angle in (1) from the tilting
compensation proposed in [4]. First, it appears that vertical acceleration
does not influence the angle $\theta_{x}$. Second, the friction coefficient
$\mu$ plays a role in its computation. As a side effect, when $a_{y}=0$ a
residual compensation angle $\theta_{x}=\tan^{-1}(\mu)$ remains.
The first question that arises when analyzing all the aforementioned
approaches for non-prehensile transportation, especially the last one, is
whether an expression of feed-forward compensation can be found that does not
depend on friction parameters. This doubt arises because the approach we
proposed for sloshing suppression, based on tilting compensation, only
requires knowledge of linear accelerations [4].An experimental application to
a waiter task suggests that the same control is able to maintain an object in
equilibrium on a tray even when very fast motions are applied (see the video
[3]). Additionally, while many researchers agree on the application of
orientation compensation to prevent slipping, the problem of determining the
optimal location of the center of rotation has not been addressed yet.
An answer to the two above-mentioned problems is the main contribution of the
first part of this work, by considering both liquid and solid
objects/materials. In Sec. III, a detailed 2D analytical model is used to
derive the optimal feed-forward angular compensation in the general case of a
liquid contained in a vessel lying on a flat tray, which is moved by a robot
manipulator. The compensation of the motion of the tray does not require any
knowledge about the system model (and, in particular, the friction
coefficient), but only the estimation of the imposed accelerations. For this
reason, in Sec. IV, a mechanism based on smoothers is proposed for generating
minimum-time point-to-point motions or filtering external reference
trajectories while deriving the related accelerations without explicit
differentiation. The overall architecture of the feed-forward system for
nonprehensile 3D manipulation with sloshing suppression capabilities is
presented in Sec. V, and proper choices of free parameters (order and
coefficients of the smoothers, location of the center of rotation, etc.) are
recommended according to different application scenarios, involving
solid/liquid materials and point-to-point/multi-point trajectories. Finally,
in Sec. III, the proposed approach is experimentally validated in all the
aforementioned scenarios. In particular, to demonstrate its effectiveness when
dealing with unknown trajectories, a simple teleoperation task has been set
up. In this task, the user directly commands the robot by moving its hand in
free space, and the 3D position of the hand is detected by a motion capture
system. The robot, carrying a pot filled with liquid, then tracks the motion
generated by the devised algorithm.

##  III A model-based approach for the synthesis of slosh-free and sliding-
free motions

To explain the proposed control approach, let’s consider a simplified scenario
in which a container, possibly filled with liquid, rests on a flat tray that
is connected to the robot flange. The flange can translate on the $x-z$ plane
and rotate around an axis that is perpendicular to this plane. As a result,
the behavior of the system can be described with a planar model. The goal is
to keep the container in its initial location and minimize sloshing phenomena
while the tray is moved in an arbitrary way. Therefore, the Cartesian position
$(x_{t},y_{t})$ of the tray and the related kinematic quantities such as
velocity and acceleration are the disturbance inputs acting on the system,
while the tilting angle $\beta$ is the only manipulable input, as shown in
Fig. 2.

The dynamics of the liquid in the moving vessel is often modeled with an
equivalent mechanical model consisting of a rigid mass $m_{0}$ and a series of
pendulums with mass $m_{j}$, length $l_{j}$, and support points located at a
distance $L_{j}$ from the undisturbed free surface of the liquid [27]. For
control purposes, the model is further simplified by considering only the
first asymmetric mode of the slosh, that is a single pendulum with mass $m$,
length $l$, and pivot located at the center of the liquid surface. Moreover,
it is assumed that the pendulum is always orthogonal to the liquid surface
which is supposed to be flat. Therefore, the model of the sloshing dynamics
inside a container moving on the plane can be represented as in Fig. 2.

Figure 2:  Simplified mechanical model approximating the first asymmetric
sloshing mode in a cylindrical vessel.

Additional simplifying assumptions involve the container and the mass of
liquid which is not affected by sloshing phenomena. These masses are lumped in
the center of the point mass that in Fig. 2 is denoted by $M$. It is supposed
that this mass never loses contact with the plate (this hypothesis is
equivalent to the assumption that the normal forces exerted by the container
on the plate are always positive) and cannot roll on its surface.

The position of the (reference frame attached to the) container is

$\displaystyle x_{c}=$ $\displaystyle x_{t}+d_{x}\cos(\beta)-d_{z}\sin(\beta)$
$\displaystyle z_{c}=$ $\displaystyle
z_{t}+d_{x}\,\sin(\beta)+d_{z}\cos(\beta)$

while the position of the mass of the pendulum is given by

$\displaystyle x_{m}=$ $\displaystyle
x_{t}+d_{x}\cos(\beta)-h\sin(\beta)+l\sin(\beta+\theta)$ $\displaystyle
z_{m}=$ $\displaystyle
z_{t}+d_{x}\,\sin(\beta)+h\cos(\beta)-l\cos(\beta+\theta)$

where the pair $(x_{t},y_{t})$ denotes the position of the tray and $\beta$
the tilting angle with respect to the base reference frame, $(d_{x},d_{z})$ is
the position of the container with respect to the tray, $h$ is the height of
the liquid’s surface in the frame of the tray, and finally $l$ and $\theta$
denote the length and the rotation angle of the pendulum, respectively.
The equations describing the dynamics of the vessel and of the pendulum can be
derived by using the Lagrange equations. The kinetic energy of the overall
system composed of the container with the still liquid ($M$) and the
oscillating mass $m$ representing the sloshing, is given by

$\displaystyle T=$
$\displaystyle\frac{1}{2}M\big{(}\dot{x}_{c}^{2}+\dot{z}_{c}^{2})+\frac{1}{2}m\big{(}\dot{x}_{m}^{2}+\dot{z}_{m}^{2}\big{)}$
$\displaystyle=$
$\displaystyle\frac{1}{2}M\left(\left(-(d_{x}\sin(\beta)+d_{z}\cos(\beta))\dot{\beta}+\cos(\beta)\dot{d}_{x}+\dot{x}_{t}\right)^{2}\right.$
$\displaystyle\left.+\left((d_{x}\cos(\beta)-d_{z}\sin(\beta))\dot{\beta}+\sin(\beta)\dot{d}_{x}+\dot{z}_{t}\right)^{2}\right)$
$\displaystyle+\frac{1}{2}m\left(\left(-\left(d_{x}\sin(\beta)+h\cos(\beta)\right)\dot{\beta}+l\left(\dot{\beta}+\dot{\theta}\right)\cos(\beta+\theta)\right.\right.$
$\displaystyle\left.+\cos(\beta)\dot{d}_{x}+\dot{x}_{t}\right)^{2}+\left(\left(d_{x}\cos(\beta)-h\sin(\beta)\right)\dot{\beta}\right.$
$\displaystyle\left.\left.+l(\dot{\beta}+\dot{\theta})\sin(\beta+\theta)+\sin(\beta)\dot{d}_{x}+\dot{z}_{t}\right)^{2}\right)$

while the potential energy is equal to

$\displaystyle V=$ $\displaystyle M\,g\,z_{c}+m\,g\,z_{m}$ $\displaystyle=$
$\displaystyle M\,g\,(z_{t}+d_{x}\sin(\beta)+d_{z}\cos(\beta))$
$\displaystyle+m\,g\,(z_{t}+d_{x}\sin(\beta)+h\cos(\beta)-l\cos(\beta+\theta))$

where $g$ is the gravity acceleration. The Lagrangian can be computed as
$\mathcal{L}=T-V$.

###  III-A Sloshing dynamics model and compensation

By considering the Lagrange equation with respect to $\theta$, the
differential equation describing the dynamics of the pendulum is obtained,
i.e.

$\displaystyle
l\,\ddot{\theta}+\frac{b_{lc}}{ml}\dot{\theta}+\Big{(}l-h\cos(\theta)+d_{x}\sin(\theta)\Big{)}\ddot{\beta}$
$\displaystyle+\cos(\theta)\left(-d_{x}\dot{\beta}^{2}+\ddot{d}_{x}\right)+\sin(\theta)\left(2\dot{\beta}\dot{d}_{x}-h\dot{\beta}^{2}\right)$
$\displaystyle+\sin(\beta+\theta)\left(g+\ddot{z}_{t}\right)+\cos(\beta+\theta)\,\ddot{x}_{t}$
$\displaystyle=0$ (2)

where the nonconservative term $\frac{b_{lc}}{ml}\dot{\theta}$ takes into
account the damping force between the liquid and the container. Note that (2)
is exactly the same equation found in [5], but the control solution that will
be deduced to maintain $\theta$ to zero is rather different from the one
proposed here. By assuming that the position of the container on the tray does
not change during the manipulation task (and is initially null), i.e.
$d_{x}=\dot{d}_{x}=\ddot{d}_{x}=0$, equation (2) becomes

$\displaystyle
l\,\ddot{\theta}+\frac{b_{lc}}{ml}\dot{\theta}+\overbrace{\left(l-h\cos(\theta)\right)\ddot{\beta}-h\sin(\theta)\dot{\beta}^{2}}^{u_{r}}$
$\displaystyle+\underbrace{\sin(\beta+\theta)\left(g+\ddot{z}_{t}\right)+\cos(\beta+\theta)\,\ddot{x}_{t}}_{u_{t}}$
$\displaystyle=0.$ (3)

where $u_{r}$ and $u_{t}$ are the external disturbances caused respectively by
the rotation and the translation motions imposed to the container.
Consequently, in order to prevent oscillations, that model the sloshing of the
liquid surface, it is necessary to enforce
$(\theta(t),\dot{\theta}(t))^{T}=(0,0)^{T}$, $\forall t\geq t_{0}$ to be an
asymptotically stable equilibrium state for the second order system (3). Since
the accelerations $\ddot{x}_{t}$ and $\ddot{z}_{t}$ are set by the
application, being the consequence of the translational trajectory imposed to
the tray during the manipulation task, this can be only achieved by acting on
the rotation angle $\beta$ of the tray (consequently, $\dot{\beta}\neq 0$ and
$\ddot{\beta}\neq 0$). In particular, to nullify $u_{t}$ and $u_{r}$ it is
necessary to assume:

$\displaystyle u_{t}=0\,\,\,\,\,(\theta=0)$
$\displaystyle\,\,\,\,\,\Rightarrow$ $\displaystyle\beta^{\star}$
$\displaystyle=-\tan^{-1}\left(\frac{\ddot{x}_{t}}{g+\ddot{z}_{t}}\right)$ (4)
$\displaystyle u_{r}=0\,\,\,\,\,(\theta=0)$
$\displaystyle\,\,\,\,\,\Rightarrow$ $\displaystyle l$ $\displaystyle=h.$ (5)

###### Remark 1

Conditions (4) and (5) have a straightforward physical interpretation. The
condition (4) describes the compensation of the lateral accelerations applied
to the container by imposing a rotation around the point located in the center
of pendulum mass by an angle that aligns the container itself with the
pendulum configuration that would be reached without tilting
compensation111When $\ddot{\beta}=\dot{\beta}=\beta=0$, the equilibrium point
of (3) becomes
$(\theta,\dot{\theta})^{T}=\left(-\tan{-1}\left(\frac{\ddot{x}_{t}}{g+\ddot{z}_{t}}\right),0\right)^{T}.$
, while (5) aims at suppressing the effects of the consequent angular
acceleration $\ddot{\beta}$ imposed to the container.

It is worth noticing that the control is based on a feed-forward compensation
of external disturbances that cause sloshing. However, this compensation only
depends on the estimations of $\ddot{x}_{t}$ and $\ddot{z}_{t}$ (while
specific parameters of the container/liquid do not appear in (4)) and is,
therefore, free from typical issues of feed-forward control related to
modelling errors.

If the container cannot be rotated, i.e. $\ddot{\beta}=\dot{\beta}=\beta=0$,
and doesn’t move with respect to the tray, the equation describing the
sloshing dynamics becomes

$l\ddot{\theta}+\frac{b}{ml}\dot{\theta}+\sin(\theta)\big{(}g+\ddot{z}_{t}\big{)}+\cos(\theta)\ddot{x}_{t}=0.$
(6)

By linearizing (6) for $\theta=\dot{\theta}=0$ and
$\ddot{x}_{t}=\ddot{z}_{t}=0$ the model

$l\ddot{\theta}+\frac{b}{ml}\dot{\theta}+g\theta=-\ddot{x}_{t}$ (7)

can be deduced. It is a second-order system

$\ddot{\theta}+2\delta\omega_{n}\,\dot{\theta}+\omega_{n}^{2}\theta=u$ (8)

whose parameters $\omega_{n}$ and $\delta$ depend on the characteristics of
liquid and container, and the input $u$ is proportional to the accelerations
along the $x$ axis. In this case, it is not possible to compensate for the
external acceleration $\forall t$, but according to a typical approach for
residual vibration suppression in mechanical systems, it is possible to reduce
the pendulum swing at the end of motion by shaping the input $u$ with a proper
filter [9]. To this purpose, it is necessary to know, via analytic or
estimation methods, the characteristic parameters $\omega_{n}$ and $\delta$ of
the sloshing phenomenon.

###  III-B Container’s dynamic model and sliding compensation

The Lagrange equation with respect to $d_{x}$ provides the equation describing
the sliding dynamics of the container, full of liquid, on the tray, i.e.

$\displaystyle(m+M)\ddot{d}_{x}+b_{ct}\dot{d}_{x}+(l\cos(\theta)-h)m\ddot{\beta}+m\,l\cos(\theta)\ddot{\theta}$
$\displaystyle-
d_{z}M\ddot{\beta}-l\,m\sin(\theta)\left(\dot{\beta}+\dot{\theta}\right)^{2}-(m+M)d_{x}\dot{\beta}^{2}$
$\displaystyle+(m+M)\underbrace{\Big{(}\sin(\beta)\left(g+\ddot{z}_{t}\right)+\cos(\beta)\ddot{x}_{t}\Big{)}}_{\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,u_{t}\,\,(\theta=0)}$
$\displaystyle=0$ (9)

where the nonconservative term $b_{ct}\dot{d}_{x}$ takes into account the
friction between the container and the tray. Note that the main source of
external disturbance which triggers the motion of the container is given by
the same signal $u_{t}$ affecting the sloshing dynamics (with $\theta=0$)
multiplied by the total mass $m+M$. Therefore, condition (4) assures that this
contribution always equals zero.
Equations (2) and (9) describe the dynamics of the overall system composed of
container and liquid. Despite the assumptions (4) and (5), it is
straightforward to verify that
$\mbox{\boldmath$x$}^{T}=(d_{x},\dot{d}_{x},\theta,\dot{\theta})^{T}=(0,0,0,0)^{T}$
is not an equilibrium state for the whole fourth-order system. This is due to
the fact that, if222Note that $l=h$ and $d_{z}=0$ are not consistent in any
case. $d_{z}\neq 0$, the term $-d_{z}M\ddot{\beta}$ in (9) cannot be
compensated in any way when a rotation of an angle $\beta$ is applied, and
accordingly $\ddot{\beta}\neq 0$. However, practical experience suggests that
a container located on a (moving) flat surface can remain fixed in the initial
location for moderate angular velocities/accelerations. The reason for this
mismatch between practice and theory is due to the lack in the lagrangian
equation (9) of a term taking into account dry friction. For this reason, it
is convenient to consider the dynamics of the container on the tray as a
differential inclusion [28, 29], i.e.

$\displaystyle(m+M)\left(\sin(\beta)\left(g+\ddot{z}_{t}\right)+\cos(\beta)\ddot{x}_{t}+\ddot{d}_{x}\right)+b_{ct}\dot{d}_{x}$
$\displaystyle+(l\cos(\theta)-h)m\ddot{\beta}+m\,l\cos(\theta)\ddot{\theta}-d_{z}M\ddot{\beta}$
$\displaystyle-l\,m\sin(\theta)\left(\dot{\beta}+\dot{\theta}\right)^{2}-(m+M)d_{x}\dot{\beta}^{2}\in-
F_{s}\,\mathrm{sign}(\dot{d}_{x})$ (10)

where

$\mathrm{sign}(x)=\left\\{\begin{array}[]{ll}-1&x<0,\\\ {[-1\,\,1]}&x=0,\\\
1&x>0,\end{array}\right.$ (11)

and $F_{s}$ is the maximum magnitude of the static friction, that depends on
the friction coefficient $\mu$ and on the normal inward force to the tray
surface, i.e.

$\displaystyle F_{s}=$
$\displaystyle\mu\,\Big{[}(M+m)\Big{(}\cos(\beta)\left(g+\ddot{z}_{t}\right)-\sin(\beta)\ddot{x}_{t}$
$\displaystyle\left.\left.+d_{x}\ddot{\beta}+2\dot{\beta}\dot{d}_{x}-d_{z}\dot{\beta}^{2}\right)+m\left(l\,\sin(\theta)\left(\ddot{\beta}+\ddot{\theta}\right)\right.\right.$
$\displaystyle\left.\left.+l\,\cos(\theta)\dot{\theta}\left(2\dot{\beta}+\dot{\theta}\right)+\dot{\beta}^{2}(l\cos(\theta)-h)\right)\right].$
(12)

The dynamic system described by (2) and (10), with the conditions (4) and (5),
has a unique equilibrium state given by $\mbox{\boldmath$x$}={\bf 0}$ as long
as

$\big{|}d_{z}M\ddot{\beta}\big{|}\leq F_{s}.$

Unfortunately, without feedback control, the sliding dynamics of the container
is not asymptotically stable. Therefore, it is necessary not to exit from
$d_{x}=\dot{d}_{x}=0$, even if occasionally $\theta\neq 0$ and
$\dot{\theta}\neq 0$. This is possible if

$\displaystyle\Big{|}(m+M)\Big{(}\sin(\beta)\left(g+\ddot{z}_{t}\right)+\cos(\beta)\ddot{x}_{t}\Big{)}+(l\cos(\theta)-h)m\ddot{\beta}$
$\displaystyle+m\,l\cos(\theta)\ddot{\theta}-d_{z}M\ddot{\beta}-l\,m\sin(\theta)\left(\dot{\beta}+\dot{\theta}\right)^{2}\Big{|}\leq
F_{s}.$ (13)

The previous condition clarifies the importance of the assumptions (4) and (5)
for maintaining the container in its initial position. In particular, since
$M\gg m$, the knowledge or the correct estimation of the translational
accelerations becomes fundamental for imposing (4) and consequently (13). Note
that the choice of rotation $\beta^{\star}$ in (4) not only minimizes the
left-hand side of the equation (13) but also maximizes the value of $F_{s}$.
As a matter of fact, the derivative of the first term in the expression of
$F_{s}$, i.e.

$\displaystyle\frac{d}{d\beta}\left(\mu\,(M+m)\big{(}\cos(\beta)\left(g+\ddot{z}_{t}\right)-\sin(\beta)\ddot{x}_{t}\big{)}\right)=$
$\displaystyle=\mu\,(M+m)\,u_{t}\,\,\,\,(\mbox{with $\theta=0$}),$

is null for $\beta=\beta^{\star}$. Therefore, the orientation angle
$\beta^{\star}$ is the best solution for compensating the effect of lateral
acceleration also on the container and not only on the liquid dynamics.

###  III-C Model of a solid object on the tray and sliding compensation

A particular case, though very relevant for applications, arises when only the
container is considered. The resulting dynamics, that models any solid object
of mass $M$ transported by a robotic system without any grasping mechanism,
can be deduced from (10) by assuming $m=0$, i.e.

$\displaystyle
M\ddot{d}_{x}+b_{ct}\dot{d}_{x}-d_{z}M\ddot{\beta}-Md_{x}\dot{\beta}^{2}$
$\displaystyle+M\Big{(}\sin(\beta)\left(g+\ddot{z}_{t}\right)+\cos(\beta)\ddot{x}_{t}\Big{)}$
$\displaystyle\in-F_{s}\,\mathrm{sign}(\dot{d}_{x})$ (14)

with

$F_{s}=\mu
M\\!\left(\cos(\beta)\left(g+\ddot{z}_{t}\right)-\sin(\beta)\ddot{x}_{t}+d_{x}\ddot{\beta}+2\dot{\beta}\dot{d}_{x}-d_{z}\dot{\beta}^{2}\right).$

In this case, by imposing (4) the equilibrium point becomes an equilibrium set
defined by

$\xi=\\{(d_{x},\dot{d}_{x})^{T}=(\bar{d}_{x},0)^{T},|d_{z}M\ddot{\beta}+M\bar{d}_{x}\dot{\beta}^{2}|\leq
F_{s}\\}.$ (15)

Even if this set is not attractive, the system’s state remains in this set as
long as the angular motion is characterized by bounded velocity $\dot{\beta}$
and acceleration $\ddot{\beta}$, so they are compliant with the constraint in
(15). Because of the computation of the optimal tilting angle $\beta^{\star}$
based on (4), the angular acceleration will be bounded only if
$\ddot{x}_{t}(t),\ddot{z}_{t}(t)\in\mathcal{C}^{1}$ and accordingly
$x_{t}(t),z_{t}(t)\in\mathcal{C}^{3}$. Based on the above considerations, it
is possible to deduce the following conclusions.

###### Remark 2

The compensation of lateral acceleration by means of the tilting angle (4) is
feasible only if the translational motion imposed on the tray has a continuous
jerk.

###### Remark 3

To assure the compliance with the inequality condition in (15), it is
convenient to impose $\bar{d}_{x}=d_{z}=0$, i.e. locate the center of rotation
in the center of mass of the object, so that this condition is satisfied
$\forall\mu$ and $\forall\dot{\beta},\,\ddot{\beta}<\infty$.

In the absence of a tilting control, the model of a solid object sliding on
the tray becomes

$M\ddot{d}_{x}+b_{ct}\dot{d}_{x}+M\ddot{x}_{t}\in-
F_{s}\,\mathrm{sign}(\dot{d}_{x})$ (16)

with

$F_{s}=\mu M\left(g+\ddot{z}_{t}\right).$

Accordingly, the equilibrium set is

$\xi=\\{(d_{x},\dot{d}_{x})^{T}=(\bar{d}_{x},0)^{T},|\ddot{x}_{t}|\leq\mu\left(g+\ddot{z}_{t}\right),\,g+\ddot{z}_{t}>0\\}.$

###### Remark 4

To maintain the object in its initial position without tilting compensation it
is necessary to limit the lateral acceleration of the tray so that the ratio
$|\ddot{x}_{t}|/\left(g+\ddot{z}_{t}\right)$ does not exceed the friction
coefficient $\mu$.

##  IV Smoothers and reference trajectory generation/filtering

As illustrated in Sec. III, the transportation of both solid and liquid
materials requires minimizing the lateral accelerations imposed on the tray to
avoid sloshing of the liquid and sliding of solid objects. Additionally, it
may be useful to shape the spectrum of the reference trajectory to cancel
possible residual oscillations of the equivalent pendulum that models the
liquid dynamics. Finally, to implement tilting compensation, it is necessary
to know the instantaneous values of the Cartesian accelerations imposed on the
tray and guarantee that these values are bounded. All these goals can be
achieved by using the so-called smoothers for trajectory generation/filtering.

A smoother is a filter with an impulse response of finite duration $T$, i.e.

$\displaystyle h(t)$ $\displaystyle\\!=\\!$
$\displaystyle\left\\{\begin{array}[]{ll}\displaystyle\eta(t)&\hskip
28.45274pt\mbox{if }0\leq t\leq T\\\\[11.38109pt] 0&\hskip
28.45274pt\mbox{otherwise}\end{array}\right.$ (19)

where $\eta(t)$ is a function, that in the simplest case assumes a constant
value

$\,\,\,\,\,\,\,\,\,\eta(t)\,\,\,=\,\,\,\frac{1}{T}\hskip 56.9055pt(\mbox{\it
rectangular smoother})$ (20)

while in other, more complex, cases is based on trigonometric functions, i.e.

$\eta(t)\,\,\,=\,\,\,\frac{\pi}{2T}\sin\left(\frac{\pi}{T}t\right)\hskip
17.07164pt(\mbox{\it harmonic smoother})$ (21)

By Laplace transforming (19) with (20) the transfer function of the
rectangular smoother,

$H(s)=\frac{1}{T}\frac{1-e^{-sT}}{s},$ (22)

and of the harmonic smoother,

$H(s)=\frac{1}{2}\left(\frac{\pi}{T}\right)^{2}\frac{1+e^{-sT}}{s^{2}+\left(\displaystyle\frac{\pi}{T}\right)^{2}}$
(23)

are obtained. Note that for all types of smoothers, it is required that:

$\int_{0}^{T}\eta(t)dt=1$

This is done to ensure that the DC gain of the corresponding filter is equal
to one. Furthermore, basic considerations regarding the convolution product
between the impulse responses defined in (19) and the input signal, which is
assumed to be of class $\mathcal{C}^{n}$, suggest that the filtered signal
will be of class $\mathcal{C}^{n+1}$ when a rectangular smoother is applied
and $\mathcal{C}^{n+2}$ when a harmonic smoother is used.

The order of the smoother, which coincides with the degree of the polynomial
in $s$ at the denominator, describes the capability of increasing the
smoothness level of the filtered signal. Therefore, the rectangular smoother
is a first-order filter and the harmonic smoother is a second-order filter.
Additionally, these basic elements can be combined in a cascade configuration
to obtain higher-order filters. Interestingly enough, the composition of two
rectangular smoothers leads to the so-called “trapezoidal smoother,” which is
another type of second-order smoother characterized by a trapezoidal impulse
response. Second-order smoothers are the basic tools used in this work since
they ensure that the reference trajectory has limited acceleration even in the
case of discontinuous input signals, such as step functions. Moreover, for a
given input, they provide the first two derivatives along with the filtered
output.
Note that when the smoother is fed by a step input, the impulse response
coincides with the velocity profile of the output signal. Accordingly, the
harmonic smoother yields a standard harmonic motion, while the trapezoidal
smoother produces a trapezoidal velocity trajectory. By setting the value of
$T$ of the harmonic smoother or the values $T_{i}$, $i=1,2$ of the two
rectangular smoothers that compose the trapezoidal filter, the shape of the
output trajectory is completely determined. In particular, with the
trapezoidal smoother it is possible to impose desired bounds on the velocity
and acceleration of the output trajectory by assuming

$T_{1}=\frac{h}{\texttt{v}_{max}}\hskip
42.67912ptT_{2}=\frac{\texttt{v}_{max}}{\texttt{a}_{max}}$ (24)

where $h$ denotes the amplitude of the step reference input (and consequently
the amplitude of the desired displacement), $\texttt{v}_{max}$ and
$\texttt{a}_{max}$ are the limit values of velocity and acceleration,
respectively. Note that, in this way, the minimum-time trajectory compliant
with the given kinematic constraints is obtained. On the other side, it is
convenient to use the harmonic smoother with the purpose of suppressing
possible residual vibrations of the plant that must track the trajectory. It
is possible to prove that if a system is characterized by a resonant frequency
at $\omega_{n}$, residual vibrations are completely suppressed by setting the
value of the time-constant $T$ as

$T=3\frac{\pi}{\omega_{n}},$ (25)

see [30].

(a)

(b)

Figure 3:  Step response (a) and frequency response (b) of trapezoidal and
harmonic smoothers.

In Fig. 3.a, we compare the step responses of a trapezoidal smoother and a
harmonic smoother with the same duration. The time constants $T_{i}$ of the
trapezoidal smoother are computed using (24) with $h=1$, $\texttt{v}_{max}=2$,
and $\texttt{a}_{max}=5$, while the parameter $T$ of the harmonic smoother is
computed as $T=T_{1}+T_{2}$. Both output signals have limited accelerations,
but the harmonic smoother does not comply with the given constraints. In Fig.
3.b, we consider the magnitude of the frequency response $|H(j\omega)|$ of the
two smoothers. For the trapezoidal smoother, $T_{1}=\frac{2\pi}{\omega_{n}}$
and $T_{2}=\frac{\pi}{\omega_{n}}$, while for the harmonic smoother, $T$ is
computed using (25). In this way, the delay caused by the two types of
smoothers is exactly the same, and both have a frequency response with zero
magnitude at $\omega=\omega_{n}$. Note that $|H(j\omega)|$ is proportional to
the Percent Residual Vibration (PRV) induced by the filtered signal when it is
applied to a resonant plant completely undamped, and whose resonant frequency
differs from the nominal value $\omega_{n}$. Refer to [30] for more details.
Therefore, $|H(j\omega_{n})|=0$ implies that a residual vibration exactly at
$\omega_{n}$ is completely suppressed, while for values $\omega$ different
from $\omega_{n}$, the smaller $|H(j\omega)|$ is, the higher its capability of
reducing the amplitude of vibrations. Accordingly, Fig. 3.b shows the
superiority of the harmonic smoother over the trapezoidal one in suppressing
residual vibration, as the magnitude of its frequency response is smaller over
the entire range of frequencies. Interestingly enough, both smoothers have a
frequency response with strong low-pass characteristics (with a cut-off
frequency $\omega_{T}\approx\frac{2}{5}\omega_{0}$ as shown in Fig. 3.b),
which has two important consequences:

  * •

The sloshing modes characterized by natural frequencies higher than
$\omega_{n}$ are effectively reduced, even if the smoother was not
specifically designed for them.

  * •

High-frequency noise superimposed on the input signal is significantly
reduced. This property is particularly useful for applications where spurious
signals affect the desired reference, and acceleration needs to be computed.
It’s worth noting that while the example shown in Fig. 3.a demonstrates the
use of a step function as input for both smoothers, they can be applied to any
reference signal produced, for example, by a human being according to a direct
telemanipulation scheme.

As a final remark, it’s worth noticing that a proper implementation of the
smoother provides not only the filtered output but also its first and second
derivative, without the use of differentiators. This is illustrated in detail
in Sec. V-B.

##  V Optimal feed-forward control for nonprehensile 3D manipulation

The general structure of the feed-forward controller, that assures a safe
handling of both solid and liquid materials without any fixturing mechanism,
is shown in Fig. 4. A smoother is fed with the desired position, which can be
a simple constant value denoting the goal in point-to-point motions or a
complex reference trajectory provided e.g. by a human operator in a
telerobotic architecture as described in [25]. The structure of the smoother
and the characteristics of the reference signal depends on the considered
application.

Figure 4:  Feed-forward controller for nonprehensile 3D manipulation.

The output is a filtered trajectory
$\hat{p}(t)=[\hat{x}(t),\,\hat{y}(t),\,\hat{z}(t)]^{T}$, with bounded (and
known) acceleration that can be used to is used for constructing the
orientation trajectory of the robot manipulator with the purpose of aligning
the container with the (equilibrium) angular position of the virtual pendulum
that otherwise will be caused by the acceleration $\ddot{\hat{p}}(t)$, see
remark 1. As shown in Fig. 5, the spherical pendulum configuration, describing
the sloshing phenomenon in the 3D space, can be fully described by means of
the angles $(\beta,\,\varphi)$. The dependence of these angles from the linear
acceleration imposed to the vessel can be analytically deduced [19], i.e.

$\displaystyle\beta=$
$\displaystyle-\tan^{-1}\left(\frac{\sqrt{\ddot{\hat{x}}^{2}+\ddot{\hat{y}}^{2}}}{g+\ddot{\hat{z}}}\right)$
(26) $\displaystyle\varphi=$
$\displaystyle\,\,\,\pi+\mathrm{atan2}\,\,(\ddot{\hat{y}},\ddot{\hat{x}})$
(27)

where $\mathrm{atan2}$ is the four quadrant inverse tangent.

Figure 5:  Spherical pendulum modelling the sloshing dynamics in a liquid-
filled vessel that moves along a 3D trajectory.

Accordingly the desired orientation for the object/vessel containing the
liquid is

${\bf
R}(\beta,\varphi)=\mathrm{Rot}_{z}(\varphi)\,\mathrm{Rot}_{y}(\beta)\,\mathrm{Rot}_{z}(-\varphi).$
(28)

It is worth to noticing that the term $\mathrm{Rot}_{z}(-\varphi)$ not only
compensates for the initial rotation of the transported object
$\mathrm{Rot}_{z}(\varphi)$ but also offers an additional advantage: when
$\ddot{\hat{y}}=\ddot{\hat{x}}=0$, the angle $\varphi$ in (27) is not well
defined; however, since $\beta=0$, ${\bf
R}(\theta,\varphi)=\mathrm{Rot}_{z}(\varphi)\,\mathrm{Rot}_{z}(-\varphi)=\mbox{\boldmath$I$}_{3}$,
being $\mbox{\boldmath$I$}_{3}$ the $3-$by$-3$ identity matrix.
Obviously, when the motion is restricted to the $x-z$ plane (being
$\ddot{y}=0$) as in the simplified example of Sec. III, the rotation imposed
by (28) with (26) and (27) coincides with (4).
Finally, it is necessary to specify the point where the rotation must take
place, that according to the observations of Sec. III, and in particular
remarks 1 and 3, changes on the basis of the material to be handled. In the
case of a liquid in a container, the Center of Rotation (CoR) should be
located in the center of the swinging mass $m$, while in the case of a solid
object, the CoR should be placed in the Center of Mass (CoM) of the body.

In conclusion, the vector of filtered trajectory $\hat{\bf p}(t)$ and the
rotation matrix ${\bf R}(\beta(t),\varphi(t))$ are organized into the
homogeneous transformation matrix

${}^{0}\mbox{\boldmath$T$}_{\mbox{\footnotesize
CoR}}(t)=\left[\begin{array}[]{c c}{\bf R}(\beta(t),\varphi(t))&\hat{\bf
p}(t)\\\ 0\hskip 17.07182pt0\hskip 17.07182pt0&1\end{array}\right]$ (29)

that provides the desired configuration of the reference frame attached to CoR
with respect to the world reference frame $\mathcal{F}_{0}$. Then, it is
necessary to take into account the relative position of the CoR with respect
to the robot flange by means of the constant (at least for a specific object)
matrix ${}^{\mbox{\footnotesize F}}\mbox{\boldmath$T$}_{\mbox{\footnotesize
CoR}}$:

${}^{\mbox{\footnotesize 0}}\mbox{\boldmath$T$}_{\mbox{\footnotesize
F}}(t)=\,^{\mbox{\footnotesize 0}}\mbox{\boldmath$T$}_{\mbox{\footnotesize
CoR}}(t)\cdot\,^{\mbox{\footnotesize
F}}\mbox{\boldmath$T$}_{\mbox{\footnotesize CoR}}^{-1}.$

Finally, the instant configuration of the robot flange
${}^{\mbox{\footnotesize 0}}\mbox{\boldmath$T$}_{\mbox{\footnotesize F}}(t)$
is processed using the inverse kinematics to derive the joint trajectories
$\mbox{\boldmath$q$}(t)$ that the robot manipulator must track.

The selection of the proper smoother $H(s)$ for a given application is the
last problem to be addressed. The goal is to minimize either the total
duration of the trajectory in the case of point-to-point motions, or the
additional delay imposed by the filter when a generic input trajectory is
given. Four different scenarios are therefore possible, which are analyzed
below.

###  V-A Point-to-point trajectory for solid object manipulation

Since the lateral acceleration is the disturbance that affects the dynamics of
the object resting on the tray, basic considerations suggest to minimize this
quantity. Given a point-to-point motion, from the current location
$\mbox{\boldmath$p$}_{0}=[x_{0},\,y_{0},\,z_{0}]^{T}$ to the goal position
$\mbox{\boldmath$p$}_{1}=[x_{1},\,y_{1},\,z_{1}]^{T}$, it is possible to prove
that the trajectory that minimizes the acceleration given the duration $T$, or
conversely the duration for a given bound $\texttt{a}_{max}$, is the so-called
triangular velocity trajectory, characterized by a bang-bang profile of the
acceleration. This can be obtained by filtering a step input (from
$\mbox{\boldmath$p$}_{0}$ to $\mbox{\boldmath$p$}_{1}$) with a special type of
trapezoidal smoother with

$T_{1}=T_{2}\,\,\,\Rightarrow\,\,\,\texttt{v}_{max}=\sqrt{h\,\texttt{a}_{max}}$

where $h=\|\mbox{\boldmath$p$}_{1}-\mbox{\boldmath$p$}_{0}\|$. The total
duration of the output trajectory is

$T=T_{1}+T_{2}=2\sqrt{\frac{h}{\texttt{a}_{max}}}\,\,\,\Rightarrow\,\,\,\texttt{a}_{max}=\frac{4\,h}{T^{2}}$
(30)

By exploiting the relationship between $T$ and $\texttt{a}_{max}$
($=\|\ddot{}\mbox{\boldmath$p$}(t)\|$), it is possible to deduce the limit
value of the trajectory’s duration that assures safe transportation even in
the absence of tilting compensation (see remark 4), namely finding $T$ that

$\mbox{maximizes
}\|\ddot{}\mbox{\boldmath$p$}(t)\|^{2}=\ddot{x}^{2}+\ddot{y}^{2}+\ddot{z}^{2}$
(31) $\mbox{subject to
}\frac{\sqrt{\ddot{x}^{2}+\ddot{y}^{2}}}{g+\ddot{z}}\leq\mu$ (32)

If the motion is decomposed into a vertical and a horizontal component, i.e.
$\mbox{\boldmath$p$}_{o}$ and $p_{v}$ characterized by

$\displaystyle h_{o}$ $\displaystyle=$
$\displaystyle\sqrt{(x_{1}-x_{0})^{2}+(y_{1}-y_{0})^{2}}$ $\displaystyle
h_{v}$ $\displaystyle=$ $\displaystyle|z_{1}-z_{0}|$

respectively, the constraint (32) for a triangular velocity trajectory
becomes, in the worst case333As a worst case, it is assumed that
$\ddot{z}=-\texttt{a}_{max}=-\frac{4\,h_{v}}{T^{2}}$.,

$\frac{\displaystyle\frac{4\,h_{o}}{T^{2}}}{\displaystyle
g-\frac{4\,h_{v}}{T^{2}}}\leq\mu$

and accordingly, the duration of the motion is

$T\geq T^{\star}=2\sqrt{\frac{h_{o}+\mu\,h_{v}}{\mu\,g}}.$ (33)

Note that $T^{\star}$ is a lower bound for the duration of a point-to-point
motion that cannot be exceeded in any way if the object’s stability on the
tray is ensured solely by friction, without tilting compensation. As stated in
Remark 3, the orientation compensation (28) removes this bound on $T$ because,
in principle, any lateral acceleration can be compensated by this mechanism.
Therefore, a trapezoidal smoother can be adopted in this case instead of a
triangular one to take into account bounds on the maximum velocity and
acceleration that the robot can achieve. Accordingly, the parameters of the
smoother can be computed according to (24). However, a single second-order
smoother is not sufficient because the orientation compensation requires a
trajectory with a degree of continuity higher than one to achieve limited
angular velocities and accelerations. Specifically, due to the relationship
between the trajectory’s accelerations and the angles $\beta$, $\varphi$ in
(26)-(27), it is necessary that $\ddot{\hat{x}}$, $\ddot{\hat{y}}$, and
$\ddot{\hat{z}}$ are of class $\mathcal{C}^{1}$. This can be achieved by
combining the smoother, which determines the basic point-to-point motion, with
another second-order smoother. This additional filter could be, for example, a
triangular smoother with parameters $T_{1}=T_{2}$, such that the angular
velocity and acceleration are below the desired values. Due to the nonlinear
relationships (26)-(27), these values cannot be expressed analytically in
terms of $T_{1}$ and $T_{2}$, but from (30), it follows that the larger the
$T_{i}$, $i=1,2$, the lower the maximum (angular) acceleration. Therefore, the
selection of the proper values of parameters $T_{i}$ should be carried out in
the field by imposing angular speeds and accelerations that the robot is able
to reach. No other consideration is instead linked to the stability of the
object on the tray, which is guaranteed in any case, see Remark 3.

###  V-B Point-to-point trajectory for liquids transportation

In this case, the goal of minimizing the maximum acceleration is subordinated
to the need to cancel the residual vibrations on the pendulum that models the
sloshing phenomenon. As a matter of fact, as shown in Sec. III-A, see
equations (7) and (8), the liquid in the container behaves like a second-order
system with given natural frequency $\omega_{n}$ and damping ratio $\delta$.
Accordingly, for a point-to-point motion, the harmonic smoother is preferred
to the trapezoidal one, as it guarantees greater robustness with respect to
the problem of residual vibration suppression, having a lower PRV about the
nominal value of $\omega_{n}$.
In particular, the so-called damped harmonic smoother is adopted [30], i.e. a
smoother obtained by modifying the basic harmonic smoother in (23) to take
into account the damping of the vibrating system and whose analytical
expression is

$H(s)=\frac{\sigma^{2}+\left(\frac{\pi}{T}\right)^{2}}{1+e^{\sigma\,T}}\frac{1+e^{-sT}e^{\sigma\,T}}{(s-\sigma)^{2}+\left(\displaystyle\frac{\pi}{T}\right)^{2}}.$
(34)

where $\sigma$ and $T$ are freely selectable constant parameters. The smoother
is characterized by the pole-zero map of Fig. 6. The cancellation of the
oscillating dynamics described by (8) can be obtained by assuming

$\sigma=-\delta\omega_{n},\hskip
14.22636ptT=\frac{3}{2}\frac{2\pi}{\omega_{n}\sqrt{1-\delta^{2}}}.$ (35)

Since the parameters of the filter are deduced from the values $\delta$ and
$\omega_{n}$ that characterize the system, having a reliable model becomes
extremely important for effectively suppressing sloshing.

Figure 6:  Pole-zero map of the damped harmonic smoother $H(s)$: $\sigma$ and
$T$ are the free parameters that appear in (34).
Figure 7:  Harmonic smoother structure with constant $\displaystyle
K=\frac{\sigma^{2}+\left(\frac{\pi}{T}\right)^{2}}{1+e^{\sigma\,T}}$.

The structure of the filter expressed in the controllable canonical form,
reported in Fig. 7, allows to obtain not only the filtered output but also its
first and second derivatives, without the need for an explicit
differentiation, as mentioned in Sec. IV.
As in the case of point-to-point motions for solid objects, the tilting
compensation of the lateral acceleration requires the continuity of its first
derivative. This can be achieved by combining the damped harmonic smoother
with an additional triangular smoother, whose parameters $T_{i}$ must be large
enough to produce feasible angular velocities and accelerations.

###  V-C Complex trajectories for solid object manipulation

When the input trajectory is not a simple step signal specifying the final
position, as in point-to-point motions, but a complex motion, possibly unknown
in advance, a single second-order smoother is sufficient for the proposed
application. It can be assumed that the input signal already has limited
acceleration, such as trajectories defined by parametric curves (e.g., cubic
splines that are of class $\mathcal{C}^{2}$) or motions commanded by a human
operator via direct teleoperation, which are characterized by continuous
acceleration. In this case, the smoother has two objectives: to impose a bound
on the higher order derivatives of the acceleration to achieve tilting
compensation with limited angular velocities and accelerations, and
simultaneously estimate the value of linear acceleration without explicit
differentiation for analytical calculation of angular compensation. This is
particularly useful when the input signal is provided by a human operator and
is therefore affected by some level of noise, caused by both the sensors used
for position detection and natural tremors that affect human beings. As
mentioned in Section IV, the smoothers exhibit low-pass characteristics,
allowing their parameters to be selected to effectively reject noise. For
example, in the case of a triangular smoother444The bandwidth of the
rectangular smoother with a generic time constant $T_{i}$, that compose a
triangular smoother, is approximately $2/T_{i}$., the larger the values of the
two parameters, $T_{1}$ and $T_{2}$, the narrower the filter’s bandwidth
becomes, resulting in more effective noise filtering. However, it is important
to consider that the smoother introduces a delay of exactly $T_{1}+T_{2}$
between the input signal and the filtered output. Consequently, it is
advantageous to keep these values as small as possible and find a trade-off
between the different requirements based on the specific application.

###  V-D Complex trajectories for liquids manipulation

Applications that require robots to handle liquid materials along complex
trajectories are subject to the same constraints as those for solid materials.
Therefore, the considerations outlined above remain valid. However, when
dealing with liquids, there is an additional need to suppress sloshing. In
this case, the harmonic smoother is the best solution due to its superior
robustness against residual vibrations. Unlike the triangular smoother
suggested for solid objects, the parameters that characterize the harmonic
smoother cannot be freely selected within a given range (determined by the
bounds on acceleration, noise reduction, etc.). Instead, these parameters must
be chosen based on the features of the liquid, using (35).

The procedure for the selection of the smoothing filter $H(s)$ and the matrix
${}^{\mbox{\scriptsize F}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}$ that
define the proper control scheme of Figure 4 in different application
scenarios is outlined in Table I. Note that the rotation matrix
${}^{\mbox{\scriptsize F}}{\bf R}{\mbox{\scriptsize x}}$ remains the same for
any object/container and is based on an arbitrary assumption. Knowledge of the
vector describing the location of the center of mass of a solid object,
${}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}{\mbox{\scriptsize CoM}}$, or the
location of the equivalent mass $m$ of the liquid in the container,
${}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize m}}$,
requires information about the shape and mass distribution of the object, as
well as additional sensors. Specifically, with a force sensor installed in the
robot’s flange, it is possible to estimate the centroid’s location on the tray
of the object/container. Therefore, only the knowledge of the object’s center
of mass height or the liquid level555It is worth noting that the vertical
position of the mass $m$ can be easily deduced from the liquid surface
position by subtracting the length $l$ of the equivalent pendulum, computed
from $\frac{g}{l}=\omega_{n}^{2}$ (see equations 7 and 8). is necessary.

Point-to-Point trajectories Complex trajectories
---
Solid objects |  Inputs: goal position ${}^{0}\mbox{\boldmath$p$}_{1}$, center of mass of the object ${}^{t}\mbox{\boldmath$p$}_{\tiny CoM}$, maximum cartesian velocity $\texttt{v}_{max}$ and acceleration $\texttt{a}_{max}$ of the robot Design of Filter $H(s)$: trapezoidal smoother with parameters computed according to (24) + triangular smoother with free parameters Definition of the transformation ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}$: ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}=\left[\begin{array}[]{c c}{}^{\mbox{\scriptsize F}}{\bf R}_{\mbox{\scriptsize Obj}}&{}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize CoM}}\\\ {\bf 0}&1\end{array}\right]$ where ${}^{\mbox{\scriptsize F}}{\bf R}_{\mbox{\scriptsize Obj}}$ is the constant rotation matrix describing the orientation of the object with respect to the flange reference frame and ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize CoM}}$ denotes the position of the center of mass of the object in the same reference frame |  Inputs: desired reference trajectory ${}^{0}\mbox{\boldmath$p$}(t)$, center of mass of the object ${}^{t}\mbox{\boldmath$p$}_{\tiny CoM}$ Design of Filter $H(s)$: triangular smoother with free parameters Definition of the transformation ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}$: ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}=\left[\begin{array}[]{c c}{}^{\mbox{\scriptsize F}}{\bf R}_{\mbox{\scriptsize Obj}}&{}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize CoM}}\\\ {\bf 0}&1\end{array}\right]$ where ${}^{\mbox{\scriptsize F}}{\bf R}_{\mbox{\scriptsize Obj}}$ is the constant rotation matrix describing the orientation of the object with respect to the flange reference frame and ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize CoM}}$ denotes the position of the center of mass of the object in the same reference frame.
Liquid materials |  Inputs: goal position ${}^{0}\mbox{\boldmath$p$}_{1}$, natural frequency $\omega_{n}$ and damping ratio $\delta$ of the first sloshing mode, location of the equivalent pendulum bob ${}^{t}\mbox{\boldmath$p$}_{\tiny m}$, maximum cartesian velocity $\texttt{v}_{max}$ and acceleration $\texttt{a}_{max}$ of the robot Design of Filter $H(s)$: trapezoidal smoother with parameters computed according to (24) + damped harmonic smoother with parameters defined by (35) Definition of the transformation ${}^{\mbox{\scriptsize f}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}$: ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}=\left[\begin{array}[]{c c}{}^{\mbox{\scriptsize F}}{\bf R}_{\mbox{\scriptsize c}}&{}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize m}}\\\ {\bf 0}&1\end{array}\right]$ where ${}^{\mbox{\scriptsize F}}{\bf R}_{\mbox{\scriptsize c}}$ is the constant rotation matrix describing the orientation of the container with respect to the flange reference frame and ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize m}}$ denotes the position of the pendulum mass $m$ in the same reference frame. |  Inputs: desired reference trajectory ${}^{0}\mbox{\boldmath$p$}(t)$, natural frequency $\omega_{n}$ and damping ration $\delta$ of the first sloshing mode, location of the equivalent pendulum bob ${}^{t}\mbox{\boldmath$p$}_{\tiny m}$ Design of Filter $H(s)$: damped harmonic smoother with parameters defined by (35) Definition of the transformation ${}^{\mbox{\scriptsize f}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}$: ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$T$}_{\mbox{\scriptsize CoR}}=\left[\begin{array}[]{c c}{}^{\mbox{\scriptsize F}}{\bf R}_{\mbox{\scriptsize c}}&{}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize m}}\\\ {\bf 0}&1\end{array}\right]$ where ${}^{\mbox{\scriptsize F}}{\bf R}_{\mbox{\scriptsize c}}$ is the constant rotation matrix describing the orientation of the container with respect to the flange reference frame and ${}^{\mbox{\scriptsize F}}\mbox{\boldmath$p$}_{\mbox{\scriptsize m}}$ denotes the position of the pendulum mass $m$ in the same reference frame.
TABLE I:  Computation of the parameters of the feed-forward control scheme of
Fig. 4 in different scenarios.

##  VI Experimental validation

Because of some issues in our lab, we are still in the process of concluding
all the planned experiments. In the meantime, please refer to the videos
available at the following URL: https://sites.google.com/view/robotwaiter/,
where the proposed approach has been demonstrated.

## References

  * [1] F. Ruggiero, V. Lippiello, and B. Siciliano, “Nonprehensile dynamic manipulation: A survey,” _IEEE Robotics and Automation Letters_ , vol. 3, no. 3, pp. 1711–1718, July 2018.
  * [2] K. M. Lynch and M. T. Mason, “Dynamic nonprehensile manipulation: Controllability, planning, and experiments,” _The International Journal of Robotics Research_ , vol. 18, no. 1, pp. 64–92, 1999. [Online]. Available: https://doi.org/10.1177/027836499901800105
  * [3] L. Moriello, D. Chiaravalli, L. Biagiotti, and C. Melchiorri, “Toward the next generation of robotic waiters,” in _2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_ , 2018, pp. 5541–5541. [Online]. Available: https://www.youtube.com/watch?v=JMVJ9w7KFQg
  * [4] L. Biagiotti, D. Chiaravalli, L. Moriello, and C. Melchiorri, “A plug-in feed-forward control for sloshing suppression in robotic teleoperation tasks,” in _2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_ , 2018, pp. 5855–5860.
  * [5] J. T. Feddema, C. R. Dohrmann, G. G. Parker, R. D. Robinett, V. J. Romero, and D. J. Schmitt, “Control for slosh-free motion of an open container,” _IEEE Control Systems Magazine_ , vol. 17, no. 1, pp. 29–36, Feb 1997.
  * [6] S. J. Chen, B. Hein, and H. Worn, “Using acceleration compensation to reduce liquid surface oscillation during a high speed transfer,” in _Proceedings 2007 IEEE International Conference on Robotics and Automation_ , April 2007, pp. 2951–2956.
  * [7] K. Terashima, M. Hamaguchi, and K. Yamaura, “Modeling and input shaping control of liquid vibration for an automatic pouring system,” in _Decision and Control, 1996., Proceedings of the 35th IEEE Conference on_ , vol. 4, Dec 1996, pp. 4844–4850.
  * [8] A. Aboel-Hassan, M. Arafa, and A. Nassef, “Design and optimization of input shapers for liquid slosh suppression,” _Journal of Sound and Vibration_ , vol. 320, no. 1, pp. 1 – 15, 2009.
  * [9] B. Pridgen, K. Bai, and W. Singhose, “Shaping container motion for multimode and robust slosh suppression,” _Journal of Spacecraft and Rockets_ , vol. 50, no. 2, pp. 440–448, Mar 2013.
  * [10] W. Aribowo, T. Yamashita, and K. Terashima, “Integrated trajectory planning and sloshing suppression for three-dimensional motion of liquid container transfer robot arm,” _Journal of Robotics_ , pp. 1 – 15, Jan 2015.
  * [11] Q. Zang, J. Huang, and Z. Liang, “Slosh suppression for infinite modes in a moving liquid container,” _IEEE/ASME Transactions on Mechatronics_ , vol. 20, no. 1, pp. 217–225, Feb 2015.
  * [12] K. Yano and K. Terashima, “Robust liquid container transfer control for complete sloshing suppression,” _IEEE Transactions on Control Systems Technology_ , vol. 9, no. 3, pp. 483–493, May 2001.
  * [13] ——, “Sloshing suppression control of liquid transfer systems considering a 3-d transfer path,” _IEEE/ASME Transactions on Mechatronics_ , vol. 10, no. 1, pp. 8–16, Feb 2005.
  * [14] L. Consolini, A. Costalunga, A. Piazzi, and M. Vezzosi, “Minimum-time feedforward control of an open liquid container,” in _IECON 2013 - 39th Annual Conf. of the IEEE_ , Nov 2013, pp. 3592–3597.
  * [15] R. Maderna, A. Casalino, A. M. Zanchettin, and P. Rocco, “Robotic handling of liquids with spilling avoidance: A constraint-based control approach,” in _2018 IEEE International Conference on Robotics and Automation (ICRA)_ , 2018, pp. 7414–7420.
  * [16] J. Reinhold, M. Amersdorfer, and T. Meurer, “A dynamic optimization approach for sloshing free transport of liquid filled containers using an industrial robot,” in _2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_ , 2019, pp. 2336–2341.
  * [17] R. I. C. Muchacho, R. Laha, L. F. Figueredo, and S. Haddadin, “A solution to slosh-free robot trajectory optimization,” in _2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_ , 2022, pp. 223–230.
  * [18] K. Terashima and K. Yano, “Sloshing analysis and suppression control of tilting-type automatic pouring machine,” _Control Engineering Practice_ , vol. 9, no. 6, pp. 607 – 620, 2001.
  * [19] L. Moriello, L. Biagiotti, C. Melchiorri, and A. Paoli, “Manipulating liquids with robots: A sloshing-free solution,” _Control Engineering Practice_ , vol. 78, pp. 129 – 141, 2018.
  * [20] P. Lertkultanon and Q.-C. Pham, “Dynamic non-prehensile object transportation,” in _2014 13th International Conference on Control Automation Robotics & Vision (ICARCV)_, 2014, pp. 1392–1397.
  * [21] J. Luo and K. Hauser, “Robust trajectory optimization under frictional contact with iterative learning,” _Autonomous Robots_ , vol. 41, no. 6, pp. 1447–1461, mar 2017.
  * [22] G. Csorvási, Á. Nagy, and I. Vajk, “Near time-optimal path tracking method for waiter motion problem,” _IFAC-PapersOnLine_ , vol. 50, no. 1, pp. 4929–4934, jul 2017.
  * [23] G. Martucci, J. Bimbo, D. Prattichizzo, and M. Malvezzi, “Maintaining stable grasps during highly dynamic robot trajectories,” in _2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_ , 2020, pp. 9198–9204.
  * [24] H. Gattringer, A. Mueller, M. Oberherber, and D. Kaserer, “Time-optimal robotic manipulation on a predefined path of loosely placed objects: Modeling and experiment,” _Mechatronics_ , vol. 84, p. 102753, 2022.
  * [25] M. Selvaggio, J. Cacace, C. Pacchierotti, F. Ruggiero, and P. R. Giordano, “A shared-control teleoperation architecture for nonprehensile object transportation,” _IEEE Transactions on Robotics_ , vol. 38, no. 1, pp. 569–583, 2022.
  * [26] R. Subburaman, M. Selvaggio, and F. Ruggiero, “A non-prehensile object transportation framework with adaptive tilting based on quadratic programming,” _IEEE Robotics and Automation Letters_ , vol. 8, no. 6, pp. 3581–3588, 2023.
  * [27] R. Ibrahim, _Liquid Sloshing Dynamics: Theory and Applications_. Cambridge University Press, 2005.
  * [28] N. van de Wouw and R. I. Leine, “Attractivity of equilibrium sets of systems with dry friction,” _Nonlinear Dynamics_ , vol. 35, no. 1, pp. 19–39, jan 2004.
  * [29] J. B. Biemond, N. van de Wouw, and H. Nijmeijer, “Bifurcations of equilibrium sets in mechanical systems with dry friction,” _Physica D: Nonlinear Phenomena_ , vol. 241, no. 22, pp. 1882–1894, 2012, dynamics and Bifurcations of Nonsmooth Systems.
  * [30] L. Biagiotti, C. Melchiorri, and L. Moriello, “Damped harmonic smoother for trajectory planning and vibration suppression,” submitted to IEEE Transactions on Control Systems Technology.