# A Novel Assistive Controller Based on Differential Geometry for Users of the
Differential-Drive Wheeled Mobile Robots

Seyed Amir Tafrishi, Ankit A. Ravankar, Jose Victorio Salazar Luces and
Yasuhisa Hirata Authors are with Department of Robotics, Tohoku University, 6-
6-01 Aramaki-Aoba, Aoba-ku, Sendai 980-8579, Japan. {s.a.tafrishi, ankit,
j.salazar<EMAIL_ADDRESS>
###### Abstract

Certain wheeled mobile robots e.g., electric wheelchairs, can operate through
indirect joystick controls from users. Correct steering angle becomes
essential when the user should determine the vehicle direction and velocity,
in particular for differential wheeled vehicles since the vehicle velocity and
direction are controlled with only two actuating wheels. This problem gets
more challenging when complex curves should be realized by the user. A novel
assistive controller with safety constraints is needed to address these
problems. Also, the classic control methods mostly require the desired states
beforehand which completely contradicts human’s spontaneous decisions on the
desired location to go. In this work, we develop a novel assistive control
strategy based on differential geometry relying on only joystick inputs and
vehicle states where the controller does not require any desired states. We
begin with explaining the vehicle kinematics and our designed Darboux frame
kinematics on a contact point of a virtual wheel and plane. Next, the
geometric controller using the Darboux frame kinematics is designed for having
smooth trajectories under certain safety constraints. We experiment our
approach with different participants and evaluate its performance in various
routes.

##  I Introduction

Recently, different vehicles are increasingly getting involved in human life
and activities. The wheeled mobile robot e.g., wheelchairs are the
conventional vehicles utilized more often.  There have been researches to
control these mobile robots considering their desired states. However, the
vehicle users are not always fully aware of the exact determined goals
(desired configuration/states) or they change their goals continuously. This
urges a controller that assists the user input without any external sensors or
a priori information about the desired states. For example, the assistive
controller can be greatly beneficial in wheelchair patients who do not have
full ability to control certain parameters of the moving mobile robot (varying
the vehicle velocity). These issues are barely covered in the literature.

We can roughly divide the motion control problem for the mobile robot into
path planning and trajectory tracking [1, 2, 3, 4] with some about sensor-
based planning algorithms [5]. In the path planning problem, the vehicle’s
initial and desired configuration consisting of the position and direction of
the vehicle are often known [6, 7]. The goal is to establish a suitable
trajectory for the vehicle under certain constraints namely known obstacles.
For instance, a nilpotent form of the model was designed to create feedback
transformation for different systems including car systems [1]. Laumond et al.
developed various geometric control strategies for collision-free path
planning of wheeled mobile robots [3, 7, 8]. Certain planning techniques were
proposed for more challenging cases [9, 10, 11], namely, path planning through
moving obstacles. Recent studies took a direction in making algorithmic motion
planning by combining different sensors e.g., LiDAR and depth camera through
navigating crowded environments [5, 12]. The ultimate goal is to achieve
autonomous self-driving cars [12, 13] that are covered in recent studies.

Figure 1: The framework of the proposed assistive controller.

The trajectory tracking problem aims for tracking the already given path or
desired states, velocity in particular, on the current time [14, 7, 15, 16].
In other words, the objective is to keep the vehicle on the desired trajectory
or reference states. This control problem focuses on minimizing the external
disturbances and it often uses robot dynamics to minimize the convergence
errors. For example, a combined feedforward and feedback control strategy was
created for a mobile robot under disturbances [17]. Currently, there have been
certain attempts to do reference tracking by linear control methods [18, 19]
or fuzzy logic control [20]. In the control perspective, there have been
attempts to develop strategies that make the user travel with the vehicle
safely by combining different sensors. The reactive control strategy with the
inclusion of LiDAR sensor data is one of the conventional ways [21, 5]. Based
on the covered studies, there is no controller that does not require a priori
reference trajectory or desired configuration without using many sensor e.g.,
LiDAR information. This means, an assistive controller can be highly important
to correct the user inputs for safer and better locomotion of the vehicle by
using only joystick inputs. Also, this control strategy cannot easily be
developed with scaling the inputs since the trajectories can get complex with
following continuously changing user inputs and the problem becomes harder.

There have been some attempts in developing shared autonomy between user
inputs and manipulator robots [22, 23, 24] outside of the mobile robot
research field.

S. Javdani et al. used a partially observable Markov decision process (POMDP)
to predict the intended object to pick while the autonomy system does not know
the goal (without desired configuration) as a priori [24]. The work shed light
on control strategies with no desired states but still had challenges since
the manipulator mainly ran with an internal controller and did not consider
any complex trajectory utilization that the user intended to do with a
joystick. This important issue is predominant in mobile robots because user
can follow complex and highly dynamic paths with spontaneous decisions on the
desired goal.

Various control strategies have been considered for wheelchair systems. Park
and Kuipers developed a feedback controller in order to drive an electric-
powered differential-drive wheelchair [25]. This controller was correcting the
vehicle velocity depending on the path’s curvilinear curvatures. There have
been studies in smoothing the traversed path by mobile robots [26]. Also, a
velocity control to follow a reference trajectory was designed considering
jerk limitation and longitudinal acceleration [27]. However, complex curves
that have sharp turns/features were not considered in these studies for
increasing the level of maneuvers. Next, a predictive controller with a
linearized model was proposed for trajectory tracking of an electric
wheelchair [28]. Previously proposed control approaches for a wheeled mobile
robot are not well suited for wheelchair users since the user/patient cannot
determine and communicate with an advanced controller to feed desired states
(this can be velocity or position) continuously. This problem multiplies with
using discrete joystick controls (easy to jump different values continuously)
in wheelchairs rather than an advanced mechanical shaft to the steering wheel
that cars normally encompass.

In our previous study, we developed a simple geometric controller for a mobile
robot with steering wheel and evaluated the motion in simulation [29]. In this
work, we introduce a new assistive controller for differential-drive mobile
robot [see Fig. 1 for the framework], with motivation from existing
challenges, that does not use any priori desired configuration/states. The
established new geometric controller ${\bm{\mathbf{u}}}_{c}$ relies on the
curvature variation of the traversing trajectory using the Darboux frame
kinematics of a virtual wheel [30, 31]. Also, we design this controller with
arc-length-based time-invariant functions that rely only on user joystick
inputs ${\bm{\mathbf{u}}}_{u}$ and feed on current states of the vehicle
$\\{{\bm{\mathbf{x}}}(t),\dot{{\bm{\mathbf{x}}}}(t)\\}$ with using inertial
measurement unit (IMU) and shaft encoders, under defined safety constraints.

In this paper, we begin by describing the vehicle and Darboux frame kinematics
in Section II. Next, based on our defined control problem in Section III, we
derive our geometric controller on the Darboux frame kinematics in Section IV.
Finally, we experiment and check the controller behavior and performance with
different participants by using a differential-drive wheelchair in Section V.
To the best of our knowledge, this is the first assistive controller approach
that does not require any priori desired states and relies on user joystick
input and vehicle current states only without utilizing external sensors such
as LiDAR or camera. The new controller tries to develop smooth trajectories
while it is decreasing the user effort. Thus, it can be extensively suitable
for mobile robot applications.

##  II Kinematics of the Vehicle and Virtual Wheel on a Darboux Frame

In this section, we demonstrate the kinematic model for differential wheel
mobile robots. Next, a Darboux frame with a virtual wheel is introduced at the
vehicle center since it will be used for designing an assistive control with
geometric functions in the arc-length domain.

Figure 2: Schematic of the differential wheeled mobile robot with virtual
wheel frame at the center of the vehicle.

Fig. 2 illustrates the frames of the differential wheeled mobile robot. We
have simplified the model for generality to a moving vehicle where the robot
is actuated with two wheels in the back and passive omnidirectional wheels at
the front without steering. The frame $\Sigma_{V}$ is fixed to the vehicle
center where it is aligned with the actuating back wheels center with a frame
of $\Sigma_{W}$. Additionally, $\Sigma_{I}$ is the inertia frame. The vehicle
axis $\Sigma_{V}$ has a spin angle of $\psi$ with respect to the inertia
frame. In addition to classic frames, we introduce a new frame on the vehicle
$\Sigma_{V}$ located at the contact point of wheels with the plane as a
virtual wheel frame $\Sigma_{p}$. Next, we assume that ${\bm{\mathbf{L}}}_{v}$
with $C^{\infty}$ smoothness in continuous-time domain is a path that the
wheeled mobile robot follows on the plane. Also, the back driving wheels with
a radius of $R$ are rotating. Note that there is a no-sliding constraint
between the wheel and the ground.

Based on the frame definitions, the kinematics of the moving differential
wheeled vehicle $\Sigma_{V}$ in time $t>0$ on the plane can be presented as
follows

$\displaystyle\dot{{\bm{\mathbf{x}}}}(t)=\left[\begin{array}[]{c}\dot{x}(t)\\\
\dot{y}(t)\\\
\dot{\psi}(t)\end{array}\right]=\left[\begin{array}[]{c}\cos\psi\\\
\sin\psi\\\ 0\end{array}\right]u_{v}+\left[\begin{array}[]{c}0\\\ 0\\\
1\end{array}\right]u_{\omega},$ (10)

where $(x,y)$ and $\psi$ are the plane states and the rotation angle between
the vehicle and the plane and also the control inputs
${\bm{\mathbf{u}}}=[u_{v},u_{\omega}]^{T}$ in system (10) are the vehicle
linear velocity $u_{v}$ and angular velocity $u_{\omega}$ inputs which is
given as

$\displaystyle\left[\begin{array}[]{c}u_{v}\\\
u_{\omega}\end{array}\right]=\left[\begin{array}[]{cc}1/2&1/2\\\
1/l&-1/l\end{array}\right]\left[\begin{array}[]{c}u_{r}\\\
u_{l}\end{array}\right],$ (17)

where $u_{r}$ and $u_{l}$ are the angular velocity inputs of the left and
right wheels.

Because we want to develop a geometric controller based on the traversing
path’s curvature, we use the Darboux frame definition [30, 32, 31]. In our
early study [31], we illustrated that how the Darboux frame can be used in
parameterizing the motion kinematics with arc-length-based inputs for a spin-
rolling sphere on the plane. The simpler case of this system as the rolling
disc (wheel in our case) was also shortly discussed [30, 31]. The Darboux-
frame kinematics brings different advantages such as producing velocities
based on the projected curvature of the interacting surfaces. This is not
possible with Frenet frame [14] kinematics which studies the moving particle
on curves. In our case, the interacting surfaces are a rolling object (virtual
wheel here), the plane surface, and sandwiched virtual surface on the Darboux
frame. The virtual surface is then designed as arc-length-based inputs. In
addition, the Darboux-frame-based kinematics is time- and coordinate-invariant
and can be parametrized with extra control inputs that help to increase
accessibility [31] which we utilize in this study.

Darboux frame kinematics is derived on $\Sigma_{p}$ frame. It is assumed that
the Darboux frame $\Sigma_{p}$ is at the center of the vehicle where a virtual
wheel with radius $R_{v}$ rotates at ${\bm{\mathbf{P}}}$. Every contacted
point ${\bm{\mathbf{P}}}$ on $\Sigma_{p}$ has a unit-based Darboux frame
($\bm{e}_{1},\bm{e}_{2},\bm{e}_{3}$) [33] which follows the path
${\bm{\mathbf{L}}}_{v}$ where $\bm{e}_{1}$ is a tangent vector to the path
${\bm{\mathbf{L}}}_{v}$, $\bm{e}_{3}$ is a normal vector to the plane, and
$\bm{e}_{2}$ is perpendicular to the plane, $\bm{e}_{3}\times\bm{e}_{1}$.
Then, the general angular velocity of the wheel (rolling disc)
$\bm{\omega}_{p}$ on the contact point of the Darboux frame is obtained [30,
31]

$\displaystyle\bm{\omega}_{p}=\delta(-\tau_{g}\bm{e}_{1}+k_{n}\bm{e}_{2}-k_{g}\bm{e}_{3}),$
(18)

where

$\displaystyle\delta=ds/dt,\;k_{g}=k^{w}_{g}-k^{s}_{g}-\alpha_{s},\;k_{n}=k^{w}_{n}-k^{s}_{n}-\gamma_{s},\;$
$\displaystyle\tau_{g}=\tau_{g}^{w}-\tau^{s}_{g},$ (19)

where $k^{w}_{g}=0$, $\tau^{w}_{g}=0$ and $k^{w}_{n}=1/R_{v}$ are virtual
wheel’s geodesic curvature, geodesic torsion and normal curvature, and the
fixed surface is considered as a plane with
$k^{s}_{g}=\tau^{s}_{g}=k^{s}_{n}=0$ curvatures. Note that here radius of
virtual wheel $R_{v}$ is equal to our considered wheels radius $R$. Also,
$\\{\alpha_{s},\gamma_{s}\\}$ are arc-length-based inputs as a sandwiched
virtual surface [31] and $\delta$ is defined as the rolling rate input in the
time domain.  We will utilize the extended control inputs
$\\{\alpha_{s},\gamma_{s},\delta\\}$ in developing our controller. In a
previous study, we determined how an underactuated ball-plate system is
transformed to a fully-actuated model with extra arbitrary inputs [31]. We
take similar and simplified computation to derive the rolling virtual wheel to
transform the system (10) to 3$\times$3\. The extra inputs help us to define
extra functions in constraining the traveled path and vehicle velocity
dependent on our safety constraints (derived functions). By substituting the
curvatures into Eqs. (18)-(19), we have the angular $\bm{\omega}_{p}$ and
linear ${\bm{\mathbf{v}}}_{p}$ velocities on ${\bm{\mathbf{P}}}$ as follows

$\displaystyle\bm{\omega}_{p}$ $\displaystyle=$
$\displaystyle\delta\left[\left[(1/R_{v})+\gamma_{s}\right]\bm{e}_{2}+\alpha_{s}\bm{e}_{3}\right],\;$
$\displaystyle{\bm{\mathbf{v}}}_{p}$ $\displaystyle=$
$\displaystyle\bm{\omega}_{p}\times{\bm{\mathbf{r}}}_{w}=\delta\left[\left[(1/R_{v})+\gamma_{s}\right]\bm{e}_{2}+\alpha_{s}\bm{e}_{3}\right]\times
R_{v}\;\bm{e}_{3}$ (20) $\displaystyle=$
$\displaystyle\delta\left[1+R_{v}\;\gamma_{s}\right]\bm{e}_{1}.$

We can see that the curvature variation is projected onto unit frames which
varies the linear and angular velocities. The virtual wheel travels on the
plane along $\bm{e}_{1}$ with corresponding kinematics (20). Additionally, the
kinematics can be represented in the classic velocity formulation on the
Cartesian coordinate $\\{{\bm{\mathbf{p}}}-\bm{i}\bm{j}\bm{k}\\}$ system by
following expressions

$\displaystyle\bm{e}_{1}=\cos\psi\bm{i}+\sin\psi\bm{j},\;\;\bm{e}_{2}=-\sin\psi\bm{i}+\cos\psi\bm{j},\;\bm{e}_{3}=\bm{k},$
$\displaystyle\delta=\frac{ds}{dt}=R_{v}\frac{d\theta}{dt}.$ (21)

where $\theta$ represents angular rotation of the virtual wheel.

Figure 3: The problem statement of the motion assisted control. The vehicle
with the velocity ${\bm{\mathbf{v}}}(t)$ always creates safe and smooth
trajectories in continues-time $t$ on ${\bm{\mathbf{L}}}_{v}$ while the user
input ${\bm{\mathbf{u}}}^{\prime}_{u}$ aims for the desired location.

##  III Problem Statement

We explain the control problem that we have established for the wheeled mobile
robot. Also, the safety conditions as constraints are described.

Fig. 3 presents an example statement that we have chosen. The assistive
controller aims to correct the moving vehicle velocities
${\bm{\mathbf{v}}}(t)=[v_{v},\;\dot{\psi}]^{T}$ under safety constraints
without knowing any priori goal where $v_{v}$ is the linear velocity of the
vehicle. Also this controller allows the user to have more freedom in
assigning travel velocity $u^{\prime}_{v,u}$ and angular direction
$u^{\prime}_{\psi,u}$ by the joystick inputs. Next, the inputs
${\bm{\mathbf{u}}}=[u_{v},u_{\omega}]^{T}$ of the kinematic model (10) are
defined with the following shared control formulation

${\bm{\mathbf{u}}}(t)=(1/n)\left[{\bm{\mathbf{u}}}_{u}(t)+(n-1){\bm{\mathbf{u}}}_{c}\right],$
(22)

where ${\bm{\mathbf{u}}}_{u}=[u_{v,u},u_{\omega,u}]^{T}$,
${\bm{\mathbf{u}}}_{c}=[u_{v,c},u_{\omega,c}]^{T}$ and $n\in N$ are the raw
inputs by the user, the inputs of the controller, and the level of reliance on
the controller. The higher shared control variable $n\in[1,\infty]$ becomes
the less the user inputs ${\bm{\mathbf{u}}}_{u}$ will be effective in
directing the vehicle, and vehicle will be assisted by only the controller
inputs ${\bm{\mathbf{u}}}_{c}$.

In our designed controller, we do not have a desired state/configuration. As
shown in Fig. 1, only the user’s raw inputs
${\bm{\mathbf{u}}}^{\prime}_{u}=(u^{\prime}_{v,u},u^{\prime}_{\psi,u})$ and
vehicle current states $\\{{\bm{\mathbf{x}}},\dot{{\bm{\mathbf{x}}}}\\}$ are
used for the controller functions. Also, the vehicle states, velocity
${\bm{\mathbf{v}}}$ and current orientation of the vehicle $\psi(t)$ are
obtained by measurements from inertial measurement unit and motor shaft
encoders. Please note that in the case of mobile robot without controller
${\bm{\mathbf{u}}}_{u}={\bm{\mathbf{c}}}{\bm{\mathbf{u}}}^{\prime}_{u}$, where
${\bm{\mathbf{c}}}$ is a linear ratio to transform user joystick inputs to
velocity. However, in our case, our nonlinear geometric controller utilizes
the raw inputs of user ${\bm{\mathbf{u}}}^{\prime}_{u}$ to develop a proper
strategy in updating ${\bm{\mathbf{u}}}_{c}$.

We assume, only the user knows the temporary desired configuration
${\bm{\mathbf{x}}}_{f}=\\{x_{f}(t),y_{f}(t),\psi_{f}(t)\\}$ while vehicle
moves along arbitrary ${\bm{\mathbf{L}}}_{v}$ path (path is not known/given).
The controller velocity input and steering angle ${\bm{\mathbf{u}}}_{c}$ are
updated from an intended curvature of trajectory ${\bm{\mathbf{L}}}_{v}$ and
introduced objectives based on the user/driver inputs
${\bm{\mathbf{u}}}^{\prime}_{u}=[u^{\prime}_{v,u},u^{\prime}_{\psi,u}]^{T}$.
Next, the following safety and control objectives are established:

(i) Only the user knows the approximate desired configuration
${\bm{\mathbf{x}}}_{f}$ and our shared controller ${\bm{\mathbf{u}}}$ is
assisted by including the user inputs ${\bm{\mathbf{u}}}_{u}$ without any
priori knowledge of ${\bm{\mathbf{x}}}_{f}$.

(ii) The controller corrects the trajectory for having smooth curvature on
path ${\bm{\mathbf{L}}}_{v}$ while the motion safety is satisfied under
geometric motion constraints on input ${\bm{\mathbf{u}}}$. The assistive
controller is based on the defined geometric constraints through the virtual
wheel model (20) on the Darboux frame that uses the user inputs
${\bm{\mathbf{u}}}_{u}$.

(iii) The first safety constraint is on the input velocity $u_{v,u}$ that
changes under
$|(1/n)[u_{v,u}+(n-1)u_{v,c}({\bm{\mathbf{u}}}^{\prime}_{u},{\bm{\mathbf{v}}})]|\leq|v_{v}|$
condition where $u_{v}(t)$ is the corrected mobile robot velocity that uses
the steering angle of the user $u^{\prime}_{\psi,u}$ with the respect to the
changes of smooth path curvature of ${\bm{\mathbf{L}}}_{v}$.

(iv) The sensitivity of the vehicle orientation $\psi$ is considered as the
second safety constraint. The input $u_{\omega,u}$ has a safety constraint
that varies based on the vehicle velocity ${\bm{\mathbf{v}}}(t)$ and the
difference between the current intended steering angle of the user steering
input $u^{\prime}_{\psi,u}$ and vehicle orientation $\psi(t)$ as
$|\int_{0}^{t}\left[(1/n)[u_{\omega,u}+(n-1)u_{\omega,c}({\bm{\mathbf{u}}}^{\prime}_{u},{\bm{\mathbf{v}}},\psi)]\right]dt|\leq|\psi|$.

##  IV Assistive Geometric Controller

In this section, we design our assistive geometric controller by utilizing
differential geometry. The geometric functions of the controller in the arc-
length domain are designed under the explained objectives in our problem
statement.

We want to construct our geometric controller based on the introduced Darboux
frame kinematics of the virtual wheel. We want to develop a relationship
between the system inputs (10) and our proposed Darboux-frame-based kinematics
[31]. The idea is first to transform an underactuated (3x2) system (10) to a
fully-actuated one using the introduced Darboux-frame kinematic (20) on
$\Sigma_{p}$ where it is time- and coordinate-invariant. This helps the system
to be more accessible as indicated in our previous work [31] where a generic
ball-plate system was considered. Then, The induced geometric surface as the
virtual surface $\\{\alpha_{s},\gamma_{s}\\}$ on $\Sigma_{p}$ can be designed
as a controller for system (10) in an arc-length domain where rolling rate
$\delta$ variable separates time domain from the controller.

######  Proposition 1.

Let’s assume there is a no-sliding constraint. The Darboux-frame-based
kinematics (18) with the relationship between rolling virtual wheel, the plane
and virtual surface is considered in separated arc-length domain [31]. Then,
the geometric controller as the sandwiched virtual surface on $\Sigma_{p}$
with aligned $\\{\bm{e}_{1},\bm{e}_{3}\\}$ unit vectors with vehicle frame
$\Sigma_{V}$ is defined as follows

${\bm{\mathbf{u}}}_{c}=\left[\begin{array}[]{c}u_{v,c}\\\
u_{\omega,c}\end{array}\right]=\left[\begin{array}[]{c}\delta\left(1+R_{v}\;\gamma_{s}\right)\\\
\delta\alpha_{s}\end{array}\right],$ (23)

where $(\alpha_{s},\gamma_{s})$ are the virtual surface inputs and $\delta$ is
the rolling rate input.

###### Proof.

The velocity input $u_{v}$ corresponds to the vehicle velocity that is always
aligned to unit vector $\bm{e}_{1}$ of the Darboux frame. Since there is a no-
sliding constraint between the wheel and ground, one can find one of the
geometric controller inputs $u_{v,c}\bm{e}_{1}$ in the function of the arc-
length-based input $\gamma_{s}$ with the Darboux frame linear velocity
${\bm{\mathbf{v}}}_{p}$ (20) and (10) as follows

$u_{v,c}(\delta,\gamma_{s})=\delta\left[1+R_{v}\;\gamma_{s}\right].$ (24)

For the next control input, Based on the properties of the Darboux frame
$\Sigma_{p}$ definition that is located on the center of vehicle $\Sigma_{V}$,
the angular velocity in differential equation from (10) is equal to the
geodesic torsion input $\alpha_{s}$ of $\bm{\omega}_{p}$ in (20) by

$\delta\alpha_{s}\triangleq\dot{\psi}(t),$ (25)

because the rotation of the vehicle is always around $\bm{e}_{3}$ vector. Now,
by re-ordering Eq. (25) and knowing $\dot{\psi}=u_{\omega,c}$ from (10) give

$u_{\omega,c}(\delta,\alpha_{s})=\delta\alpha_{s}.$ (26)

Eqs. (24) and (26) give us the geometric controller ${\bm{\mathbf{u}}}_{c}$ in
Eq. (23) with the arc-length-based inputs ($\alpha_{s},\gamma_{s}$) of the
virtual surface and rolling rate input $\delta$.

Figure 4: Radius curvature $R_{i}$ is calculated by incircle of
$u^{\prime}_{\psi,u}$ angle that determines the control inputs
$\\{\alpha_{s},\gamma_{s}\\}$.

######  Proposition 2.

By using the conditions of the proposition 1, functions of the geometric
controller inputs (23) are designed based on sphere normal and geodesic
curvatures $\\{k_{n},k_{g}\\}$ with $C^{\infty}$ smoothness under safety
constraints in Section III as follows 111Please refer to the proof of the
Proposition 2 to check what is the function of each variable in Eqs.
(27)-(29).

$\displaystyle\gamma_{s}$ $\displaystyle=$ $\displaystyle
1/R_{i}(u^{\prime}_{\psi,u}),$ (27) $\displaystyle\alpha_{s}$ $\displaystyle=$
$\displaystyle\tan\left[\zeta\left(u^{\prime}_{\psi,u},\psi(t)\right)\right]/R_{i}(u^{\prime}_{\psi,u}),$
(28) $\displaystyle\delta$ $\displaystyle=$
$\displaystyle\lambda_{s}(u_{v,u},v_{v}(t))/\lambda_{t},$ (29)

where $R_{i}$, $\zeta$, $\lambda_{s}$ and $\lambda_{t}$ are the changing
imaginary sphere’s radius, the angle of projected area due to steering
difference, the arc-length and time step differences based on vehicle
velocity, respectively. Additionally, the stable motion convergence of the
shared control ${\bm{\mathbf{u}}}$ is achieved under bounded inputs of
assistive controller by

$\displaystyle\|{\bm{\mathbf{u}}}_{c}\|^{2}\leq(1-m)^{2}\delta^{2}\Big{[}(1+R_{v}\gamma_{s}\left(\max{\left\\{R_{i}\right\\}}\right))^{2}$
$\displaystyle+\alpha_{s}^{2}\left(\min{\left\\{R_{i}\right\\}},\max{\left\\{\zeta\right\\}}\right)\Big{]}<\|{\bm{\mathbf{u}}}_{b}\|^{2},$
(30)

where $m=1/n$, ${\bm{\mathbf{u}}}_{b}$ is the user’s intended exponentially
convergent safe velocities that is expected by the robot to follow and
$\|\cdot\|$ is the Euclidean norm of the vector space.

###### Proof.

We have to design proper geometric functions to prescribe our new
corresponding inputs $\\{\delta,\alpha_{s},\gamma_{s}\\}$ depending on the
expressed objectives. The arc-length-based input $\gamma_{s}$ in (19) is the
induced normal curvature of the virtual surface. We design $\gamma_{s}$ with
the normal curvature of the rolling disc as $\gamma_{s}=1/R_{i}$ where $R_{i}$
is the varying curvature radius. From Fig. 4, the radius
$R_{i}(u^{\prime}_{\psi,u})$ is designed with the change of the incircle
radius that is dependent on the steering angle of the user
$u^{\prime}_{\psi,u}$ as follows

$R_{i}(u^{\prime}_{\psi,u})=\frac{R_{v}}{\mu_{r}}+\left[\frac{(S_{i}-r_{i})^{2}(S_{i}-l_{i})}{S_{i}}\right]^{\frac{1}{2}},\;\;0\leq|u^{\prime}_{\psi,u}|<\frac{\pi}{2}$
(31)

where $S_{i}=(2r_{i}+l_{i})/2$ is the area of encompassed triangle of the
incircle, $\mu_{r}$ is the small value scaler to avoid singular point by the
minimum curvature radius of $R_{i}$, and also $r_{i}=R_{v}/\cos
u^{\prime}_{\psi,u}$ and $l_{i}=2R_{v}\tan{u^{\prime}_{\psi,u}}$ are adjacent
and hypotenuse sides of isosceles triangle as shown in Fig. 4).

