Sensor Observability Analysis for Maximizing Task-Space Observability of Articulated Robots

Christopher Yee Wong, Member, IEEE and Wael Suleiman, Member, IEEE

This work was supported in part by the Fonds de Recherche du Québec - Nature et technologies. (Corresponding author: Christopher Yee Wong.)
C. Y. Wong and W. Suleiman are with the Université de Sherbooke, Sherbrooke, Canada (e-mail: , ).

In this paper, we propose a novel performance metric for articulated robotic mechanisms called the sensor observability analysis and the resulting sensor observability index.
The goal is to analyse and evaluate the performance of robot-mounted distributed directional or axial-based sensors to observe specific axes in task space as a function of joint configuration.
For example, joint torque sensors are often used in serial robot manipulators and assumed to be perfectly capable of estimating end effector forces, but certain joint configurations may cause one or more task-space axes to be unobservable as a result of how the joint torque sensors are aligned.
The proposed sensor observability analysis provides a method to analyse the cumulative quality of a robot configuration to observe the task space, akin to forward kinematics for sensors.
The resultant metrics can then be used in optimization and in null-space control to avoid sensor observability singular configurations or to maximize sensor observability in particular directions.

Parallels are drawn between sensor observability and the traditional kinematic Jacobian for the particular case of joint torque sensors in serial robot manipulators.

Compared to kinematic analysis using the Jacobian in serial manipulators, sensor observability analysis is shown to be more generalizable in terms of analysing non-joint-mounted sensors and can potentially be applied to sensor types other than for force sensing, e.g., link-mounted proximity sensors.

Simulations and experiments using a custom 3-DOF robot and the Baxter robot demonstrate the utility and importance of sensor observability in physical interactions.

IROS KEYWORDS:
#1 KH Formal Methods in Robotics and Automation
#2 AK Kinematics
#3 FC Robot Safety

DM Collision Avoidance
RS Methods and Tools for Robot System Design

Force and tactile sensing,
formal methods in robotics and automation,

physical interaction,
robot safety

§ INTRODUCTION

Intro plan:

Internal sensors -> external measurements

Sensors are invaluable tools for robots as they are their way to observe themselves (introspection) and the world around them (extrospection).
Unfortunately, sensors have limitations beyond their technical specifications, particularly directional sensors.
Directional sensors are those with explicit axes along which measurements are performed, for example joint torque sensors, strain gauges, accelerometers, gyroscopes, distance sensors, cameras, etc.

While optimal sensor placement is an active area of research for mobile robots and sensor networks [1, 2],
the same cannot be said for articulated and reconfigurable robots [3].
It is often a common assumption for articulated and reconfigurable robots that, given the presence of sensors, all task-space quantities are fully observable at all times.
Consider a serial robotic manipulator with joint torque sensors at each joint; one would normally assume that the end effector (EE) forces could be reconstructed from the joint torque sensors [4, 5] for use in compliant control either directly [6] or through machine learning [7].
In fact, this assumption is not always true.
It is possible that particular robot configurations lead to cases where the joint torque sensors are unable to observe certain interaction forces at the end effector [8].
A similar assumption may be present in cases where a robot is equipped with an array of distributed distance [9], proximity [10], or contact [11, 12] sensors on the arms.
If these sensors are sparsely placed, then certain robot configurations may lead to potentially unobserved directions.

If a robot unknowingly enters a configuration where observations along certain external task-space axes can no longer be made, the end result could be disastrous for the robot, the task, or the environment.
These situations must be avoided in especially critical applications such as physical human-robot interaction and minimally invasive surgery.
Although the use of multi-axis sensors, e.g. 6-axis force-torque sensors and 3-axis accelerometers, automatically observes all possible task-space axes and renders the issue of task-space observability trivial, these advanced sensors may not always be available.
For example, 6-axis force-torque sensors are not available for many lower-cost systems given their cost or their size makes them infeasible to mount, and alternative methods must be used [13].
Additionally, interactions with the robot body may not be observed if the sensor is mounted at the end effector.

Comparison of a) joint axes $\bm{\hat{z}}_k$ and kinematic manipulability $w_k$ and b) positioning of joint-mounted and non-joint-mounted sensors $\bm{\hat{s}}^i$ and the sensor observability $o$ and their respective ellipsoids for the same robot configuration.

Thus, a tool is required to analyse a particular robot configuration and provide a measure or index on the task-space observability of the configuration.
Parallels can be drawn with the various kinematic performance measures used with serial robots [14], particularly the well-known concept of kinematic robot manipulability [15], a quality measure of a robot's mobility and closeness to kinematic singularities.
In this paper, we extend this concept to task-space observability of robots based on the robot joint configuration and sensor placement, which may differ from the joint axes.
As this issue of task-space sensor observability is highly dependent on the sensor configuration and kinematic structure of the robot, not all robots are equally affected.
Such an analysis is especially important for robots that do not have enough sensors to cover all task space dimensions reliably and must prioritize one over others.
According to the semantics defined in [14], sensor observability analysis is classified as a local kinematic and intrinsic performance index.

§.§ Background

To note, vectors and matrices are represented by bold-faced lower case and upper case letters, respectively, whereas scalar values are not.

The traditional analytical Jacobian matrix $\bm{J(q)} \in \mathbb{R}^{{n_t} \times {n_q}}$ is defined as the matrix of first order partial derivatives relating ${n_q}$ joint-space velocities $\bm{\dot{q}}$ to ${n_t}$ task-space velocities $\bm{\dot{x}}$ [16]:

\begin{equation}
\bm{\dot{x}} = \bm{J(q)}\bm{\dot{q}}, \ \ \bm{J(q)} = \begin{bmatrix}
\frac{\partial x_1}{\partial q_1} &
\dots &
\frac{\partial x_1}{\partial q_{n_q}} \\[1ex] % <-- 1ex more space between rows of matrix
\vdots &
\ddots &
\vdots \\[1ex]
\frac{\partial x_{n_t}}{\partial q_1} &
\dots &
\frac{\partial x_{n_t}}{\partial q_{n_q}}
\end{bmatrix}
\label{eq:Jreg}
\end{equation}

In typical cases, the task space is defined as end effector position (${n_t} = 3$) or pose (${n_t} = 6$).
For readability, we will continue the manuscript without explicitly writing the Jacobian's dependency on the vector of joints $\bm{q}$, in other words $\bm{J(q)} \rightarrow \bm{J}$.
The Jacobian can be used as a tool to measure different properties of the robot, notably to verify whether a specific robot configuration is at a kinematic singularity.

The kinematic manipulability index $w_k$, commonly referred to as simply the manipulability, is a scalar quality measure of the robot's ability move in the task space based on the current joint configuration.
Manipulability can also be used as a scalar measure of a robot's closeness to a kinematic singularity [15].
It is an important tool that allows postures to be evaluated based on their mobility:

\begin{equation}
w_k = \sqrt{det(\bm{JJ}^T)}% = \sigma_1 \sigma_2 \cdots \sigma_{n_t}
\label{eq:manip_kin}
\end{equation}

The manipulability index can be exploited in different ways, typically with optimization algorithms to ensure that the robot motions stay away from any singularities [17].

While the index $w_k$ is a scalar measure, the manipulability ellipsoid, as described in [15, 18] and shown in Fig. <ref>, is a volumetric representation of mobility for a specific robot configuration that is proportional to the length of the ellipsoid principal axes.
Mobility indicates the ease with which the end effector can move in a certain direction in task space proportional to joint motion.
As such, the manipulability ellipsoid itself can be used as a target either as the main task or as a redundancy resolution sub-task [19, 20].
Controlling the manipulability ellipsoid ensures that a certain level of manipulability is present, especially if a particular shape is desired.

The concept of manipulability has greatly evolved to encompass different calculation methods and applications since its early introduction by Yoshikawa [15].
For example, some authors modified the concept to instead calculate the manipulability of the centre of mass of floating base robots [21, 22].
Manipulability has also been extended to multi-robot closed-chain systems [23] and continuum robots [24].

§.§ Contributions

In the same vein as the kinematic manipulability index and ellipsoid, we introduce the novel concept of sensor observability analysis and the resulting sensor observability index and sensor observability ellipsoid.

The proposed concepts qualitatively evaluate, based on the current joint configuration, the cumulative ability of distributed directional sensors on an articulated robot to measure external quantities in the task space, akin to forward kinematics but for sensors.
While the analysis of distributed sensing is thoroughly studied in sensor networks and swarm robotics, the analysis introduced here is from the viewpoint of a single multi-jointed and articulated robot.
As an example, the type of directional sensors to be analysed may include force-sensing elements, accelerometers, or distance sensors.
Sensor observability analysis would then provide a performance metric to determine if the onboard sensors are able to observe interaction forces, accelerations, or object distance in all directions, or if the current configuration is potentially blind to forces, accelerations, or objects in a certain direction.
The derivations in this paper use force sensing as the case study for the observability of end effector forces [4, 5] as it is the most intuitive case.
Other types of axis-based sensors, like those mentioned above, will be explicitly developed in future work.
The proposed formulation also allows the analysis of non-joint-mounted sensors, for example strain gauges, accelerometers, or distance sensors placed on a link, as shown in Fig. <ref>.
We also perform simulations and experiments to demonstrate the differences between sensor observability analysis and traditional kinematic analysis and present certain cases where sensor observability is superior.

While a preliminary version of this paper was presented at a conference [25], this paper expands the concept of sensor observability by including a deeper analysis and significantly more examples of how sensor observability can be practically used.

§.§ Manuscript Organization

This paper first provides the analytical framework in Sec. <ref> for defining task-space sensor observability based on the cumulative transformations of each individual sensor.
The peculiarities of sensor observability analysis, including analogies to the traditional Jacobian, are discussed in Sec. <ref>.
Next in Sec. <ref>, we showcase the utility of sensor observability analysis through simulations and experiments on both a custom 3 degree of freedom (DOF) robot and the Baxter robot.
Finally, closing comments are provided in Sec. <ref>.

§ SENSOR OBSERVABILITY ANALYSIS

Prior to introducing the concept of sensor observability, we would like to note that the analysis presented here assumes that joints do not have mechanical limits, and thus in this work we ignore special treatment of sensors that may be affected by joint limits.
Furthermore, we assume that sensors are bidirectional, in the sense that they are capable of measuring along both positive and negative directions of their sensing axis (for example, laser-based distance sensors are unidirectional, whereas accelerometers and joint torque sensors are bidirectional).
Unidirectional sensors require more complex sensor axis analyses and will be addressed in future work.

