# Interpretable Methods for Identifying Product Variants

Rebecca West  The Home DepotAtlantaGAUSA<EMAIL_ADDRESS>,
Khalifeh Al Jadda  The Home DepotAtlantaGAUSA<EMAIL_ADDRESS>,  Unaiza Ahsan  The Home DepotAtlantaGAUSA<EMAIL_ADDRESS>,
Huiming Qu  The Home DepotAtlantaGAUSA<EMAIL_ADDRESS>and  Xiquan
Cui  The Home DepotAtlantaGAUSA<EMAIL_ADDRESS>
(2020)

###### Abstract.

For e-commerce companies with large product selections, the organization and
grouping of products in meaningful ways is important for creating great
customer shopping experiences and cultivating an authoritative brand image.
One important way of grouping products is to identify a family of product
variants, where the variants are mostly the same with slight and yet distinct
differences (e.g. color or pack size). In this paper, we introduce a novel
approach to identifying product variants. It combines both constrained
clustering and tailored NLP techniques (e.g. extraction of product family name
from unstructured product title and identification of products with similar
model numbers) to achieve superior performance compared with an existing
baseline using a vanilla classification approach. In addition, we design the
algorithm to meet certain business criteria, including meeting high accuracy
requirements on a wide range of categories (e.g. appliances, decor, tools, and
building materials, etc.) as well as prioritizing the interpretability of the
model to make it accessible and understandable to all business partners.

product variants, natural language processing, constrained clustering

††copyright: iw3c2w3††submissionid: ECNLP06s††journalyear: 2020††conference:
Companion Proceedings of the Web Conference 2020; April 20–24, 2020; Taipei,
Taiwan††booktitle: Companion Proceedings of the Web Conference 2020 (WWW ’20
Companion), April 20–24, 2020, Taipei, Taiwan††doi:
10.1145/3366424.3386196††isbn: 978-1-4503-7024-0/20/04††ccs: Information
systems Clustering and classification††ccs: Information systems Recommender
systems

##  1\. Introduction

The organization and grouping of products is important for e-commerce and
retail companies to streamline the shopping experience and showcase product
authority. Identifying product variants is one of the important tasks within
the domain of product grouping and recommendation. Product variants are groups
of products that share many similarities except for a few differences. For
example, the same faucet may be sold in a number of different finishes, as
shown in Figure 1.

Figure 1. The same faucet is sold in various finishes.

Product variants for a faucet

Product variants are particularly useful to customers for a number of reasons.

  * •

They help users find alternative products easily and without the hassle of
searching or browsing through the massive product catalog.

  * •

They save consumers time in comparing alternative products by ensuring that
key product features remain the same across product variants.

  * •

They simplify search results and product lists by grouping similar products
together.

On e-commerce websites, product variant information is often prominently
displayed on product detail and product listing pages, and receives
extraordinarily high user views, clicks, and purchases. Figure 2 shows how
product variant options may be shown to the user.

Figure 2. Product variant options are prominently displayed on the website.

Product variant information prominently displayed on website

Due to the importance of product variant identification, the execution
requirements for the algorithm are very high. In addition to high performance,
the algorithm must have a high degree of interpretability and transparency to
receive support from business stakeholders and enable collaboration with
various domain experts.

###  1.1. Algorithm Requirements

####  1.1.1. Precision

Product variant information is highly visible to end customers, and mistakes
can significantly impact customer experience and site performance. As a
result, there is a very high requirement for the precision of product variant
identification.

####  1.1.2. Recall

High recall is also highly desired. Showing the complete product offerings not
only helps customers find the right products quicker, but also projects the
right image of product authority and increases customer loyalty.

####  1.1.3. Leverage Domain Knowledge

When working with a wide variety of product categories, it is important to
define product variants in different ways. For example, while faucets may vary
by color, it does not make sense to define lumber variants based on color. For
many types of products, there are existing business rules for how variants in
each product category should be defined. In order to achieve the highest level
of customer satisfaction, our algorithm must respect this domain knowledge.

####  1.1.4. Interpretability

Identifying product variants is a high priority task that involves many
business stakeholders. In order to effectively collaborate with them, we need
a business friendly justification for why certain products were grouped
together. When business users have a clear understanding of why the algorithm
is grouping certain products, they are more likely to adopt the algorithm on
their set of products or contribute their subject matter expertise towards
improving the algorithm.

Based on the above requirements, we frame the problem of identifying product
variants into a constrained clustering problem, where we incorporate business
rules and human knowledge into the algorithm as constraints. In order to
improve recall, we use Natural Language Processing (NLP) techniques to perform
sensible fuzzy matching on the constraints to overcome the noise in the
textual data. First, we extract product family name from unstructured product
title. Then, we measure the similarity between model numbers of two product
variant candidates using edit distance. Beside several business constraints,
there are cluster level constraints that the product variants must have the
same family name and the model number difference must be within a certain
range. We will discuss the details in the Section 3.

##  2\. Related Work

In this section, we discuss three types of strategies that are relevant to our
application, including product deduplication, classification, and constrained
clustering.

###  2.1. Product Deduplication

Product duplication broadly involves detecting duplicates or similar products
in databases. Several methods address this problem as it is extremely
important in retail applications. (Alenazi and Ahmad, 2016) provides a
comprehensive overview of database duplicates detection. Product similarity
can be computed in various ways.

##### Character-based methods:

These methods match strings character by character. Popular methods that do
character-wise matching include edit distance or Levenshtein Distance
(Levenshtein, [n.d.]) and Hamming Distance.

##### Token-based methods:

Character-based methods may not work well if the order of words get changed
(but they mean the same). Hence token-based methods are useful where raw
strings are not matched but are converted to tokens first (by splitting them
using a delimiter). Jaccard index is a popular token-based similarity metric.

Besides databases, product duplicate detection is addressed for Web data
obtained from e-commerce websites. The key difference between finding similar
products from a relational database and from the Web is that Web data is very
noisy whereas databases are structured. (van Bezu et al., 2015) propose a
hierarchical clustering method to cluster products from multiple websites and
apply it to detect similar products in a dataset of TVs. Their approach builds
upon the Title Model Words Method (TMWM) (Vandic et al., 2012) which extracts
entities from product titles and matches them using cosine similarity. Then
additional rules are applied to detect product duplicates. Another method that
their approach uses is the Hybrid Similarity Method (HSM) (de Bakker et al.,
2013) which adds product attributes to compute similarities (beyond just
product titles).

Another relevant line of work (Strauß et al., 2019) uses the term product
resolution and heuristic methods (or rules) to extract structure from
unstructured data and find product duplicates. (Hassanian-esfahani and Kargar,
2019) is also a rule-based filtering approach that does pairwise comparison
between punctuation-delimited textual chunks and determines if the chunks are
similar or not. Pairwise computations save time especially if the dataset is
large. Another method that builds upon this idea is (Hartveld et al., 2018)
where the authors propose to use Locality Sensitive Hashing (LSH) (Har-Peled
et al., 2012) to detect candidates for pairwise comparison and compare model
words from product titles (proposed by (Van Dam et al., 2016)) as well as
descriptions.

Despite of the large body of work on product deduplication, these methods do
not directly address our application. Rather than identifying the most similar
products, our task is to group items together conditional on variable
attributes defined by domain experts for each specific category. This
uncompromisable condition makes the task more challenging and interesting.

###  2.2. Classification

A recent blog post (Maunu, 2018) proposed a classification based approach to
find product variants. They predict whether a pair of products belong to the
same product variant family based on a limited set of generic product
attributes. These attributes are the same across all categories and include
dimensions, price, weight, manufacturer, supplier, and model number. For each
of these attributes, a distance metric is computed between each pair of items.
These distance metrics are used as features to train a random forest model,
which gives a probability of product similarity.

One drawback of this classification method is that it uses the same standard
attributes for all categories. When the product catalog is very diverse, we
found that classification algorithms using these standard attributes do not
perform well. In particular, the attributes may be unavailable or not relevant
to certain types of products.

Many categories may not have standard attributes like Product Width or Product
Length defined. These missing values degrade the performance of the model. We
used standard techniques (e.g. average or dominant values of similar products)
to fill in missing values. In addition, some products, such as windows, are
designed to vary on these standard dimension attributes. Therefore, it often
does not make sense to group based on similarity within these attributes.
Figure 3 shows two faucets that should be classified as within the same
product variant family. The distance features used in the model are shown in
the table. In this example, many of the standard product dimensions have
missing values and the faucets are not correctly identified as being product
variants.

In contrast, our algorithm only uses two basic product attributes, product
title and model number. Because they are required to make a product sellable,
we rarely suffer from the missing value issue. In addition, our algorithm
considers variable attributes defined by domain experts for each category in
the process of extracting the product family name (will be discussed in
Section 3.2). Therefore, our algorithm generated better results that satisfy
the category-specific conditions.

Feature Name | Feature Value
---|---
Weight Difference | NULL
Length Difference | NULL
Width Difference | NULL
Depth Difference | NULL
Price Difference | 24.2%
Model Number Difference | 2

[table]Features for faucet pair

Figure 3. Vibrant brushed nickel and polished chrome faucets are compared
using standard classification features. In this baseline model, these items
are not correctly identified as product variants.

###  2.3. Constrained Clustering

Constrained clustering (Tung et al., 2001) is a type of clustering algorithm
that considers the user’s background knowledge or constraints in the
processing of grouping objects into clusters. This special property makes it
more desirable than its unconstrained counterpart in many applications. The
standard definition of constrained clustering is similar to typical
unconstrained clustering models with the addition of a set of constraints
imposed on each cluster, as shown below:

###### Definition 2.1.

Constrained Clustering: Given a data set $D$ with $n$ objects, a distance
function $d:D\times D\rightarrow\mathbb{R}$, a positive integer $k$, and a set
of constraints $\mathcal{C}$, find a k-clustering $(Cl_{1},...,Cl_{k})$ such
that

$DISP=(\sum_{i=1}^{k}disp(Cl_{i},rep_{i}))$

is minimized, and each cluster $Cl_{i}$ satisfies the constraints
$\mathcal{C}$, denoted as $Cl_{i}\models\mathcal{C}$.

$disp(Cl_{i},rep_{i})=\sum_{O\in Cl_{i}}d(O,rep_{i})$ represents the
dispersion of the cluster $Cl_{i}$ or the total distance between every member
of the cluster and a representative element $rep_{i}\in Cl_{i}$ of the
cluster.

A type of constrained clustering is based on SQL aggregate constraints,
defined as:

###### Definition 2.2.

SQL Aggregate Constraints: Consider the aggregate functions
$agg\in\\{max(),min(),avg(),sum()\\}$. Let $\theta$ be a comparator function,
i.e., $\theta\in\\{<,\leq,\neq,=,\geq,>\\}$ and $c$ represent a numeric
constant. Let $O_{i}\in D$ be associated with attributes $\\{A_{j}\\}$ where
$O_{i}[A_{j}]$ represents the value of attribute $A_{j}$ for object $O_{i}$.
Given the cluster $Cl$, a SQL aggregate constraint on $Cl$ is a constraint in
one of the following forms:

  1. i