To design the arc-length-based input $\alpha_{s}$ in (26), we have to
formulate it with caution since $\delta\alpha_{s}$ correspond to the
orientation velocity $\dot{\psi}$. This means we have to develop the steering
input $u^{\prime}_{\psi,u}$ with a constraining function to avoid any
dangerous spinning. The wheeled mobile robot’s rotation can easily become a
danger for the user/patient who controls the vehicle. For example, the vehicle
can topple in high-velocity maneuver if the direction does not get assigned
correctly.

The arc-length-based input $\alpha_{s}$ stands for the geodesic curvature of
the virtual surface with radius $R_{v}$ of virtual wheel in (19) [31], then,
we use the geodesic curvature of an imaginary spherical surface in this
controller as follows

$\alpha_{s}=\tan(\zeta)/R_{i},$ (32)

where $\zeta$ is the projection angle (see Fig. 5 for the main idea).

Figure 5: Computation of projection angle $\zeta$ based on the angular
difference between user steer angle $u^{\prime}_{\psi,u}$ and vehicle’s
orientation $\psi$.

A trigonometric relation as shown in Fig. 5 is computed between the project
angle $\zeta$ and steering angle $u^{\prime}_{\psi,u}$ that is given from
user’s the joystick. Next, it is assumed that the angle $\zeta$ is the
projection angle of constructed under-cap area $S_{c}$ that is found from

