This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

\corrauth

Michael A. Lin, Biomimetic and Dexterous Manipulation Lab, Stanford University, Stanford, California, USA

Navigation and 3D Surface Reconstruction from Passive
Whisker Sensing

Michael A. Lin11affiliationmark:    Hao Li11affiliationmark:    Chengyi Xing11affiliationmark: and Mark R. Cutkosky11affiliationmark: 11affiliationmark: Stanford University, CA, USA [mlinyang,li2053,chengyix,cutkosky]@stanford.edu
Abstract

Whiskers provide a way to sense surfaces in the immediate environment without disturbing it. In this paper we present a method for using highly flexible, curved, passive whiskers mounted along a robot arm to gather sensory data as they brush past objects during normal robot motion. The information is useful both for guiding the robot in cluttered spaces and for reconstructing the exposed faces of objects. Surface reconstruction depends on accurate localization of contact points along each whisker. We present an algorithm based on Bayesian filtering that rapidly converges to within 1 mm of the actual contact locations. The piecewise-continuous history of contact locations from each whisker allows for accurate reconstruction of curves on object surfaces. Employing multiple whiskers and traces, we are able to produce an occupancy map of proximal objects.

keywords:
Perception for Grasping and Manipulation, Soft Sensors and Actuators, Force and Tactile Sensing, Biologically-Inspired Robots, Collision Avoidance

1 Introduction

Whiskers are effective for operating in confined and cluttered environments—especially when vision is poor—and can provide valuable information about objects and surfaces as they contact and brush past them. Not surprisingly, they are used widely across the animal kingdom Prescott et al. (2016); Boublil et al. (2021). In some cases (e.g. rats) animals employ sophisticated active whisking and a specialized sensory cortex for processing whisker stimulii  Carvell and Simons (1990). In other cases, such as the vibrissae on the lower limbs of cats, they are mostly passive and provide information for gracefully negotiating complex three-dimensional environments. It has been shown also that the intrinsic curvature of whiskers plays a pivotal role in influencing the mechanical signals they transmit Luo and Hartmann (2023).

Although they are less widely used than other sensing modalities, whiskers have also been demonstrated in robotics. Relevant prior work is summarized in the next section, but first we consider some general characteristics of whisker sensing. Like tactile sensors, they provide information about contacts and surfaces at close range and when vision is occluded. Unlike most tactile sensors, they can contact even very light objects without disturbing them. This ability to sense the environment without changing its state is useful for state estimation as the state of the environment remains unchanged. In this regard, whiskers can also be compared to non-contact proximity sensing, for example using ultrasound, or capacitive, or optical transducers Navarro et al. (2021). Compared to many non-contact sensors, whiskers have a small receptive field (i.e., they typically sense a single point of contact at any time), which may be useful to isolate discontinuous object features. In addition, although they do not affect the environment, they are affected by it. Changes in object texture, for example, can affect whisker signals on the high frequency ranges. Depending on the whisker curvature, they can also react differently than a non-contact proximity sensor when passing off the corner of one object and onto another. An advantage we show experimentally, is that whiskers are more robust to object surface reflectivity and translucency compared to many of the existing non-contact proximity sensors.

The motivating application for the whiskers and perception method reported here is robots that operate in cluttered environments. Reaching into a cupboard or a refrigerator full of objects are examples of tasks where contacts may happen frequently and even unexpectedly, both at the end-effector and along the forearm (Figure 1). Sensing the locations and forces of contacts has been recognized as helpful for perception Jain et al. (2013); Wang et al. (2020); Bohg et al. (2010); Petrovskaya and Khatib (2011) enabling access to locations that may be occluded from visual sensors. However, sensing through contact when interacting with free-standing objects that are small and light (e.g. a nearly empty bottle of pills or spices) is challenging because the action of making contact will likely change the object’s state. This issue is pronounced when contacts occur on parts of a robot with high mechanical impedance. Enabling robots to sense objects unobtrusively allows for the assumption that the environment remains static through interactions. Consequently, the history of contact measurements becomes coherent and integrable. To achieve unobtrusive tactile sensing, prior work has shown that minimizing the robot’s inertial properties at the end-effector is useful Bhatia et al. (2019); Wang et al. (2020); Lin et al. (2021). However, a different approach is needed to detect and minimize disturbances arising from contacts along the arm.

Refer to caption
Figure 1: A)Instruments robot end-effector with an array of 16 semi-curved whisker sensors. B)Illustrates the sensing region of a semi-curved sensor. Shaded region approximately defines a threshold or keep-out region based on the amount of deflection measured on the sensor. C)Shows the combined sensing region and keep-out region of a sensorized end-effector. Contacts within the threshold generate a repelling force FrF_{r}.

s

In our approach, we use soft, curved whiskers mounted along a robot arm and we use the robot’s accurate proprioception in combination with sensor measurements to localize contacts along the whisker and gather information about the environment.

A number of challenges arise in passive whisker use. First is that whisker motion and deflection are subject to arm motion, which is typically intended to control an end-effector rather than to provide exploratory sensing. Interaction with objects will often be limited to one sustained contact as opposed to multiple probing actions. The state estimation method should be able to process this arbitrary motion and whisker deflection to infer contact locations quickly. A second challenge is that passive interactions with the world can cause a whisker to be deflected in any direction. Therefore, contact localization has to be computed in 3D. A third challenge is that as a whisker is moved in arbitrary directions a straight whisker may catch its tip on object surfaces and buckle (Figure 2), making the sensor signal difficult to interpret. A curved whisker can avoid this buckling effect, but contact localization becomes more challenging.

Contributions: We present methods for employing arrays of flexible whiskers for navigation and partial surface reconstruction. In this work we use pre-curved whiskers of super-elastic nitinol mounted along the arm of a robot; fabrication methods are presented in an earlier paper Lin et al. (2022). To evaluate the effectiveness of these whiskers to perceive nearby objects and surfaces, we conducted preliminary experiments comparing their performance to other proximity sensors. In comparative tests, we report the accuracies of distance measurements to surfaces using these whiskers and with optical and ultrasonic non-contact sensors. These tests are relevant for obstacle avoidance and navigation. We further develop an algorithm that can precisely determine 3D contact location on the whisker in real-time. The main components of this algorithm include: 1. a calibration-based sensor model using a Gaussian Process Regression (GPR) method with a Thin Plate kernel and demonstrate the advantage of this kernel over other popular GPR kernels, and 2. a Bayesian filter that combines the sensor and proprioceptive data to infer contact location in real-time. We implement three different Bayesian filters (Extended Kalman Filter, Unscented Kalman Filter and Particle Filter), showing that these methods can perform better than a baseline method Solomon and Hartmann (2010), with the UKF being the best performing filter in tests. Using this approach, we demonstrate the ability to combine robot proprioception and sensor measurements to accurately track contact locations over time and to partially reconstruct object surfaces using passive whisker contact. In addition to contact localization, we also present a method to integrate sequences of contact location estimates using Bayesian Hilbert Maps. We show how this occupancy map method can serve multiple purpose including: 1. combine sensory data from multiple sensors, 2. provide a more accurate prior distribution to initialize a Bayesian Filtering run upon first contact, and 3. integrate sensory data over time and interpolate the surface structure of surrounding space.

Some highlighted differences of this work compared to a preceding conference paper Lin et al. (2022) are that we develop algorithms to track contact locations in 3D, not constraining them to the primary curvature plane of the sensor. We also develop methods for modeling the sensor with Gaussian Process Regression that is more robust to tracking divergence. Finally, we present results on integrating histories of contacts to estimate object surfaces.

Refer to caption
Figure 2: Curved whiskers with different geometries and sensing regions (A). Depending on motion direction, a straight whisker may buckle, making interpretation more difficult (B).

2 Related work

Whiskers have been employed to perceive diverse types of environmental information, including contact, force, and air currents or flows Lin et al. (2022); Zhang et al. (2024); Liu et al. (2023). This innate capacity for spatial and tactile awareness has inspired numerous applications in robotics, particularly in navigating and understanding unstructured environments Suresh et al. (2021); Lin et al. (2022).

2.1 Contact interpretation