$agg(\\{O_{i}[A_{j}]|O_{i}\in Cl\\})\theta c$;

  2. ii

$count(Cl)\theta c$

In a sense, this paper is about how to use NLP approaches to create proper SQL
aggregate constraints (i.e. satisfying business rules, sharing the same
product family name, and model numbers within a certain edit distance) to
perform constrained clustering. Because this approach respects the business
requirements and uses easily interpretable features, it achieves satisfactory
results and accelerates its adoption in the business. However, it is worth
noting that our algorithm is different from the traditional constrained
clustering approach. From the definition, constrained clustering requires a
pre-defined parameter k for the number of clusters. In contrast, our algorithm
does not limit on the number of product variant groups, and can allow the
formation of product variant groups to adapt to the properties of each
category. This is the most sensible approach given the business use case.

##  3\. Approach

In this section, we describe our approach to identifying product variants
using the framework of constrained clustering. A summary of this approach can
be found in Algorithm 1. We describe in detail the three main constraints that
we impose on our constrained clustering algorithm.

  * •

Business rule constraints \- We require an exact match on several business
mandated attributes. For each product variant group or cluster $Cl$,

$O_{i}[A_{j}]=O_{k}[A_{j}]$

for all $O_{i},O_{k}\in Cl$ and $A_{j}\in\\{brand,\allowbreak category\\}$.

  * •

Same product family name constraint \- For each cluster $Cl$,

$O_{i}[A_{j}]=O_{k}[A_{j}]$

for all $O_{i},O_{k}\in Cl$, where $A_{j}$ represents the attribute of product
family name. In the next section, we will talk about the NLP process to
extract the attribute of product family name from the product title. This is
conditional on the variant attributes set by domain experts.

  * •

Model number constraint \- The model number for each product must be similar
to the model number of another product in the cluster. For each cluster $Cl$,

$\min_{O_{k}\in Cl}{d(O_{i}[A_{j}],O_{k}[A_{j}]})\leq c$

for all $O_{i}\in Cl$ where $A_{j}$ represents the model number attribute and
$d$ represents the Levenshtein distance function.

These constraints are further described in the sections below and a summary of
our algorithm is given in Algorithm 1.

###  3.1. Rule Based Constraints

Product variants must be grouped from within the same brand and category due
to business constraints.

###  3.2. Extraction of Family Name from Product Title Conditional on
Category-specific Variant Attributes

Our algorithm extracts a product family name for each product. The family name
consists of a sequence of important tokens from the product title that should
be found in all products within a product variant family. This family name
allows us to easily explain to business partners how the products were
grouped. We use the following steps to extract the product family name from
the product title.

  * •

Standardize terms with a synonyms dictionary.

  * •

Remove punctuation and other non-standard characters.

  * •

Remove numbers and units of measurement as these are often noisy and
inconsistent.

  * •

Remove brand information as this is inconsistently available in the title.

  * •

Remove noisy tokens from a manually created blacklist, including tokens from
noisy attributes.

  * •

Remove tokens that are already included in the category data.

  * •

Remove tokens related to the variant attributes that are defined by domain
experts for each category. For example, the color of the faucet should be
removed from the title.

Figure 4 shows an example of how a product family name is extracted from a
unstructured product title. If product candidates have the same sequence of
tokens after the cleaning process, these products may belong to the same
product variant group.

Figure 4. Product family name is extracted by multiple NLP steps, e.g.
normalization and removing tokens that are noisy or are from variable
attributes defined by domain experts.

Product title cleaning example

###  3.3. Model Number

Another strong signal that products belong to the same product variant family
is the model number. Product variants are often assigned similar model numbers
by the manufacturer. The core part of the model number is often constant for
all product variants, while a few characters may be changed or added to
represent the available attributes. In Figure 5, we see that the faucet color
is represented by the two final letters in the model number. All other
characters in the model number remain constant.

Figure 5. Product variants are often assigned similar model numbers by the
manufacturer. In this example, BN stands for Brushed Nickel and CP stands for
Polished Chrome.

Model number similarities.

We use the standard Levenshtein or edit distance to measure how similar two
model numbers are. The following operations are included with equal weights:

  * •

Insertion

  * •

Deletion

  * •

Substitution

This distance measure helps us determine if a small change or addition was
made between product variants. In general, product variants tend to have much
smaller edit distances than pairs of products that are from a similar category
but are not product variants. Figure 6 shows the distribution of edit
distances for product variants compared to different products from within the
same category. Product variants tend to have lower model number edit
distances.

Figure 6. The edit distance between model numbers is closer for items that are
product variants than for two different items.

Model number edit distance.

How model numbers are created tends to vary by category and manufacturer. In
particular, different categories may have different standards in how similar
model numbers are. We used a grid search to determine the optimal model number
distance threshold for each of our major categories.

Algorithm 1 Finding Product Variants

0: Products $p_{i},p_{j}\in\mathcal{P}$,
$\mathcal{P}$ the set of $n$ products,
$p_{i}[brand]$ the brand of product $p_{i}$
$p_{i}[category]$ the category for product $p_{i}$
$h(p_{i}[title])$ the product family name for $p_{i}$, extracted from the
product title
$d(p_{i}[model\ number],p_{j}[model\ number])$ the Levenstein distance between
the model numbers for products $p_{i}$ and $p_{j}$
$c_{i}$ the cutoff for how far apart model numbers may be for all products of
the same product type as $p_{i}$

0: A set of product variants:  $\\{p_{i}:p_{i}\text{are all variants of the
same product}\\}$

1: Check that $p_{i}[brand]=p_{j}[brand]$

2: Check that $p_{i}[category]=p_{j}[category]$

3: Check that $h(p_{i}[title])=h(p_{j}[title])$

4: Check that $d(p_{i}[model\ number],p_{j}[model\ number])\leq c_{i}$

5: return Are $p_{i}$ and $p_{j}$ product variants?

##  4\. Experiments

In addition to the required business constraints, brand and category, we test
the following two combination of constraints:

  * •

Model Number Only \- Items are grouped together as product variants if the
edit distance of their model numbers is sufficiently small.

  * •

Extracted Product Family Name and Model Number \- Important tokens are
extracted from each product title. Items that have the same product title
tokens and also have a sufficiently small edit distance for the model number
are grouped together as product variants.

We compare the performance of constrained clustering under these constraints
to a baseline of vanilla classification.

We test these methods using a manually curated dataset of product variants
owned by a large retailer. We include a wide variety of product categories
such as window treatments, faucets, PVC pipes, tools, hardwood flooring, and
many other products. This dataset consists of about 1 million items.

Precision is measured by comparing items grouped by the algorithm to items
with known product variant information. True positives are when our algorithm
groups together items that are known to be variants of the same product. False
positives occur when our algorithm groups together items that are known to be
variants of different products. Products with no known variant information are
ignored in this validation process. Recall is measured by looking at items
with known product variant groupings, and determining how many of these items
are correctly identified. Model performance is shown in Table 1.

The model number constraint is not sufficient to correctly identify product
variants. This method performs poorly compared to the classification baseline.
However, when the product family name constraint is added, we see a
significant increase in recall resulting in a much higher F1 score than the
baseline.

Table 1. Model Performance Model | Precision | Recall | F1 Score | Percent of Highly Accurate Categories
---|---|---|---|---
Classification Baseline | 64% | 33% | 0.44 | 35.7%
Model Number Only | 32% | 6% | 0.10 | 23.3%
Cleaned Title and Model Number | 62% | 92% | 0.74 | 51.3%

In addition to overall precision and recall, we review the performance of our
model across different categories. Algorithm results are released into
production on a category by category basis. Due to business requirements, we
can only put the model into production for categories that have very high
precision (¿=90%). Using both the same product family name and similar model
number constraints resulted in a much higher number of categories reaching the
precision threshold than the classification model, as shown in Figure 7. This
results in the largest number of groupings being implemented on the site.

Figure 7. Percent of categories which reached the high precision threshold for
each algorithm.

Category-specific precision

##  5\. Conclusion

While there are many techniques for identifying similar or duplicate products,
not all of these methods are appropriate for grouping product variants within
a diverse catalog. A constrained clustering approach gives us the flexibility
to group items from a wide variety of product types while still maintaining
high accuracy. Constrained clustering also provides an easy to understand
explanation for why products are grouped together. The most effective
constraints are based on explicitly incorporating business rules, extracting
the product family name from the product title, and making use of patterns
encoded in the model number by the manufacturer. Applying these constraints to
our product catalog gives us high quality product variant groupings.

## References

  * (1)
  * Alenazi and Ahmad (2016) Saleh Rehiel Alenazi and Kamsuriah Ahmad. 2016.  Record duplication detection in database: A review.  _International Journal on Advanced Science, Engineering and Information Technology_ 6, 6 (2016), 838–845.
  * de Bakker et al. (2013) Marnix de Bakker, Flavius Frasincar, and Damir Vandic. 2013\.  A hybrid model words-driven approach for web product duplicate detection. In _International Conference on Advanced Information Systems Engineering_. Springer, 149–161.
  * Har-Peled et al. (2012) Sariel Har-Peled, Piotr Indyk, and Rajeev Motwani. 2012\.  Approximate nearest neighbor: Towards removing the curse of dimensionality.  _Theory of computing_ 8, 1 (2012), 321–350.
  * Hartveld et al. (2018) Aron Hartveld, Max van Keulen, Diederik Mathol, Thomas van Noort, Thomas Plaatsman, Flavius Frasincar, and Kim Schouten. 2018\.  An LSH-Based Model-Words-Driven Product Duplicate Detection Method. In _International Conference on Advanced Information Systems Engineering_. Springer, 409–423.
  * Hassanian-esfahani and Kargar (2019) Roya Hassanian-esfahani and Mohammad-javad Kargar. 2019.  A pruning strategy to improve pairwise comparison-based near-duplicate detection.  _Knowledge and Information Systems_ (2019), 1–33.
  * Levenshtein ([n.d.]) Vladimir I Levenshtein. [n.d.].  Binary codes capable of correcting deletions, insertions, and reversals.
  * Maunu (2018) Ryan Maunu. 2018\.  _The Duplicate Review Tool: Incorporating Visual Search into Merchandising Operations_.  Retrieved December 10, 2019 from https://tech.wayfair.com/data-science/2018/05/the-duplicate-review-tool-incorporating-visual-search-into-merchandising-operations/
  * Strauß et al. (2019) Oliver Strauß, Ahmad Almheidat, and Holger Kett. 2019\.  Applying Heuristic and Machine Learning Strategies to ProductResolution. In _Proceedings of the 15th International Conference on Web Information Systems and Technologies (WEBIST 2019)_. 242–249.
  * Tung et al. (2001) Anthony KH Tung, Jiawei Han, Laks VS Lakshmanan, and Raymond T Ng. 2001.  Constraint-based clustering in large databases. In _International Conference on Database Theory_. Springer, 405–419.
  * van Bezu et al. (2015) Ronald van Bezu, Sjoerd Borst, Rick Rijkse, Jim Verhagen, Damir Vandic, and Flavius Frasincar. 2015\.  Multi-component similarity method for web product duplicate detection. In _Proceedings of the 30th annual ACM symposium on applied computing_. ACM, 761–768.
  * Van Dam et al. (2016) Iris Van Dam, Gerhard van Ginkel, Wim Kuipers, Nikki Nijenhuis, Damir Vandic, and Flavius Frasincar. 2016\.  Duplicate detection in web shops using LSH to reduce the number of computations. In _Proceedings of the 31st Annual ACM Symposium on Applied Computing_. ACM, 772–779.
  * Vandic et al. (2012) Damir Vandic, Jan-Willem Van Dam, and Flavius Frasincar. 2012\.  Faceted product search powered by the Semantic Web.  _Decision Support Systems_ 53, 3 (2012), 425–437.