$\zeta=2\tan^{-1}\left(a_{c}/2R_{v}\right),$ (33)

where $a_{c}$ is base diameter of under-cap area. We calculate the base
diameter $a_{c}$ of the cap with the following formulation

$\displaystyle
a_{c}=2\left[(S_{c}/\pi)-h^{2}_{c}\right]^{\frac{1}{2}},\;\;\;h_{c}=S_{c}/(2\pi
R_{v}),$ (34)

where $S_{t}$ and $h_{c}$ are the total area of the cap-shaped region (blue
region in Fig. 5) and the height of the cap area. Next, we construct a
relation between the steering angle and under-cap area $S_{c}$. We utilize the
Gauss-Bonnet theorem [32] while the imaginary sphere touches the circular
closed blue path ${\bm{\mathbf{L}}}_{v}$ in Fig. 5 as follows

$\Delta\psi=u^{\prime}_{\psi,u}-\psi(t)=\iint_{{S}_{c}}\kappa_{o}\;dS_{c}=S_{c}/R_{v}^{2},$
(35)

where $\kappa_{o}=1/R_{v}^{2}$ is the Gaussian curvature and $\psi(t)\in 2\pi$
is the current spin angle. The Gauss-Bonnet equation (35) gives us the ability
to built a sphere under-cap area based on the steering angle given by raw
steering input $u^{\prime}_{\psi,u}$ and the current orientation of the
vehicle $\psi(t)$. With re-ordering (35), our under-cap area becomes

