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

Whisker-Inspired Tactile Sensing for Contact Localization on Robot Manipulators

Michael A. Lin1, Emilio Reyes1, Jeannette Bohg2 and Mark R. Cutkosky1 1M. Lin, E. Reyes and M. Cutkosky are with the Department of Mechanical Engineering, Stanford University, Stanford, CA 94305, USA [mlinyang,ereyes35,cutkosky]@stanford.edu2J. Bohg is with the Department of Computer Science, Stanford University, Stanford, CA 94305, USA [email protected]Toyota Research Institute (TRI) provided funds to assist the authors with their research but this article solely reflects the opinions and conclusions of its authors and not TRI or any other Toyota entity.
Abstract

Perceiving the environment through touch is important for robots to reach in cluttered environments, but devising a way to sense without disturbing objects is challenging. This work presents the design and modelling of whisker-inspired sensors that attach to the surface of a robot manipulator to sense its surrounding through light contacts. We obtain a sensor model using a calibration process that applies to straight and curved whiskers. We then propose a sensing algorithm using Bayesian filtering to localize contact points. The algorithm combines the accurate proprioceptive sensing of the robot and sensor readings from the deflections of the whiskers. Our results show that our algorithm is able to track contact points with sub-millimeter accuracy, outperforming a baseline method. Finally, we demonstrate our sensor and perception method in a real-world system where a robot moves in between free-standing objects and uses the whisker sensors to track contacts tracing object contours.

©2022 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.

I INTRODUCTION

Manipulation in unstructured and cluttered environments is characterized by limited visibility and constrained motion. To improve robot perception, it is advantageous to sense the environment through multiple modalities including touch [1]. Reaching into a cupboard or a refrigerator full of objects to retrieve a particular object are examples of tasks where contacts with objects may happen frequently and unexpectedly – not only at the end-effector but along the entire arm. Sensing the locations and forces of contacts has been recognized as helpful for perception [2, 3, 4, 5] 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. Prior work has shown that minimizing the robot’s inertial properties at the end-effector allows non-disturbing contacts and facilitates environment sensing [6, 3, 7]. However, a different approach is needed to detect and minimize disturbances arising from contacts along the robot arm.

Refer to caption
Figure 1: A) Demonstration of contact localization with two curved whisker sensor arrays on a robot arm reaching among objects of unknown shape and location. B) Plots of left and right sensor estimated contact locations. A video of this experiment is attached.

In nature, we encounter various solutions for non-intrusive contact sensing. A common method is to use whiskers or vibrissae to navigate environments or localize prey in conditions where vision does not suffice [8, 9]. In some cases (e.g. rats) animals employ sophisticated active whisking but in others, such as the vibrissae on the lower limbs of cats, whiskers are mostly passive and provide information while negotiating complex environments. The latter serves as the primary inspiration for the approach presented here.

Although whiskers are not widely used in robotics, there are a number of notable examples including [10, 11, 12, 13]. Most of these involve active whisking with a rotational joint and actuator at the whisker base. Passive whiskers (or antennae) on mobile bases are less common although there are a few examples (e.g., [14, 15]). In most of these cases, the whiskers are relatively stiff and are often straight, which means that if they approach a very light object head-on, they are likely to disturb it.

In our approach, we use very soft whiskers that bend easily and may be pre-curved to minimize disturbances and avoid the highly nonlinear phenomenon of buckling for slender elastic columns. The whiskers are 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 notable challenges arise in passive whisker deployment on a robot arm. The first is that whisker motion and deflection are subject to arm motion, which is typically intended to control a distal end-effector and not 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 as a whisker sensor is moved in arbitrary directions a straight whisker may catch its tip on object surfaces and buckle, making the sensor signal difficult to interpret. A sensor design with a curved whisker, as shown in Fig. 4A, can avoid this buckling effect but contact localization using these whisker geometry may be more challenging and have been less explored.

Contributions: We present a new sensor design and fabrication method for creating arrays of slender, curved super-elastic nitinol vibrissae or whiskers mounted along the arm of a robot. We present a calibration method applicable to curved whiskers and a Bayesian filtering algorithm that can quickly track contact locations to within sub-millimeter accuracy. Then 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 [13], with the UKF being the best performing filter in tests. Finally, we mount the sensors on a robot arm and demonstrate the ability to combine robot proprioception and sensor measurements to accurately track contact locations over time, allowing the arm to maneuver safely without disturbing even small and lightweight objects.