Particularly in the case of force detection, barring dynamics and inertial effects, there must be an equal and opposite reaction force to properly detect forces, e.g. constraint forces from ground contact.
As such, fixed base robots have full constraint forces in all directions.
Conversely, floating base and mobile robots do not always have the luxury of perfect constraint forces.
Friction cones must be taken into account and any slippage or lack of adequate friction forces will affect force detection and control [26].
Thus, to simplify this initial analysis of sensor observability, we will only consider fixed base open kinematic chain serial manipulators for the time being to remove the question of imperfect constraint forces.
Floating base robots and slippage will be examined in future work.

A summary of the method is presented in Algorithm <ref>.

Summary of Sensor Observability (SO)
NB: Sensor $i \in 1...n_s$ and task-space axis $j \in 1...n_t$
[1]

$\bm{\hat{s}}^{\prime,i}$ for $i \in 1...n_s$  Def. local sensor axes (Sec <ref>)
$\bm{\hat{s}}^i \leftarrow \bm{R}\bm{\hat{s}}^{\prime,i}$ Rotate to match task frame
$\bm{\tilde{s}}^i \leftarrow T_\square(\bm{\hat{s}}^i, \bm{r}^i)$ Sensor-type transf. (Sec <ref>)
$\tilde{s}^i_j = f(\tilde{s}^i_j, s^{i,*}_j)$  Noise thresholding (Sec <ref>)
$\bm{S} = \begin{bmatrix} \bm{\tilde{s}}^1 \cdots \bm{\tilde{s}}^{n_s} \end{bmatrix}$  SO matrix (Sec <ref>)
$\bm{s} \leftarrow \Gamma_\square(\bm{S})$ SO func. & System SO (Sec <ref>)

$o \leftarrow \prod_{j=1}^{n_t} \bm{s}_j$ SO index (Sec <ref>)

§.§ Local Sensor Axis $\bm{\hat{s}}^{i,\prime}$ and Rotated Sensor Axis $\bm{\hat{s}}^i$

First, for each individually measured sensor axis $i \in 1...n_s$, as seen in Fig. <ref>, we define a local sensor axis vector $\bm{\hat{s}}^{\prime,i} \in \mathbb{R}^{n_t}$, where each element indicates whether a task-space axis is observed or not by taking on a value between $\{0,1\}$.
Note the difference between $n_s$, the number of sensor axes, and $n_t$, the number of task space axes.
A zero value means that that particular axis is not observed, whereas a value of one means that the axis is directly observed, i.e. the sensor axis is parallel with the task-space axis.
Values between 0 and 1 mean that the task space axis is only partially observed by an off-axis sensor.
For example, a single one-axis joint torque sensor could be seen as an element of $ SE(3)$ with $n_t = 6$ and represented by:

\begin{equation}
\bm{\hat{s}}^{\prime}_{\tau z} = \begin{bmatrix} \bm{\hat{s}}_{p,{\tau z}}^{\prime} \\ \bm{\hat{s}}_{\theta, {\tau z}}^{\prime} \end{bmatrix} = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}^T
\label{eq:s_JTS}
\end{equation}

where $\bm{\hat{s}}^{\prime}_{\tau z}$ is in the local joint frame according to Denavit-Hartenberg (DH) parameters [27] and $(\cdot)_p$ and $(\cdot)_\theta$ subscripts are the translational and rotational components, respectively. Similarly, a single axis load cell in the $x$-axis is represented by $\bm{\hat{s}}^{\prime}_{fx} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 \end{bmatrix}^T$.
Multi-axis sensors, e.g. a 3-axis load cell that can detect forces in the $xyz$-axes but not torques, would be represented by the set of three individual sensor axis vectors, one in each $x$-, $y$-, and $z$-axis, i.e. $\{\bm{\hat{s}}^{\prime}_{fx}, \bm{\hat{s}}^{\prime}_{fy}, \bm{\hat{s}}^{\prime}_{fz}\}$.

In the same vein, a 6-axis force-torque sensor would be the set of six individual sensor axes represented by $\{\bm{\hat{s}}^{\prime}_{fx}, \bm{\hat{s}}^{\prime}_{fy}, \bm{\hat{s}}^{\prime}_{fz}, \bm{\hat{s}}^{\prime}_{\tau x}, \bm{\hat{s}}^{\prime}_{\tau y}, \bm{\hat{s}}^{\prime}_{\tau z} \}$.

The reason for this separation is that it simplifies the axis normalization process during rotations and transformations.

It is important to note that the $n_s$ is defined as the number of individually measured sensor axes and not the number of physical sensors.
For example, a robot with two physical 3-axis sensors would have $n_s = 6$, where sensor frames $\mathcal{F}_i \in i = \{1,2,3\}$ and $\mathcal{F}_i \in i = \{4,5,6\}$ are located at their respective physical sensors.
Defining $n_s$ in this manner simplifies the derivations that follow.

The prime symbol in $\bm{\hat{s}}^{\prime,i}$ denotes that it is defined in the local $i$-th sensor frame $\mathcal{F}_i$.
A rotated sensor axis vector $\bm{\hat{s}}^i$ without the prime symbol represents the set of axis vectors rotated to the task frame $\mathcal{F}_{EE}$.
For demonstration purposes, we set $\mathcal{F}_{EE}$ at the end effector, but aligned with the world frame.
All local sensor axis vectors are rotated to match the orientation of the task frame $\mathcal{F}_{EE}$, i.e. $\bm{\hat{s}}^i = \bm{R}\bm{\hat{s}}^{\prime,i}$.

§.§ Sensor Transformation $T_\square(\bm{\hat{s}}^i, \bm{r}^i)$

We define the sensor transformation function $T_\square(\bm{\hat{s}}^i, \bm{r}^i)$ as a sensor type and physics-dependent transformation that maps individual sensors from their local sensor axes to the task-space.
For example, when discussing wrenches and force sensing, torque-sensing axes may also observe linear forces at $\mathcal{F}_{EE}$ if there exists a moment arm, analogous to $\bm{f} = \bm{\tau} \times \bm{r}$.
Thus, a single generalized force-torque sensor $\bm{\hat{s}}^i$ would undergo the following force sensor transformation $T_f(\bm{\hat{s}}^i, \bm{r}^i)$, designated by the subscript $f$, in the task frame:

\begin{equation}
\begin{aligned}
%\bm{\hat{s}} = \begin{bmatrix} \bm{\hat{s}}_{p} \\ \bm{\hat{s}}_{\theta} \end{bmatrix} \rightarrow
%\bm{\tilde{s}}^i = \begin{bmatrix} \bm{\tilde{s}}_{p,i} \\ \bm{\tilde{s}}_{\theta,i} \end{bmatrix} = T_f(\bm{\hat{s}}^i) = \begin{bmatrix} \lvert\bm{\hat{s}}_{p,i}\rvert + \lvert\bm{r}_i \times \bm{\hat{s}}_{\theta,i}\rvert \\ \lvert\bm{\hat{s}}_{\theta,i}\rvert \end{bmatrix}
%\bm{\tilde{s}}_i = \begin{bmatrix} \bm{\tilde{s}}_{p,i} \\ \bm{\tilde{s}}_{\theta,i} \end{bmatrix} = T_f(\bm{\hat{s}}_i) = \begin{bmatrix} \lvert\bm{\hat{s}}_{p,i}\rvert + \sum{\lvert\bm{r}_i \times \{\bm{\hat{s}}_{\theta,i}\}\rvert} \\ \lvert\bm{\hat{s}}_{\theta,i}\rvert \end{bmatrix}
%\bm{\tilde{s}}^i = \begin{bmatrix} \bm{\tilde{s}}^i_{p} \\ \bm{\tilde{s}}^i_{\theta} \end{bmatrix} = T_{f}(\bm{\hat{s}}^i) = \begin{bmatrix} \lvert\bm{\hat{s}}^i_{p}\rvert + \frac{\lvert\bm{r}^i \times \bm{\hat{s}}^i_{\theta}\rvert}{\|\bm{r}^i \times \bm{\hat{s}}^i_{\theta}\|}  \\ \lvert\bm{\hat{s}}^i_{\theta}\rvert \end{bmatrix}
\bm{\tilde{s}}^i &= \begin{bmatrix} \bm{\tilde{s}}^i_{p} \\ \bm{\tilde{s}}^i_{\theta} \end{bmatrix} \\
&= T_{f}(\bm{\hat{s}}^i, \bm{r}^i) =
\begin{cases}
\begin{bmatrix} \lvert\bm{\hat{s}}^i_{p}\rvert + \bm{0} \\ \lvert\bm{\hat{s}}^i_{\theta}\rvert \end{bmatrix} \text{,} &\text{if }  \bm{\hat{s}}^i_{\theta} \times \bm{r}^i = \bm{0} \\ %      \bm{r}^i \times \bm{\hat{s}}^i_{\theta}
\begin{bmatrix} \lvert\bm{\hat{s}}^i_{p}\rvert + \frac{\lvert\bm{\hat{s}}^i_{\theta} \times \bm{r}^i\rvert}{\|\bm{\hat{s}}^i_{\theta} \times \bm{r}^i\|}  \\ \lvert\bm{\hat{s}}^i_{\theta}\rvert \end{bmatrix} \text{,} &\text{otherwise.} \\
\end{cases}
\label{eq:senstransf}
\end{aligned}
\end{equation}

where $\bm{r}^i$ is the position vector from the $i$-th sensor axis to the task frame $\mathcal{F}_{EE}$, $\lvert \cdot \rvert$ is the element-wise absolute function[The derivative of the absolute function is not defined at 0, which affects the derivative terms. Thus, practically, one should use an alternate representation to the absolute function that is smooth around 0, e.g. $\lvert x \rvert \approx x \text{tanh}(cx)$ where $c$ is a positive constant.], and $\|\cdot\|$ is the Euclidean norm to normalize the cross product as directional analysis of sensor axes should not be influenced by the magnitude of the moment arm.
The piece-wise defined function is used in the case where $\bm{r}^i$ and $\bm{\hat{s}}^i_{\theta}$ are collinear such that $\|\bm{\hat{s}}^i_{\theta} \times \bm{r}^i\| = 0$, which would otherwise result in an undefined fraction.
Note that the hat operator $\bm{\hat{\cdot}}$ designates a locally-defined sensor axis, whereas the tilde operator $\bm{\tilde{\cdot}}$ designates the transformed sensor axis.