The sensing method presented here builds upon prior work on perception of unstructured environments through contacts Petrovskaya and Khatib (2011); Bohg et al. (2010); Wang et al. (2020); Koval et al. (2015); Manuelli and Tedrake (2016); Suresh et al. (2021); Lin et al. (2021). A common challenge when sensing free-standing objects is that the act of contact sensing often will change the state of the object. For objects of known shapes, Koval et al. developed a Particle Filtering approach to estimate object location through a sequence of pushes to collapse the belief distribution Koval et al. (2015). Suresh et al. expanded on this work by posing the problem as a Simultaneous Localization And Mapping (SLAM) problem and were able to estimate both shape and location of objects Suresh et al. (2021). While these methods work when interacting with isolated objects, the pushing approach is more challenging when an object is amidst clutter which constrains both the object and robot arm.

2.2 Unobtrusive contact sensing

Sensing through non-intrusive contacts has the advantage of objects remaining static, making state estimation easier. The most common of such perception methods is vision, however, RGB-D cameras are not well suited for close range sensing as is typically necessary when reaching into confined spaces with objects. Some work has investigated using close range proximity sensing Hsiao et al. (2009); Tsuji and Kohama (2019); Schlegl et al. (2013), but these methods do not perform well when sensing specular or transparent surfaces for optical transducers, or may be susceptible to variations in materials properties for magnetic and capacitive transducers. Sensing through mechanical contact is not affected by these problems.

2.3 Whiskers for perception

Some investigations have addressed whisker- or antenna-based sensing in robotics. Early work by Kaneko et al. showed a method of active probing where a flexible antenna is rotated by actuators at one end to make contact with objects while estimating contact location with measured rotational compliance Kaneko et al. (1998). Subsequent efforts have addressed improved contact localization for objects of varying shapes Solomon and Hartmann (2010); Kim and Möller (2007); Merker et al. (2021); Gomez et al. (2024, 2023). Using 3-DOF force/torque sensing at the base (two bending torques and one axial force) it is possible to deduce contact locations from single measurements Sofla et al. (2023, 2024); Huet et al. (2017); Emnett et al. (2018); Nguyen et al. (2020). However, these methods require either solving a nonlinear system of differential equations or providing a unique mapping of transducer signals to contact locations, leading to computational complexity and limited resolution under realistic conditions when an arm is moving among small and light objects.

2.4 Safe collision-avoidance navigation

For the task of reaching in an unstructured space, an advantage of using non-obtrusive sensing is that it can be directly used for collision-free navigation. Typically, collision avoidance navigation in clutter is done by sensing through rigid or soft collisions Saund et al. (2019); SaLoutos et al. (2023); Gruebele et al. (2020, 2021), model-based control Jain et al. (2013) and path planning strategies Muhayyuddin et al. (2018). However, relying on forceful collisions for navigation can be challenging as the safety of the solution depends on speed of robot motion, sensing, control latency, and compliance of the system. Using optical or acoustic proximity sensing has robustness limitations to object translucency and texture as mentioned in Section 2.2. Using highly compliant structures to sense surrounding spaces, on the other hand, overcomes these limitations while effectively still achieving a safe interaction with surrounding objects.

3 Whisker sensing principle

Details on the design, sensing principle and fabrication processes are provided in Lin et al. (2022). Briefly, the whiskers consist of slender (0.2 mm diameter 60 Y mm long) pre-curved nitinol wires. Each whisker is anchored to a compliant silicone rubber base that contains a small permanent magnet. A three-axis magnetometer on a PCB beneath the whisker measures the motions of the magnet to produce signals proportional to bending moments about the b^x\hat{b}_{x} and b^z\hat{b}_{z} axes, as depicted in Figure 3.

Figure 3 depicts an example of a whisker that has come into contact with a cylindrical object. As the robot moves in the b^x-\hat{b}_{x} direction, the whisker produces a moment MzM_{z} at the sensor base that is measured continuously. This signal can be processed to generate two types of information: (i) proximity to nearby surfaces and (ii) locations of contacts. Proximity sensing enables safe navigation in constrained spaces by alerting the robot to nearby surfaces. Contact localization employs a Bayesian algorithm to map environmental contours during surface interaction. Together, these capabilities allow the robot to maneuver while also building a partial spatial reconstruction of nearby obstacles or surfaces.

Refer to caption
Figure 3: Figure illustrates a whisker sensor brushing along the surface of an object. The trace of the contact locations, pcp_{c}, over time informs the robot about the object surface.

In the following sections we present algorithms and models to enable these two types of feedback, and demonstrate their use cases. We show that proximity measurement can be processed in real-time from bending moments, and show how it can be used in a reactive controller to achieve obstacle avoidance when reaching in clutter. Simultaneously, sequences of bending moment measurements through time can be used in combination with known motion of the sensor base to probabilistically infer the locations of contacts. We show that a sequence of these contact location estimates can be used to reconstruct the shapes of surfaces that the sensor brushes against.

4 Proximity sensing

One of the challenges of operating a robot in unstructured environments with low visibility is being able to navigate spaces while avoiding collisions with objects. We avoid this difficulty by using sensors that have high structural compliance and also a large sensing volume or range. These properties allow the sensor to come into and remain in contact with objects while applying very low forces, and they provide ample buffer space to allow a robot to respond.

We tested our whisker sensor and other commonly-used proximity sensors on different objects. We selected objects with various values of transparency and reflectivity, using a coffee mug as the baseline. In addition to our whisker sensor, we tested a VCNL4010 light sensor, a VL6180X laser sensor, and an HC-SR04 ultrasonic sensor. We calculated the Root-Mean-Square (RMS) error from the measured point to the nearest ground truth surface. Details on the measurement method and settings can be found in Section A.1. As shown in Table 1, the light and laser sensors are almost unusable on high-transparency objects (2,3). They also have a large noise on reflective objects (5-7). As the laser sensor emits a narrower infrared ray than the light sensor, it has a much larger error on the edges of highly reflective objects (7). While the ultrasonic sensor can measure the distance correctly with some noise, it has significant errors on non-flat surfaces (4,8) due to the wide range of its ultrasonic wave probe. Except for the rough rock (8), where local surface rugosity is about 11 mm, our whisker sensor achieves a distance measuring accuracy of less than 1 mm.

4.1 Safe navigation

When non-zero deflection is measured by our sensors, it is a clear indication of the presence of an object within the sensing range of the whisker (Figure 2). One implementation of a reactive controller can be to apply an artificial force at the sensor location in the direction counter to the normal, such the robot will move and avoid contact with the sensors attached. While this is a safe approach, we gain little information about the surroundings by fully avoiding contact with the whiskers. Instead, we are interested in allowing for sustained contacts with a safety boundary such that the controller will prevent objects from getting too close to the surface of the robot (Figure 1). This approach affords more information gain by processing the contact location for shape reconstruction as will be shown in Section 5, while also avoiding collisions with objects.

Table 1: RMS error from sensor measurements to the nearest ground truth surface of different sensors and objects (units in mm). The VCNL4010, VL6180X, and HC-SR04 are light, laser, and ultrasonic time-of-flight sensors, respectively. Objects 2,3 have high transparency; objects 4-8 have varying levels of reflectivity. Object 1 (non-transparent, matte finish) is used as a baseline.
[Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image] [Uncaptioned image]
VNCL4010 1.99 10.29 8.83 1.59 8.17 2.38 3.34 15.36
VL6180X 2.38 18.19 11.14 5.71 8.09 7.45 11.90 8.83
HR-SR04 2.92 2.13 2.25 11.18 3.17 3.17 2.31 15.99
Whisker 0.16 0.60 0.75 0.95 0.44 0.32 0.29 1.29

We implemented a reactive collision avoidance controller using a admittance-type control (similar to that found in Lynch and Park (2017)):

F\displaystyle F^{*} =kvx˙+kp(xgx)\displaystyle=-k_{v}\dot{x}+k_{p}(x_{g}-x) (1)
x˙g\displaystyle\dot{x}_{g} =i=0NJiTEBFr,i\displaystyle=\sum_{i=0}^{N}\prescript{B}{E}{J^{T}_{i}}F_{r,i} (2)
Fr,i\displaystyle F_{r,i} =γmax(Mz,iMz,th,0)\displaystyle=\gamma\max(M_{z,i}-M_{z,th},0) (3)

where xx is the end-effector Cartesian pose, xgx_{g} is the goal pose, JiTEB\prescript{B}{E}{J^{T}_{i}} is the Jacobian that relates forces at the i-th sensor reference frame to forces and moments at the end-effector frame, Mz,iM_{z},i is the deflection measured at the i-th sensor (in this case measured in sensor counts), Mz,thM_{z,th} is a user defined threshold for measured deflection at which artificial forces start acting, finally γ\gamma is a scalar found empirically that relates these deflections to the rate at which the controller moves away from the penetrating surface.