# Modulation of Control Authority in Adaptive Haptic Shared Control Paradigms

Vahid Izadi  Amir H. Ghasemi<EMAIL_ADDRESS>Department of Mechanical
Engineering and Engineering Science, University of North Carolina Charlotte,
Charlotte, NC, 28223

###### Abstract

This paper presents an adaptive haptic shared control framework wherein a
driver and an automation system are physically connected through a motorized
steering wheel. The automation system is modeled as an intelligent agent that
is not only capable of making decisions but also monitoring the human’s
behavior and adjusting its behavior accordingly. To enable the automation
system to smoothly exchange the control authority with the human partner, this
paper introduces a novel self-regulating impedance controller for the
automation system. To determine an optimal modulation policy, a cost function
is defined. The terms of the cost function are assigned to minimize the
performance error and reduce the disagreement between the human and automation
system. To solve the optimal control problem, we employed a nonlinear model
predictive approach and used the continuation generalized minimum residual
method to solve the nonlinear cost function. To demonstrate the effectiveness
of the proposed approach, simulation studies consider a scenario where the
human and the automation system both detect an obstacle and negotiate on
controlling the steering wheel so that the obstacle can be avoided safely. The
simulations involve four interaction modes addressing the cooperation status
(cooperative and uncooperative) and the desired direction of the control
transfer (active safety and autopilot). The results of the numerical studies
show that when the automation system acts as autopilot, using the proposed
modulation method, the automation adopts smaller impedance controller gains,
which results in a smaller disagreement between the human and automation
systems. On the other hand, when the human’s control command is insufficient,
by modulating and adopting larger values for the impedance controller
parameters, the automation system gains the control authority and ensures the
safety of the obstacle avoidance task.

###### keywords:

Adaptive Haptic Shared Control, Human-Automation Interaction , Nonlinear Model
Predictive Control , Continuation/GMRES Solver, Arbitration of the Control
Authority

††journal: Journal of Control Engineering Practice

##  1 Introduction

Haptic shared control paradigms have a wide range of applications from
transformative technologies in which a fully autonomous system is not yet
accessible/feasible (e.g., service robots, semi-autonomous vehicles, smart
manufacturing) to applications where human-robot interactions are inevitable,
or even desirable (e.g., rehabilitative devices, care robots, and educational
robots) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]. In a haptic shared control
paradigm, both humans and co-robots can simultaneously exert their control
inputs, and by virtue of haptic feedback continuously, monitors each other’s
actions. Traditionally, haptic shared control paradigms consist of interactive
robots that were designed to act mainly as reactive followers where the robot
(with some level of autonomy) followed the human’s commands [12, 13, 14].
However, this type of master-servant arrangement does not capture the sense of
partnership [15, 16, 17] that we mean when we speak of two humans
cooperatively moving a piece of furniture. Nowadays, with recent advancements
in robotics and artificial intelligence, a co-robot as a pro-active partner
can be designed to monitor human actions, communicate its behavior, and even
communicate and exchange roles with a human partner[18, 19].

To enable co-robots to comprehend how human behaviors change during the
interaction, a wide range of research has been devoted to human-human
interaction to learn from the behavioral mechanisms that humans utilize. For
instance, Reed and Peshkin studied human-human interaction and recognize
different humans select different patterns for interaction [18]. Stefanov et
al. defined two roles of conductor and executor in the execution of a haptic
task [20]. Orguz et al. proposed a haptic negotiation framework to address the
role exchange in a dynamic task [21, 22]. In these preceding studies, it was
shown that the role arbitration could dynamically change between the human and
co-robot during task execution. Specifically, the role exchanges aim to either
increase the robot’s autonomy level at the expense of the human’s authority;
we call this interaction mode the active safety mode; or, conversely, increase
the human’s control over the shared activity at the expense of the robot’s
autonomy; we call this interaction mode the autopilot mode. However, it is
vital for an intuitive role arbitration that the co-robot smoothly transfer
the control authority [23, 24].To support smooth transfers of authority and
harness the complementary features of human and automatic control, many of the
efforts in this area has been devoted to the development of standard impedance
control [25], force control [26], or hybrid interaction controllers [27, 28]
for the co-robot. The quasi-static performance of these controllers is highly
dependent on the choice of parameters, i.e., stiffness and damping [29]. In
most cases, such parameters are preset, which limits the adaptation capability
of co-robots to varying interaction modes. To improve the customizability
feature of co-robots and enable them to naturally interact with different
humans through a haptic interface and personalize their interactions based on
recognizing the human’s preference in real-time, this paper introduces a novel
self-regulating impedance controller.

To this end, we present the co-robot with a similar structure to the human
partner. In particular, we consider the co-robot as a two-level hierarchical
control structure. While the higher-level controller generates the co-robot
desired reference (intent), the lower level is an impedance controller which
its output is the co-robot’s control force/torque. We define a cost function
to determine how co-robot impedance controller gains should be dynamically
modulated so that a smooth transition of control authority can occur. The cost
function maximizes task performance while minimizing the disagreement between
the human and co-robot within different interaction modes. To solve the
optimal control problem, we utilize a nonlinear model-predictive control
approach. Specifically, we employed the continuation generalized minimum
residual (C/GMRES) solver that provides an iterative algorithm to solve the
nonlinear model predictive controller [30, 31, 32, 33]. In this method, first,
the optimal control problem is discretized over the horizon. A differential
equation is then obtained through the use of the continuation method to update
the sequence of control inputs [33]. Since the differential equation involves
a large linear equation, the GMRES method [34] is employed to solve the linear
equation. It is shown that the C/GMRES requires much less computational
expenses than other iterative methods such as Newton’s method. Moreover,
C/GMRES involves no line search, which is also a significant difference from
standard optimization methods [35].

While the fundamental approaches and models proposed in this research can be
applied to a wide range of physical human robot systems, we select steering
control of semi-automated vehicles as a setup for exploring the proposed
study. We consider a scenario where the human and the automation system detect
an obstacle and negotiate on controlling the steering wheel so that the
obstacle can be avoided safely. To this end, the simulations involve four
interaction modes addressing the cooperation status (cooperative and
uncooperative) and the desired direction of the control transfer (active
safety and autopilot).

The outline of this paper is as follows. In section 2, we model the adaptive
haptic shared control paradigm, and the equations of motions are derived. In
section 3, the problem of modulation of control authority is presented as an
optimal control problem. Specifically, we describe how the C/GMRES method is
used to determine an optimal modulation policy that allows a smooth transition
of control authority. To demonstrate the effectiveness of the proposed
approach, a set of numerical simulations are illustrated in Section 4.
Specifically, based on the cooperation status (cooperative and uncooperative)
and the desired direction of the control transfer (to automation or human),
four interaction scenarios are defined. The numerical results compare the
performance of the proposed adaptive haptic shared control paradigm with a
non-adaptive haptic shared control paradigm in the steering control task.
Section 5 consists of the conclusions and the future directions for this
research.

##  2 Adaptive Haptic Shared Control Framework

Figure 1 shows a schematic of an adaptive haptic shared control paradigm.
Three entities each impose a torque on the steering wheel: a driver through
his hands, an automation system through a motor, and the road through the
steering linkage.

In this paper, we model the human and automation system with a similar
structure. In particular, we model the driver as a hierarchical two-level
controller. The upper-level control represents the cognitive controller, and
its output, $\theta_{\rm H}$, represents the driver’s intent. The lower-level
represent the human’s biomechanics, $Z_{\rm H}$, and is considered back-
drivable [4]. To indicate that driver’s biomechanic parameters vary with
changes in grip on the steering wheel, use of one hand or two, muscle co-
contraction, or posture changes, we have drawn an arrow through human $Z_{\rm
H}$.

Fig. 1:  A general model of control sharing between driver and automation.

Similarly, the automation system is modeled as a higher-level controller (AI)
coupled with a lower-level impedance controller. The automation system is also
considered to be back-drivable, and the gains of the impedance controller,
$Z_{\rm A}$, are designed to be modest rather than infinite. In other words,
the automation is not intended to behave as an ideal torque source; instead,
the automation imposes its command torque $\tau_{\rm A}$ through an impedance
$Z_{\rm A}$ that is approximately matched to the human impedance $Z_{\rm H}$.

Furthermore, the reference signals $R_{\rm H}$ and $R_{\rm A}$ represent the
goals of the driver and the automation system, respectively. It should be
noted that these goals may not necessarily be the same, which is when the
negotiation of control authority becomes essential. To generate algorithms
that support the negotiation and dynamic transfer of the control authority
between the human and co-robot, the robot can adjust its behavior at a higher
level (changing intent) as well as in the lower level (changing $Z_{\rm A}$).
Specifically, from the model presented in Figure 1, it follows that the
steering angle $\theta_{\rm S}$ is not only a function of the human’s intent
$\theta_{\rm H}$, automation’s intent $\theta_{\rm A}$, and the road feedback
torque $\tau_{\rm V}$, but also its a function of human arm’s biomechanics
$Z_{\rm H}$ as well as the gains of the impedance controller $Z_{\rm A}$ [36].
The crux of this paper lies in the design of a back-drivable impedance $Z_{\rm
A}$ such that it enhances the negotiation and transfer of control authority
between the human and automation system. To this end, we present the equations
of motion of the lower-level of the adaptive haptic shared control framework
shown in Figure 2.

###  2.1 Equations of Motion