The method to interpret the transformed quantity $\bm{\tilde{s}}^i$ is as follows: each element of $\bm{\tilde{s}}^i$ represents a task-space axis that is observed by the various locally-defined terms of $\bm{\hat{s}}^i$ that it contains.
For example, in (<ref>), given that both $\bm{\hat{s}}^i_{p}$ and $\bm{\hat{s}}^i_{\theta}$ terms appear in the translational force term $\bm{\tilde{s}}^i_{p}$, any translational forces at the EE would be observed by both the linear and rotational axes of the $i$-th sensor (if they exist).

The use of the absolute function is two-fold: a) we assume that the sensors are bidirectional and b) it ensures that sensor axes do not subtract from each other.
It is important to note that the exact transformation $T_\square(\cdot)$ is dependent on the sensor type and the laws of physics that govern it.
Certain transformation functions may simply be the identity function.
Other types of systems and transformations will be explored in future work.

§.§ Sensor Observability Matrix $\bm{S}$, System Vector $\bm{s}$, Function $\Gamma_\square$, Index $o$ and Ellipsoid

We define the sensor observability matrix $\bm{S} \in \mathbb{R}^{{n_t} \times {n_s}}$ as the matrix of column vectors of the transformed sensor axis vectors $\bm{\tilde{s}}^i$:

\begin{equation}
\bm{S} = \begin{bmatrix} \bm{\tilde{s}}^1 \cdots \bm{\tilde{s}}^{n_s} \end{bmatrix}
\label{eq:sensmatrix}
\end{equation}

Next, we define the overall system sensor observability vector $\bm{s} \in \mathbb{R}^{n_t \times 1}$ as the cumulative sensing capabilities of all individual sensors of the system in the task frame $\mathcal{F}_{EE}$ with $n_t$ task axes.
The sensor observability function $\Gamma_\square(\bm{S})$ calculates $\bm{s}$ by synthesizing all $n_s$ transformed sensor axes $\bm{\tilde{s}}^i$ according to a desired metric for analysis.

Here, we give example definitions of $\Gamma_\square(\bm{S})$.
Recall that $\bm{s} = \begin{bmatrix} s_1 & \cdots & s_j \end{bmatrix}^T$, where $j \in 1...n_t$.

§.§.§ Row-wise sum function

\begin{equation}
\bm{s} = \Gamma_{sum}(\bm{S}) = \sum_{i=1}^{n_s} \bm{\tilde{s}}^i
\label{eq:obsfunc-sum}
\end{equation}

§.§.§ Row-wise $p$-norm function

\begin{equation}
%\bm{s} = \Gamma_{p}(\bm{S}) = \sqrt[p]{\sum_{i=1}^{n_s} (\bm{\tilde{s}}^i)^p}
\bm{s} = \Gamma_{\|\cdot\|_p}(\bm{S}) \text{, where } s_j = \sqrt[p]{\sum_{i=1}^{n_s} (\tilde{s}^i_j)^p} \quad \forall j \in 1...{n_t}
\label{eq:obsfunc-L2norm}
\end{equation}

§.§.§ Row-wise max function

\begin{equation}
\bm{s} = \Gamma_{max}\left(\bm{S}\right) \text{, where } s_j = \max_{i=1...n_s} \tilde{s}^i_j \quad \forall j \in 1...{n_t}
%\text{Recall: } \bm{s} = \begin{bmatrix} s_1 & \cdots & s_j \end{bmatrix}^T
%\bm{s} = \Gamma_{max}\left(\bm{\tilde{s}}\right) \\
\label{eq:obsfunc-max}
\end{equation}

where the subscript $j$ in $s_j$ and $\tilde{s}_j$ indicates the $j$-th task-space axis of $\bm{s}$ and $\bm{\tilde{s}}$, respectively[Recall: superscript $i$ is for the $i$-th sensor axis, which is different from the subscript $j$ for the $j$-th task space axis (and similarly for subscript $k$ for the $k$-th joint axis, which will be defined later).], and also corresponds to the $j$-th row of $\bm{S}$.

The sum function $\Gamma_{sum}(\cdot)$, as the name implies, performs a row-wise summation across all transformed sensor axes in $\bm{S}$ and measures the cumulative task-space sensing capabilities across all sensors.
The summation can potentially provide a measure of redundancy if multiple sensors measure the same task space axis.
One potential issue with this method is that, for the same value, the sum function does not differentiate between an axis that is directly observed by one or a few sensors, or only minimally observed by many off-axis sensors.
The lack of this differentiation may result in unintended low quality readings from non-closely aligned sensors.
The $p$-norm function $\Gamma_{\|\cdot\|_p}(\cdot)$ partially alleviates this issue by reducing the impact of smaller values.

Conversely, the element-wise max function $\Gamma_{max}(\cdot)$ determines the maximum alignment between the individual sensor axes and each task space axis.
It provides a quality measure of how directly a task-space axis is observed and, in a sense, its trustworthiness.
The max function $\Gamma_{max}(\cdot)$ is always bounded between $\{0,1\}$, where a value of $s_j = 1$ indicates that there is at least one sensor that is directly and fully observing the $j$-th task space axis, while $s_j < 1$ indicates that it is only measured indirectly by all sensors.
In all cases, $s_j \approx 0$ would indicate that the $j$-th axis is in danger of no longer being observed.

Other sensor observability functions may be used as well, depending on the preferred analysis.
For example, a sum with minimum thresholding could potentially negate the masking effect if many low quality observations by minimally observed sensor axes are present.
Note that certain formulations of $\Gamma_\square(\cdot)$ may also use the sensor positions (in addition to the sensor orientations in $\bm{S}$) in case it is relevant, e.g. for modelling sensor-to-sensor interactions.
An example is discussed in Sec. <ref>.

Next, we define the sensor observability index $o$:

\begin{equation}
o = \prod_{j = 1}^{n_t} s_j
\label{eq:obsindex}
\end{equation}

Analogous to the kinematic manipulability index $w_k$ in (<ref>), the sensor observability index $o$ is a scalar quality measure of task-space observability.
If any $s_j \rightarrow 0$, then $o \rightarrow 0$, and the system is at risk of being unable to observe one or more task space axes.
The case where $o = 0$ is called a sensor observability singularity where the robot is in a sensor observability singular configuration, and the system has lost the ability to observe one or more task space axes.
This situation should be avoided for risk of potentially causing failure resulting from the robot being blind in certain task space axes.
As such, $o$ can be used as an optimization variable during motion planning to avoid low quality joint configurations (examples shown in Sec. <ref>).
While numerical interpretation of the sensor observability index is system-dependent, it can easily used as a relative gauge of system sensor observability performance, as discussed in [14] for $w_k$.

Similar to the manipulability ellipsoid defined previously in Sec. <ref>, we define the sensor observability ellipsoid in $\mathbb{R}^{n_t}$ where the principal axes are proportional to the magnitude of the task-space observability.
Fig. <ref> showcases various robot configurations and their resulting sensor observability ellipsoid.
For visualization purposes, sensor observability is split into the force $\bm{s}_{p}$ (red dashed line ellipsoid) and torque $\bm{s}_{\theta}$ (blue solid line ellipsoid) components.
In the arbitrary configuration in Fig. <ref>, all axes are observable, as can be seen by the 3D shape of the force and torque ellipsoids.
In the sensor observability singular configurations shown in Figs. <ref> and <ref>, an axis of the sensor observability ellipsoid collapses to zero.
This indicates that the corresponding axis, torques along the $x$-axis in Fig. <ref> and forces along the $x$-axis in Fig. <ref>, is not observable by the joint torque sensors.

a) Representation of a single 7-DOF Baxter robot arm with only traditional joint torque sensors in b) arbitrary configuration, c) kinematic singularity in $\theta_z$, d-e) sensor observability singularities in d) $\tau_x$ and e) $f_x$.

Force and torque observability ellipsoids based on the sum function $\Gamma_{sum}(\cdot)$ are shown in red dashed and blue solid ellipsoids, respectively.
Note that the ellipsoids in c) are very thin, but not completely flat, i.e. $o \neq 0$.

§ DISCUSSIONS ON SENSOR OBSERVABILITY ANALYSIS

§.§ Special Case: Similarities to Kinematic Analysis

In the special case where the sensor axes are collinear with the joint axes, parallels can be drawn between the sensor observability and kinematic analyses.
Let us examine a serial manipulator with only revolute joints and single-axis joint torque sensors located at each joint that are aligned with the joint axes.
This is the joint-sensor configuration of a typical serial manipulator robot.
In this specific case, each local sensor axis vector $\bm{\hat{s}}^{\prime,i} = \bm{\hat{s}}^{\prime}_{\tau z} \ \forall\ i = 1...n_s$ as in (<ref>).
Thus, using the force sensor transformation $T_f(\bm{\hat{s}}^i, \bm{r}^i)$ in (<ref>) and the sum-based observability function $\Gamma_{sum}(\bm{S})$ in (<ref>), the final sensor observability $\bm{s}$ has the form:

\begin{equation}
\bm{s} = \Gamma_{sum}(\bm{S}) = \sum_{i=1}^{n_s} \bm{\tilde{s}}^i = \sum_{i=1}^{n_s} \begin{bmatrix} \frac{\lvert\bm{\hat{s}}^i_{\theta} \times \bm{r}^i\rvert}{\|\bm{\hat{s}}^i_{\theta} \times \bm{r}^i\|} \\ \lvert\bm{\hat{s}}^i_{\theta}\rvert \end{bmatrix}
%\bm{s} = \sum_{i=1}^{n_s} \begin{bmatrix} \lvert\bm{r}_i \times \bm{\hat{s}}_{\theta,i}\rvert \\ \lvert\bm{\hat{s}}_{\theta,i}\rvert \end{bmatrix}
\label{eq:kinequiv-sens1}
\end{equation}

The term $\bm{\hat{s}}^i_{p}$ is absent from (<ref>) as it is zero for single-axis joint torque sensors $\bm{\hat{s}}^{\prime}_{\tau z}$. The summation in (<ref>) can be rewritten in matrix form using the sensor observability matrix $\bm{S}$ multiplied by a $n_s \times 1$ vector of ones $\bm{1}$:

\begin{equation}
\bm{s} = \begin{bmatrix}
%\lvert\bm{r}_1 \times \bm{\hat{s}}_{\theta,1}\rvert & \dots & \lvert\bm{r}_{n_s} \times \bm{\hat{s}}_{\theta,n_s}\rvert \\
\frac{\lvert\bm{\hat{s}}^1_{\theta} \times \bm{r}^1\rvert}{\|\bm{\hat{s}}^1_{\theta} \times \bm{r}^1\|} & \dots & \frac{\lvert\bm{\hat{s}}^{n_s}_{\theta} \times \bm{r}^{n_s}\rvert}{\|\bm{\hat{s}}^{n_s}_{\theta} \times \bm{r}^{n_s}\|} \\
\lvert\bm{\hat{s}}^1_{\theta}\rvert & \dots & \lvert\bm{\hat{s}}^{n_s}_{\theta}\rvert
\end{bmatrix}
\begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix}_{n_s \times 1} = \bm{S}\bm{1}_{n_s \times 1}
\label{eq:kinequiv-sens2}
\end{equation}

For the kinematic analysis, we begin with the geometric velocity analysis [16]:

\begin{equation}
\begin{bmatrix} \bm{v} \\ \bm{\omega} \end{bmatrix} = \sum_{k = 1}^{n_q} \begin{bmatrix} \dot{q}_k\bm{\hat{z}}_k \times \bm{r}_k \\ \dot{q}_k\bm{\hat{z}}_k \end{bmatrix}
\label{eq:kinequiv-kin1}
\end{equation}

where $\bm{v}$ and $\bm{\omega}$ are the translational and angular velocities of the end effector, $\dot{q}_k$ is the angular velocity of the $k$-th joint, and $\bm{\hat{z}}_k$ is the $k$-th joint axis where $k \in 1...n_q$ and $n_q$ is the number of joints.
Similar to (<ref>)-(<ref>), (<ref>) may be rewritten in matrix multiplication form using the kinematic Jacobian $\bm{J}$ and the vector of joint angular velocities $\bm{\dot{q}}$:

\begin{equation}
\begin{bmatrix} \bm{v} \\ \bm{\omega} \end{bmatrix} = \begin{bmatrix} \bm{\hat{z}}_1 \times \bm{r}_1 & \dots & \bm{\hat{z}}_{n_q} \times \bm{r}_{n_q} \\
\bm{\hat{z}}_1 & \dots & \bm{\hat{z}}_{n_q} \end{bmatrix} \begin{bmatrix} \dot{q}_1 \\ \vdots \\ \dot{q}_{n_q} \end{bmatrix} = \bm{J}\bm{\dot{q}}
\label{eq:kinequiv-kin2}
\end{equation}

Given that the joint torque sensors $\bm{\hat{s}}^i_{\theta}$ and joint axes $\bm{\hat{z}}_k$ are unit vectors and collinear, we then in fact have $\bm{\hat{s}}^i_{\theta} = \bm{\hat{z}}_k$, $\bm{r}^i = \bm{r}_{k}$, and $n_q = n_s$.
Thus, equations (<ref>) and (<ref>) have very similar form despite differences in normalization where $\bm{S} \approx \bm{J}$ for a standard serial manipulator with joint torque sensors on each rotational joint.
To understand this relationship, joint axes could potentially be thought of as velocity measurement sensors.
A similar analysis holds for prismatic joints paired with single axis load cell.

Despite the similarity in form of (<ref>) and (<ref>), it is important to note that a sensor observability singularity does not necessarily imply kinematic singularity and vice versa.

For example, the configuration shown in Fig. <ref> is a kinematically singular configuration where axes 1 and 7 are collinear and $w_k = 0$, but is not an observability singularity $o \neq 0$ as the red force ellipsoid is thin but not flat.
Conversely, the joint configurations shown in Figs. <ref> and <ref> are both observability and kinematic singularities, demonstrating potential overlaps between the two indices for this particular robot and sensor configuration.

In this special case for serial manipulator robots, it is sometimes possible to extract similar information using the end effector force and joint torque relationship $\bm{\tau} = \bm{J}^T \bm{f}$ and examining the null space of $\bm{J}^T$.

The existence of non-zero null space vectors $\bm{J}^T$ indicates the possibility of having zero joint torques despite non-zero end effector forces, but it can be caused by two distinct cases.
One case is a sensing deficiency in the same manner as sensor observability.
The other case occurs when end-effector forces and torques balance each other out and result in zero readings at the joints.
For example, in the configuration shown in Fig. <ref>, a null space analysis of $\bm{J}^T$ indicates that a force applied at the end effector in the $x$-axis can be nullified with a balancing torque in the $y$-axis, which result in zero joint torques.
Despite the existence of a non-zero null space vector for $\bm{J}^T$ in this configuration, this pose is not an observability singularity as $o_{sum} = 57.63$ (so $o \neq 0$).
Thus, even in the special case where the sensor axes are collinear with the joint axes, null space analysis of the Jacobian cannot replace sensor observability analysis.
The reason is due to the use of absolute values in (<ref>) and (<ref>) during sensor observability analysis that negates the possibility of the sensor axes cancelling each other out.

Configuration where a non-zero null space vector exists for $\bm{J}^T$, but it is not a sensor observability singularity as $o \neq 0$. This configuration is similar to Fig. <ref> but $q_6$ tilts the end effector is slightly downwards.

§.§ Advantages of Sensor Observability Analysis

While the discussion above might lead one to think that sensor observability can be derived using the traditional kinematic analysis, the parallels drawn in Sec. <ref> are applicable only in the special case where the sensor axes are collinear with the joint axes (e.g. standard serial manipulators).

The advantage of sensor observability analysis is that it is flexible and applicable to robot architectures using different and non-traditional sensor mounting styles.
Once non-traditional sensor mounting styles are used and there is no longer the one-to-one mapping between joint axes and sensors axes, then the parallels with the traditional Jacobian formulation no longer apply.
For example, a robot using a load cell in the middle of a link, similar to the one shown in Fig. <ref>, could be a lower cost alternative to using a joint-mounted torque sensor if interaction torques are not of importance.
In this case, since non-joint-mounted sensors are present, the formulation of $\bm{S}$ and $o$ will differ significantly from $\bm{J}$ and $w_k$.
An example highlighting this case will be discussed in Sec. <ref>.

Moreover, certain sensors may need to be interpreted differently than simply with axis direction, which is why the sensor transformation $T_\square(\bm{\hat{s}}^i, \bm{r}^i)$ and sensor observability $\Gamma_\square(\bm{S})$ functions are implemented.
For example, an articulated robot may be covered with an array of distributed laser distance sensors [9], ultrasonic sensors, or magnetic directional proximity sensors [28].
Depending on the joint configuration, these sensors may interact with each other (e.g. ultrasonic interference or crossing magnetic fields), and these interactions may affect sensing quality.
Their interactions could thus be modelled and captured by the $T_\square(\bm{\hat{s}}^i, \bm{r}^i)$ and $\Gamma_\square(\bm{S})$ functions and used to optimize joint configuration to minimize interference.
These complexities will be explored in future work.

Many limitations associated with manipulability analysis using the Jacobian matrix [14] are not present in sensor observability analysis.
For example, while the kinematic manipulability index $w_k$ suffers from unboundedness and both scale and dimensional dependencies, sensor observability using the row-wise max function (<ref>) does not since values are bounded between 0 and 1.
The caveat is that some other sensor observability functions, for example the row-wise sum function (<ref>), are unbounded.
Calculations with sensor axes are generally normalized and unaffected by scale and dimensions[The exception is that there is potentially an indirect influence of scale and dimension dependency when sensor noise thresholding is used (Sec. <ref>).].

Thus, when analysing task space observability, our proposed sensor observability analysis can be viewed as a more generalized and more flexible analysis than the traditional Jacobian-based analysis.

Sensor observability analysis can also be potentially used in the robot design phase to optimize the placement of sensors to create redundancy or minimize the number of sensors required, which is especially applicable to soft robots [29], and will be the subject of future work.
Despite these comparisons with kinematic analysis using the Jacobian, it must be stressed that sensor observability analysis cannot be used for kinematic analysis and vice versa, and thus it is in fact inappropriate to compare the two directly.

§.§ Sensor Observability Threshold and Sensor Noise

As sensor observability is a continuous quality measure, it is difficult to pinpoint an exact threshold to state when observability has been lost.
An ideal sensor with infinite sensitivity and zero noise would be able to provide a usable reading for all non-zero sensor observability values.
In reality, sensors have finite sensitivity and are susceptible to sensor noise.
A poorly observed axis will have poor signal-to-noise ratio and will effectively be unable to provide meaningful values below a certain threshold $s^{i,*}_j$, denoted by the asterisk.
Sensor observability for sensor $i$ in the $j$-th task-space axis could be flagged as lost when $s^i_j < s^{i,*}_j$, where the signal noise is greater than a defined required minimum detectable amount $\Phi^i_j$ as a function of the sensor sensitivity.
A system could have multiple types of sensors, e.g., a mix of different models of load cells and joint torque sensors, each with their own specifications.
There then exists individual threshold value $s^{i,*}_j$ for each sensor $i$ and each axis $j$ (see Appendix for derivation):

\begin{equation}
s^{i,*}_j = \frac{\sigma^i_{\epsilon}}{\Phi^i_j}
%s^{i,*}_j = \frac{\sigma_{\epsilon}}{\kappa \Phi^i_j}
\label{eq:sensnoise}
\end{equation}

where $\sigma_{\epsilon}$ is the standard deviation of the sensor noise and $\Phi^i_j$ is the desired minimum observable quantity for sensor $i$ in the $j$-th task-space axis.
$\Phi^i_j$ is a user-defined design parameter based on the task definition for each specific axis and the sensor specifications.

For example, we require that a system must be able to detect interaction forces of at least $\Phi^{LC} = F_{min} = 10$ N using a load cell (LC) with noise levels of $\sigma_{\epsilon} = 0.5$ N.
The threshold for sensor observability would then be:

\begin{equation*}
s^{LC,*} = \frac{\sigma_{\epsilon}}{\Phi^{LC}} = \frac{(0.5\text{ N})}{(10\text{ N})} = 0.05
%s^{LC,*} = \frac{\sigma_{\epsilon}}{\kappa \Phi^{LC}} = \frac{(10\text{ mV})}{(20\ \frac{\text{mV}}{\text{N}})(10\text{ N})} = 0.05
\end{equation*}

where sensor observability is considered lost if $s^{LC} < 0.05$.