We implemented this reactive controller on the system shown in Figure 1 comprised of a Flexiv Rizon robot arm equipped with an end-effector covered with an array of 16 whisker sensors. We controlled the robot to move among a clutter of objects at moderate speeds (4 cm/s). We tested this controller under three different scenarios:

  1. 1.

    Scenario 1: Robot moves at full speed towards a wine glass.

  2. 2.

    Scenario 2: Robot is teleoperated in arbitrary motions into collision with a clutter of objects.

  3. 3.

    Scenario 3: Robot is commanded to move with a constant velocity vector towards a clutter of objects with an opening of free-space.

Success was measured as not toppling objects over or shifting them from their resting position. We performed 5 experiment trials using Scenario 1, where the robot was commended at a speed of 4 cm/s towards a wine glass. In all 5 trials, the controller was able to push the robot away from the collision upon sensing contact with the whiskers. For Scenario 2, we used a joystick to teleoperate the motion of the robot intentionally moving towards collision with a clutter of objects. Throughout the experiment, which lasted for 40 seconds, the controller was able to avoid all hard collisions. We performed 4 trials using Scenario 3 with different object arrangements. Light object collisions were observed in two trials but caused no toppling or appreciable object shifting, and in all four experiments the controller was able to guide the robot through the free-space opening among objects. The result of this collision avoidance behavior is best seen in the accompanying video  111Reactive collision avoidance experiments videohttps://youtu.be/Rvx4tWSkfu8.

5 Contact localization

Contacts on the whisker sensor cause bending rotations that reflect as bending moments at the base. However, there exists infinite contact locations that can result in the same whisker deflection and corresponding moments at the base. With just instantaneous moment measurements, contacts at points pcp_{c}, pap_{a} and pbp_{b} in Figure 3, would be indistinguishable. Thus, to obtain information on the contact location along the whisker, we integrate instantaneous bending rotations at the whisker base due to whisker deflection, as well as motion of the whisker base over time. The insight is that given multiple moment measurements at different sensor locations—and assuming that the contact location remains mostly the same in the world reference frame—it is possible to infer the contact location from the sequence of moment and position measurements. In this section we detail our approach using these measurements and Bayesian filtering algorithms to infer contact point location and motion.

5.1 Contact localization model and assumptions

We begin by summarizing the assumptions made to limit the scope of the problem.

  1. 1.

    Objects that come into contact are immobile in the world reference frame. In other words, if the robot does not move then contact locations do not change.

  2. 2.

    There is at most one contact point on a whisker with the environment at any time. This will be true for convex objects.

  3. 3.

    Frictional forces along the whisker are negligible in terms of their effect on the sensor. This again will generally be true given the nitinol whisker material.

In the following derivation we follow the conventions in Murray et al. (1994) with lowercase boldface fonts for vectors, uppercase boldface fonts for matrices and {F}\{F\} denoting a reference frame. Lowercase superscript and subscript letters indicate the reference frames in which a vector or matrix is expressed. For example, 𝒗aba\bm{v}^{a}_{ab} is the linear velocity of reference frame A relative to B (subscript ab{ab}) as viewed in reference frame A (superscript aa).

Let {B}\{B\} be the reference frame of the sensor base and {S}\{S\} be the spatial (world-fixed) reference frame. We define our process and sensor model as follows

𝒙k+1\displaystyle\bm{x}_{k+1} =𝑨𝒙k+𝑩[𝒗sbb𝝎sbb]+𝒘k\displaystyle=\bm{A}\bm{x}_{k}+\bm{B}\begin{bmatrix}\bm{v}^{b}_{sb}\\ \bm{\omega}^{b}_{sb}\end{bmatrix}+\bm{w}_{k} (4)
yk\displaystyle y_{k} =g(𝒙k)+𝝂k\displaystyle=g(\bm{x}_{k})+\bm{\nu}_{k} (5)

Where 𝒙k=𝒑c\bm{x}_{k}=\bm{p}_{c} is the position vector of the contact point relative to the origin of {B}\{B\} at time-step kk. yky_{k} is the sensor measurement at time-step kk. 𝒗sbb\bm{v}^{b}_{sb} and 𝝎sbb\bm{\omega}^{b}_{sb} are the linear and angular velocity, respectively, of sensor base {B}\{B\} relative to world-fixed frame {S}\{S\} as viewed in the body frame. Process and sensor noise are modelled as Gaussian white noise where 𝒘k,𝝂k𝒩(0,σ2)\bm{w}_{k},\bm{\nu}_{k}\sim\mathcal{N}(0,\,\sigma^{2}). g:2g:\mathbb{R}^{2}\to\mathbb{R} is our sensor model that maps contact location to moment measurements which we will elaborate on in Section 5.2.

To define the process model, we first find the velocity of point pcp_{c} relative to {S}\{S\} as viewed in the body frame {B}\{B\} denoted as 𝒗spcb\bm{v}^{b}_{sp_{c}}. Let’s consider pcp_{c} as a point with respect to {B}\{B\}, and define a point bpb_{p} that is instantaneously coincident to pcp_{c}, but fixed in {B}\{B\}. We can find the linear velocity of pcp_{c} with respect to the spatial frame as

𝒗spcb\displaystyle\bm{v}^{b}_{sp_{c}} =𝒗sbpb+𝒗bpcb\displaystyle=\bm{v}^{b}_{sb_{p}}+\bm{v}^{b}_{bp_{c}} (6)
=𝒗sbb+𝝎sbb×𝒃p+𝒗bpcb\displaystyle=\bm{v}^{b}_{sb}+\bm{\omega}^{b}_{sb}\times\bm{b}_{p}+\bm{v}^{b}_{bp_{c}} (7)

where 𝒗sbpb\bm{v}^{b}_{sb_{p}} is the linear velocity of point bpb_{p} relative to {S}\{S\} as viewed in the body frame, 𝒗sbb\bm{v}^{b}_{sb} is the linear velocity of {B}\{B\} relative to {S}\{S\} as viewed in the body frame, 𝝎sbb\bm{\omega}^{b}_{sb} is the angular velocity of {B}\{B\} with respect to {S}\{S\}. 𝒑c\bm{p}_{c} is the position vector of point pcp_{c} relative to {B}\{B\}’s origin.

Given our assumption that the contact point remains static in the spatial frame (i.e. 𝒗spcb=𝟎\bm{v}^{b}_{sp_{c}}=\bm{0}), the contact point velocity relative to {B}\{B\} is

𝒗bpcb\displaystyle\bm{v}^{b}_{bp_{c}} =𝒗sbb+𝝎sbb×𝒃p\displaystyle=-\bm{v}^{b}_{sb}+-\bm{\omega}^{b}_{sb}\times\bm{b}_{p} (8)
=[𝑰[𝒑c]][𝒗sbb𝝎sbb]\displaystyle=-\begin{bmatrix}\bm{I}&[\bm{p}_{c}]\end{bmatrix}\begin{bmatrix}\bm{v}^{b}_{sb}\\ \bm{\omega}^{b}_{sb}\end{bmatrix} (9)

where [𝒑c][\bm{p}_{c}] is the skew-symmetric matrix of vector 𝒑c\bm{p}_{c} and 𝑰\bm{I} is the identity matrix.

As the sensor is attached on a robot link, 𝒗sbb\bm{v}^{b}_{sb} and 𝝎sbb\bm{\omega}^{b}_{sb} can be found through

[𝒗sbb𝒘sbb]=𝑱sbb(𝒒)𝒒˙\displaystyle\begin{bmatrix}\bm{v}^{b}_{sb}\\ \bm{w}^{b}_{sb}\end{bmatrix}=\bm{J}^{b}_{sb}(\bm{q})\bm{\dot{q}} (10)

where 𝑱sbb\bm{J}_{sb}^{b} is the body Jacobian of {B}\{B\} relative to {S}\{S\}, and q is the vector of manipulator joint angles.

With the velocity of the contact point with respect to {B}\{B\} defined, we can express the process model as