$S_{c}=R_{v}^{2}\left|u^{\prime}_{\psi,u}-\psi(t)\right|.$ (36)

The derived Eq. (36) is substituted back to Eq. (34). It can be seen that the
spherical curvature helps to track the angular difference with a smoother
function and transform it to angular velocity by $\delta\alpha$ since the
under-cap area would have some values with respect to virtual wheel radius
$R_{v}$.

Finally, we design the rolling rate $\delta$ function with the objectives from
the problem statements. In high vehicle velocities, the geometric functions
should not create a large level of deviations depending on the inputs e.g.,
the steering angle input. This can make the vehicle unstable. Note that this
issue is much more challenging as the distance between the main actuating
wheel and steering wheel $l$ becomes smaller; hence, we define rolling rate
$\delta$ by

$\delta=ds/dt\triangleq\lambda_{s}/\lambda_{t},$ (37)

where $\lambda_{s}$ and $\lambda_{t}$ are the arc-length and time step
differences. We design the arc-length difference $\lambda_{s}$ in function of
vehicle velocity ( Fig. 6 shows the example output of the function) as follows

$\lambda_{s}(u_{v,u},v_{v})=\begin{cases}&u_{v,u}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;v_{v}(t-1)\leq
v_{c}\\\ &u_{v,u}\cdot
e^{-\left[v_{v}(t-1)-v_{c}\right]/T}\;\;\;\;v_{v}(t-1)>v_{c}\end{cases}$ (38)