II RELATED WORK ON CONTACT INTERPRETATION

Although the sensing method presented here is new, it builds upon prior work on perception of unstructured environments through contacts [5, 4, 3, 16, 17, 18, 7]. 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 [16]. 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 [18]. 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.

Sensing through non-intrusive contacts, on the other hand, 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 [19, 20, 21], 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.

As noted earlier, a modest number of 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 [11]. Subsequent efforts addressed improved contact localization for objects of varying shapes [13, 12, 22]. 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 [23, 24, 25]. However, these methods either require using additional actuators for whisking or, in the latter case, require complex models to fit a unique mapping and accuracy is limited in practice.

Refer to caption
Figure 2: A) Sensor design components including flexible nitinol wire and compliant base. B) Cross-section view of the base. Whisker deflection results in magnet rotation around point prp_{r} and a change in magnetic flux measured by the Hall effect sensor. C) Minimizing rotation and translation coupling of the magnet yields a nearly linear sensor reading (blue line). D) FEA of the sensor as tip is displaced laterally by 1 cm. Whisker deflections primarily result in magnet rotation.

III SENSOR DESIGN AND FABRICATION

III-A Overview

Fig. 2A shows an overview of our sensor design and components. The sensor consists of a thin super-elastic nitinol wire bonded to a compliant silicone base that senses bending moment on the wire. Two variations of our sensor design are used in this work, one uses a straight nitinol wire (0.2 mm diameter and 55 mm long) and a second one uses a custom-shaped curved wire (0.2 mm diameter, 20 mm in arc radius and 60 mm in arc length). These wires are attached at one end to a neodymium permanent magnet through a 3D printed coupling. The magnet is axially magnetized with a field direction coinciding with the axis. The magnet and wire are supported by a hollow dome of silicone rubber that promotes rotation over translation as the wire is loaded in contact. The dome is centered over a triaxial Hall effect sensor (Melexis MLX90393) mounted to a PCB.

Contacts along the whisker produce rotations at the base, which change the magnetic flux measured by the Hall effect sensor (Fig. 2B). The transduction principle is similar to that in [26] but with substantially lower stiffness (0.17 mNm/rad v.s. 3.2 mNm/rad) and designed for incorporation into an array.

We performed a COMSOL Multiphysics analysis to investigate the effects of magnet motion on the Hall effect sensor. As seen in Fig. 2C, the change in magnetic flux in the Y sensing axis is nearly linear when the motion of the magnet is pure rotation. In contrast, if the rotation is coupled with translation in the direction of applied force then the change in flux is non-linear and flux density change is substantially smaller. We therefore designed the compliant silicone base to favor rotational displacements over translation when the radial loads are applied to the wire. An advantage of this design is that it allows one to sense deflections even when using a very thin and flexible wire, which promotes non-intrusive sensing. Figure 2D shows that the center of rotation (center of blue region indicating low displacement) is very close to point PrP_{r}.

The chosen sensor design parameters are: dome thickness: 0.6 mm; dome height: 3.25 mm; whisker length: 55 mm. While we cannot claim they are optimal, they appear to provide a favorable combination of monotonic and approximately linear sensor response and large signal/noise ratio without saturation for anticipated contacts.

III-B Sensor Fabrication

Refer to caption
Figure 3: Whisker Sensor Fabrication. A) nitinol wire and magnet are glued to coupling piece. B) Whisker is clamped in 3-Part mold. C) Silicone is injected. D) Curved whiskers are pre-formed using heat.

III-B1 Sensor

Whisker sensors are fabricated with a three part 3D printed mold. The molds and whisker/magnet coupling piece were printed with a high resolution SLA printer (Stratasys, Objet 30). The overall fabrication process is illustrated in Fig. 3. The first step is to glue the magnet and a 0.2 mm dia. x 55 mm long nitinol wire (ASTM F2063, Malin Co. Cleveland, OH) to the attachment piece (Fig. 3A). We used an axially magnetized N-52 grade neodymium magnet (size 1.6 mm dia. x 1.6 mm tall) with a surface field of 6619 Gauss (D11-N52, KJ Magnetics). The second step is to place this assembly into clamped mold Parts 1 and 2 (Fig. 3B). The last step is to inject silicone (TAP Blue RTV) into the molds against gravity (Fig. 3C). Part 3 is then placed with a weight on top to push excess material out. We chose the silicone for its durometer, ease of casting, and relatively low hysteresis [27].