𝒙k+1\displaystyle\bm{x}_{k+1} =𝒙k+δt𝒗spcb=𝒙kδt[𝑰[𝒑c]]𝝃sbb+𝒘k\displaystyle=\bm{x}_{k}+\delta_{t}\bm{v}^{b}_{sp_{c}}=\bm{x}_{k}-\delta_{t}\begin{bmatrix}\bm{I}&[\bm{p}_{c}]\end{bmatrix}\bm{\xi}^{b}_{sb}+\bm{w}_{k} (11)

which gives as 𝑨=I\bm{A}=I and 𝑩=δt[𝑰[𝒑c]]\bm{B}=-\delta_{t}\begin{bmatrix}\bm{I}&[\bm{p}_{c}]\end{bmatrix} in Equation 4.

In the case when contacts are not static, such as when they travel along objects having a large radius of curvature, the velocity of the contact point relative to the world 𝒗spcb\bm{v}^{b}_{sp_{c}} is non-zero. However, since we assume no prior knowledge of the object shape and location, the contact velocity is not predictable. As inferences are executed very fast (250 Hz) contact points do move far between iterations, so we choose to make the static assumption and correct for errors using the sensor model.

5.2 Sensor model and calibration

In order to find the sensor model, gxg_{x} and gyg_{y}, which maps contact point locations, 𝒙k\bm{x}_{k}, to predicted moment measurements, 𝒚k\bm{y}_{k}, we develop a calibration platform and procedure. To gather data for this mapping we used a 3-axis calibration stage shown in Figure 4: model LSM100A from Zaber (position resolution of 0.1μ0.1\mum). A calibration rig is attached at the end of the stage which has a V-shaped groove used to enforce a known contact location on the whisker. During data collection, position and magnetic sensor data are recorded as the end-effector of the stage is driven to deflect the whisker with the calibration rig. This procedure is then repeated for different positions of the stage by tracing an arbitrary trajectory (as shown on the right of Figure 4) that spans the sensing region.

Refer to caption
Figure 4: Left: 3-axis positioning stage used for calibrating whisker sensors. Right: Example of different calibration points collected within the sensing region.

From calibration we obtain a dataset 𝒟={(𝒙i,𝒚i)i=1,,n}\mathcal{D}=\{(\bm{x}_{i},\bm{y}_{i})\mid i=1,...,n\} where 𝒙i\bm{x}_{i} are 3D positions of the contact location and 𝒚i\bm{y}_{i} is the bending moment measurements from the Hall effect sensor in x and y axes as illustrated previously in Figure 3.

We use the method of Gaussian Process Regression (GPR) to find a model that will best fit the calibration dataset that maps three-dimensional position input to two-dimensional sensor response output. We use GPR as it can yield highly expressive models and works well for noisy observations.

The underlying function that relates the data points is a kernel function. Many alternative kernel functions also exist Williams and Rasmussen (2006), and in practice, kernels are chosen through empirical results or through prior knowledge about the underlying distribution. The most frequently used kernel function is the Squared Exponential kernel, also known as the Radial Basis Function (RBF). In this work, we found that a Thin-plate (TP) kernel yielded a sensor model that is more robust to tracking divergence compared to models obtained through the RBF kernel. The two kernels are defined as follows:

kSE(r)\displaystyle k_{SE}(r) =exp(r22l2)\displaystyle=\exp{(\frac{-r^{2}}{2l^{2}})} (12)
kTP(r)\displaystyle k_{TP}(r) =112(2|r|33Rr2+R3)\displaystyle=\frac{1}{12}(2|r|^{3}-3Rr^{2}+R^{3}) (13)

where ll is a hyperparameter that tunes the locality of the RBF (the higher ll is, the less influence data points have on farther neighbors), and RR is the radius of the region within which the TP model will minimize the second-order gradient.

One notable difference between models from a TP kernel and RBF kernel is that at the extrapolated region (i.e., the domain outside of where data was collected) the TP kernel maintains a mean with a constant slope whereas RBF has a mean that converges to zero Williams and Fitzgibbon (2006). This can be visualized in Figure 5, where we show a surface plot of a slice of the model at z=0z=0. From the RBF models we can see that the mean value converges to zero exponentially at a distance away from data points, whereas, TP models have a constant slope that extends from the edges of the data cluster. This is because the TP kernel is formulated to minimize the second-order gradient Williams and Fitzgibbon (2006).

Refer to caption
Figure 5: Sensor data fitted with Gaussian Process Regression. Top plots use Radial Basis Function kernel. Bottom plots use Thin-plate kernel.

Models from both kernels fit the dataset very well. The R-squared values for RBF (with hyper-parameter l=5l=5) are 0.998150.99815 and 0.997700.99770 for MxM_{x} and MyM_{y}, respectively, and values for TP (with hyper-parameter R=100R=100) are 0.999820.99982 and 0.999690.99969 for MxM_{x} and MyM_{y}, respectively. However, it is more advantageous to use the TP models because their extrapolation behavior yields a more stable tracking. This will be further elaborated in  Section 5.3.

5.3 Sensor model comparison

Refer to caption
Figure 6: Contact localization example for demonstrating the advantage of the Thin Plate (TP) model over RBF model. Left top shows the initial condition where the UKF sigma points are initialized outside of the sensing region. The ground truth location is within the dashed region. Left bottom shows the tracking results using the RBF model where divergence occurs due to extrapolation that is unstructured. Right top shows the initial conditions overlaid on the TP model. Right bottom shows the tracking results converge and trace the contour of the object correctly.

As mentioned in Section 5.2, models obtained from the TP kernel are favorable for contact localization. An example of this is illustrated in Figure 6 where we perform a contact localization experiment with a semi-curved sensor (as illustrated in Figure 2) brushing against a cylinder object. We run the tracking algorithm presented in the previous section with the same data and initial conditions, but in one case using the RBF sensor model and the other case using the TP sensor model. In the top two plots we show, overlaid on the sensor models, the goal contact location in green and the UKF sigma points in red. The initialization or prior is such that the sigma points lie in the extrapolated region. It can be observed that, in the RBF model case, the gradients of the region covered by the sigma points are much flatter and the gradient direction might not provide a good correction during the Measurement Update step Wan and Van Der Merwe (2000). In comparison, the gradients in the TP model case are more directed and pronounced in the extrapolated region, making it faster in the Update step to converge towards the correct state. The two bottom plots in Figure 6 then show the different results where the RBF model diverges and TP model converges quickly even though both have the same initial condition and measurement data.

Apart from the empirical data showing that the TP model provides more stable tracking, another reason to use the TP model is that its extrapolated data make more sense than for RBF. The reason the calibration data points are bounded to a region is that the whisker sensor has a finite length, and large deflections cause the calibration rig to break contact with the sensor wire. However, if the whisker had infinite length then we would expect the sensing range to be extended expecting the sensor signal to continue the trend at the boundaries. Given this behavior, the TP model with a constant slope away from the boundaries is a more accurate approximation compared to the RBF model that converges to a zero mean.

5.4 Contact location inference with Bayesian Filtering

In summary, the steps for localization are:

  1. 1.

    Make an initial guess μ0\mu_{0} and Σ0\Sigma_{0}

  2. 2.

    Process proprioception data to perform a prediction step as in Equation 4.

  3. 3.

    Correct for state distribution based on the sensor prediction.

To track contact locations from a sequence of base moment measurements, we use Bayesian filtering in a recursive algorithm that infers the state distribution from a history of sensor data and control inputs. The posterior distribution is defined as

b(𝒙t)\displaystyle b(\bm{x}_{t}) =p(𝒙t𝒚1:t,𝒖1:t)\displaystyle=p(\bm{x}_{t}\mid\bm{y}_{1:t},\bm{u}_{1:t}) (14)
=ηp(𝒚t𝒙t,𝒖t)p(𝒙t𝒙t1,𝒖t)b(𝒙t1)𝑑𝒙t1\displaystyle=\eta\;p(\bm{y}_{t}\mid\bm{x}_{t},\bm{u}_{t})\int p(\bm{x}_{t}\mid\bm{x}_{t-1},\bm{u}_{t})b(\bm{x}_{t-1})d\bm{x}_{t-1} (15)

where η\eta is a normalization factor, b(𝒙t1)b(\bm{x}_{t-1}) is the prior distribution, and p(𝒚t𝒙t,𝒖t)p(\bm{y}_{t}\mid\bm{x}_{t},\bm{u}_{t}) and p(𝒙t𝒙t1,𝒖t)p(\bm{x}_{t}\mid\bm{x}_{t-1},\bm{u}_{t}) can be obtained from the sensor and process model, respectively.