Figure 2-A shows a free body diagram of an adaptive haptic shared control
paradigm consisting of a driver, a steering wheel, a steering shaft, and an
automation system. Figure 2-A demonstrates a simplified model of a driver
arms’ biomechanics in the form of a mass-spring-damper system connected to a
mass-less cart representing the driver’s intent, $\theta_{\rm H}$. The
steering wheel is modeled as a disk with a rotational inertia of $J_{\rm SW}$.
A differential torque sensor is modeled as a rotational spring with stiffness
$K_{\rm T}$ and connected to the steering wheel and steering shaft. The
steering shaft is also considered as a rotational bar with the inertia of
$J_{\rm S}$ that is connected to the steering wheel on the left side, to the
rack and pinion on the right side and the automation system through a timing
belt with a mechanical advantage of $r_{\rm S}/r_{\rm M}$. The block diagram
of the lower-level of the adaptive haptic shared control is also shown in
Figure 2-B. In this block diagram, three signals of $\theta_{\rm
H},\theta_{\rm A}$, and $\tau_{\rm V}$ are considered as exogenous signals;
and two signals of differential torque $\tau_{\rm T}$ and the steering shaft
angle $\theta_{\rm S}$ are measured. Figure 2-C shows an apparatus of a haptic
steering wheel that can be used for implementing the proposed shared control
scheme. To ensure the back-drivability of the automation system, a motor with
a low-inertia and a pulley with a low mechanical advantage should be selected.
The steering wheel is equipped with a torque transducer to measure the
differential torque between the human and robot, and an encoder for measuring
the steering column position and velocity.

Fig. 2: (A) Torque/intent block diagram for the general model of the shared
driving control, (B) A block diagram is laid out to highlight the interaction
ports between subsystems, (C) Experimental Platform

It follows from Figure 2 that the equations of motion for the steering wheel,
steering column and the motor can be expressed as

$\displaystyle J_{\rm SW}\ddot{\theta}_{\rm SW}=\tau_{\rm H}-\tau_{\rm T}$ (1)
$\displaystyle J_{\rm S}\ddot{\theta}_{\rm S}=\tau_{\rm T}+\tau_{\rm
V}+\tau_{\rm SM}$ (2) $\displaystyle J_{\rm M}\ddot{\theta}_{\rm M}=\tau_{\rm
A}-\tau_{\rm MS}$ (3)

where $\tau_{\rm SM}$ and $\tau_{\rm MS}$ represent the internal torque
imposed by the timing belt. It should be noted that the kinematic and kinetic
constraints imposed by the timing belt are $r_{\rm M}\theta_{\rm M}=r_{\rm
S}\theta_{\rm S}$ and $r_{\rm M}\tau_{\rm SM}=r_{\rm S}\tau_{\rm MS}$.

Modeling the driver as a spring-mass-damper with a proximal motion source
$\theta_{\rm H}(t)$, the torque applied by the human is [6]

$\displaystyle\tau_{\rm H}=-J_{\rm H}\ddot{\theta}_{\rm SW}+B_{\rm
H}(\dot{\theta}_{\rm H}-\dot{\theta}_{\rm SW})+K_{\rm H}(\theta_{\rm
H}-\theta_{\rm SW})$ (4)

where $J_{\rm H}$, $B_{\rm H}$, and $K_{\rm H}$ are the inertia, damping and
stiffness of the driver’s arm. Similarly, considering an impedance controller
in the lower-level of the automation system, the toque generated by the motor
can be presented as

$\displaystyle\tau_{\rm A}=$ $\displaystyle B_{\rm A}(\dot{\theta}_{\rm
A}-\dot{\theta}_{\rm M})+K_{\rm A}(\theta_{\rm A}-\theta_{\rm M})$
$\displaystyle=$ $\displaystyle B_{\rm A}(\dot{\theta}_{\rm A}-\frac{r_{\rm
S}}{r_{\rm M}}\dot{\theta}_{\rm s})+K_{\rm A}(\theta_{\rm A}-\frac{r_{\rm
S}}{r_{\rm M}}\theta_{\rm S})$ (5)

where $K_{\rm A}$, $B_{\rm A}$ represent the gains of the impedance
controller. Furthermore, it follows from Figure 2 that the torque measured by
the torque sensor can be expressed as

$\displaystyle\tau_{\rm T}=K_{\rm T}(\theta_{\rm SW}-\theta_{\rm S})$ (6)

It follows from Eq. (4) that human’s torque is not only a function of human’s
intent $\theta_{\rm H}$ but also the biomechanic parameters $Z_{\rm H}$. By
modulating these parameters, the human can either yield or retain the control
authority. Similarly, algorithms can be developed to give the automation the
ability to either yield authority or retain authority as a function of driver
behavior and sensed threats to safety. To present how human’s bio-mechanics
and the automation’s impedance controller parameters may evolve in time, we
introduce the following simple but generic dynamic models as

$\displaystyle\dot{Z}_{\rm H}(t)$ $\displaystyle=\alpha_{\rm H}Z_{\rm
H}(t)+\beta_{\rm H}\Gamma_{\rm H}(t)$ (7) $\displaystyle\dot{Z}_{\rm A}(t)$
$\displaystyle=\alpha_{\rm A}Z_{\rm A}(t)+\beta_{\rm A}\Gamma_{\rm A}(t)$ (8)

where $Z_{\rm H}=[B_{\rm H}\ K_{\rm H}]^{\rm T}$, $Z_{\rm A}=[B_{\rm A}\
K_{\rm A}]^{\rm T}$, and $\Gamma_{\rm H}=[\Gamma_{\rm bH}(t)\ \Gamma_{\rm
kH}(t)]^{\rm T}$ is the human’s control action for modulating his impedance
$Z_{\rm H}$ and $\Gamma_{\rm A}=[\Gamma_{\rm bA}(t)\ \Gamma_{\rm kA}(t)]^{\rm
T}$ is the automation’s control input for modulating its impedance $Z_{\rm
A}$. Additionally,

$\displaystyle\alpha_{\rm H}=$ $\displaystyle\left[\begin{matrix}\alpha_{\rm
bH}&0\\\ 0&\alpha_{\rm kH}\end{matrix}\right],\quad\beta_{\rm
H}=\left[\begin{matrix}\beta_{\rm bH}&0\\\ 0&\beta_{\rm
kH}\end{matrix}\right]$ $\displaystyle\alpha_{\rm A}=$
$\displaystyle\left[\begin{matrix}\alpha_{\rm bA}&0\\\ 0&\alpha_{\rm
kA}\end{matrix}\right],\quad\beta_{\rm A}=\left[\begin{matrix}\beta_{\rm
bA}&0\\\ 0&\beta_{\rm kA}\end{matrix}\right]$

where $\\{\alpha_{\rm bH},\alpha_{\rm kH},\alpha_{\rm bA},\alpha_{\rm
kA},\beta_{\rm bH},\beta_{\rm kH},\beta_{\rm bA},\beta_{\rm kA}\\}$ are
constant parameters.

Ideally, to determine an optimal behavior for the automation system,
optimization should be performed over all control signals of the automation
system, including (i.e., $\theta_{\rm A},\Gamma_{\rm A}$). However, the focus
of this paper is to determine $\Gamma_{\rm A}$ as a means for allocating the
level of authority between the driver and the automation system.

By combining Eqs. (1-8), the dynamics interaction between human and automation
system in the lower-level of the adaptive haptic shared control framework can
be expressed as

$\displaystyle\dot{x}(t)$ $\displaystyle=f(x(t),w(t))+Bu(t),$ (9)
$\displaystyle y(t)$ $\displaystyle=h(x(t))$ (10)

where $x=[\theta_{\rm SW}\ \dot{\theta}_{\rm SW}\ \theta_{\rm S}\
\dot{\theta}_{\rm S}\ B_{\rm H}\ K_{\rm H}\ B_{\rm A}\ K_{\rm A}]^{\rm T}$,
are the state of the system; $u=[\Gamma_{\rm bA}(t)\ \Gamma_{\rm kA}(t)]^{\rm
T}$ are the control commands, and $w=[\Gamma_{\rm bH}(t)\ \Gamma_{\rm kH}(t)\
\theta_{\rm H}\ \theta_{\rm A}\ \tau_{\rm V}]^{\rm T}$ are the exogenous
signals, $y=[\theta_{\rm S}\ \tau_{\rm T}\ K_{\rm H}\ B_{\rm H}\ K_{\rm A}\
B_{\rm A}]^{\rm T}$ are measured variables, and

$\displaystyle f\left(x,w\right)=\left[\begin{matrix}{\dot{\theta}}_{\rm
SW}\\\ \frac{B_{\rm H}\left({\dot{\theta}}_{\rm H}-{\dot{\theta}}_{\rm
SW}\right)+K_{\rm H}\left(\theta_{\rm H}-\theta_{\rm SW}\right)-K_{\rm
T}\left(\theta_{\rm SW}-\theta_{\rm S}\right)}{J_{\rm SW}+J_{\rm H}}\\\
{\dot{\theta}}_{\rm S}\\\ \frac{\left(\frac{r_{\rm S}}{r_{\rm M}}B_{\rm
A}\left({\dot{\theta}}_{\rm A}-\frac{r_{\rm S}}{r_{\rm M}}{\dot{\theta}}_{\rm
S}\right)+\frac{r_{\rm S}}{r_{\rm M}}K_{\rm A}\left(\theta_{\rm
A}-\frac{r_{\rm S}}{r_{\rm M}}\theta_{\rm S}\right)+K_{\rm T}\left(\theta_{\rm
SW}-\theta_{\rm S}\right)+\tau_{\rm v}\right)}{J_{\rm S}+\left(\frac{r_{\rm
S}}{r_{\rm M}}\right)^{2}J_{\rm M}}\\\ {\alpha_{\rm bH}B}_{\rm H}+\beta_{\rm
bH}\Gamma_{\rm bH}\\\ \alpha_{\rm kH}K_{\rm H}+\beta_{\rm kH}\Gamma_{\rm
kH}\\\ \alpha_{\rm bA}B_{\rm A}\\\ \alpha_{\rm kA}K_{\rm A}\\\
\end{matrix}\right],B=\left[\begin{matrix}0&0\\\ 0&0\\\ 0&0\\\ 0&0\\\ 0&0\\\
0&0\\\ \beta_{\rm bA}&0\\\ 0&\beta_{\rm kA}\end{matrix}\right]$ (11)

##  3 Impedance Modulation Controller Design

In this section, we present a predictive controller that is used to modulate
the automation’s impedance controller parameters to enhance the assistive
behavior of the automation system. For the steering control problem, we define
a nonlinear cost function $J(t)$ in the form of

$\displaystyle\min_{\Gamma_{\rm A}}J(t)=\int_{t}^{t+t_{h}}\\{\|\theta_{\rm
H}(t)-\theta_{\rm S}(t)\|_{w_{1}}+\|\theta_{\rm A}(t)-\theta_{\rm
S}(t)\|_{w_{2}}+\|\tau_{\rm T}(t)\|_{w_{3}}\\}$ (12)

where $t_{h}$ is the defined horizon for the model predictive controller,
$w_{1}$, $w_{2}$ and $w_{3}$ are weights matrices. The first term of the cost
function aims to minimize the error between the human’s intent and the
steering angle. Similarly, the second term of the cost function is defined to
minimize the tracking error between the automation’s desired angle
(automation’s intent) and the steering angle. Since the human’s and
automation’s intent may not necessarily be the same, which is when the
negotiation of control authority becomes important, the third term of the cost
function is defined to minimize the disagreement between a driver and the
automation system.

We define two sets of constraints for the nonlinear cost function $J$ to
ensure the non-negative values for the gains of the impedance controller. In
particular,