If $s^{i,*}_j > 1$, it means that it is impossible for that sensor to detect the minimum desired quantity $\Phi^i_j$ as $s^{i}_j$ has an upper bound of 1.

Thus, to ensure $s^{i,*}_j < 1$, the constraint $\sigma_{\epsilon} < \Phi^i_j$ should be followed.

It is important to note that $\Phi^i_j$ is the desired minimum observable quantity; in other words, it is possible for much larger values $F_{j,actual} \gg \Phi^i_j$ to be perfectly observable even when $s^i_j < s^{i,*}_j$.
Having $s^i_j$ below the threshold simply indicates that the minimum quantity may not be individually observable by the $i$-th sensor anymore;
other sensors in the system may be able to compensate if they are positioned correctly.

Although $\Phi^i_j$ is a design parameter, it is not necessarily defined in a straightforward manner for different types of sensors.
Recall that the force sensor transformation in (<ref>) has both translational and rotational components $\bm{\tilde{s}}^i = \begin{bmatrix} \bm{\tilde{s}}^i_{p} & \bm{\tilde{s}}^i_{\theta} \end{bmatrix}^T$.
For joint torque sensors, measuring torque is a straightforward transformation as $\bm{\tilde{s}}^{JTS}_{\theta} \approx \lvert\bm{\hat{s}}^{JTS}_{\theta}\rvert$ such that $\Phi^{JTS}_\theta = \tau_{min}$, similar to $\Phi^{LC}_p = F_{min}$.

Conversely, measuring linear forces using a torque sensor is influenced by the moment arm, which cannot be ignored.
We can calculate the effect of the cross product as well as the signal amplification as a result of the moment arm using the quantity $\bm{c}^{JTS}_{p} = \lvert\bm{\hat{s}}^{JTS}_{\theta} \times \bm{r}^{JTS}\rvert$.

Thus, for minimum linear forces measured by torque sensors in the $j$-th axis, we have $\Phi^{JTS}_{p,j} = F_{min}\ c^{JTS}_{p,j}$.

Other definitions of $s^{i,*}_j$ are possible and other external factors could also be factored into the noise term when calculating the minimum required sensor observability threshold, e.g., ultrasonic distance sensors interfering with each other.

To factor in the sensor observability threshold, an extra step is added after calculating the transformed sensor axes $\bm{\tilde{s}}^i = T_\square(\bm{\hat{s}}^i, \bm{r}^i)$ in (<ref>), as shown in Alg. <ref>:

\begin{equation}
%o = \prod_{j = 1}^{n_t} f(s_j, s^*_j) \\
\tilde{s}^i_j = f(\tilde{s}^i_j, s^{i,*}_j)\quad \forall\ i,j
\label{eq:obsindex_noise}
\end{equation}

\begin{equation*}
\text{where } f(\tilde{s}^i_j, s^{i,*}_j) =
\begin{cases}
0  \text{,} &\text{if } \tilde{s}^i_j \leq s^{i,*}_j \\
\frac{\tilde{s}^i_j - s^{i,*}_j}{1 - s^{i,*}_j}  \text{,} &\text{if } \tilde{s}^i_j > s^{i,*}_j \\
\end{cases}
\end{equation*}

The piece-wise defined function is used to threshold each individual sensor along each task-space axis.
Sensor observability values below the threshold are set to 0 and the range above the threshold is scaled back to between 0 and 1.
All subsequent steps from (<ref>) onwards in calculating the system sensor observability $\bm{s}$ and index $o$ remain the same, where either $s_j = 0$ or $o = 0$ indicates that at least one task-space axis is no longer observable.
The effect of sensor observability thresholding is similar to a deadband.

It is important to note that for the purpose of sensor observability analysis, noise is only considered to affect the calculation of $s^{i,*}_j$; its direct affect on the sensor readout itself and the need for filtering are not considered.

§ SIMLUATIONS & EXPERIMENTS

§.§ 3 DOF Planar Robot

Special planar robot with 3 revolute joints (without joint torque sensing) and 3 single axis load cells located on each link.
$\bm{\tilde{s}}^1$ and $\bm{\tilde{s}}^3$ are aligned perpendicularly to the link while $\bm{\tilde{s}}^2$ is parallel with the second link.

[Minimizing joint motion]

[Maximizing kinematic manipulability $w_k$]

[Maximizing sensor observability $o$]

Simulation of a custom 3 DOF robot following the dotted black sinusoidal trajectory with the same initial conditions but using different redundancy resolution strategies: (a) minimizing joint motion, (b) maximizing kinematic manipulability, and (c) maximizing sensor observability.
The black square is the base joint while joints 2 and 3 are blue circles.
Robot links are shown using thin blue lines while the linear sensor axes are thick orange lines.
The blue ellipse represents the sensor observability ellipsoid at the end effector calculated using sum method $\bm{s}_{sum}$ and the pink ellipse is the kinematic manipulability ellipsoid.
The plots show the evolution of the sensor observability indices $o_{sum}$ and $o_{max}$ and the kinematic manipulability index $w_k$ through the motion.
The sum index $o_{sum}$ and kinematic manipulability index $w_k$ are normalized according to their global maxima (4.5 and 1.65, respectively) for plotting purposes.

To demonstrate the utility of sensor observability analysis, we simulate the following planar robot shown in Fig. <ref>, which has 3 revolute joints (without joint torque sensing) and 3 single axis load cells located on each link.
$\bm{\hat{s}}^1$ and $\bm{\hat{s}}^3$ are perpendicular to their respective links while $\bm{\hat{s}}^2$ is parallel with the second link.
In this example, we are only interested in linear forces in the $x$- and $y$-axes and not torques in $z$.
Thus, $n_t = 2$ and we have $\bm{\hat{s}}^1 = \bm{\hat{s}}^1_{p} = \begin{bmatrix} 0 & 1 \end{bmatrix}^T$, $\bm{\hat{s}}^2 = \bm{\hat{s}}^2_{p} = \begin{bmatrix} 1 & 0 \end{bmatrix}^T$, and $\bm{\hat{s}}^3 = \bm{\hat{s}}^3_{p} = \begin{bmatrix} 0 & 1 \end{bmatrix}^T$.
We then obtain the following according to the force sensor transformation $T_{f}(\bm{\hat{s}}^i, \bm{r}^i)$:

\begin{equation}
\bm{\tilde{s}}^i = T_{f}(\bm{\hat{s}}^i, \bm{r}^i) = \lvert\bm{\hat{s}}^i_{p}\rvert
\label{eq:sim3R-transform}
\end{equation}

Since these are only linear sensors, $\bm{\hat{s}}^i_{\theta}$ from (<ref>) does not exist.
If we include the rotation into the task frame, we obtain:

\begin{equation}
\begin{gathered}
\bm{\tilde{s}}^1 = \lvert \bm{R}_0^1 \bm{\hat{s}}^1_{p}\rvert = \begin{bmatrix} \lvert -\mathcal{S}_1 \rvert \\ \lvert \mathcal{C}_1 \rvert \end{bmatrix} \\
%= T_{f}(\bm{\hat{s}}^1)
\bm{\tilde{s}}^2 = \lvert \bm{R}_0^2 \bm{\hat{s}}^2_{p}\rvert = \begin{bmatrix} \lvert \mathcal{C}_1 \mathcal{C}_2 - \mathcal{S}_1 \mathcal{S}_2 \rvert \\ \lvert \mathcal{C}_1 \mathcal{S}_2 + \mathcal{C}_2 \mathcal{S}_1 \rvert \end{bmatrix} \\
\bm{\tilde{s}}^3 = \lvert \bm{R}_0^3 \bm{\hat{s}}^3_{p}\rvert = \begin{bmatrix} \lvert -\mathcal{C}_1 \mathcal{C}_2 \mathcal{S}_3 + \mathcal{C}_3 \mathcal{S}_2 - \mathcal{S}_1 \mathcal{C}_2 \mathcal{C}_3 - \mathcal{S}_2 \mathcal{S}_3 \rvert \\
\lvert \mathcal{C}_1 \mathcal{C}_2 \mathcal{C}_3 - \mathcal{S}_2 \mathcal{S}_3 - \mathcal{S}_1 \mathcal{C}_2 \mathcal{S}_3 + \mathcal{C}_3 \mathcal{S}_2 \rvert \end{bmatrix} \\
%\text{where } s_i = \text{sin}(q_i) \text{ and } c_i = \text{cos}(q_i)
\end{gathered}
\label{eq:sim3R-transform2}
\end{equation}

where $\mathcal{S}_i = \text{sin}(q_i)$, $\mathcal{C}_i = \text{cos}(q_i)$ and $\bm{R}_a^b$ is the rotation from frame $a$ to frame $b$.
The sensor observability matrix becomes:

\begin{equation}
\begin{aligned}
\bm{S} &= \begin{bmatrix} \bm{\tilde{s}}^1 & \bm{\tilde{s}}^2 & \bm{\tilde{s}}^3 \end{bmatrix} \\
&= \left[\begin{matrix}
\lvert -\mathcal{S}_1 \rvert, & \lvert \mathcal{C}_1 \mathcal{C}_2 - \mathcal{S}_1 \mathcal{S}_2 \rvert, \\
\lvert \mathcal{C}_1 \rvert, & \lvert \mathcal{C}_1 \mathcal{S}_2 + \mathcal{C}_2 \mathcal{S}_1 \rvert, \end{matrix} \right.\\
\left. \begin{matrix}
\lvert -\mathcal{C}_1 \mathcal{C}_2 \mathcal{S}_3 + \mathcal{C}_3 \mathcal{S}_2 - \mathcal{S}_1 \mathcal{C}_2 \mathcal{C}_3 - \mathcal{S}_2 \mathcal{S}_3 \rvert \\
\lvert \mathcal{C}_1 \mathcal{C}_2 \mathcal{C}_3 - \mathcal{S}_2 \mathcal{S}_3 - \mathcal{S}_1 \mathcal{C}_2 \mathcal{S}_3 + \mathcal{C}_3 \mathcal{S}_2 \rvert \end{matrix}\right]
\end{aligned}
\label{eq:sim3R-transform3}
\end{equation}

Conversely, if we calculate the standard kinematic Jacobian for linear motion in the $x$- and $y$-axes only, we obtain:

\begin{equation}
\begin{aligned}
\bm{J} &= \begin{bmatrix} \bm{\hat{z}}_1 \times \bm{r}_1 & \bm{\hat{z}}_2 \times \bm{r}_2 & \bm{\hat{z}}_3 \times \bm{r}_3 \end{bmatrix} \\
&= \left[\begin{matrix}
& - l_1\mathcal{S}_1 - l_2\mathcal{S}_{12} - l_3\mathcal{S}_{123}, \\
&  l_1\mathcal{C}_1 + l_2\mathcal{C}_{12} + l_3\mathcal{C}_{123}, \end{matrix} \right.\\
\left. \begin{matrix}
& - l_2\mathcal{S}_{12} - l_3\mathcal{S}_{123}, & - l_3\mathcal{S}_{123} \\
&   l_2\mathcal{C}_{12} + l_3\mathcal{C}_{123}, & + l_3\mathcal{C}_{123}  \end{matrix}\right]
\end{aligned}
\label{eq:sim3R-transform4}
\end{equation}

[Maximizing sensor observability $o$ in $x$-axis]

[Maximizing sensor observability $o$ in $y$-axis]

Simulation of a 3 DOF robot where sensor observability is maximized (a) only in the $x$-axis and (b) only in the $y$-axis.
Plot shows sensor observability in the $x$- and $y$-axes, $s_x$ and $s_y$ respectively, using the sum method in (<ref>).

where the multiple subscripts indicate angle summation, e.g., $\mathcal{S}_{123} = \text{sin}(q_1 + q_2 + q_3)$.
Clearly, we can see that see that the sensor observability matrix $\bm{S}$ and the standard kinematic Jacobian $\bm{J}$ no longer match as the robot in Fig. <ref> does not have a one-to-one mapping between joints and sensors.
The system sensor observability $\bm{s}$ and sensor observability index $o$ are then calculated using using their respective equations described in Sec. <ref>.

We simulate this 3 DOF robot in MATLAB to follow the sinusoidal trajectory using velocity control as shown in Fig. <ref>.
Given the redundancy of the robot, we can optimize secondary tasks using the null space of the Jacobian [30]:

\begin{equation}
\dot{\bm{q}} = \bm{J}^\dagger \dot{\bm{x}} + (\bm{I} - \bm{J}^\dagger\bm{J}) \dot{\bm{q_*}}
\label{eq:sim3R-Jyesopt}
\end{equation}

where $\dot{\bm{x}}$ is the end effector Cartesian velocity, $\bm{J}^\dagger$ is the right pseudoinverse of the Jacobian, $\bm{I}$ is the identity matrix, and $\dot{\bm{q_*}}$ are the joint velocities related to the secondary task.
The first term minimizes the norm of joint velocities and the second term maximizes the secondary task.
We simulate four different redundancy resolution strategies, all from the same starting pose, to illustrate their different effects.
The results are shown in Figs. <ref> and <ref>.
The simulation script is provided online[ https://github.com/chrisywong/SensorObservabilityAnalysisDataset].

§.§.§ Minimize joint motion

In a first trial, the joint trajectories simply use the right pseudoinverse of the Jacobian $\bm{J}^\dagger$ to minimize joint motion without a secondary task $\dot{\bm{q_*}} = \bm{0}$ such that (<ref>) becomes:

\begin{equation}
\dot{\bm{q}} = \bm{J}^\dagger \dot{\bm{x}}
\label{eq:sim3R-Jnoopt}
\end{equation}

The resulting motion is shown in Fig. <ref>.
At $t = 0.5$ s, the robot passes through a sensor observability singularity and the sensor observability index $o \rightarrow 0$.
In this sensor observability singular configuration, linear forces in the $x$-axis cannot be detected by the sensors and may lead to undesirable consequences.
It is important to note that although the robot is in a sensor observability singular configuration, the robot is not in a kinematically singular configuration as $w_k \neq 0$.
Once the robot moves past the sensor observability singularity at $t > 0.5$ s, forces in $x$ are observable once again.

§.§.§ Maximize kinematic manipulability

In the second trial, the secondary task in (<ref>) is used to maximize kinematic manipulability of the end effector.
As such, $\dot{\bm{q_*}}$ is defined as follows using the partial derivatives of the manipulability index $w_k$, as defined in (<ref>),  w.r.t. the joints $\bm{q}$:

\begin{equation}
\dot{\bm{q_*}} = k_0\frac{\delta w_k}{\delta\bm{q}}
\label{eq:sim3R-q0kin}
\end{equation}

where $k_0$ is a positive scalar coefficient.
The resulting motion is shown in Fig. <ref>.
Although the effect is not overly pronounced, there are small differences in joint trajectories compared to the first trial that result in an overall increase in kinematic manipulability throughout the motion as well as a higher maximum $w_k$.
There is also the unintended effect that the robot no longer passes through the sensor observability singularity, but sensor observability is not explicitly maximized.
The discontinuous $o$ profiles are inflection points in the robot motions that cause the sensor axes to change directions.

§.§.§ Maximize sensor observability

In the third trial, the secondary task in (<ref>) is used to maximize sensor observability instead of kinematic manipulability.
Joint velocities in the Jacobian null space $\dot{\bm{q_*}}$ now use the partial derivatives of the sum-based sensor observability index $o_{sum}$, defined in (<ref>):

\begin{equation}
\dot{\bm{q_*}} = k_0\frac{\delta o_{sum}}{\delta\bm{q}}
\label{eq:sim3R-q0SO}
\end{equation}

The joint trajectories are now optimized to maximize overall sensor observability while maintaining the desired EE trajectory along the sinusoidal path.
The resulting motion is shown in Fig. <ref>.
Both $o_{sum}$ and $o_{max}$ have much higher values on average throughout the motion compared to the other two trials as well as a higher maximum value and smaller dips in the middle.
Conversely, $w_k$ is lower than the other two trials as an unintended consequence.
As expected, maximizing kinematic manipulability in the second trial and maximizing sensor observability in the third trial do not yield the same results as they are different objectives.

§.§.§ Maximize sensor observability in specific axes

Sensor observability can also be maximized in specific axes using the system sensor observability $\bm{s}$ rather than as a whole using the sensor observability index $o$.
Fig. <ref> shows the changes in robot trajectory when only a single sensor observability axis is included as the secondary task in (<ref>).
Rather than using $\delta o / \delta \bm{q}$ in (<ref>), only a specific axis $s_j$ is used.

\begin{equation}
\dot{\bm{q_*}} = k_0\frac{\delta s_j}{\delta\bm{q}}
\label{eq:sim3R-q0SOaxis}
\end{equation}

In this case, we use the sum function (<ref>) to calculate $s_x$ and $s_y$.
As expected, maximizing $s_x$ skews the sensor observability ellipsoid in the $x$-axis, as seen in Fig. <ref>.
While maximizing $s_y$ in Fig. <ref> has certain similarities to the first trial shown in Fig. <ref>, the joint trajectories differ slightly.
Ellipsoid shaping to simultaneously achieve specific $\bm{s}$ is also possible using the methods in [20] and will be the subject of future work.

§.§ Baxter Robot Joint Sweep

a) Simulation of a single Baxter robot arm starting in an arbitrary position, sweeping through an observability singularity at $t = 4$ s (configuration shown in Fig. <ref>),

setting joints $\bm{q}_{2}$ to $\bm{q}_{6}$ to 0 at $t = 8$ s,
and ending in an arbitrary position at $t = 12$ s. b) Joint positions of the maneuver.
Joint $q_7$ is not shown as it is held at a constant $q_7 = 0$.
c) Plot of the evolution of kinematic manipulability $w_k$ and

observability index using the sum $o_{sum}$ and max $o_{max}$ functions. All indices are normalized to 1, but $w_k$

is further scaled with an exponential to emphasize the changes at $t = 4$ s.

We use the fixed-base dual-arm robot Baxter from Rethink Robotics to demonstrate the importance of sensor observability analysis.
Each Baxter arm contains 7 degrees of freedom whose kinematic structure is shown in Fig. <ref> and described in detail in [31].
Each joint contains position encoders and the joints are capable of torque estimation.
Given the structure of Baxter, there exists sensor observability singular configurations, as shown in Fig. <ref>.

To demonstrate the evolution of the various indices, we simulate the kinematic structure of a single Baxter arm in MATLAB and sweep through multiple configurations shown in Fig. <ref>.
The robot begins in an arbitrary configuration at $t = 0$ s.
At $t = 4$ s, the robot moves to the configuration shown in Fig. <ref>, which incurs simultaneous sensor observability and kinematic manipulability singularities $o,w_k=0$.

At $t = 8$ s, joints $q_2$ to $q_6$ are set to zero.
The robot finally ends in another arbitrary configuration at $t = 12$ s.
The joint angles are plotted in Fig. <ref>.
Joint $q_7$ is not shown in the plot as it is held at a constant $q_7 = 0$ and has no effect on the results.
Fig <ref> plots the evolution of the kinematic manipulability index $w_k$ and sensor observability index using both the sum $o_{sum}$ in (<ref>) and max $o_{max}$ functions in (<ref>) through the different robot configurations.

All indices are normalized to their respective maxima seen throughout the motion, though $w_k$ is further scaled to emphasize its evolution particularly at $t = 4$ s.

As expected, all indices are non-zero in the arbitrary configurations at $t = 0$ s and $t = 12$ s.
As the robot moves towards the observability and kinematic singularity at $t = 4$ s, all indices approach zero.
This singular configuration eliminates the observability of force ($o_{sum}, o_{max} \rightarrow 0$) and translational motion ($w_k \rightarrow 0$) in the $x$-axis.

Comparing the sensor observability indices $o_{sum}$ and $o_{max}$, both calculation methods hold somewhat similar trends.
While $o_{max}$ has a maximum value of 1, $o_{sum}$ is theoretically unbounded but is normalized for the plot according to the maximum of 688.88 observed in this simulated motion.

§.§ Physical Interaction with Baxter Robot

Using the robot Baxter, we illustrate the importance of sensor observability index by observing changes in the robot's ability to use its joint sensors to estimate end effector forces in both normal and observability singular configurations.
End effector force estimation from joint sensors is performed using the packaged Baxter API from the manufacturer.
A force sensor is attached onto the end effector of the robot as shown in Fig. <ref> to provide a ground truth for interaction forces.
Once the robot is in position, the end effector is first pushed along the $x$-, then the $y$-, and finally $x$-axes again to observe whether the interaction forces are detected or not.

Sensor observability experiments using the robot Baxter comparing end effector forces estimated by the joint torque sensors and measured using an external force sensor attached to the end effector in a) an arbitrary non-zero observability configuration and b) the observability singular configuration shown in Fig. <ref>. An external force is applied first in $x$, then $y$, and finally $x$ again.
Forces are fully observable in the arbitrary position in a), but forces in $x$ are not observable in the observability singular configuration in b).