We implemented three different non-linear Bayesian filters to compare their performance: Extended Kalman Filter (EKF), Unscented Kalman Filter (UKF) and Particle Filter (PF). A process noise covariance of 1e5I21e^{-5}I_{2} was empirically found to work well for EKF and UKF. This low noise is reasonable given the accuracy of the optical encoders and calibration system. The sensor noise variance was chosen to be 0.25 which was found through the RMSE of the calibration results reported previously. The process and sensor noise covariance for PF 1e3I21e^{-3}I_{2} and 1 respectively, which were also found empirically to track with low error. We used N=1000 particles for PF.

As mentioned previously, when the actual contact location travels along the surface of an object, our process model described in Section 5.1 will be inaccurate, which may lead to divergence of the estimate. We cannot model this behavior but we can use known techniques for compensating for model errors. These include adding fictitious process noise or using a Fading Memory (FM) filter (Simon, 2006, p. 139). Both are used to increase the predicted covariance but do so differently. FM scales the prior covariance while fictitious process noise adds a constant positive variance to the diagonals. FM was empirically found to produce better results in our application. We implemented this method on the Bayesian filters by scaling the prior covariance by a factor α=1.004\alpha=1.004 at every time step.

Algorithm 1 Unscented Kalman Filter for Contact Tracking
procedure Unscented_Kalman_Filter(μt,Σt,ut,zt\mu_{t},\Sigma_{t},u_{t},z_{t})
     if mod(k, TinflT_{\mathrm{infl}}) == 0 then
         ΣtγinflΣt\Sigma_{t}\leftarrow\gamma_{\mathrm{infl}}\Sigma_{t}
     end if
     χt1=(μt1μt1+γΣt1μt1γΣt1)\chi_{t-1}=\left(\mu_{t-1}\quad\mu_{t-1}+\gamma\sqrt{\Sigma_{t-1}}\quad\mu_{t-1}-\gamma\sqrt{\Sigma_{t-1}}\right)
     χt=g(ut,χt1)μt=i=02nwm[i]χt[i]\chi_{t}^{*}=g(u_{t},\chi_{t-1})\quad\mu_{t}=\sum_{i=0}^{2n}w_{m}^{[i]}\chi_{t}^{*[i]}
     Σt=i=02nwc[i](χt[i]μt)(χt[i]μt)T+Rt\Sigma_{t}=\sum_{i=0}^{2n}w_{c}^{[i]}\left(\chi_{t}^{*[i]}-\mu_{t}\right)\left(\chi_{t}^{*[i]}-\mu_{t}\right)^{T}+R_{t}
     χ^t=(μtμt+γΣtμtγΣt)\hat{\chi}_{t}=\left(\mu_{t}\quad\mu_{t}+\gamma\sqrt{\Sigma_{t}}\quad\mu_{t}-\gamma\sqrt{\Sigma_{t}}\right)
     z^t=h(χ^t)z¯t=i=02nwm[i]z^t[i]\hat{z}_{t}=h(\hat{\chi}_{t})\quad\bar{z}_{t}=\sum_{i=0}^{2n}w_{m}^{[i]}\hat{z}_{t}^{[i]}
     St=i=02nwc[i](z^t[i]z¯t)(z^t[i]z¯t)T+QtS_{t}=\sum_{i=0}^{2n}w_{c}^{[i]}\left(\hat{z}_{t}^{[i]}-\bar{z}_{t}\right)\left(\hat{z}_{t}^{[i]}-\bar{z}_{t}\right)^{T}+Q_{t}
     Σtz=i=02nwc[i](χt[i]μt)(z^t[i]z¯t)T\Sigma_{t}^{z}=\sum_{i=0}^{2n}w_{c}^{[i]}\left(\chi_{t}^{*[i]}-\mu_{t}\right)\left(\hat{z}_{t}^{[i]}-\bar{z}_{t}\right)^{T}
     Kt=ΣtzSt1μt=μt+Kt(ztz¯t)K_{t}=\Sigma_{t}^{z}S_{t}^{-1}\quad\mu_{t}=\mu_{t}+K_{t}(z_{t}-\bar{z}_{t})
     Σt=ΣtKtStKtT\Sigma_{t}=\Sigma_{t}-K_{t}S_{t}K_{t}^{T}
end procedure

In addition to implementing these filters, we compared tracking performance to a baseline by Solomon et al. Solomon and Hartmann (2010). Similar to our method, this baseline estimates contact points at every time step but with estimates that are deterministic rather than probabilistic (i.e., single values rather than a distribution). Another distinction between our method and this baseline is that our sensor model is calibrated, while the baseline uses a small deflection Euler-Bernoulli beam model. In our implementation of this baseline, we used our calibrated sensor model to obtain predicted moments (Mi+1M_{i+1}) and the arc-length to torque ratio (dsMi\frac{ds}{M_{i}}) which are used for the estimation correction step. We compare our localization methods to the baseline only in the straight whisker case, as the baseline assumes a nominally straight beam and it would take significant effort to adapt it to an arbitrary shaped beam. For more detail on the baseline please refer to Solomon and Hartmann (2010).

5.5 Reusing history of contact points

As detailed in Section 5.4, the localization method is a recursive algorithm, and how quickly it converges to the ground truth depends on how good the prior distribution is. Since each interaction between whisker and objects can be brief, it is important that the algorithm can converge quickly.

We do not assume we have any prior information about the world, so it is only possible to guess where contacts will happen on the whisker sensor. However, as information is collected from the environment, we can integrate this data into a map that can then be used to make a more accurate guess on the prior. To build this map we use Bayesian Hilbert Maps (BHM) developed by Senanayake et al. Senanayake and Ramos (2017) which is a method for building continuous occupancy maps in static environments. Two types of data are collected: (i) occupied points which are the mean estimates from the contact localization method and (ii) unoccupied points which are randomly sampled from within the volume occupied by the rigid end-effector link, since we know these regions cannot be occupied by objects. BHM uses a kernel method to calculate the influence of these data points to a grid of hinge points (3D points fixed in the world) by optimizing for a set of parameters 𝒘\bm{w}. Then these sets of parameters and hinge points are used to calculate the posterior occupancy distribution.

The occupancy map can be used to query the likelihood of a point being occupied. For example the probability of a point 𝒙\bm{x} being occupied y=1y=1 is Senanayake and Ramos (2017)

P(y=1x,w)=1(1+exp(𝒘Tϕ((x)))1:=1σ(𝒘Tϕ(𝒙))\begin{split}P(y=1\mid x,w)&=1-(1+\exp(\bm{w}^{T}\phi(\bm{(}x)))^{-1}\\ :&=1-\sigma(-\bm{w}^{T}\phi(\bm{x}))\end{split} (16)

where 𝒙\bm{x} is the point being queried and ϕ()\phi(\cdot) is the feature vector defined as ϕ((x))=(1,k(x,x~1),k(x,x~2),)\phi(\bm{(}x))=(1,k(x,\tilde{x}_{1}),k(x,\tilde{x}_{2}),...) computed between the query point and all the hinge points, and σ\sigma is the Sigmoid function.

Refer to caption
Figure 7: Location sampled along whisker shape to determine initial contact location.

In order to use an occupancy map to find a localization prior, we first define a set of query points 𝑿q=(𝒙q,1,𝒙q,2,)\bm{X}_{q}=(\bm{x}_{q,1},\bm{x}_{q,2},...) which are evenly distributed along the whisker wire as illustrated in Figure 7. At the moment first contact is detected and the contact localization algorithm is being initialized, we can query the occupancy map at each of the points in 𝑿q\bm{X}_{q} and choose the one with the highest likelihood of being occupied. Formally, this is defined as

μ0=argmax𝒙((P(y=1𝒙q,1,w),P(y=1𝒙q,2,w),)))\mu_{0}=\arg\max_{\bm{x}}{((P(y=1\mid\bm{x}_{q,1},w),P(y=1\mid\bm{x}_{q,2},w),...)))} (17)

The design rationale for this algorithm is that, given that we assume a unique contact point, the query point with the highest likelihood of being occupied should be the most likely initial state.

Refer to caption
Figure 8: Left plot shows the contact localization result for three passes of the whisker sensors on a cylindrical object. The first pass is far from the ground truth, but the second and third pass are initialized with an occupancy map that uses prior data. Right plot shows the error over time for each of these passes, and we can appreciate that using the occupancy map can significantly reduce the error in the prior distribution.