$\displaystyle C_{1}(t):\\{s_{1}^{2}-{B}_{\rm A}(t)=0,{B}_{\rm A}(t)$
$\displaystyle\geqslant{0}\\}$ (13) $\displaystyle
C_{2}(t):\\{s_{2}^{2}-{K}_{\rm A}(t)=0,{K}_{\rm A}(t)$
$\displaystyle\geqslant{0}\\}$ (14)

where $s_{1}$ and $s_{2}$ are slack variables. By using the non-negative slack
variables in Eqs. (13) and (14), the inequality constraints will be
transformed to the equality constraints [37].

To solve the nonlinear cost function described in Eq. 12, we discretize the
equation of the dynamics system using the forward Euler method. Specifically,

$\displaystyle x^{(k+1)}=x^{(k)}+T_{\rm s}f\left(x^{(k)},w^{(k)}\right)+T_{\rm
s}Bu^{(k)}$ (15)

where $T_{\rm s}$ is the size of the time-step, $k$ is the number of time-step
(considered as the current time-step), $x^{(k)}$, $w^{(k)}$ and $u^{(k)}$ are
equal to $x{(t=T_{\rm s}k)}$, $w(t=T_{\rm s}k)$ and $u(t=T_{\rm s}k)$,
respectively. It should be noted that that higher order discretizations can be
employed at the expense of the computational complexity. Furthermore, the cost
function $J$ and the constraints $C_{1}$ and $C_{2}$ can be discretized as