In the first scenario, shown in Fig. <ref>, the robot is in an arbitrary non-zero observability configuration.
The associated plot shows the robot's ability to resolve the end effector forces using the joint torque sensors.
Conversely, in the second scenario, shown in Fig. <ref>, the robot is in the sensor observability singular configuration shown in Fig. <ref>.
In this configuration, the overall system sensor observability $s_x = 0$ but $s_y \neq 0$.
In the force plot in Fig. <ref>, the robot is unable to observe interaction forces in the $x$-axis at $t \approx 3$ s and $t \approx 17$ s, despite the force sensor showing interaction forces, whereas $y$-axis forces are observed.
Off-axis forces are observed from imperfect interactions and the robot shifting during interaction.

§.§ Baxter Robot Sensor Deficiency

(a) Simulation of Baxter robot posture optimization using null-space projection but with a sensor deficiency.
Blue lines and circles are the robot links and joints respectively with the black square base and red diamond end effector.
The black dotted lines are joint axes and the solid yellow lines are sensor axes (as Baxter uses joint torque sensors, each joint and sensor pair is collinear);
(b) Plot of various performance indices and the joint angles.
$o_{sum}$ is normalized to the maximum of 141.1685.
Between $t = \begin{bmatrix} t_0 & t_2 \end{bmatrix} $, the robot uses the null-space projection to maximize kinematic manipulability $w_k$.
At $t = t_1$, we simulate a malfunction with the joint torque sensor of joint $q_4$ such that the sensor no longer functions, but the joint is still able to move and be controlled.
Between $t = \begin{bmatrix} t_2 & t_4 \end{bmatrix} $, the robot switches the null-space projection to maximize sensor observability $o_{sum}$ instead.

To further illustrate the utility of sensor observability analysis in a more practical case, we simulate the Baxter robot while it spontaneously undergoes a sensor malfunction.
The robot begins in the posture at $t = t_0$ shown in Fig. <ref>, which is similar to the posture shown in Fig. <ref> but not identical.
Throughout this simulation, the robot holds the end effector position and uses the null-space projection equations (<ref>)-(<ref>) to maximize different performance metrics.
During the period $t = \begin{bmatrix} t_0 & t_2 \end{bmatrix}$, the robot uses the null-space projection to increase kinematic manipulability $w_k$.
As expected, $w_k$ increases until it reaches a local maximum and plateaus, shown in Fig. <ref>.
At $t = t_1$, we simulate a malfunction with the joint torque sensor of joint $q_4$ such that the sensor no longer functions, i.e., $\bm{\hat{s}}^4 = \bm{0}$, but joint $q_4$ is still able to move and be controlled.
As a result, there is a large drop in sensor observability index $o$ at $t = t_1$.
Since only $w_k$ is being maximized and there are no kinematic changes to the robot joints, the controller does not adjust to compensate for the deficient sensor, as expected.
From $t = t_2$ onwards, the robot switches the null-space projection to optimize sensor observability $o_{sum}$ instead.
The robot begins to compensate for the sensor deficiency and increases the sensor observability index $o$ by adjusting the orientation of the remaining sensor axes, eventually trending towards a maximum at $t = t_4$.
Despite the fact that $o_{sum}$ is the target of optimization, $w_k$ only changes slightly.
This experiment demonstrates the different purposes of the kinematic manipulability and sensor observability indices and how they can both be used to ensure that sensor observability is maximized and that interaction forces in the task-space can be observed properly.

Baxter robot experiment with sensor deficiency at $\bm{\hat{s}}^4$.
Blue and pink ellipsoids are the force and torque sensor observability ellipsoids, respectively.
(a) Initial Position. Joints 2, 6, and 7 form a line that is parallel with the $x$-axis.
As $\bm{\hat{s}}^4$ is the only sensor that can detect forces along the $x$-axis, the robot is now in a sensor observability singular configuration as witnessed by the collapsed force sensor observability ellipsoid.
(b) Final position for optimized sensor observability, similar to $t = t_4$ of Fig. <ref>.
(c) Reconstructed end effector forces with ground truth (all sensors) and with sensor deficiency (without $\bm{\hat{s}}^4$).
(d) Sensor observability index $o$ and system sensor observability vector $\bm{s}$ throughout the experiment.
System sensor observability $\bm{s}$ values for the other axes are not shown as they are well above 0 and not of interest.

In this next sensor deficiency example using the real Baxter robot and shown in Fig. <ref>, we demonstrate the practical implications of sensor observability singularity and the effect on force reconstruction over a range of sensor observability values.

In this initial joint configuration, which is the same starting position as the previous example, joints 2, 6, and 7 form a line that is parallel with the $x$-axis.
As a result, only joint 4 is able to detect forces in $x$.
Let us say that the sensor deficiency at $\bm{\hat{s}}^4$ now occurs immediately at $t = 0$ s.
The sensor deficiency renders the current initial sensor configuration into a sensor observability singularity as none of the remaining sensors are capable of sensing forces along the $x$-axis, which is shown by the collapsed force sensor observability ellipsoid in Fig. <ref>.
In this experiment, forces are applied to the end effector as the robot moves from the sensor observability singular configuration in Fig. <ref> to a more optimized pose shown in Fig. <ref>.

The goal is to reconstruct the end effector forces $\bm{F}_{EE}$ using the equation $\bm{\tau} = \bm{J}^T \bm{F}_{EE}$, where the joint torques $\bm{\tau}$ and Jacobian transpose $\bm{J}^T$ are known.
The deficiency is modelled by removing elements related to the 4th joint in the joint torque vector $\bm{\tau}_{def} = \begin{bmatrix} \tau_1 & \tau_2 & \tau_3 & \tau_5 & \tau_6 & \tau_7 \end{bmatrix}$ and the corresponding 4th column to obtain the deficient Jacobian $\bm{J}_{def} \in \mathbb{R}^{6 \times 6}$.
A least squares approximation of end effector forces is performed using the remaining joint torque readouts $\bm{\tau}_{def} = \bm{J}_{def}^T \bm{F}_{EE}$ and compared to the ground truth using all sensors $\bm{\tau} = \bm{J}^T \bm{F}_{EE}$.
The MATLAB function  is used with a higher tolerance and a preconditioner matrix to stabilize against the small singular values of $\bm{J}_{def}$.
The evolution of the reconstructed end effector forces as the robot transitions between the two poses is shown in Fig. <ref>.

As expected, $\bm{\tau}_{def}$ and $\bm{J}_{def}$ are unable to reconstruct the forces in $x$ in the sensor observability singular configuration from $t = $ 0 s to $t = $ 7.2 s.
Conversely, the forces in $y$ and $z$ are correctly reconstructed throughout the entirety of the experiment.
Starting from $t = 7.2$ s, sensor observability optimization repositions the remaining sensors to compensate for the malfunctioning one and regain sensing in the $x$-axis and completes the transition at $t = 17.2$ s.
As the robot moves away from the singular position, forces in $x$ slowly become visible starting from $t = 7.6$ s (4% into the robot motion and $s_{sum, F_x} \approx 0.14$).
The reconstructed forces in $x$ eventually coincide with the ground truth starting from $t = 11.4$ s.
From $t = 11.4$ s onwards, all forces are reconstructed properly for the sensor deficient case.
In Fig. <ref>, the sensor observability indices and system observability vectors show that they are all close to 0 until the robot begins to move away from the singular configuration.
While $F_x$ is fully reconstructed when $s_{sum, F_x} \approx 0.66$ at $t = 11.4$ s, this value does not necessarily represent a universal threshold and could be unique to this particular robot, sensor type, joint configuration, experiment, and reconstruction method.

§ CONCLUSION

In this work, we introduce the novel concept of the sensor observability for analysing the quality of a specific joint configuration for observing task-space quantities.
We believe that this is the first work in quantifying the cumulating effect of distributed axial sensor positioning in multi-DOF articulated robots and provides a novel performance metric as well as the base framework for developing further tools related to sensor analysis.

In special cases related to force sensing, there exists parallels between traditional kinematics analysis and the proposed sensor observability analysis, but sensor observability has certain advantages related to generalization.
A deeper analysis shows the need to distinguish between the two and use sensor observability to augment kinematic manipulability, particularly in irregular robot structures where joints and sensors do not have a one-to-one mapping.
While sensor observability analysis is most intuitively applied to force sensing, the concept may potentially be applied to other axial sensors such as accelerometers or distance sensors.

Future work, as mentioned throughout the paper, will include further generalization of the concept to include other sensor types, unidirectional sensors, and sensor performance at joint limits.
The concept will also be extended to multi-contact, multi-limbed, and floating base robots.
While we have demonstrated the optimization of task-space observability along a single direction, future work would extend the concept for sensor observabiliy ellipsoid shaping to achieve specific sensor observability profiles, as shown in [20] for the manipulability ellipsoid shaping.

At the end of the article one or more statements should specify
(a) contributions that do not justify authorship;
(b) technical help;
(c) financial and material support, specifying the nature of the support;
(d) financial relationships that may pose a conflict of interest.

[1]
P. Salaris, M. Cognetti, R. Spica, and P. R. Giordano, “Online optimal
perception-aware trajectory generation,” IEEE Transactions on
Robotics, vol. 35, no. 6, pp. 1307–1322, Dec 2019.

[2]
H. Hu, Z. Liu, S. Chitlangia, A. Agnihotri, and D. Zhao, “Investigating the
impact of multi-lidar placement on object detection for autonomous driving,”
in Proceedings of the IEEE/CVF Conference on Computer Vision and
Pattern Recognition (CVPR), June 2022, pp. 2550–2559.

[3]
I. Bonev, J. Ryu, S.-G. Kim, and S.-K. Lee, “A closed-form solution to the
direct kinematics of nearly general parallel manipulators with optimally
located three linear extra sensors,” IEEE Transactions on Robotics and
Automation, vol. 17, no. 2, pp. 148–156, April 2001.

[4]
M. Van Damme, P. Beyl, B. Vanderborght, V. Grosu, R. Van Ham, I. Vanderniepen,
A. Matthys, and D. Lefeber, “Estimating robot end-effector force from noisy
actuator torque measurements,” in 2011 IEEE International Conference
on Robotics and Automation, May 2011, pp. 1108–1113.