We tested this algorithm in an experiment were a whisker sensor brushed past a 30 mm diameter cylinder multiple times. On the first pass, we make a initial guess that is approximately 2 cm away from the ground truth, as can be seen in the blue plots in Figure 8. On each subsequent pass, we use the occupancy map generated using the previous pass to query for the most likely initial state. It can be seen from the plots that the second and third pass have a much smaller initial error and lead to immediate convergence to the ground truth. This experiment shows that using occupancy maps to initialize the localization algorithm can significantly improve results.

5.6 Contact localization experiments on known shapes

We evaluate the accuracy of our 3D contact localization method through experiments where a sensor is used to brush past an object at different heights scanning the shape of the surface. We perform this experiment on four objects of arbitrary shapes that are 3D printed with a FormLabs Form 3 printer at high resolution and positioned with an optical table relative to the sensor such that we know the shape and location of the object surface. A semi-curved sensor (i.e., with an initial straight section and curved tip, as in Figure 7) is used for scanning and the raw data is processed using UKF and a Thin-Plate sensor model, as described in the previous sections.

Results are shown in Figure 9 where the 3D contact trajectories are plotted together with object meshes (fine resolution) in the world reference frame. We emphasize that there is no manual alignment of trajectories to meshes, but each of them is plotted in their absolute position. It can be seen from all the plots that the scanned data matches well with the object surface. We measured the error for each estimated contact location as its distance from the closest mesh vertex. This error for the Cone object was on average 0.48 mm (S.D. 0.15). As a scaling factor, we can define λ\lambda as the length of a whisker (55 mm in the present case). Thus the normalized error is 0.009λ0.009\lambda. For the Cup object it was on average 0.71 mm (S.D. 0.51) or 0.013λ0.013\lambda. For the Rectangular Plate the error was on average 0.28 mm (S.D. 0.18) or 0.005λ0.005\lambda. For the Rounded Squares the error was on average 0.47 mm (S.D. 0.4) or 0.009λ0.009\lambda. Note that for the Cone and Cup objects it is evident that the whisker is deflected out of its principal plane of curvature, causing the contact to move in the z direction. This highlights the importance of developing a 3D localization method rather than 2D, even for motions that are predominantly in a single plane.

Refer to caption
Figure 9: Contact localization on ground truth objects with known shape and location. Overlaid scatter plot shows the estimated contact location. Color and color bar shows the distance for each estimated location from the closest mesh vertex. Results for Cone object: average 0.48 mm (S.D. 0.15), for the Cup object: average 0.71 mm (S.D. 0.51), for the Rectangular Plate: average 0.28 mm (S.D. 0.18), and for the Rounded Squares: average 0.47 mm (S.D. 0.4).

We ran the same object scanning experiment with four arbitrary objects that can typically be found in a home setting. Scanning results are shown in Figure 10. While we do not have information about the exact shape and location of these objects in the world, it can be observed from the 3D plots that the traces resemble the corresponding shapes of the object surfaces.

Refer to caption
Figure 10: Contact localization on arbitrary daily objects.

5.7 Localization agnostic to whisker intrinsic shape

An advantage of our localization method and formulation is that it is relatively agnostic to the intrinsic undeflected whisker shape. As long as we can get calibration data to produce a sensor model, it is possible to run a Bayesian Filter. This is in contrast to prior methods that need an explicit model that assumes knowledge of the shape of the whisker Solomon and Hartmann (2010); Nguyen et al. (2020); Zhang et al. (2022). The advantage of our method is that it allows flexibility of the method to be tailored to different applications depending on sensing coverage needs. Also, our method is less susceptible to systematic errors introduced during fabrication since we perform a calibration step. To validate that our algorithm performs well for different sensor designs, we performed a simple experiment where sensors of different shapes (straight, curved and semi-curved) brush passed a single contact point and we evaluate how well can localization converge to the ground truth. The initial state estimate is purposefully placed 1 cm away from the ground truth. Data from 10 trials was collected for each sensor design.

From the results shown in Figure 11 we can observe that tracking converges to within 1 mm of the ground truth location in all cases. Convergence happens at different rates which might be due to the different sensor models which produce different cross-correlation matrices. This affects how large a correction step is taken in the update step as detailed in Section 5.4.

Refer to caption
Figure 11: Contact localization performance on three sensor geometries. The experiment consisted on localizing a known contact position given an initial estimate that is off by 1 cm. Plots show distance of estimate to ground truth position for 10 trials on each sensor design case.

6 Mapping experiments

6.1 Experiment setup

In this section we demonstrate the integration of arrays of whisker sensors with an industrial robot arm in a task of reaching among objects of unknown location and shape while using our sensors and algorithms to continuously localize contacts to map the scene. The sensor system consists of 16 semi-curved sensors arranged as shown in Figure 12A, where each sensor is individually calibrated. The scene setup consists of a table with a collection of typical kitchen objects arranged arbitrarily. Among these objects, there are wine glasses, spice bottles, an empty vanilla extract bottle (60 grams), and coffee mugs.

The robot arm is controlled through a joystick to move among the clutter of objects such that the whiskers on both sides brush against the objects’ surfaces. During this execution we record the pose of the end-effector and the sensor readings at a rate of 250 Hz. The data is then post-processed offline.

We used UKF to perform the contact localization with the Thin-Plate model for each sensor. The localization algorithm starts running each time contact is detected from a state of no-contact. After a sensor loses contact, the Bayesian Filter initialization parameters are reset.

6.2 Occupancy map from contact data

Refer to caption
Figure 12: Bayesian Hilbert Map to reconstruct surrounding surfaces when rummaging in clutter

Our sensors can accurately trace the surface of objects as shown in Figure 12B; however, these traces can still be too sparse to form a good picture of what the environment looks like. To interpolate this data, we use Occupancy Maps (OM) which were introduced in Section 5.5. Since we expect the environments the robot rummages in to present a degree of regularity – surfaces have low spatial resolution relative to the end-effector size and objects have symmetry in shape – it is reasonable to fill in the spaces in between curves through interpolation. Most free-standing objects in our homes such as spice jars or cans are nearly flat in the vertical direction, so this prior can be used to better interpolate contact data.

Like Gaussian Process Regression, Bayesian Hilbert Maps (BHM) also use the kernel method for related data points. Using the Squared Exponential kernel

kRBF(x,x~)=exp(γxx~2)k_{RBF}(x,\tilde{x})=\exp{(-\gamma||x-\tilde{x}||^{2})} (18)

we can tune the smoothing parameter γ\gamma to change the amount of relevance neighboring data points have on each other. It is also possible to choose a kernel that can incorporate prior knowledge that the length-scales of objects are larger in the vertical axis as compared to the horizontal axis (i.e., our objects’ shapes tend to be vary less in the vertical direction). Such an alternative kernel is known as the Automatic Relevance Determination (ARD) RBF Williams and Rasmussen (2006), which is similar to RBF but weights the distance function with different length-scales in each dimension ωT(xx~)\mathbf{\omega}^{T}(x-\tilde{x}). We will refer to this kernel as an Elliptical Basis Function (EBF) as it is similar to a Radial Basis Function, but we use different length-scales in each dimension. The kernel is defined as follows

kEBF=(x,x~)exp(γωT(xx~)2)k_{EBF}=(x,\tilde{x})\exp{(-\gamma||\mathbf{\omega}^{T}(x-\tilde{x})||^{2})} (19)

where ω=[wxwywz]\mathbf{\omega}=\begin{bmatrix}w_{x}\\ w_{y}\\ w_{z}\end{bmatrix} is the weight vector where each value is the reciprocal of the length-scale of its corresponding dimension. Since xx and x~\tilde{x} are defined in the world reference frame, we can choose the length scales corresponding to the vertical dimension to be higher. This would have a larger smoothing effect in the vertical direction compared to the lateral directions.