III-B2 Curved Whiskers

Curved whiskers were fabricated by heat-forming nitinol wires in aluminum molds (Fig. 3D). The goal is to produce a desired curvature while maintaining the super-elastic properties. The process is sensitive to temperature and timing as well as wire size [28]. We used a controlled oven at 600600^{\circ}C, placing the clamped molds with the nitinol wire and an embedded thermocouple. The temperature was monitored until it reached 500500^{\circ}C, at which point the setup was quenched in a water bath. The process keeps the metal for no more than 4.5 minutes at temperatures above 450450^{\circ}C to avoid aging and raising the austenite finish temperature.

Refer to caption
Figure 4: A) Sensor array with three curved whiskers and a common-mode sensor to compensate for geomagnetic field. B) Geomagnetic-compensated and uncompensated signals from one whisker as it is rotated 180180^{\circ} in the direction of gravity. C) Time-series sensor signal when attached to a UR robot and moved in arbitrary motions in free-space. Ringing is detected by filtering.

III-C System Integration and Signal Conditioning

The Hall effect sensor (MLX90393) is sampled at 250 Hz through SPI communication with a Teensy 4.0 (ARM Cortex-M7 at 600 MHz). It is possible to sample an array of 20 sensors (3-axis each) at this frequency. Data arrays are sent to a computer through USB serial communication at the same rate. We also designed each array with a common-mode reference (Fig. 4A) to compensate for the geomagnetic field.

In order to determine how to filter the sensors we performed an experiment with sensors mounted on a link attached to a Universal Robot UR10e arm. The link is commanded to move the sensor in free-space following an arbitrary trajectory – in part, to test the effects of induced vibrations from robot actuators. At the end of the trajectory, the whisker is moved to make contact with an object causing a large deflection and later breaking contact, causing the whisker to return to its nominal shape, as it would happen in a use-case. Figure 4 shows a typical time series plot of sensor signal, with small vibrations due to robot motion, followed by a large increase due to contact and a resonant vibration as the whisker breaks contact. Vibrations from robot motion can be mostly ignored as they account for less than 3% of the maximum sensor signal. The ringing oscillation on breaking contact is due to the nitinol wire, and occurred at 26 Hz. We applied a 6th order Butterworth band-pass IIR filter with a passband frequency of 20 to 32 Hz, and used a threshold of the filtered output to detect these lost-contact events.

IV CONTACT LOCALIZATION

Refer to caption
Figure 5: A) A whisker under deflection at contact point pcp_{c} causes a bending moment (MzM_{z}) at the base. Contact at other points along the whisker, such as pap_{a} and pbp_{b}, result in the same bending moment. The sensor model gg that specifically maps pcp_{c} to a measured MzM_{z} is found through calibration with a 2-DOF prismatic joint stage. B) Results of calibration for both straight and curved whiskers are shown as contour plots of the 5th order polynomial models.

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. Base bending rotations are proportional to the whisker bending moment. However, there are many contact locations that can result in the same whisker deflection and, thus, moment at the base. With just instantaneous moment measurements, contacts at points pcp_{c}, pap_{a} and pbp_{b} in Fig. 5A, would be indistinguishable. Thus, in addition to instantaneous base moment measurements, we track the motion of the whisker base over time. In this section we detail our approach using these measurements and Bayesian filtering algorithms to infer contact point location and motion.

IV-A 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.

  4. 4.

    Motion of the robot as well as deflections of whiskers are in a 2D plane. This is generally true for objects that are flat in the direction of gravity, which we limit to in this work.

In the following derivation we follow the conventions in Murray et al. [29] with lowercase boldface fonts for vectors, uppercase boldface fonts for matrices and {F}\{F\} denoting a reference frame F. Lowercase letters also refer to reference frames. 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 (super-script 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} (1)
yk\displaystyle y_{k} =g(𝒙k)+𝝂k\displaystyle=g(\bm{x}_{k})+\bm{\nu}_{k} (2)

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 IV-B.

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}} (3)
=𝒗sbb+𝝎sbb×𝒃p+𝒗bpcb\displaystyle=\bm{v}^{b}_{sb}+\bm{\omega}^{b}_{sb}\times\bm{b}_{p}+\bm{v}^{b}_{bp_{c}} (4)

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} (5)
=[𝑰[𝒑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} (6)

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}} (7)

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} (8)

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