where $v_{c}=v_{m}(1-\sigma)$ and $T$ are the critical velocity of the vehicle
and the time scale, where $\sigma$ is critical velocity ratio with $38\%$
value, in here. These $v_{c}$ and $T$ values can change depending on the
vehicle properties, or user preference.

We check the controller stability by the assumption that the resultant control
${\bm{\mathbf{u}}}$ is always bounded with respect to user inputs under safety
conditions. Let us consider the following constraint for stability of the
controller

$\|{\bm{\mathbf{u}}}\|^{2}<\|{\bm{\mathbf{u}}}_{b}\|^{2}\approx
a^{2}_{\rho}\|\|{\bm{\mathbf{u}}}_{u}(\tau)\|^{2}\left(1-e^{-b_{\rho}\tau}\right)^{2}$
(39)

where $a_{\rho}>0$, $b_{\rho}>0$ are constants and $\tau=t_{n}-t_{m}$ is a
certain time interval. Then, by substituting Eq. (22) into (39) and doing a
transformation, we get

$m^{2}\|{\bm{\mathbf{u}}}_{u}\|^{2}+2m(1-m)\|{\bm{\mathbf{u}}}_{u}\|\|{\bm{\mathbf{u}}}_{c}\|+(1-m)^{2}\|{\bm{\mathbf{u}}}_{c}\|<\|{\bm{\mathbf{u}}}_{b}\|^{2}$
(40)