$\displaystyle\min_{\Gamma_{\rm A}}J^{(k)}=\sum_{j=1}^{N_{\rm p}}T_{\rm
s}\\{\|\theta_{\rm H}^{(k+j)}-\theta_{\rm S}^{(k+j)}\|_{w_{1}}+\|\theta_{\rm
A}^{(k+j)}-\theta_{\rm S}^{(k+j)}\|_{w_{2}}+\|\tau_{\rm
T}^{(k+j)}\|_{w_{3}}\\}$
$\displaystyle\rm{subjected}\quad\rm{to}:\quad\left\\{\begin{matrix}x^{(k+1)}=x^{(k)}+T_{\rm
s}f\left(x^{(k)},w^{(k)}\right)+T_{\rm s}Bu^{(k)}\\\ \\\
C_{1}^{(k)}:\\{s_{1}^{2}-{B}_{\rm A}^{(k)}=0,\quad{B}_{\rm
A}^{(k)}\geqslant{0}\\}\\\ \\\ C_{2}^{(k)}:\\{s_{2}^{2}-{K}_{\rm
A}^{(k)}=0,\quad{K}_{\rm A}^{(k)}\geqslant{0}\\}\end{matrix}\right.$ (16)

Next, Let $H$ denote the Hamiltonian defined by

$\displaystyle H\left(x^{(k)},w^{(k)},u^{(k)},\lambda^{(k)},\mu^{(k)}\right)$
$\displaystyle=T_{\rm s}\left(\|\theta_{\rm H}^{(k)}-\theta_{\rm
S}^{(k)}\|_{w_{1}}+\|\theta_{\rm A}^{(k)}-\theta_{\rm
S}^{(k)}\|_{w_{2}}+\|\tau_{\rm T}^{(k)}\|_{w_{3}}\right)$
$\displaystyle+\lambda^{(k)}\left(x^{(k)}-x^{(k+1)}+T_{\rm
s}f\left(x^{(k)},w^{(k)}\right)+T_{\rm s}Bu^{(k)}\right)$
$\displaystyle+\mu^{(k)}\left({\left[C_{1}^{(k)},C_{2}^{(k)}\right]}^{\rm
T}\right)$ (17)

where

$\displaystyle\lambda^{(k)}=\left[\begin{matrix}\lambda_{\theta_{\rm{S}}}^{(k)}\quad\lambda_{\dot{\theta}_{\rm{S}}}^{(k)}\quad\lambda_{\theta_{\rm{SW}}}^{(k)}\quad\lambda_{\dot{\theta}_{\rm{SW}}}^{(k)}\quad\lambda_{\Gamma_{\rm
bH}}^{(k)}\quad\lambda_{\Gamma_{\rm kH}}^{(k)}\quad\lambda_{\Gamma_{\rm
bA}}^{(k)}\quad\lambda_{\Gamma_{\rm kA}}^{(k)}\end{matrix}\right]$ (18)
$\displaystyle\mu^{(k)}=\left[\begin{matrix}\mu^{(k)}_{C_{1}}&&\mu^{(k)}_{C_{2}}\end{matrix}\right]$
(19)

where $\lambda$ and $\mu$ are costate vector and Lagrange multiplier vector
respectively. Next, we construct the discrete Lagrangian function as

$\displaystyle\mathcal{L}(X,U)$ $\displaystyle=\sum_{j=1}^{N_{\rm
p}}H\left(x^{(k+j)},w^{(k+j)},u^{(k+j)},\lambda^{(k+j)},\mu^{(k+j)}\right)$
(20)

where vectors $X\in\mathbb{R}^{11\times N_{\rm p}}$ and
$U\in\mathbb{R}^{12\times N_{\rm p}}$ are

$\displaystyle X=[x^{(k)},w^{(k)},x^{(k+1)},w^{(k+1)},...,x^{(k+N_{\rm
p})},w^{(k+N_{\rm p})}]^{\rm T}$ $\displaystyle
U=[u^{(k)},\mu^{(k)},\lambda^{(k)},\cdots,u^{(k+N_{\rm c})},\mu^{(k+N_{\rm
c})},\lambda^{(k+N_{\rm c})},\cdots,u^{(k+N_{\rm c})},\mu^{(k+N_{\rm
p})},\lambda^{(k+N_{\rm p})}]^{\rm T}$

where $N_{\rm c}$ is the control horizon. Note that for $N_{\rm c}\leq j\leq
N_{\rm p}$, $u^{k+j}=u^{k+N_{\rm c}}$. We also define a projection matrix
$P_{0}$ as

$\displaystyle P_{0}=\left[\begin{matrix}1&0&0&\cdots&0&0&0\\\
0&1&0&\cdots&0&0&0\end{matrix}\right]_{2\times 12N_{\rm p}}.$ (21)

It should be mentioned that by employing forward recursion the state variables
$x^{(k+j)}$, $j=1,\cdots,N_{\rm p}$ can be defined using the system dynamics.
Furthermore, the co-states $\lambda^{(k+j)}$ and Lagrange multipliers
$\mu^{(k+j)}$ can be determined employing back recursion from the final
condition to the present time-step ($j=N_{\rm p},N_{\rm p}-1,\cdots,1$).

By applying the Karush–Kuhn–Tucker (KKT) first order necessary condition, the
solution of nonlinear equations $\frac{\partial H}{\partial\lambda}=0$,
$\frac{\partial H}{\partial u}=0$ and $\frac{\partial H}{\partial\mu}=0$
construct the candidate optimal points. Therefore, to determine the optimal
parameters of the impedance controller, the first order KKT vector
$F\left(X,U,t\right)$ for $N_{\rm p}$ horizon can be defined as

$\displaystyle F\left(X,U,t\right)=\left[\begin{matrix}\frac{\partial H^{\rm
T}\left(x^{(k)},w^{(k)},u^{(k)},\lambda^{(k)},\mu^{(k)}\right)}{\partial u}\\\
\\\ \frac{\partial H^{\rm
T}\left(x^{(k)},w^{(k)},u^{(k)},\lambda^{(k)},\mu^{(k)}\right)}{\partial\lambda}\\\
\\\ \frac{\partial H^{\rm
T}\left(x^{(k)},w^{(k)},u^{(k)},\lambda^{(k)},\mu^{(k)}\right)}{\partial\mu}\\\
\vdots\\\ \frac{\partial H^{\rm T}\left(x^{(k+N_{\rm c})},w^{(k+N_{\rm
c})},u^{(k+N_{\rm c})},\lambda^{(k+N_{\rm c})},\mu^{(k+N_{\rm
c})}\right)}{\partial u}\\\ \\\ \frac{\partial H^{\rm T}\left(x^{(k+N_{\rm
c})},w^{(k+N_{\rm c})},u^{(k+N_{\rm c})},\lambda^{(k+N_{\rm
c})},\mu^{(k+N_{\rm c})}\right)}{\partial\lambda}\\\ \\\ \frac{\partial H^{\rm
T}\left(x^{(k+N_{\rm c})},w^{(k+N_{\rm c})},u^{(k+N_{\rm
c})},\lambda^{(k+N_{\rm c})},\mu^{(k+N_{\rm c})}\right)}{\partial\mu}\\\
\vdots\\\ \frac{\partial H^{\rm T}\left(x^{(k+N_{\rm p})},w^{(k+N_{\rm
p})},u^{(k+N_{\rm c})},\lambda^{(k+N_{\rm p})},\mu^{(k+N_{\rm
p})}\right)}{\partial u}\\\ \\\ \frac{\partial H^{\rm T}\left(x^{(k+N_{\rm
p})},w^{(k+N_{\rm p})},u^{(k+N_{\rm c})},\lambda^{(k+N_{\rm
p})},\mu^{(k+N_{\rm p})}\right)}{\partial\lambda}\\\ \\\ \frac{\partial H^{\rm
T}\left(x^{(k+N_{\rm p})},w^{(k+N_{\rm p})},u^{(k+N_{\rm
c})},\lambda^{(k+N_{\rm p})},\mu^{(k+N_{\rm
p})}\right)}{\partial\mu}\end{matrix}\right]=0$ (22)

###  3.1 Continuation method

To solve $F\left(X,U,t\right)=0$ with respect to the unknown vector $U$, for
each time-step, the C/GMRES method is employed [35]. In C/GMRES method,
instead of solving $F(X,U,t)=0$, we select the proper initial value $U(0)$ and
take the time derivative of Eq. (22) into account. Specifically, we define

$\displaystyle\dot{F}\left(X,U,t\right)=A_{\rm s}F\left(X,U,t\right)$ (23)

where $A_{\rm s}$ is a stable matrix (i.e. with negative eigenvalues).
Differentiating the left side of Eq. (23) yields

$\displaystyle{F}_{U}\left(X,U,T\right)\dot{U}=A_{\rm s}F\left(X,\ U,\
t\right)-{{F}}_{X}\left(X,U,T\right)\dot{X}-\dot{F}\left(X,U,T\right)$ (24)

If $F_{U}$ is non singular, we can obtain the differential equation for
$\dot{U}$ as

$\displaystyle\dot{U}=F^{-1}_{U}\left(A_{\rm s}F\left(X,\ U,\
t\right)-{{F}}_{X}\left(X,U,T\right)\dot{X}-\dot{F}\left(X,U,T\right)\right)$
(25)

###  3.2 Forward difference GMRES method

The calculation of Jacobians $F_{x},F_{U}$ and $\dot{F}$ is computationally
expensive. Instead to solve Eq. (25), we employed the forward-difference
approximation to eliminate the calculation of the Jacobians. To this end,
using the concept of forward difference, we approximate the products of
Jacobians and some $L\in\mathbb{R}^{11\times N_{\rm p}}$,
$M\in\mathbb{R}^{12\times N_{\rm p}}$, and $\omega\in\mathbb{R}$ and replaced
it to Eq. (25) which results in:

$\displaystyle D_{\rm
h}F\left(X,U,t:0,\dot{U},0\right)=b\left(X,\dot{X},U,t\right)$ (26)

where

$\displaystyle b\left(X,\dot{X},U,t\right)=A_{\rm s}F\left(X,U,t\right)-D_{\rm
h}F\left(X,U,t:\dot{X},0,1\right)$ (27) $\displaystyle D_{\rm
h}F\left(X,U,t:L,M,\omega\right)=\frac{F\left(X+hL,U+hM,t+h\omega\right)-F\left(X,U,t\right)}{h}$
(28)

where $h$ is a positive real number, $D_{\rm h}F\left(X,U,t:L,M,\omega\right)$
stands for the concept of forward difference for $F$. It should be noted that
there is main difference between forward-difference approximation and finite-
difference approximation with regards to computational expenses. The forward
difference approximation of the products of the Jacobians and vectors can be
calculated with only an additional evaluation of the function, which requires
notably less computational burden than approximation of the Jacobians
themselves. Since Eq. (26) is a linear equation with respect to $\dot{U}$, we
applied the forward difference GMRES method to solve it [34]. The details of
this method is described in Algorithm LABEL:FDGMRES_Algo.

###  3.3 Combination of continuation and GMRES

$\dot{U}$ is the output of the forward-difference GMRES algorithm, and
integration of this value results in $U$ for the current time step. For a
sampling time $\bigtriangleup t$ and integer value $\ell$, the
continuation/GMRES method for nonlinear model predictive control is summarized
as follow:

Result: ${U}$ := CntFDGMRES$\left(X,\dot{X},\dot{U},t,\bigtriangleup
t,\delta\right)$

(1) $t:=0,\ \ell:=0$;

(2) Select small value $\delta>0$;

(3) Find $U(0)$ for satisfying $\|F\left(X(0),U(0),0\right)\|\leqslant\delta$
;

(4) In $t^{\prime}\in[t,t+\bigtriangleup t)$ set
$u(t^{\prime}):=P_{0}U(\ell\bigtriangleup t)$;

At time $t+\bigtriangleup t$ by considering measured states
$x(t+\bigtriangleup t)$ set $\bigtriangleup x_{\ell}=x_{\ell}(t+\bigtriangleup
t)-x_{\ell}(t)$;

(5) $U_{\rm int}=U_{t_{0}}$, $U_{\rm int}=\dot{U}((\ell-1)\bigtriangleup t)$;

(6) $\dot{U}(\ell\bigtriangleup t)$ := FDGMRES$\left(X,\bigtriangleup
x_{\ell}/\bigtriangleup t,U,U_{\rm int},h,\mathcal{I}_{\max}\right)$;

(7) Set ${U}\left(\left(\ell+1\right)\bigtriangleup
t\right)={U}\left(\ell\bigtriangleup t\right)+\bigtriangleup t\
\dot{U}\left(\ell\bigtriangleup t\right)$

(8) Set $t:=t+\bigtriangleup t,\ \ell:=\ell+1$ and go back to line (4)

Algorithm 1 Continuation/GMRES [35]

It should be noted that the C/GMRES is an iterative method that solves Eq.(22)
with respect to $\dot{U}$ only once at each sampling time and therefore,
requires much less computational expenses than other iterative methods such as
Newton’s method. Moreover, C/GMRES involves no line search, which is also a
significant difference from standard optimization methods [35].

Figure 3 shows the control architecture of the closed loop. The higher-level
control consists of four main sections: interaction mode determination that
define the appropriate form of the cost function as well as the appropriate
weights of each term in the cost function, human’s biomechanics identification
that identifies the current state of $Z_{\rm H}$, human’s intent detection
that determines $\theta_{\rm H}$ and automation system’s motion planning that
determine $\theta_{\rm A}$. The outputs of the higher-level controller are fed
to the automation’s lower-level control to determine the optimal $Z_{\rm A}$.
By modulating the automation’s impedance controller gains, the control
authority dynamically exchanges between the human and automation, and
subsequently $\theta_{\rm S}$ follows the intents of humans or automation.

Fig. 3: The detailed block diagram of the adaptive haptic shared control
paradigm including the higher level controller, the automation’s lower-level
controller and Laplace block diagram of the haptic interface.

##  4 Simulation Studies and Discussions

In this section, we present a series of simulation studies demonstrating the
effectiveness of the proposed controller in transferring the control authority
between the driver and the automation system. The following simulations
consider a scenario where the human and the automation system detect an
obstacle and negotiate on controlling the steering wheel so that the obstacle
can be avoided safely. To this end, the simulations involve two conditions
when the control authority shifts from the human to the automation system
(active safety mode), as well as when the control authority shifts from the
automation system to human (auto-pilot mode). Also, we included two other
conditions where the human and automation are in cooperative and uncooperative
mode. In cooperative mode, the human and automation intents detect the
obstacle and decide to avoid the obstacle by maneuvering in the same direction
(same intent signs ${\rm sgn}(\theta_{\rm H})={\rm sgn}(\theta_{\rm A})$). In
uncooperative mode, humans and automation’s detect the obstacle but their
intents have opposite signs (${\rm sgn}(\theta_{\rm H})=-{\rm sgn}(\theta_{\rm
A})$). Additionally, we assume no feedback from the road and consider
$\tau_{\rm V}=0$ in the following examples. The numerical values for the
parameters in the simulation are demonstrated in table (1).

Parameters | Variables | Interaction Modes | Units
---|---|---|---
Active safety | Autopilot
Activation coefficient of $k_{\rm A}$ | $\beta_{\rm k_{\rm A}}$ | 1 | 0.1 | -
Activation coefficient of $b_{\rm A}$ | $\beta_{\rm b_{\rm A}}$ | 1 | 0.1 | -
Memory coefficient of $k_{\rm A}$ | $\alpha_{\rm k_{\rm A}}$ | $-1$ | -
Memory coefficient of $b_{\rm A}$ | $\alpha_{\rm b_{\rm A}}$ | $-1$ | -
Driver arm’s stiffness | $K_{\rm H}$ | 0.1 | 1 | N.m/rad
Driver arm’s damping | $B_{\rm H}$ | 0.1 | 0.5 | N.m.s/rad
Driver arm’s inertia | $J_{\rm H}$ | $1\times 10^{-3}$ |  kg.m2
Steering wheel inertia | $J_{\rm SW}$ | $1\times 10^{-2}$ |  kg.m2
Steering column inertia | $J_{\rm S}$ | $1\times 10^{-2}$ |  kg.m2
Motor’s inertia | $J_{\rm M}$ | $1\times 10^{-3}$ |  kg.m2
Torque sensor stiffness | $K_{\rm T}$ | $1000$ | N.m/rad
Timing belt mechanical advantage | $r_{\rm S}/r_{\rm M}$ | 1 | -
Prediction horizon | $N_{\rm p}$ | $10$ | -
Control horizon | $N_{\rm c}$ | $10$ | -
The sample time | $T_{\rm S}$ | $1\times 10^{-2}$ | sec
Maximum index | $\mathcal{I}_{\rm max}$ | $12$ | -
KKT vector norm range | $\delta$ | $5\times 10^{-2}$ | -
Table 1:  Numerical values for the system parameters in the simulation

Figure 4 demonstrates the steering angle and the measured torque $\tau_{\rm
T}$ for a case when there is no automation system, and the driver acts alone.
The driver’s intent is expressed by the following curve

$\displaystyle\theta_{\rm H}=\begin{cases}0\hskip 105.0pt&t<T_{1}\\\
\frac{W}{2}\cos({\frac{\pi}{T_{2}}t-\frac{T_{1}+T_{2}}{T_{2}}\pi})+\frac{W}{2}\hskip
10.0pt&T_{1}<t<T_{1}+T_{2}\\\ W\hskip
10.0pt&T_{1}+T_{2}<t<T_{1}+T_{2}+T_{3}\\\
\frac{W}{2}\cos({\frac{\pi}{T_{2}}t-\frac{T_{1}+T_{2}+T_{3}}{T_{2}}\pi})+\frac{W}{2}\hskip
10.0pt&T_{1}+T_{2}+T_{3}<t<T_{1}+2T_{2}+T_{3}\\\ 0\hskip
10.0pt&T_{1}+2T_{2}+T_{3}<t\end{cases}.$ (29)

where $T_{1}=1$ sec, $T_{2}=5$ sec, $T_{3}=2$ sec and $W=1$ rad are selected
for the following examples. Note that in the following examples to illustrate
the results clearly, we select $|\theta_{\rm A}|=0.9|\theta_{\rm H}|$.

It follows from Figure 4 that as the driver increases its stiffness and
damping, the steering performance also increases. In particular, for three
cases demonstrated in Figure 4, the mean $\mu_{e}$ and the stand deviation
$\sigma_{e}$ of the performance error $e=|\theta_{\rm H}-\theta_{\rm S}|$ are
shown in table 2.

| $\mu_{e}$ | $\sigma_{e}$
---|---|---
$Z_{\rm H}=[0.1\ 0.1]^{\rm T}$ | 0.2327 | 0.1949
$Z_{\rm H}=[0.3\ 0.5]^{\rm T}$ | 0.0777 | 0.0651
$Z_{\rm H}=[0.5\ 1]^{\rm T}$ | 0.0426 | 0.0358

Table 2: The mean and stand deviation of the driver’s steering performance
error for different values of $Z_{\rm H}$

.

Fig. 4: The driver’s steering performance for different values of $Z_{\rm H}$.
By increasing $Z_{\rm H}$, the driver’s torque $\tau_{\rm H}\approx\tau_{\rm
T}$ increases and the steering performance error $e=|\theta_{\rm
H}-\theta_{\rm S}|$ decreases.

In the following simulations, we select the human arms’ bio-mechanics as
either $Z_{\rm H}=[0.5\ 1]^{\rm T}$ representing a case when the human control
command is sufficient or $Z_{\rm H}=[0.1\ 0.1]^{\rm T}$ describing a situation
when the driver’s control command is insufficient. When the human’s control
command is sufficient (high $Z_{\rm H}$), the automation system is designed to
yield the control authority to the human operator. Specifically, we select the
weights of the cost function to be $w_{1}=0.2\hat{I}_{3},w_{2}=0_{3\times 3}$
and $w_{3}=0.8\hat{I}_{3}$ where $\hat{I}$ is the identify matrix. With
selecting these weights for the cost function, the automation system acts in
an auto-pilot mode [10]. On the other hand, when the human’s control command
is insufficient (low $Z_{\rm H}$), the automation system is designed to ensure
the safety of the task by avoiding the obstacle. In particular, we select the
weights of the cost function to be $w_{1}=0_{3\times 3},w_{2}=0.8\hat{I}_{3}$
and $w_{3}=0.2\hat{I}_{3}$. With choosing these weights for the cost function,
the automation system acts in the active safety mode [10].

Figure 5 demonstrates the problem of control authority negotiation in un-
cooperative mode. Specifically, the interaction between the human and
automation system in the adaptive haptic shared control paradigm is compared
with the interaction in non-adaptive haptic shared control wherein the
parameters of the automation’s impedance controller are invariant. The first
row shows the human’s intent $\theta_{\rm H}$, the automation’s intent
$\theta_{\rm A}$, and the steering angle $\theta_{\rm S}$. The second row
shows the human’s torque $\tau_{\rm H}$, the automation system’s torque
$\tau_{\rm A}$, and the torque measured by the torque sensor $\tau_{\rm T}$.
The third and fourth row shows the parameters of the damping and stiffness of
the human arm and automation’s impedance controller, respectively. In this
example, we select the human’s biomechanics to be $Z_{\rm H}=[0.5\ 1]^{\rm
T}$. It follows from Figure 4 that with $Z_{\rm H}=[0.5\ 1]^{\rm T}$, the
human’s control command is sufficient to maneuver the steering angle safely.
Therefore, we select the weights of the cost function such that the automation
acts in an auto-pilot mode [10] (i.e., $w_{1}=0.2\hat{I}_{3},w_{2}=0_{3\times
3}$ and $w_{3}=0.8\hat{I}_{3}$). In this example,we assumed the automation
system has an estimation of the human’s biomechanics and since the human
adopted a high impedance, the automation yields the control authority to the
human driver. In a non-adaptive haptic shared control paradigm, the
automation’s impedance controller parameters are selected to be the same as
the driver ($Z_{\rm H}=Z_{\rm A}$). It follows from Figure 5-A and 5-B that in
the non-adaptive haptic shared control paradigm when humans and automation are
in the uncooperative mode, their control commands are opposite and cancel out
each other ($\tau_{\rm A}\approx-\tau_{\rm H}$); and therefore, the steering
angle is almost zero ($\theta_{\rm S}\approx 0$). On the other hand, it
follows from the Figures 5-C and 5-D that in the adaptive haptic shared
control paradigm, the automation’ impedance controller parameters $Z_{\rm A}$
are reduced to minimize the disagreement $\tau_{\rm T}$. It follows from
Figure 5-B that the disagreement between humans and automation is effectively
smaller than the non-adaptive haptic shared control paradigm. Furthermore,
since the human’s adopted impedance is sufficient, the steering angle
$\theta_{\rm S}$ command follows the human’s intent $\theta_{\rm H}$.

Fig. 5: The outputs of the driver and automation system interaction within
non-adaptive and adaptive haptic shared control paradigms are compared. (A)
driver intent (red), autonomous system intent (blue) and steering column angle
(black) (B) Measured torque (black), human torque (red) and automation torque
(blue) (C) Damping coefficients of the agents (D) Stiffness coefficients of
the agents. The automation system act as autopilot in an uncooperative mode in
the adaptive haptic shared control paradigm. By reducing the automation’s
impedance controller gains, the automation system reduces the disagreement
between the human and automation system.

Figure 6 also demonstrates the interaction between the driver and the
automation system in the un-cooperative mode in non-adaptive and adaptive
haptic shared control paradigms. In this example, we selected the human’s
biomechanics to be $Z_{\rm H}=[0.1\ 0.1]^{\rm T}$. It follows from Figure 4
that with $Z_{\rm H}=[0.1\ 0.1]^{\rm T}$, the human’s control command is
insufficient to maneuver the steering angle safely. Therefore, we select the
weights of the cost function such that the automation acts in an active safety
mode [10] (i.e., $w_{1}=0_{3\times 3},w_{2}=0.8\hat{I}_{3}$ and
$w_{3}=0.2\hat{I}_{3}$). Similar to the previous example, we assumed the
automation system has an estimation of the human’s biomechanics and since the
human adopted a lower impedance, the automation re-gain the control authority
from the human driver. Also, similar to the previous example, in the non-
adaptive paradigm, the automation’s impedance controller parameters are
selected to be the same as the driver, and therefore, the control commands of
the human $\tau_{\rm H}$ and automation system $\tau_{\rm A}$ are opposite and
cancel out each other (see Figure 6-A). On the other hand, it follows from the
Figures 6-C and 6-D that in the adaptive haptic shared control paradigm, the
automation system’s impedance controller parameters $Z_{\rm A}$ is increased
to ensure the desired performance (e.g., avoiding an obstacle in the middle of
the road). Since the automation’s impedance control parameters are increased,
the disagreement $\tau_{\rm T}$ between the two agents is also increased (See
Figure 6-B). Furthermore, since $Z_{\rm A}$ is bigger than $Z_{\rm H}$, the
steering angle $\theta_{\rm S}$ is closer to the automation’s intent
$\theta_{\rm A}$ (see Figure 6-A).

Fig. 6: The outputs of the driver and automation system interaction within
non-adaptive and adaptive haptic shared control paradigms are compared. (A)
driver intent (red), autonomous system intent (blue) and steering column angle
(black) (B) Measured torque (black), human torque (red) and automation torque
(blue) (C) Damping coefficients of the agents (D) Stiffness coefficients of
the agents. The automation system act as autopilot in an uncooperative mode in
the adaptive haptic shared control paradigm. The automation system provides
enough control input for obstacle avoidance by increasing the automation’s
impedance controller gains.

Figure 7 demonstrates the interaction between the driver and the automation
system in the cooperative mode. In this example, we select the human’s
biomechanics to be $Z_{\rm H}=[0.5\ 1]^{\rm T}$. Since the human’s control
command is sufficient to maneuver the steering wheel safely, we select the
weights of the cost function as $w_{1}=0.2\hat{I}_{3},w_{2}=0_{3\times 3}$ and
$w_{3}=0.8\hat{I}_{3}$. With choosing these weights for the cost function, the
automation system acts in an auto-pilot mode [10]. In a non-adaptive haptic
shared control paradigm, the automation’s impedance controller parameters are
selected to be the same as the driver $(Z_{\rm A}=Z_{\rm H})$. Although the
torques of the driver $\tau_{\rm H}$ and the automation system $\tau_{\rm A}$
in cooperative mode are much smaller than torques in the uncooperative mode,
it follows from the Figures 7-B that by modulating the automation’ impedance
controller parameters $Z_{\rm A}$ the disagreement $\tau_{\rm T}$ even
decreased more.

Fig. 7: The outputs of the driver and automation system interaction within
non-adaptive and adaptive haptic shared control paradigms are compared. (A)
driver intent (red), autonomous system intent (blue) and steering column angle
(black) (B) Measured torque (black), human torque (red) and automation torque
(blue) (C) Damping coefficients of the agents (D) Stiffness coefficients of
the agents. The automation system act as autopilot in a cooperative mode in
the adaptive haptic shared control paradigm. By reducing the automation’s
impedance controller gains, the automation system reduces the disagreement
between the human and automation system.

Figure 8 also demonstrates the interaction between the driver and the
automation system in non-adaptive and adaptive haptic shared control paradigms
in the cooperative mode. In this example, we select the human’s biomechanics
to be $Z_{\rm H}=[0.1\ 0.1]^{\rm T}$. Since the human’s control command is
insufficient to maneuver the steering wheel safely, we select the weights of
the cost function to be $w_{1}=0_{3\times 3},w_{2}=0.8\hat{I}_{3}$ and
$w_{3}=0.2\hat{I}_{3}$. With choosing these weights for the cost function, the
automation system acts in the active safety mode [10]. It follows from the
Figures 8-C and 8-D that in the adaptive haptic shared control paradigm, the
automation’ impedance controller parameters $Z_{\rm A}$ are increased to
ensure the desired performance (e.g., providing the required control inputs).

Fig. 8: he outputs of the driver and automation system interaction within non-
adaptive and adaptive haptic shared control paradigms are compared. (A) driver
intent (red), autonomous system intent (blue) and steering column angle
(black) (B) Measured torque (black), human torque (red) and automation torque
(blue) (C) Damping coefficients of the agents (D) Stiffness coefficients of
the agents. The automation system act as active safety in a cooperative mode
in the adaptive haptic shared control paradigm. By increasing the automation’s
impedance controller gains, the automation system provides enough control
input for the obstacle avoidance.

Figure 9 shows a scenario wherein all the four interaction modes are
integrated into one unified framework. The sequence of these interaction modes
is cooperative-active safety, uncooperative autopilot, uncooperative-active
safety, and cooperative-auto pilot mode. It follows from Figure 9 that
initially, the human and automation system are in cooperative mode; however,
the human’s torque input is insufficient (low $Z_{\rm H}$). The automation
system increases its impedance to provide the required control command. In the
next mode, the human and robot are in the uncooperative mode; however, the
human’s torque input is sufficient (high $Z_{\rm H}$). The automation system
reduces its impedance to minimize the disagreement with the driver. In the
third mode, the human and robot are in the uncooperative mode; however, the
human’s torque input is insufficient (low $Z_{\rm H}$). The automation system
again increases its impedance to ensure safety at the expense of fighting with
the driver (high $\tau_{\rm T}$). Finally, the human and robot are again in
the cooperative mode in the fourth mode; however, the human’s torque input is
sufficient (high $Z_{\rm H}$). The automation system reduces its impedance and
yields the control authority to the driver. It follows from Figure 9 that in
the proposed adaptive haptic shared paradigm, by recognizing the interaction
mode, the appropriate set of weights for the cost function can be determined
and automation can continuously adjust its impedance controller parameters
such that not only the safety is ensured, but also the customizability feature
of the automation system is improved.

Fig. 9: The human and automation’s interaction in the four interaction modes.
The sequence of these interaction modes is cooperative-active safety (shaded
blue), uncooperative autopilot (shaded orange), uncooperative-active safety
(shaded yellow), and cooperative-auto pilot mode (shaded green). The outputs
of the driver and automation system interaction within non-adaptive and
adaptive haptic shared control paradigms are compared. (A) driver intent
(red), autonomous system intent (blue) and steering column angle (black) (B)
Measured torque (black), human torque (red) and automation torque (blue) (C)
Damping coefficients of the agents (D) Stiffness coefficients of the agents.
In the proposed adaptive haptic shared paradigm, by recognizing the
interaction mode, the appropriate set of weights for the cost function can be
determined, and automation can continuously adjust its impedance controller
parameters such that not only the safety is ensured, but also the
customizability feature of the automation system is improved.

##  5 Conclusions and Future Studies

In this paper, an adaptive haptic shared control paradigm is modeled wherein
the human and automation system each is modeled as an agent with a two-level
hierarchical control approach. To allow the co-robot to dynamically and
continuously negotiate the control authority with the driver, we developed an
optimal control approach. Specifically, we employed a nonlinear model
predictive control to determine the optimal values of the automation’s
impedance controller. To solve the nonlinear control approach, we used the
Continuation-GMRES method. A series of numerical simulations are conducted to
demonstrate the effectiveness of the adaptive haptic shared control paradigm
in negotiating the control authority. Our simulations involved two conditions
when the control authority shifts from the human to the automation system
(active safety mode), as well as when the control authority shifts from the
automation system to human (auto-pilot mode). Also, we included two scenarios
where the human and automation are in cooperative and uncooperative mode.

A set of challenges needs to be addressed prior to implementing the proposed
shared control paradigm in real-world applications. These challenges are the
subjects of our future studies. It follows from Figure 3; the current state of
the human partner’s bio-mechanics is assumed to be known. Therefore, it is
essential to develop an approach to estimate the parameters of human
biomechanics and track them in real-time as they vary. Furthermore, it is
crucial to create a method that allows recognizing the current interaction
mode in real-time using the data acquired by on-board sensors [38]. By knowing
the interaction mode, an appropriate cost function can be defined, and the
automation system can adjust its behavior based on this cost function.
Additionally, the proposed nonlinear model predictive control method should be
expanded to consider uncertainty in the model parameters and the driver’s
behavior. Also, while the main focus of this paper has been to develop a
control method for modulating the impedance controller parameters, knowing how
and when to attempt transitions, is another challenge. In this paper, we
arbitrarily set the parameters of $\alpha_{\rm A}$ and $\beta_{\rm A}$.
However, it is essential to test various transition schemes, including
discrete and slow or fast continuous transitions, to determine an optimal
speed for exchanging the control authority[39]. Moreover, while this paper is
focused on modulating impedance control parameters to allow a co-robot to
communicate with a human partner, it is also essential to develop a model that
can capture the interaction between the human and the automation system at a
higher-level (intent level). Finally, the developed models shall be tested and
refined in a hardware-in-the-loop test-bed.

## References

  * [1] A. Agah, Human interactions with intelligent systems: research taxonomy, Computers & Electrical Engineering 27 (1) (2000) 71–107.
  * [2] A. Albu-Schaffer, A. Bicchi, G. Boccadamo, R. Chatila, A. De Luca, A. De Santis, G. Giralt, G. Hirzinger, V. Lippiello, R. Mattone, et al., Physical human-robot interaction in anthropic domains: safety and dependability, in: Proceeding 4th IARP/IEEE-EURON Workshop on Technical Challenges for Dependable Robots in Human Environments, 2005.
  * [3] P. Beyl, K. Knaepen, S. Duerinck, M. Van Damme, B. Vanderborght, R. Meeusen, D. Lefeber, Safe and compliant guidance by a powered knee exoskeleton for robot-assisted rehabilitation of gait, Advanced Robotics 25 (5) (2011) 513–535.
  * [4] P. Boehm, A. H. Ghasemi, S. O’Modhrain, P. Jayakumar, R. B. Gillespie, Architectures for shared control of vehicle steering, IFAC-PapersOnLine 49 (19) (2016) 639–644.
  * [5] A. H. Ghasemi, M. Johns, B. Garber, P. Boehm, P. Jayakumar, W. Ju, R. B. Gillespie, Role negotiation in a haptic shared control framework, in: Adjunct Proceedings of the 8th International Conference on Automotive User Interfaces and Interactive Vehicular Applications, ACM, 2016, pp. 179–184.
  * [6] A. H. Ghasemi, H. Rastgoftar, Adaptive haptic shared control framework using markov decision process, in: Dynamic Systems and Control Conference (DSCC), 2018, ASME, 2018.
  * [7] A. H. Ghasemi, Game theoretic modeling of a steering operation in a haptic shared control framework, in: Dynamic Systems and Control Conference (DSCC), 2018, ASME, 2018.
  * [8] A. H. Ghasemi, P. Jayakumar, R. B. Gillespie, Shared control architectures for vehicle steering, Cognition, Technology & Work (2019) 1–11.
  * [9] N. Vitiello, T. Lenzi, S. Roccella, S. M. M. De Rossi, E. Cattin, F. Giovacchini, F. Vecchi, M. C. Carrozza, Neuroexos: A powered elbow exoskeleton for physical rehabilitation, IEEE Transactions on Robotics 29 (1) (2013) 220–235.
  * [10] A. Bhardwaj, A. H. Ghasemi, Y. Zheng, H. Febbo, P. Jayakumar, T. Ersal, J. L. Stein, R. B. Gillespie, Who’s the boss? arbitrating control authority between a human driver and automation system, Transportation Research Part F: Traffic Psychology and Behaviour 68 (2020) 144–160.
  * [11] V. Izadi, A. Yeravdekar, A. Ghasemi, Determination of roles and interaction modes in a haptic shared control framework, in: ASME 2019 Dynamic Systems and Control Conference, American Society of Mechanical Engineers Digital Collection, 2019.
  * [12] R. B. Gillespie, M. O’Modhrain, P. Tang, D. Zaretzky, C. Pham, The virtual teacher, in: Proceedings of the ASME Dynamic Systems and Control Division, Vol. 64, American Society of Mechanical Engineers, 1998, pp. 171–178.
  * [13] D. P. Haanpaa, G. P. Boston, An advanced haptic system for improving man-machine interfaces, Computers & Graphics 21 (4) (1997) 443–449.
  * [14] S. Park, R. D. Howe, D. F. Torchiana, Virtual fixtures for robotic cardiac surgery, in: International Conference on Medical Image Computing and Computer-Assisted Intervention, Springer, 2001, pp. 1419–1420.
  * [15] R. Ikeura, T. Moriguchi, K. Mizutani, Optimal variable impedance control for a robot and its application to lifting an object with a human, in: Proceedings. 11th IEEE International Workshop on Robot and Human Interactive Communication, IEEE, 2002, pp. 500–505.
  * [16] R. Ikeura, A. Morita, K. Mizutani, Variable damping characteristics in carrying an object by two humans, in: Proceedings 6th IEEE International Workshop on Robot and Human Communication. RO-MAN’97 SENDAI, IEEE, 1997, pp. 130–134.
  * [17] H. Arai, T. Takubo, Y. Hayashibara, K. Tanie, Human-robot cooperative manipulation using a virtual nonholonomic constraint, in: Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No. 00CH37065), Vol. 4, IEEE, 2000, pp. 4063–4069.
  * [18] K. B. Reed, M. A. Peshkin, Physical collaboration of human-human and human-robot teams, IEEE Transactions on Haptics 1 (2) (2008) 108–120.
  * [19] R. Groten, D. Feth, H. Goshy, A. Peer, D. A. Kenny, M. Buss, Experimental analysis of dominance in haptic collaboration, in: Robot and Human Interactive Communication, 2009. RO-MAN 2009. The 18th IEEE International Symposium on, IEEE, 2009, pp. 723–729.
  * [20] N. Stefanov, A. Peer, M. Buss, Online intention recognition for computer-assisted teleoperation, in: Robotics and Automation (ICRA), 2010 IEEE International Conference on, IEEE, 2010, pp. 5334–5339.
  * [21] S. O. Oguz, A. Kucukyilmaz, T. M. Sezgin, C. Basdogan, Haptic negotiation and role exchange for collaboration in virtual environments, in: Haptics Symposium, 2010 IEEE, IEEE, 2010, pp. 371–378.
  * [22] S. O. Oguz, A. Kucukyilmaz, T. M. Sezgin, C. Basdogan, Supporting negotiation behavior with haptics-enabled human-computer interfaces, IEEE transactions on haptics 5 (3) (2012) 274–284.
  * [23] T. B. Sheridan, Adaptive automation, level of automation, allocation authority, supervisory control, and adaptive control: Distinctions and modes of adaptation, IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans 41 (4) (2011) 662–667.
  * [24] T. Inagaki, et al., Adaptive automation: Sharing and trading of control, Handbook of cognitive task design 8 (2003) 147–169.
  * [25] J. Lee, A. Ajoudani, E. M. Hoffman, A. Rocchi, A. Settimi, M. Ferrati, A. Bicchi, N. G. Tsagarakis, D. G. Caldwell, Upper-body impedance control with variable stiffness for a door opening task, in: 2014 IEEE-RAS International Conference on Humanoid Robots, IEEE, 2014, pp. 713–719.
  * [26] L. Righetti, M. Kalakrishnan, P. Pastor, J. Binney, J. Kelly, R. C. Voorhies, G. S. Sukhatme, S. Schaal, An autonomous manipulation system based on force control and optimization, Autonomous Robots 36 (1-2) (2014) 11–30.
  * [27] N. Adhikary, C. Mahanta, Hybrid impedance control of robotic manipulator using adaptive backstepping sliding mode controller with pid sliding surface, in: 2017 Indian Control Conference (ICC), IEEE, 2017, pp. 391–396.
  * [28] R. J. Anderson, M. W. Spong, Hybrid impedance control of robotic manipulators, IEEE Journal on Robotics and Automation 4 (5) (1988) 549–556.
  * [29] P. Balatti, D. Kanoulas, G. F. Rigano, L. Muratore, N. G. Tsagarakis, A. Ajoudani, A self-tuning impedance controller for autonomous robotic manipulation, in: 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, 2018, pp. 5885–5891.
  * [30] H. Mori, K. Seki, Continuation newton-gmres power flow with linear and nonlinear predictors, in: 2007 Large Engineering Systems Conference on Power Engineering, IEEE, 2007, pp. 171–175.
  * [31] Y. Soneda, T. Ohtsuka, Nonlinear moving horizon state estimation with continuation/generalized minimum residual method, Journal of guidance, control, and dynamics 28 (5) (2005) 878–884.
  * [32] T. Ohtsuka, H. Fujii, Stabilized continuation method for solving optimal control problems, Journal of Guidance, Control, and Dynamics 17 (5) (1994) 950–957.
  * [33] T. Ohtsuka, Continuation/gmres method for fast algorithm of nonlinear receding horizon control, in: Proceedings of the 39th IEEE Conference on Decision and Control (Cat. No. 00CH37187), Vol. 1, IEEE, 2000, pp. 766–771.
  * [34] C. T. Kelley, Iterative methods for linear and nonlinear equations, Vol. 16, Siam, 1995.
  * [35] T. Ohtsuka, A continuation/gmres method for fast computation of nonlinear receding horizon control, Automatica 40 (4) (2004) 563–574.
  * [36] A. Bhardwaj, B. Gillespie, J. Freudenberg, Estimating rack force due to road slopes for electric power steering systems, in: 2019 American Control Conference (ACC), IEEE, 2019, pp. 328–334.
  * [37] R. A. Tapia, Role of slack variables in quasi-newton methods for constrained optimization, Tech. rep., Rice Univ., Houston, TX (USA). Dept. of Mathematical Sciences (1979).
  * [38] A. Kucukyilmaz, I. Issak, Online identification of interaction behaviors from haptic data during collaborative object transfer, IEEE Robotics and Automation Letters 5 (1) (2019) 96–102.
  * [39] A. Kucukyilmaz, et al., Haptic role allocation and intention negotiation in human-robot collaboration, Ph.D. thesis, Koç University (2013).