Results of the OM method are shown in Figure 12. Figure 12B shows the scatter plot of contact localization results obtained from the whisker sensors that made contact together with the unoccupied points that were randomly sampled from within the end-effector body with position estimation accuracy of 7.9 mm. It is pertinent to note that the observed differences are primarily attributed to discrepancies between the physical placement of objects within the experimental setup and their manual delineation on the Occupancy Map. These two inputs are used to fit the BHM parameters ω\omega to predict the occupancy of each point in space as shown in Equation 16. To visualize the OM we sampled 3D space at intervals of 2 mm in all axes, and then plot the voxels that have a probability of being occupied of 0.9 or greater. This result is shown in Figure 12C, where we can recognize all 7 objects (labeled with numbers on the photo), which are those the sensors make contact with, appearing in the reconstruction. To highlight some features that show up in the reconstruction in the Top View plot, the two coffee mugs (#3 and #6) are clearly shown as the two curved surfaces. The flat face of the brown spice bottle #1 shows up as a flat surface. Sensors only make contact with the corner of spice bottle #5 and empty plastic bottle #4, so only a small portion of these items show up in the map. Finally, the tall wine glass #7 is only brushed at the stem, which makes it appear as a cylinder with small radius.

Figure 13 shows an example of the surface reconstruction when using RBF instead of EBF for the OM kernel. The reconstructed surfaces only appear in two planes which is where the top and bottom whiskers on the lateral sides are located. The poor quality of the reconstruction motivates the use of the EBF kernel for mapping.

Refer to caption
Figure 13: Surface reconstruction using Radial Basis Function (RBF), rather than Elliptical Basis Function (EBF).

7 Conclusion & Future work

Robots reaching into unstructured environments face the challenge of unexpected contacts that may happen frequently and on any part of the robot surface. It is important to sense these contacts to help robots move safely, and to perceive information about location and shape of surrounding objects that lead to a more informed plan of robot’s motion. Tactile perception using whisker sensors is advantageous as these sensors have a low mechanical stiffness (0.17 mNm/rad) allowing for low-force and unobtrusive contact interaction with surrounding objects. It is also possible to shape these sensors arbitrarily such that the sensing region provides a more distributed coverage of the robot link surface. We formulate a method for inferring 3D contact locations using Bayesian filtering which achieves a localization accuracy of less than 1 mm within 0.7 seconds. This method not only improves upon prior contact localization algorithms, but also can be generalized to any curved whisker geometry. Our results show that the sensor and algorithm can enable robots to perceive local object shapes and contact locations as it navigates in proximity – without disturbing objects. We demonstrate how it is possible to simultaneously use an array of sensors distributed on the robot surface to gather contact locations and integrate them using an Occupancy Map to reconstruct the shape of the surrounding space the robot is navigating through. In addition to perception methods, we also developed a admittance-based controller that uses real-time feedback from the sensors to avoid hard collision with nearby objects while still maintaining contact to acquire tactile data. We show how a simple controller implementation is able to create a system that easily avoids collisions with light and free-standing objects, while also being robust to object transparency, reflectivity and texture as opposed to other optical or ultrasonic proximity sensors.

Towards the future, we wish to integrate our perception and mapping method with a global motion planner in order to determine the best sequence of actions that will maximize a given objective. One such objective can be to gather information about the scene using touch, which has been explored previously using rigid tactile sensors Kaboli et al. (2019). Our method has the advantage of being able to sample the space without changing its state. Using Occupancy Hilbert Map, it is possible to determine from the variance map which areas of the workspace need more tactile exploration. Another objective example is to reach a specified location in space. This can be done with traditional global path planners (e.g., graph-based planners, sampling-based planners) using the mean of the Occupancy Hilbert Map that provides the expected occupancy and delineates free-space. Balancing this two objectives is what might allow a robot to autonomously reach into, for example, a fridge and search for an object of interest with only a partial or no initial knowledge of the space.

One interesting direction for tactile explorations with whiskers is to design the sensors to increase their sensitivity to object textures and further classify objects using this information. The current sensor design uses Nitinol wire as the whisker, which is smooth and mostly insensitive to changes in object texture. However, the design may be adapted to detect texture information as high-frequency signal content, thus not affecting contact localization.

Another direction in which our sensor and contact localization can be very useful is for mapping and localization of robots in environments with extreme visual occlusion. An example of this is underwater robots exploring a wreckage near the ocean floor under poor visibility due to muddy waters Khatib et al. (2016). Having whiskers on the surface of a robot enable not only detection of imminent collisions, but also localization of contacts and tracing of the surrounding surfaces. This tactile data can be used to map the surroundings in the robot reference frame and for inferring the pose of the robot in a map. All of which may help in navigating these adverse environments.

{acks}

The authors thank our collaborator Dr. Hongkai Dai as well as students Jun En Low and Rachel Thomasson for insightful discussions. We also thank Fredrik Solberg for his help with the nitinol whisker heat shaping.

{funding}

This work is supported in part by TRI Global. Michael Lin was supported by the NSF GRFP Fellowship. Hao Li was supported by Zhulong Innovation Fellowship.

{conflict}

Mark R. Cutkosky serves on the Senior Editorial Board of the International Journal of Robotics Research. The authors declare that they have no other conflicts of interest to disclose.

References

  • Bhatia et al. (2019) Bhatia A and Johnson AM and Mason MT (2019) Direct drive hands: Force-motion transparency in gripper design. In: Robotics: Science and Systems.
  • Bohg et al. (2010) Bohg J and Johnson-Roberson M and Björkman M and Kragic D (2010) Strategies for multi-modal scene exploration. In: 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, pp. 4509–4515.
  • Boublil et al. (2021) Boublil BL and Diebold CA and Moss CF (2021) Mechanosensory hairs and hair-like structures in the animal kingdom: specializations and shared functions serve to inspire technology applications. Sensors 21(19): 6375.
  • Carvell and Simons (1990) Carvell GE and Simons DJ (1990) Biometric analyses of vibrissal tactile discrimination in the rat. Journal of Neuroscience 10(8): 2638–2648.
  • Emnett et al. (2018) Emnett HM and Graff MM and Hartmann MJ (2018) A novel whisker sensor used for 3d contact point determination and contour extraction. In: 14th Robotics: Science and Systems, RSS 2018. MIT Press Journals.
  • Gomez et al. (2023) Gomez V and Hernando M and Aguado E and Sanz R and Rossi C (2023) Robominer: Development of a highly configurable and modular scaled-down prototype of a mining robot. Machines 11(8): 809.
  • Gomez et al. (2024) Gomez V and Remmas W and Hernando M and Ristolainen A and Rossi C (2024) Bioinspired whisker sensor for 3d mapping of underground mining environments. Biomimetics 9(2): 83.
  • Gruebele et al. (2020) Gruebele A and Roberge JP and Zerbe A and Ruotolo W and Huh TM and Cutkosky MR (2020) A stretchable capacitive sensory skin for exploring cluttered environments. IEEE Robotics and Automation Letters 5(2): 1750–1757.
  • Gruebele et al. (2021) Gruebele AM and Lin MA and Brouwer D and Yuan S and Zerbe AC and Cutkosky MR (2021) A stretchable tactile sleeve for reaching into cluttered spaces. IEEE Robotics and Automation Letters 6(3): 5308–5315.
  • Hsiao et al. (2009) Hsiao K and Nangeroni P and Huber M and Saxena A and Ng AY (2009) Reactive grasping using optical proximity sensors. In: 2009 IEEE Int. Conf. on Robotics and Automation. pp. 2098–2105.
  • Huet et al. (2017) Huet LA and Rudnicki JW and Hartmann MJZ (2017) Tactile sensing with whiskers of various shapes: Determining the three-dimensional location of object contact based on mechanical signals at the whisker base. Soft Robotics 4(2): 88–102.
  • Jain et al. (2013) Jain A and Killpack MD and Edsinger A and Kemp CC (2013) Reaching in clutter with whole-arm tactile sensing. The International Journal of Robotics Research 32(4): 458–482.
  • Kaboli et al. (2019) Kaboli M and Yao K and Feng D and Cheng G (2019) Tactile-based active object discrimination and target object search in an unknown workspace. Autonomous Robots 43: 123–152.
  • Kaneko et al. (1998) Kaneko M and Kanayama N and Tsuji T (1998) Active antenna for contact sensing. IEEE Transactions on Robotics and Automation 14(2): 278–291.
  • Khatib et al. (2016) Khatib O and Yeh X and Brantner G and Soe B and Kim B and Ganguly S and Stuart H and Wang S and Cutkosky M and Edsinger A others (2016) Ocean one: A robotic avatar for oceanic discovery. IEEE Robotics & Automation Magazine 23(4): 20–29.
  • Kim and Möller (2007) Kim D and Möller R (2007) Biomimetic whiskers for shape recognition. Robotics and Autonomous Systems 55(3): 229–243.
  • Koval et al. (2015) Koval MC and Pollard NS and Srinivasa SS (2015) Pose estimation for planar contact manipulation with manifold particle filters. The International Journal of Robotics Research 34(7): 922–945.
  • Lin et al. (2022) Lin MA and Reyes E and Bohg J and Cutkosky MR (2022) Whisker-inspired tactile sensing for contact localization on robot manipulators. In: 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, pp. 7817–7824.
  • Lin et al. (2021) Lin MA and Thomasson R and Uribe G and Choi H and Cutkosky MR (2021) Exploratory hand: Leveraging safe contact to facilitate manipulation in cluttered spaces. IEEE Robotics and Automation Letters 6(3): 5159–5166.
  • Liu et al. (2023) Liu G and Jiang Y and Wu P and Ma Z and Chen H and Zhang D (2023) Artificial whisker sensor with undulated morphology and self-spread piezoresistors for diverse flow analyses. Soft Robotics 10(1): 97–105.
  • Luo and Hartmann (2023) Luo Y and Hartmann MJZ (2023) On the intrinsic curvature of animal whiskers. PLOS ONE 18(1): 1–22.
  • Lynch and Park (2017) Lynch KM and Park FC (2017) Modern robotics: Mechanics, planning, and control. Cambridge University Press, pp. 444–445.
  • Manuelli and Tedrake (2016) Manuelli L and Tedrake R (2016) Localizing external contact using proprioceptive sensors: The contact particle filter. In: 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, pp. 5062–5069.
  • Merker et al. (2021) Merker L and Steigenberger J and Marangoni R and Behn C (2021) A vibrissa-inspired highly flexible tactile sensor: scanning 3d object surfaces providing tactile images. Sensors 21(5): 1572.
  • Muhayyuddin et al. (2018) Muhayyuddin and Moll M and Kavraki L and Rosell J (2018) Randomized physics-based motion planning for grasping in cluttered and uncertain environments. IEEE Robotics and Automation Letters 3(2): 712–719.
  • Murray et al. (1994) Murray RM and Sastry SS and Zexiang L (1994) A Mathematical Introduction to Robotic Manipulation. 1st edition. USA: CRC Press, Inc. ISBN 0849379814.
  • Navarro et al. (2021) Navarro SE and Mühlbacher-Karrer S and Alagi H and Zangl H and Koyama K and Hein B and Duriez C and Smith JR (2021) Proximity perception in human-centered robotics: A survey on sensing systems and applications. IEEE Transactions on Robotics 38(3): 1599–1620.
  • Nguyen et al. (2020) Nguyen NH and Ngo TD and Nguyen DQ others (2020) Contact distance estimation by a soft active whisker sensor based on morphological computation. In: 2020 8th IEEE RAS/EMBS International Conference for Biomedical Robotics and Biomechatronics (BioRob). IEEE, pp. 322–327.
  • Petrovskaya and Khatib (2011) Petrovskaya A and Khatib O (2011) Global localization of objects via touch. IEEE Transactions on Robotics 27(3): 569–585.
  • Prescott et al. (2016) Prescott TJ and Mitchinson B and Grant RA (2016) Vibrissal behavior and function. Scholarpedia of Touch : 103–116.
  • SaLoutos et al. (2023) SaLoutos A and Stanger-Jones E and Guo M and Kim H and Kim S (2023) Design of a multimodal fingertip sensor for dynamic manipulation. In: 2023 IEEE International Conference on Robotics and Automation (ICRA). IEEE, pp. 8017–8024.
  • Saund et al. (2019) Saund B and Choudhury S and Srinivasa S and Berenson D (2019) The blindfolded robot: A bayesian approach to planning with contact feedback. In: The International Symposium of Robotics Research. Springer, pp. 443–459.
  • Schlegl et al. (2013) Schlegl T and Kröger T and Gaschler A and Khatib O and Zangl H (2013) Virtual whiskers—highly responsive robot collision avoidance. In: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, pp. 5373–5379.
  • Senanayake and Ramos (2017) Senanayake R and Ramos F (2017) Bayesian hilbert maps for dynamic continuous occupancy mapping. In: Levine S and Vanhoucke V and Goldberg K (eds.) Proceedings of the 1st Annual Conference on Robot Learning, Proceedings of Machine Learning Research, volume 78. PMLR, pp. 458–471.
  • Simon (2006) Simon D (2006) Optimal state estimation: Kalman, H infinity, and nonlinear approaches. John Wiley & Sons.
  • Sofla et al. (2023) Sofla MS and Vayakkattil S and Calisti M (2023) Spatial position estimation of lightweight and delicate objects using a soft haptic probe. In: 2023 IEEE International Conference on Soft Robotics (RoboSoft). pp. 1–6.
  • Sofla et al. (2024) Sofla MS and Vayakkattil S and Calisti M (2024) Haptic localization with a soft whisker from moment readings at the base. Soft Robotics .
  • Solomon and Hartmann (2010) Solomon JH and Hartmann MJZ (2010) Extracting object contours with the sweep of a robotic whisker using torque information. The International Journal of Robotics Research 29(9): 1233–1245.
  • Suresh et al. (2021) Suresh S and Bauza M and Yu KT and Mangelson JG and Rodriguez A and Kaess M (2021) Tactile slam: Real-time inference of shape and pose from planar pushing. In: 2021 IEEE International Conference on Robotics and Automation (ICRA). IEEE, pp. 11322–11328.
  • Tsuji and Kohama (2019) Tsuji S and Kohama T (2019) Proximity skin sensor using time-of-flight sensor for human collaborative robot. IEEE Sensors Journal 19(14): 5859–5864.
  • Wan and Van Der Merwe (2000) Wan EA and Van Der Merwe R (2000) The unscented kalman filter for nonlinear estimation. In: Proceedings of the IEEE 2000 Adaptive Systems for Signal Processing, Communications, and Control Symposium (Cat. No.00EX373). pp. 153–158.
  • Wang et al. (2020) Wang S and Bhatia A and Mason MT and Johnson AM (2020) Contact localization using velocity constraints. In: 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). pp. 7351–7358.
  • Williams and Rasmussen (2006) Williams CK and Rasmussen CE (2006) Gaussian processes for machine learning, volume 2, chapter 5.1. MIT press Cambridge, MA.
  • Williams and Fitzgibbon (2006) Williams O and Fitzgibbon A (2006) Gaussian process implicit surfaces. In: Gaussian Processes in Practice.
  • Zhang et al. (2022) Zhang Y and Yan S and Wei Z and Chen X and Fukuda T and Shi Q (2022) A small-scale, rat-inspired whisker sensor for the perception of a biomimetic robot: Design, fabrication, modeling, and experimental characterization. IEEE Robotics & Automation Magazine 29(4): 115–126.
  • Zhang et al. (2024) Zhang Z and Zhang C and Zuo S (2024) A novel bioinspired whisker sensor for gastrointestinal endoscopy. IEEE/ASME Transactions on Mechatronics 29(1): 636–646.