where $m=1/n\in(0,\;1]$. With knowing always $n>1$, the first two terms will
always be smaller that third term $(1-m)^{2}\|{\bm{\mathbf{u}}}_{c}\|$; hence,
the geometric controller determines whether the system is stable. Then,
substituting the controller (27)-(28) into (40) gives

$(1-m)^{2}\delta^{2}\left[(1+R_{v}\gamma_{s})^{2}+\alpha_{s}^{2}\right]<\|{\bm{\mathbf{u}}}_{b}\|^{2}$
(41)

We know always $\underset{v_{v}\to\infty}{\lim}\delta^{2}=0$ which grants this
term is bounded. Also, based on the controller function in (27)-(28) the
controller velocity is bounded by the given angle by user steering angle
$u^{\prime}_{\psi,u}\in[-\pi/2,\pi/2]$ which results

$\gamma_{s}^{2}(s)<\gamma_{s}^{2}\left(\max{\left\\{R_{i}\right\\}}\right),\;\alpha_{s}^{2}(s)<\alpha_{s}^{2}\left(\min{\left\\{R_{i}\right\\}},\max{\left\\{\zeta\right\\}}\right)$
(42)

where $\max{\left\\{\zeta\right\\}}<\pi/2$ based on the constraint on the
difference between vehicle and user’s angles,
$|u^{\prime}_{\psi,u}-\psi|<\pi/2$. This similarly grants the second term of
(40) is bounded that results to have a stable system with the bounded
geometric controller by (30).

Figure 6:  The rolling rate $\delta$ design based on the arc-length
differences on the vehicle velocity.

######  Remark 1.

If we check Eq. (24) and Eq. (31), we can see that when the user gives large
steering angles $u^{\prime}_{\psi,u}$, the curvature radius $R_{i}$ becomes
larger that makes the arc-length-based input $\gamma_{s}$ smaller (to decrease
the overall vehicle velocity input $u_{v}$) that satisfies our safety
constraint at (iii) in Section III.

######  Remark 2.

The arc-length-based input $\alpha$ in (32) together with Eqs. (34)-(36) shows
that $u_{\omega}$ is constrained by under safety constraints. This function
gives our second safety constraint, for condition (iv) in Section III, that
the further we have large differences between vehicle angle $\psi(t)$ and
user-assigned angle $u^{\prime}_{\psi,u}$, the larger $\alpha_{s}$ can be
while rolling rate limits the angular steering velocity by $\delta$.

######  Remark 3.

The rolling rate $\delta(u_{v,u},v_{v}(t),v_{m})$ of the virtual wheel that
work as the controller is constraining both virtual surface inputs
$(\alpha_{s},\gamma_{s})$ dependent on the maximum velocity allowance $v_{m}$
for the safety.

######  Remark 4.

The inequality (40) shows that larger shared control variable $n$ grants
bounded inputs ${\bm{\mathbf{u}}}$ for a stable motion but very large values
of $n$ will remove the user direct control/dominance from the shared control
which tells there should be an upper limit for $n$.

##  V Experimental Studies

In this section, we experiment with our proposed assistive geometric
controller. We consider our controller with different subjects extensively
with different routes.

In this experimental study, we consider two routes as projected Viviana’s
(infinity) curve and sharp spiral curve. In each experimental route, we have
done the study by six participants with minimum knowledge of the wheelchair
system shown in Fig. 1. However, note that to clarify more interesting results
for the lateral route i.e., sharp spiral curve, half of the participants were
those who already took part in the Viviani’s curve route. Note that due to the
COVID-19 pandemic, we did follow all the disinfection and safety rules for the
participant222Before the experiment, our research purpose, method and data
handling were fully explained for participants, and we obtained their informed
consent.. The participants were healthy with an average age of 26. The
participants were expected to handle wheelchair with different velocities from
low to high in these challenging curves. We used an electric wheelchair system
that is commercially available as Whill Model C. The actuating wheels are
located in $l=0.5$ m distance in this wheelchair. Also, our controller has the
virtual wheel with a radius equal to the wheelchair wheel $R=R_{v}=0.133$ m.
As the ground truth for accurate tracking of the wheelchair robot, we are
using the HTC Vive Motion Tracker but none of the data is utilized by the
controller. In these experiments, we change our vehicle maximum velocity
between following range $v_{m}\in[1$-$3.5]$ m/s. In this work, the time scale
$T$ and the amplitude of time step difference $\lambda_{t}$ for (29) are
chosen $2$ and $25$, respectively. Each route was experimented by 6
participants where they tried 5 different maximum velocities between the
following $v_{m}=\\{1,2,2.5,3,3.5\\}$ ranges with and without controller
(refer to video for example result). We have asked each participant to take
the NASA task load index (TLX) test after each run [34]. The NASA-TLX is a
multidimensional assessment tool that can help participants to rate their
mental and physical experience. This test has 6 different scales: mental
demand, frustration, effort, performance, physical demand and temporal
demands. Please refer to the Youtube video for the example experiment done by
using the proposed controller [35].

a)
b)

Figure 7: The trajectories of an example subject on following the Viviani’s
curve (a) Without the controller (b) With the proposed controller.

Figure 8: The wheelchair robot velocities and user inputs for a Viviani’s
curve with $v_{m}=3$ m/s speed.

a)
b)

Figure 9: The trajectories of an example subject on following the sharp spiral
curve (a) Without the controller (b) With the proposed controller.

In the first experiment, we choose Viviani’s curve as the route. Fig. 7
illustrates example results of a participant for different maximum velocities
with and without the controller. We can see that the user has many deviations
with sharp and unnatural maneuvers on the traversed path when there is no
controller. This issue is clearer when the velocity is higher, $3$ m/s.
However, our proposed assistive controller can keep the person in a smooth
trajectory along the path. In order to understand how effective is the
proposed controller, we can check the vehicle velocities
${\bm{\mathbf{v}}}=[v_{v},\dot{\psi}]$, and user inputs for example high
velocity (3 m/s) shown in Fig. 8. The vehicle velocity with the controller is
very smooth in contrast to without any controller. As it is clear from user
inputs by the joystick $(u_{v,u},u^{\prime}_{\psi,u})$, the users have lots of
fluctuations in their input controls since the vehicle increases the velocity
very fast and it becomes challenging to assign proper steering angle by the
joystick. Thus, the user should put lots of effort to keep the wheelchair in
the desired trajectory. If we quantify the user effort by the number of times
that joystick goes from high value to as low as zero (in particular the input
velocity $u_{v,u}$), then, the user is at least 7-8 times more prone to put
higher effort without any control.