In the case when contacts are not static, such as when contact travel along the contour of large radius of curvature objects, 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 unpredictable. As inferences are executed very fast (250 Hz) contact points cannot move far between iterations, so we choose to make the static assumption and correct for errors using the sensor model.

IV-B Sensor Model and Calibration

In order to find the sensor model, g:2g:\mathbb{R}^{2}\to\mathbb{R}, which maps contact point locations, 𝒙k\bm{x}_{k}, to predicted moments measurements, yky_{k}), we develop a calibration platform and procedure. To gather data for this mapping we used a calibration stage composed of two orthogonal prismatic joints and a thin rod (steel dowel pin of 0.4 mm diameter) attached vertically at the tip of the end-effector (illustrated schematically in Fig. 5A). The position of the dowel pin is measured with linear optical encoders (US Digital EM-2) at a resolution of 0.0064 mm/count. 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 dowel pin. This procedure is then repeated for different positions of the dowel pin by tracing an arbitrary trajectory that spans the sensing region. For straight whisker sensors, data are collected for contacts on the left and right side of the whisker. For curved whiskers, data are collected for contacts that deflect the whisker towards the center of the arc.

We used a 5th-order bivariate polynomial model to fit the calibration data for both straight and curved sensors. Fig. 5B shows level set plots of the models for both straight and curved whisker sensors. Polynomial regression for the straight whisker data resulted in a R-squared value of 0.9987 and Root-Mean Squared Error (RMSE) of 0.503 (max. signal of 32). Regression for the curved whisker data resulted in a R-squared value of 0.9895 and RMSE of 1.348 (max. signal of 82).

While our 2D sensor calibration model works for the scenarios we consider here, in some real world cases deflections of the whisker out of the plane may occur due to contact with surfaces that are not vertical. As discussed in Sec. VI we can extend the calibration to include such effects.