[5]
L. D. Phong, J. Choi, and S. Kang, “External force estimation using joint
torque sensors for a robot manipulator,” in 2012 IEEE International
Conference on Robotics and Automation, May 2012, pp. 4507–4512.

[6]
C.-h. Wu and R. P. Paul, “Manipulator compliance based on joint torque
control,” in 1980 19th IEEE Conference on Decision and Control
including the Symposium on Adaptive Processes, Dec 1980, pp. 88–94.

[7]
E. Berger and A. Uhlig, “Feature-based deep learning of proprioceptive models
for robotic force estimation,” in 2020 IEEE-RAS 19th International
Conference on Humanoid Robots (Humanoids), 2021, pp. 4258–4264.

[8]
C. Gosselin and J. Angeles, “Singularity analysis of closed-loop kinematic
chains,” IEEE Transactions on Robotics and Automation, vol. 6, no. 3,
pp. 281–290, June 1990.

[9]
S. Stavridis, P. Falco, and Z. Doulgeri, “Pick-and-place in dynamic
environments with a mobile dual-arm robot equipped with distributed distance
sensors,” in 2020 IEEE-RAS 19th International Conference on Humanoid
Robots (Humanoids), 2021, pp. 4258–4264.

[10]
C. Xiao, S. Xu, W. Wu, and J. Wachs, “Active multiobject exploration and
recognition via tactile whiskers,” IEEE Transactions on Robotics,
vol. 38, no. 6, pp. 3479–3497, Dec 2022.

[11]
A. Albini, F. Grella, P. Maiolino, and G. Cannata, “Exploiting distributed
tactile sensors to drive a robot arm through obstacles,” IEEE Robotics
and Automation Letters, vol. 6, no. 3, pp. 4361–4368, July 2021.

[12]
T. Laliberté and C. Gosselin, “Low-impedance displacement sensors for
intuitive physical human–robot interaction: Motion guidance, design, and
prototyping,” IEEE Transactions on Robotics, vol. 38, no. 3, pp.
1518–1530, June 2022.

[13]
L. Hawley, R. Rahem, and W. Suleiman, “External force observer for small- and
medium-sized humanoid robots,” International Journal of Humanoid
Robotics, vol. 16, no. 06, pp. 1–25, 2019.

[14]
S. Patel and T. Sobh, “Manipulator performance measures - a comprehensive
literature survey,” Journal of Intelligent & Robotic Systems,
vol. 77, no. 3, pp. 547–570, 2015. [Online]. Available:

[15]
T. Yoshikawa, “Manipulability of robotic mechanisms,” The International
Journal of Robotics Research, vol. 4, no. 2, pp. 3–9, 1985.

[16]
M. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and
Control.1em plus 0.5em minus 0.4emWiley, 2020.

[17]
K. Dufour and W. Suleiman, “On maximizing manipulability index while solving a
kinematics task,” Journal of Intelligent & Robotic Systems, vol.
100, no. 1, pp. 3–13, Oct. 2020.

[18]
S. Chiu, “Control of redundant manipulators for task compatibility,” in
Proceedings. 1987 IEEE International Conference on Robotics and
Automation, vol. 4, March 1987, pp. 1718–1724.

[19]
N. Jaquier, L. Rozo, D. G. Caldwell, and S. Calinon, “Geometry-aware tracking
of manipulability ellipsoids,” in Proceedings of Robotics: Science and
Systems, Pittsburgh, Pennsylvania, June 2018.

[20]
——, “Geometry-aware manipulability learning, tracking, and transfer,”
The International Journal of Robotics Research, vol. 40, no. 2-3, pp.
624–650, 2021.

[21]
Y. Gu, B. Yao, and C. George Lee, “Feasible center of mass dynamic
manipulability of humanoid robots,” in 2015 IEEE International
Conference on Robotics and Automation (ICRA), May 2015, pp. 5082–5087.

[22]
M. Azad, J. Babič, and M. Mistry, “Dynamic manipulability of the center of
mass: A tool to study, analyse and measure physical ability of robots,” in
2017 IEEE International Conference on Robotics and Automation (ICRA),
May 2017, pp. 3484–3490.

[23]
A. Bicchi and D. Prattichizzo, “Manipulability of cooperating robots with
unactuated joints and closed-chain mechanisms,” IEEE Transactions on
Robotics and Automation, vol. 16, no. 4, pp. 336–345, Aug 2000.

[24]
I. Gravagne and I. Walker, “Manipulability, force, and compliance analysis for
planar continuum manipulators,” IEEE Transactions on Robotics and
Automation, vol. 18, no. 3, pp. 263–273, June 2002.

[25]
C. Y. Wong and W. Suleiman, “Sensor observability index: Evaluating sensor
alignment for task-space observability in robotic manipulators,” in
2022 IEEE/RSJ International Conference on Intelligent Robots and
Systems (IROS), 2022, pp. 1276–1282.

[26]
S. Samadi, J. Roux, A. Tanguy, S. Caron, and A. Kheddar, “Humanoid control
under interchangeable fixed and sliding unilateral contacts,” IEEE
Robotics and Automation Letters, vol. 6, no. 2, pp. 4032–4039, 2021.

[27]
J. Denavit and R. S. Hartenberg, “A kinematic notation for lower-pair
mechanisms based on matrices,” Trans. ASME E, Journal of Applied
Mechanics, vol. 22, pp. 215–221, June 1955.

[28]
F. Wu, L. Maréchal, A. Vibhute, S. Foong, G. S. Soh, and K. L. Wood, “A
compact magnetic directional proximity sensor for spherical robots,” in
2016 IEEE International Conference on Advanced Intelligent Mechatronics
(AIM), July 2016, pp. 1258–1264.

[29]
A. Spielberg, A. Amini, L. Chin, W. Matusik, and D. Rus, “Co-learning of task
and sensor placement for soft robotics,” IEEE Robotics and Automation
Letters, vol. 6, no. 2, pp. 1208–1215, April 2021.

[30]
B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, Robotics:
Modelling, Planning and Control, 1st ed.1em plus 0.5em minus
0.4emSpringer-Verlag, 2008.

[31]
R. L. Williams II, “Baxter humanoid robot kinematics,” Ohio University, Tech.
Rep., 2017. [Online]. Available:

[]Christopher Yee Wong (M'15)
received his B.Eng (2011) and M.Eng. (2014) from McGill University in Montreal, Canada and Ph.D. (2017) in mechanical engineering from University of Toronto in Toronto, Canada. He received postdoctoral fellowships to perform research at AIST in Tsukuba, Japan (2018-2019), at LIRMM in Montpellier, France (2019), and at l'Université de Sherbrooke in Sherbrooke, Canada (2019-2023). He joined McGill University as a research associate in 2023, where his research interest in physical human-robot interaction focuses on improving methods for robot cognition with regards to safety and intention detection related to human touch.

[]Wael Suleiman received the Master's and Ph.D. degrees in automatic control from Paul Sabatier University, Toulouse, France in 2004 and 2008, respectively. He has been Postdoctoral researcher at AIST, Tsukuba, Japan from 2008 to 2010, and at Heidelberg University, Germany from 2010 to 2011. He joined University of Sherbrooke, Quebec, Canada, in 2011, and is currently Associate Professor at Electrical and Computer Engineering Department. His research interests include collaborative and humanoid robots, motion planning, nonlinear system identification and control and numerical optimization.

§.§ Sensor observability threshold for sensor noise

a) Simplified example for the derivation of sensor observability thresholding in the $x$-axis; b) flowchart of the formulation.

To illustrate the derivation of the sensor observability threshold, we examine the scenario shown in Fig. <ref> where an external force $\bm{F}_{ext}$ is applied to the 1DOF robot with a single load cell $\bm{\hat{s}}^{LC}$ that is aligned with the link.
The analysis only considers the $x$-axis for simplicity.

The force projected along the axis of the load cell, which is seen by the sensor, is $\hat{F}_{in} = F_{ext} \lvert\mathcal{C}_\theta\rvert$, where $\mathcal{C}_\theta = \text{cos}(\theta)$.
The output signal of the load cell $\hat{F}_{out}$ is corrupted by sensor noise $\sigma_{\epsilon}$, a property of the sensor hardware, resulting in $\hat{F}_{out} = \hat{F}_{in} + \sigma_{\epsilon}$.
In order to reconstruct the applied external force from the sensor output, the output of the sensor must be divided by the angle offset of the sensor $\mathcal{C}_\theta$.
The reconstructed external force $\tilde{F}$ is then:

\begin{equation}
\tilde{F} = \frac{\hat{F}_{out}}{\lvert\mathcal{C}_\theta\rvert} = \frac{\hat{F}_{in} + \sigma_{\epsilon}}{\lvert\mathcal{C}_\theta\rvert} = \frac{F_{ext}\lvert\mathcal{C}_\theta\rvert + \sigma_{\epsilon}}{\lvert\mathcal{C}_\theta\rvert} = F_{ext} + \frac{\sigma_{\epsilon}}{\lvert\mathcal{C}_\theta\rvert}
\end{equation}

As the alignment of the sensor axis is equivalent to the angle offset, i.e., $\lvert\mathcal{C}_\theta\rvert = s^{LC}_x$, the second term is then rewritten as:

\begin{equation}
\tilde{F} = F_{ext} + \frac{\sigma_{\epsilon}}{s^{LC}_x}
\end{equation}

Thus, sensing of the external force and reconstructing it precisely is highly dependent on the degree of alignment between $F_{ext}$ and $s^{LC}_x$.
If the alignment is poor, then the noise term $\sigma_{\epsilon}$ will be amplified by $\frac{1}{s^{LC}_x}$ and mask any small $F_{ext}$.
Thus, for a given alignment $s^{LC}_x$, $\Phi$ is considered the minimum force that can be detected.

\begin{equation}
\Phi = \frac{\sigma_{\epsilon}}{s^{LC}_x}
\label{eq:app-init-phi}
\end{equation}

By considering (<ref>) in reverse, we set $\Phi_{min}$ as the minimum that must be detected and then determine the sensor observability threshold $s^{LC,*}_x$:

\begin{equation}
s^{LC,*}_x = \frac{\sigma_{\epsilon}}{\Phi_{min}}% = \frac{\sigma_{\epsilon}}{\kappa \Phi_{min}} %= \frac{\sigma^2}{\kappa \Phi_{min}}
\label{eq:app-final-force}
\end{equation}

While this derivation is for load cells, formulations for other sensor types may differ and will be explored in future work.