Appendix A Appendix

A.1 A. Comparative Distance Sensing Details

We evaluated our whisker sensor alongside other commonly used proximity sensors, including the Vishay VCNL4010 light sensor, the STMicroelectronics VL6180X time of flight laser sensor, and the Elecfreaks HC-SR04 ultrasonic distance sensor.

These sensors were tested on common kitchen items of differing geometry, transparency, and reflectivity, as listed in table 1. The “rough rock” is obtained from an online CAD model222https://www.turbosquid.com/3d-models/3d-rock-17472573D and 3D printed using Rigid 4000 Resin with a FormLab 3 printer.

All sensors were evaluated using the same apparatus depicted in fig. 4, consisting of a multi-axis Zaber X-LRM stage with a travel distance of 100 mm and a positioning resolution of 0.1μ\mum. The sensors were mounted on the stage and moved past stationary objects, at varying distances.

During each trial, the sensor began at a position outside the object’s sensing range, then moved at a speed of 1 cm/s in one direction, passing by the object to complete the trial. The minimum distance between the object and each sensor throughout the trial ranged from 2 cm to 5 cm, in accord with the sensing range of the whisker sensor.

Sensor signals were collected throughout each trial and invalid data were excluded in computing averages and errors. For each case we calculated the Root Mean Square (RMS) error between the measured point and the nearest point on the ground truth surface. The RMS results were averaged over all points collected along a trial.