Figure 10: The wheelchair robot velocities and user inputs for a sharp spiral
curve with $v_{m}=3$ m/s speed.

Another challenging route as the sharp spiral curve is chosen for evaluating
the performance of the controller. Fig. 9 illustrates the ground truth that is
recorded for one of the participants. Similar to the trajectories of Viviani’s
curve, the vehicle follows smooth and non-fluctuating trajectories when the
users are using an assistive controller, in particular during corner
rotations. Interestingly, the proposed controller does not have any desired
configuration but it can assist the user’s inputs in a much smoother maneuver
as shown in Fig. 9-b. It is important to note that this difference is more
visible when velocity is higher $v_{m}>2$ m/s. The vehicle velocities
${\bm{\mathbf{v}}}=[v_{v},\dot{\psi}]$ as shown in Fig. 10 are smoother with
minimum fluctuations by utilizing the controller where it is followed by the
user inputs properly. Similarly, the user effort to make the wheelchair follow
the proper path is about 8 times easier based on the number of times, he/she
should go from maximum to minimum input [see Fig. 10-b].

a)
b)

Figure 11: NASA-TLX results with raw ratings (a) The Viviani’s curve (b) Sharp
spiral curve.

a)
b)

Figure 12: The weighted score rating with NASA-TLX questionnaire (a) The
Viviani’s curve (b) Sharp spiral curve. The solid line and shaded areas are
the mean value and standard deviation.

Finally, to generalize our findings and understand how participants experience
the run with and without the controller, we analyze the answered NASA-TLX
questionnaire. At first, Fig. 11 demonstrates the users’ raw rating without
weights. In this plot, the ratings are the mean of different velocities
($v_{m}\in[1$-$3.5]$ m/s) that participants have undergone the trials. It is
clear from the graph that our proposed controller has a great satisfaction
level (note that the lower value for each scale, the better it is) with an
average difference of 21% for both trajectories. Although the success of the
proposed assistive controller can be verified, there are indications that
users feel some challenges with respect to the mental demand and effort. We
hypothesize that the source of high mental demand is the initial learning
curve that should be followed to achieve better results by the controller.
Thus, the participants feel more responsible in deciding the trajectory. This
means there are certain limitations of the current controller. For example,
the following questions arise: how we can decrease the burden of high
sensitivity to user inputs while following safe and smooth trajectories. Also,
how we can sense user intention by extra sensors to minimize her/his mental
demand. We plan to develop proper strategies to answer these questions.

Another advantage of the controller can be seen with the weighted score rating
in different maximum velocities as indicated in Fig. 12. It can be interpreted
that the trend of the evaluation is similar to both of the routes. For the
Viviani’s curve, the rating score of the participants is around 29% with the
controller while the rating increase over 65 % for the case of high velocities
($v_{m}=3.5$ m/s) without the controller. With a similar pattern for sharp
spiral curves, the participants are approximately 20% more satisfied with the
use of the controller. It is clear that the satisfaction level gets higher as
the controller mean score stays around 40%. Also, the standard deviation of
the scores is lesser which implies most of the evaluated participants give
approximately similar score ratings for the experimented assistive controller.

##  VI Conclusions

In this paper, we proposed a novel geometric controller for assisting the
users of differential-drive wheeled mobile robots, without having any priori
desired goal. The assistive controller was using a virtual wheel formulation
based on the Darboux frame kinematics to correct the vehicle motion. At first,
the kinematics of the differential-drive vehicle together with Darboux frame
kinematics for the controller is described. Next, the motion control problem
with considering the safety constraints is explained. Then, we developed our
geometric assistive controller with defining the proper functions. Finally,
the controller performance at different routes was evaluated. The experiment
took place with different participants using a differential-drive wheelchair
robot. We were able to confirm that the controller outperforms with great
level satisfaction from collected questionnaire (NASA-TLX) responses besides
the motion behaviors. The results also show that users using the assistive
controller put less effort in directing wheelchairs in complex paths with
user-assigned vehicle velocities while the realized trajectories are smooth.
Note that the experiments done with the wheelchair were in the maximum
velocity of $3.5$ m/s. This shows how assistive controller is essential since
most vehicles have even higher velocities in which emphasize the importance of
assistive controllers.

In the future, we plan to develop more advanced shared autonomy by combining
the assistive controller with path planning methods. Also, we will extend the
problem to more complex 3-dimensional trajectories to create a more generic
assistive controller that can be applied to other robot platforms namely,
manipulators, drones, and so on.

##  VII Acknowledgments

We would like to thank Prof. Jean-Paul Laumond and anonymous reviewers for
their valuable comments regarding the paper. This work was partially supported
by JSPS KAKENHI grant number JP21K20391 and Japan Science and Technology
Agency (JST) [Moonshot R$\&$D Program] under Grant JPMJMS2034.