IV-C Contact Location Inference with Bayesian Filtering

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{z}_{1:t},\bm{u}_{1:t}) (9)
=ηp(𝒛t𝒙t,𝒖t)p(𝒙t𝒙t1,𝒖t)b(𝒙t1)𝑑𝒙t1\displaystyle=\eta\;p(\bm{z}_{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} (10)

where η\eta is a normalization factor, b(𝒙t1)b(\bm{x}_{t-1}) is the prior distribution, and p(𝒛t𝒙t,𝒖t)p(\bm{z}_{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 Sec. IV-A 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 [30, 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.

In addition to implementing these filters, we compared tracking performance to a baseline by Solomon et al. [13]. 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. For more detail on the baseline please refer to [13].

IV-D Contact Localization Experiments

To compare the tracking performance of all algorithms, we collected data from two experiments, one using straight whiskers and one using curved whiskers. Each experiment consisted of 10 trials of data collected at 250 Hz using the 2-DOF calibration stage. In each trial, the whisker makes contact and stays in contact with the thin dowel pin as it traces an arbitrary trajectory. Duration of each trial was on average 15 seconds.

Initial conditions used for localization were the same across all conditions. The initial prior mean μ0\mu_{0} was set to be a constant 5 mm offset in the b^y\hat{b}_{y} direction (illustrated in Fig. 5) from the ground truth. This is done to replicate error in initial estimate of the contact point along the whisker, which is realistic in practice due to sensor noise, hysteresis, model error, etc. Offset in the b^x\hat{b}_{x} direction is less important as, for a straight whisker, it can be captured accurately at the instance contact is detected. For the Bayesian filters, the initial prior covariance matrix was set to be Q=σ2I2Q=\sigma^{2}I_{2}, where σ2=10\sigma^{2}=10. This large initial variance is a conservative choice to indicate high uncertainty in the initial contact location estimate. Inference for all methods is executed at sensor sampling rate of 250 Hz.

IV-E Contact Localization Results

Results with the three Bayesian filtering and baseline methods are compared in Table I with tracking error over time for one trial shown in Fig. 6. While we show EKF, UKF and PF results for a straight and curved sensor, the baseline was executed only for the straight whisker case as this was an assumption in that model.

In the straight whisker experiments, all Bayesian filters tracked the ground truth contact location with a lower Euclidean distance compared to the baseline on average. UKF had the lowest average error of 0.838 mm with a std. dev. of 0.603. In all trials, UKF converged to within 1 mm of the true location within 0.7 seconds for both straight or curved whisker experiments. Fig. 6 shows this convergence for one trial.

The results show that our Bayesian filtering methods are able to integrate sensor measurements and proprioceptive input to quickly infer contact location with relatively high accuracy, with EKF and UKF tracking with sub-millimeter accuracy on average. High accuracy tracking on both straight and curved whiskers shows that the Bayesian filtering method generalizes to both sensor designs even though they have different sensor models. These methods outperform the baseline which, to the authors’ knowledge, is the closest work to that presented here. As mentioned in the cited paper, the baseline method requires an accurate estimate of the initial contact to perform well. However, in practice it is difficult to obtain accurate priors on contact location along the whisker. Some work has investigated using small angle deflection during initial contact to estimate initial location [11] but this can still introduce errors due to object curvature, sensor noise or model errors. Obtaining good priors is even more challenging when using non-straight whiskers. Our curved whisker tracking results show that average errors are close to those in the straight whisker experiments.

Refer to caption
Figure 6: Plot of a single trial comparing contact localization accuracy among Bayesian filtering methods and baseline. Tracking errors for straight whisker sensor are shown in upper plot, errors for curved whiskers in the lower. Results from 10 trials are summarized in Table I
TABLE I: Tracking Performance Comparison
Method Mean Dist. (mm) Max. Dist. (mm) Min. Dist. (mm) Time (ms)
Straight baseline 4.191 (SD 2.42) 11.195 0.0214 0.533
EKF 0.884 (SD 0.65) 7.838 0.0222 0.346
UKF 0.838 (SD 0.60) 8.104 0.0101 0.565
PF 1.302 (SD 0.99) 9.877 0.0234 2.292
Curved EKF 0.896 (SD 1.17) 10.048 0.0021 0.347
UKF 0.617 (SD 0.55) 5.543 0.0006 0.525
PF 0.690 (SD 0.72) 6.948 0.003 2.082

IV-F Contact Localization on Moving Contact Points

To test the Bayesian filters on moving contacts, we collected data for contacts between an initially straight whisker and objects of different shapes and sizes. This experiment was performed with the same setup as the previous experiment, however, objects of different shapes were moved into contact with the whisker, instead of the thin rod. In each trial, a whisker was deflected by bringing it into contact with an object. The whisker was moved laterally back and forth three times, such that the contact location traveled over the surface, tracing the contour of the object.

We selected the filter with the lowest mean error (UKF) to execute the contact localization for these experiments. Four objects were used: a rectangular prism (width: 30 mm, length: 40 mm), a small cylinder (diameter: 30 mm), a large cylinder (diameter: 100 mm) and an octagonal prism (side length: 12.4 mm). As ground truth we use the known location and shape of the object, allowing us to compare the contour predicted by our tracking algorithm. Tracking results can be visualized by how closely the contact location traces the object contour sweeping back and forth three times. Estimated contact locations are shown as a scatter plot in Fig. 7 overlaid with the ground truth object contour. We computed the minimum distance of estimated contact points to the surface of each object contour. Average distance for each shape was: large cylinder = 0.460 mm (std. dev. 0.389), small cylinder = 0.378 mm (std. dev. 0.290), octagonal prism = 0.521 mm (std. dev. 0.436) and rectangular prism = 0.744 mm (std. dev. 0.670).

It can be seen in Fig. 7 that, for the cylinders and octagonal prism, the filter produces three distinguishable sweeps along the object contour. For the case of the cuboid, the filter correctly estimates the contact location to remain on one corner. These results show that our tracking method is able to extract object contours in a real application and allow for object shape and location identification as a robot navigates an unstructured environment.

Refer to caption
Figure 7: Tracking contact point location when making contact with objects of different shapes. Estimated contact points are downsampled in time by 20 for better visualization.

V SYSTEM DEMONSTRATION

In this section we demonstrate the integration of arrays of whisker sensors with a Universal Robot UR16e robot arm (as shown in Fig. 1) in a task of reaching among objects of unknown location and shape while using our sensors and algorithms to continuously localize contacts. In this experiment, we use two curved whisker arrays that are attached to both sides of the end-effector, where each sensor is individually calibrated. The table setup included a heavy salt bottle, an aluminum can filled with liquid, a seasoning bottle and a light (60 grams) vanilla extract bottle.

The arm is commanded to move the end-effector in a pre-planned trajectory 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 using ROS. The data is then post-processed offline.

We used UKF to perform the contact localization. When contact is detected on a sensor, we initialize the Bayesian filter with a prior mean at coordinates near the sensor frame origin and the same prior covariance as specified in Section IV-C. After a sensor loses contact, these parameters are re-initialized.

In Fig. 1B, we show the scatter plot of contact localization results from the two most distal sensors (referred to as left and right sensor). We are able to extract the local contours of the objects, which can be most clearly visualized with the cylindrical objects through only one sweep of the whisker. Moreover, throughout the reaching experiment, objects were undisturbed from their initial location as contact was made with the whisker. This shows that the robot is able to perceive the environment through non-intrusive contact.

VI CONCLUSION & FUTURE WORK

Robot tactile perception in unstructured environments can be enhanced by whisker sensors that sense through low-force and non-intrusive contacts. To make these sensors more effective, our design features low mechanical stiffness (0.17 mNm/rad) such that the sensors can afford non-intrusive contact with light-weight free-standing objects as shown in Section V. In addition, we developed a method to fabricate the sensor with a curved shape which facilitates passive “whisking” as a byproduct of robot motion. We formulate a method for inferring contact locations using Bayesian filtering which achieves an localization accuracy of 1 mm within 0.7 seconds. This method not only improves upon prior methods, but also can be generalized to a 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.

In the future, we wish to improve on our perception algorithms by considering information from multiple sensors jointly. Our current approach only uses measurements from one sensor, but with multiple whiskers, many contacts can happen simultaneously on one object. This can be used to discriminate object shape and location faster than through tracking single contact points.

Additionally, we currently calibrate our sensors in a 2D plane, which was sufficient for the contact types we tested, but we plan to extend our calibration process to consider the 3D case and account for whisker deflections out of the plane. To extend this sensor calibration method to 3D contact points we can modify the calibration stage such that the whisker base is rotated around its axis in order to deflect the whisker in 3D. A higher dimensional model can be used to map these 3D contact points to 3-axis sensor readings.

We are also interested in using whiskers to control robot motion. The high compliance properties of whiskers make them great candidates as they can quickly detect fast approaching contacts and provide feedback to a controller to react accordingly while exerting little force. This has the potential to be used to improve controllers that are used for reaching and navigating cluttered spaces [2] by making contact safer and increasing the sensing volume of a robot arm.

ACKNOWLEDGMENT

This work is supported in part by TRI Global and 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 heat shaping setup.

References

  • [1] C. C. Kemp, A. Edsinger, and E. Torres-Jara. Challenges for robot manipulation in human environments [grand challenges of robotics]. IEEE Robotics & Automation Magazine, 14(1):20–29, 2007.
  • [2] A. Jain, M. D. Killpack, A. Edsinger, and C. C. Kemp. Reaching in clutter with whole-arm tactile sensing. The International Journal of Robotics Research, 32(4):458–482, 2013.
  • [3] S. Wang, A. Bhatia, M. T. Mason, and A. M. Johnson. Contact localization using velocity constraints. In International Conference on Intelligent Robots and Systems, 2020.
  • [4] J. Bohg, M. Johnson-Roberson, M. Björkman, and D. Kragic. Strategies for multi-modal scene exploration. In 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 4509–4515. IEEE, 2010.
  • [5] A. Petrovskaya and O. Khatib. Global localization of objects via touch. IEEE Transactions on Robotics, 27(3):569–585, 2011.
  • [6] A. Bhatia, A. M. Johnson, and M. T. Mason. Direct drive hands: Force-motion transparency in gripper design. In Robotics: Science and Systems, 2019.
  • [7] M. A. Lin, R. Thomasson, G. Uribe, H. Choi, and M. R. Cutkosky. Exploratory hand: Leveraging safe contact to facilitate manipulation in cluttered spaces. IEEE Robotics and Automation Letters, 6(3):5159–5166, 2021.
  • [8] G. E. Carvell and D. J. Simons. Biometric analyses of vibrissal tactile discrimination in the rat. Journal of Neuroscience, 10(8):2638–2648, 1990.
  • [9] K. Catania. Mole senses. Current Biology, 29(17):R825–R828, 2019.
  • [10] T. J. Prescott, M. J. Pearson, B. Mitchinson, C. W. Sullivan, and A. G. Pipe. Whisking with robots. IEEE Robotics & Automation Magazine, 16(3):42–50, 2009.
  • [11] M. Kaneko, N. Kanayama, and T. Tsuji. Active antenna for contact sensing. IEEE Transactions on Robotics and Automation, 14(2):278–291, 1998.
  • [12] D. Kim and R. Möller. Biomimetic whiskers for shape recognition. Robotics and Autonomous Systems, 55(3):229–243, 2007.
  • [13] J. H. Solomon and M. J. Z. Hartmann. Extracting object contours with the sweep of a robotic whisker using torque information. The International Journal of Robotics Research, 29(9):1233–1245, 2010.
  • [14] N. J. Cowan, E. J. Ma, M. Cutkosky, and R. J. Full. A biologically inspired passive antenna for steering control of a running robot. In Robotics Research. The Eleventh International Symposium, pages 541–550. Springer, 2005.
  • [15] T. A. Kent, S. Kim, G. Kornilowicz, W. Yuan, M. J. Z. Hartmann, and S. Bergbreiter. Whisksight: A reconfigurable, vision-based, optical whisker sensing array for simultaneous contact, airflow, and inertia stimulus detection. IEEE Robotics and Automation Letters, 6(2):3357–3364, 2021.
  • [16] M. C. Koval, N. S. Pollard, and S. S. Srinivasa. Pose estimation for planar contact manipulation with manifold particle filters. The International Journal of Robotics Research, 34(7):922–945, 2015.
  • [17] L. Manuelli and R. Tedrake. Localizing external contact using proprioceptive sensors: The contact particle filter. In 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 5062–5069. IEEE, 2016.
  • [18] S. Suresh, M. Bauza, K. Yu, J. G. Mangelson, A. Rodriguez, and M. Kaess. Tactile slam: Real-time inference of shape and pose from planar pushing. arXiv preprint arXiv:2011.07044, 2020.
  • [19] K. Hsiao, P. Nangeroni, M. Huber, A. Saxena, and A. Y. Ng. Reactive grasping using optical proximity sensors. In 2009 IEEE Int. Conf. on Robotics and Automation, pages 2098–2105, 2009.
  • [20] S. Tsuji and T. Kohama. Proximity skin sensor using time-of-flight sensor for human collaborative robot. IEEE Sensors Journal, 19(14):5859–5864, 2019.
  • [21] T. Schlegl, T. Kröger, A. Gaschler, O. Khatib, and H. Zangl. Virtual whiskers—highly responsive robot collision avoidance. In 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 5373–5379. IEEE, 2013.
  • [22] Lukas Merker, Joachim Steigenberger, Rafael Marangoni, and Carsten Behn. A vibrissa-inspired highly flexible tactile sensor: scanning 3d object surfaces providing tactile images. Sensors, 21(5):1572, 2021.
  • [23] L. A. Huet, J. W. Rudnicki, and M. J. Z. Hartmann. 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, 2017.
  • [24] H. M. Emnett, M. M. Graff, and M. J. Z. Hartmann. A novel whisker sensor used for 3d contact point determination and contour extraction. In Robotics: Science and Systems, 2018.
  • [25] Nhan Huu Nguyen, Trung Dung Ngo, Dinh Quang Nguyen, et al. 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), pages 322–327. IEEE, 2020.
  • [26] S. Kim, C. Velez, D. K. Patel, and S. Bergbreiter. A magnetically transduced whisker for angular displacement and moment sensing. In 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 665–671. IEEE, 2019.
  • [27] J. C. Lötters, W. Olthuis, P. H. Veltink, and P. Bergveld. The mechanical properties of the rubber elastic polymer polydimethylsiloxane for sensor applications. Journal of Micromechanics and Microengineering, 7(3):145, 1997.
  • [28] H. B. Gilbert and R. J. Webster. Rapid, reliable shape setting of superelastic nitinol for prototyping robots. IEEE Robotics and Automation Letters, 1(1):98–105, 2015.
  • [29] R. M. Murray, S. S. Sastry, and L. Zexiang. A Mathematical Introduction to Robotic Manipulation. CRC Press, Inc., USA, 1st edition, 1994.
  • [30] D. Simon. Optimal state estimation: Kalman, H infinity, and nonlinear approaches. John Wiley & Sons, 2006.