## References

  * [1] R. M. Murray and S. S. Sastry, “Steering nonholonomic systems in chained form,” in _Proceedings of the 30th IEEE Conference on Decision and Control_ , 1991, pp. 1121–1126.
  * [2] E. Badreddin and M. Mansour, “Fuzzy-tuned state-feedback control of a non-holonomic mobile robot,” _IFAC Proceedings Volumes_ , vol. 26, no. 2, pp. 769–772, 1993.
  * [3] J.-P. Laumond, P. E. Jacobs, M. Taix, and R. M. Murray, “A motion planner for nonholonomic mobile robots,” _IEEE Trans. Rob. Autom._ , vol. 10, no. 5, pp. 577–593, 1994.
  * [4] A. Astolfi, “Exponential Stabilization of a Wheeled Mobile Robot Via Discontinuous Control,” _ASME J. Dyn. Syst. Meas. Control_ , vol. 121, no. 1, pp. 121–126, 03 1999.
  * [5] A. Gasparetto, P. Boscariol, A. Lanzutti, and R. Vidoni, “Path planning and trajectory planning algorithms: A general overview,” _Motion and operation planning of robotic systems_ , pp. 3–27, 2015.
  * [6] Y.-F. Zheng, _Recent trends in mobile robots_. World scientific, 1993, vol. 11.
  * [7] J.-P. Laumond _et al._ , _Robot motion planning and control_. Springer, 1998, vol. 229.
  * [8] P. R. Giordano, M. Vendittelli, J.-P. Laumond, and P. Soueres, “Nonholonomic distance to polygonal obstacles for a car-like robot of polygonal shape,” _IEEE Trans. Robot._ , vol. 22, no. 5, pp. 1040–1047, 2006.
  * [9] D. Hsu, R. Kindel, J.-C. Latombe, and S. Rock, “Randomized kinodynamic motion planning with moving obstacles,” _Int. J. Rob. Res._ , vol. 21, no. 3, pp. 233–255, 2002.
  * [10] S. M. LaValle, _Planning algorithms_. Cambridge university press, 2006.
  * [11] J. Minguez, F. Lamiraux, and J.-P. Laumond, “Motion planning and obstacle avoidance,” in _Springer handbook of robotics_. Springer, 2016, pp. 1177–1202.
  * [12] B. Paden, M. Čáp, S. Z. Yong, D. Yershov, and E. Frazzoli, “A survey of motion planning and control techniques for self-driving urban vehicles,” _IEEE Trans. Intell. Veh._ , vol. 1, no. 1, pp. 33–55, 2016.
  * [13] C. Badue, R. Guidolini, R. V. Carneiro, P. Azevedo, V. B. Cardoso, A. Forechi, L. Jesus, R. Berriel, T. M. Paixao, F. Mutz _et al._ , “Self-driving cars: A survey,” _Expert Syst. Appl._ , vol. 165, p. 113816, 2021.
  * [14] C. Samson, “Control of chained systems application to path following and time-varying point-stabilization of mobile robots,” _IEEE Trans. Automat. Contr._ , vol. 40, no. 1, pp. 64–77, 1995.
  * [15] P. Morin and C. Samson, “Motion control of wheeled mobile robots.” _Springer handbook of robotics_ , vol. 1, pp. 799–826, 2008.
  * [16] S. G. Tzafestas, “Mobile robot control and navigation: A global overview,” _J. Intell. Robot. Syst._ , vol. 91, no. 1, pp. 35–58, 2018.
  * [17] G. Klancar, D. Matko, and S. Blazic, “Mobile robot control on a reference path,” in _Proc. IEEE International Symposium on Mediterrean Conference on Control and Automation Intelligent Control_ , 2005, pp. 1343–1348.
  * [18] R. L. S. Sousa, M. D. do Nascimento Forte, F. G. Nogueira, and B. C. Torrico, “Trajectory tracking control of a nonholonomic mobile robot with differential drive,” in _IEEE Biennial Congress of Argentina_ , 2016, pp. 1–6.
  * [19] M. D. Forte, W. B. Correia, F. G. Nogueira, and B. C. Torrico, “Reference tracking of a nonholonomic mobile robot using sensor fusion techniques and linear control,” _IFAC-PapersOnLine_ , vol. 51, no. 4, pp. 364–369, 2018\.
  * [20] M. Abdelwahab, V. Parque, A. M. F. Elbab, A. Abouelsoud, and S. Sugano, “Trajectory tracking of wheeled mobile robots using z-number based fuzzy logic,” _IEEE Access_ , vol. 8, pp. 18 426–18 441, 2020.
  * [21] E. Prassler, J. Scholz, and P. Fiorini, “A robotics wheelchair for crowded public environment,” _IEEE Robot. Autom. Mag._ , vol. 8, no. 1, pp. 38–45, 2001.
  * [22] A. D. Dragan and S. S. Srinivasa, “A policy-blending formalism for shared control,” _Int. J. Rob. Res._ , vol. 32, no. 7, pp. 790–805, 2013.
  * [23] S. Javdani, S. S. Srinivasa, and J. A. Bagnell, “Shared autonomy via hindsight optimization,” _Robot. Sci. Syst._ , vol. 2015, 2015.
  * [24] S. Javdani, H. Admoni, S. Pellegrinelli, S. S. Srinivasa, and J. A. Bagnell, “Shared autonomy via hindsight optimization for teleoperation and teaming,” _Int. J. Rob. Res._ , vol. 37, no. 7, pp. 717–742, 2018.
  * [25] J. J. Park and B. Kuipers, “A smooth control law for graceful motion of differential wheeled mobile robots in 2d environment,” in _IEEE Int. Conf. Robot. Autom._ , 2011, pp. 4896–4902.
  * [26] A. Ravankar, A. A. Ravankar, Y. Kobayashi, Y. Hoshino, and C.-C. Peng, “Path smoothing techniques in robot navigation: State-of-the-art, current and future challenges,” _Sensors_ , vol. 18, no. 9, p. 3170, 2018.
  * [27] H. Seki and S. Tadakuma, “Velocity pattern generation for power assisted wheelchair based on jerk and acceleration limitation,” in _31st Annual Conference of IEEE Industrial Electronics Society_ , 2005, p. 6.
  * [28] V. T. Nguyen, C. Sentouh, P. Pudlo, and J.-C. Popieul, “Path following controller for electric power wheelchair using model predictive control and transverse feedback linearization,” in _IEEE Int. Conf. Syst. Man. Cybern. (SMC)_ , 2018, pp. 4319–4325.
  * [29] S. A. Tafrishi, R. Ankit A., J. Salazar, and Y. Hirata, “A geometric assistive controller for the users of wheeled mobile robots without desired states,” in _IEEE International Conference on Robotics and Biomimetics (ROBIO)_. IEEE, 2013, pp. 456–461.
  * [30] L. Cui and J. S. Dai, “A darboux-frame-based formulation of spin-rolling motion of rigid objects with point contact,” _IEEE Trans. Robot._ , vol. 26, no. 2, pp. 383–388, April 2010.
  * [31] S. A. Tafrishi, M. Svinin, and M. Yamamoto, “Darboux-frame-based parametrization for a spin-rolling sphere on a plane: A nonlinear transformation of underactuated system to fully-actuated model,” _Mech. Mach. Theory_ , vol. 164, p. 104415, 2021.
  * [32] M. P. do Carmo, _Differential Geometry of Curves and Surfaces_ , 2nd ed. Prentice-Hall, 1976.
  * [33] E. Cartan, _Riemannian Geometry in an Orthogonal Frame_ , 1st ed. World Scientific Pub Co Inc, 2002.
  * [34] S. G. Hart and L. E. Staveland, “Development of NASA-TLX (Task Load Index): Results of empirical and theoretical research,” in _Advances in psychology_. Elsevier, 1988, vol. 52, pp. 139–183.
  * [35] RoboHolic, “[icra 2022] an assistive controller based on differential geometry for mobile robots (experiment).” [Online]. Available: https://www.youtube.com/watch?v=3iTsNa2hZ9s