January 09, 2026
Whisker-like touch sensors offer unique advantages for short-range perception in environments where visual and long-range sensing are unreliable, such as confined, cluttered, or low-visibility settings. This paper introduces a framework for contact point estimation and robot localization in a known planar environment using a single whisker sensor. We develop a family of virtual sensor models. Each model maps robot configurations to sensor observations and enables structured reasoning through the concept of preimages—the set of robot states consistent with a given observation. The notion of virtual sensor models serves as an abstraction to reason about state uncertainty without dependence on physical implementation. By combining sensor observations with a motion model, we estimate the contact point. Iterative estimation then enables reconstruction of obstacle boundaries. Furthermore, intersecting states inferred from current observations with forward-projected states from previous steps allows accurate robot localization without relying on vision or external systems. The framework supports both deterministic and possibilistic formulations and is validated through simulation and physical experiments using a low-cost, 3D-printed, Hall-effect-based whisker sensor. Results demonstrate accurate contact estimation and localization with errors under 7 mm, demonstrating the potential of whisker-based sensing as a lightweight, adaptable complement to vision-based navigation.
Whisker sensor, Tactile sensing, Cantilever beam, Preimage analysis, Virtual sensor models, Robot localization
Whiskers provide critical sensing functions in animals such as felids, pinnipeds, and rodents, supporting prey detection, fluid-flow perception, and spatial exploration. Rats, for instance, navigate in low-visibility conditions by relying on whiskers to compensate for limited vision [1]. These biological sensing strategies motivate the use of whisker-inspired sensors in robotic systems operating in environments with limited visibility, clutter, or spatial constraints—conditions where conventional sensors such as cameras and LiDAR often underperform.
Conventional robotic sensing systems primarily rely on vision, LiDAR, and depth sensors, whose performance degrades in close-range interactions, environments with transparent materials, and low-visibility conditions [2]. In such cases, short-range modalities like bump sensors and whisker sensors offer complementary capabilities. Prior implementations of robotic whiskers have addressed flow detection [3], obstacle sensing [4], [5], and texture analysis [6]–[8], but their use in localization and mapping remains limited. Unlike conventional tactile sensors, whiskers provide both contact and proprioceptive feedback, enabling estimation of contact location, direction, and magnitude from base reaction signals [9].
Accurate contact point estimation and robot localization within a known map remain central challenges in whisker-based sensing. Existing approaches typically rely on base moment and reaction forces to infer contact, neglecting additional parameters such as end-slope, normal load, contact coordinates in the sensor frame, and tip deflections. Incorporating this broader set within the virtual sensor framework [10] enables a mathematical abstraction in which sensor mappings associate robot states with observations, and the corresponding preimages characterize uncertainty in the robot state. Iterative filtering under deterministic, possibilistic, or probabilistic formulations can then progressively reduce this uncertainty. Leveraging these richer parameters in virtual sensor models provides more robust strategies for contact estimation, shape reconstruction, mapping, and localization [11].
This work presents new insights into contact point estimation by introducing virtual sensor models as sensor mappings from the states of an external physical world to a set of observations. This mathematical abstraction enables reasoning directly about the primary source of uncertainty that is given by the preimage of an observation under a particular sensor mapping. A family of virtual sensor models is evaluated in simulation, and the model based on bending moment is further validated through physical experiments. The virtual sensing framework is built on analytical expressions derived from large-angle cantilever beam deflection. Contact point estimates from the bending moment-based model are compared against state-of-the-art methods using physical experiments. In addition, we introduce a low-cost, reconfigurable 3D-printed whisker sensor. Obstacle profiles are estimated using sensor observations and a predefined motion model. For localization, we use temporal observations—derived from a single whisker sensor and known motion—without relying on auxiliary sensing. The approach supports deterministic and possibilistic formulations and can be extended to probabilistic models. It supports both linear and nonlinear motion and sensing dynamics. These capabilities position whisker-based sensing as a viable modality for confined-space robotics, including subterranean, underwater, and cluttered environments where conventional sensing is often impaired.
Section 2 reviews sensor properties, use cases, existing mathematical models, and filtering techniques. Section 3 introduces the large-angle cantilever beam model, which forms the basis for the virtual sensor models and their associated preimages. Section 4 presents the virtual sensor mappings, defines preimages, and explores how they can be composed or combined, including motion modeling. Section 5 describes the sensor design, fabrication, and calibration process. Sections 6 and 7 present experimental results on contact point estimation, obstacle profile estimation, and localization. Additionally, we assess how orientation sensing contributes to faster reduction of state uncertainty. Finally, we report results that closely match the obstacle profile, contact locations along the whisker, and robot poses.
Whisker-like sensors offer unique physical and functional properties that make them suitable for robotic perception tasks. These sensors are highly sensitive, capable of detecting forces as small as 4 μN, and able to respond to air or fluid flow disturbances even before physical contact occurs [12]. Depending on the material—such as ABS plastic, steel, carbon fiber, or composites—whisker sensors can be fabricated with varying rigidity or flexibility, influencing their mechanical response and sensitivity.
Whiskers operate via mechanical deformation, transduced into electrical signals through changes in resistance [13], capacitance [14], or magnetic flux density [15]. Their typical depth sensing range is short—around 200 mm—making them ideal for close-range obstacle detection and interaction. In robotic applications, they can serve for proprioceptive sensing [16], providing estimates of the robot’s relative position or motion by analyzing deformation patterns and contact forces.
Due to their compact form factor and passive mechanical design—which allows them to respond mechanically to external forces without requiring active excitation—whisker sensors are suitable for deployment in air or underwater environments. When built with compliant materials such as silicone for waterproofing [17], they can operate reliably in unstructured or harsh environments [18]. These characteristics enable the use of whisker sensors in tasks such as navigation, obstacle detection, environmental mapping, and localization, particularly in scenarios where conventional range sensors or vision systems are less effective.
Whisker sensors have been applied across a range of robotic domains due to their high sensitivity to both contact and non-contact stimuli. They are particularly effective for obstacle detection [19] and navigation [20] in low-visibility environments, where visual sensors are limited. Their ability to sense subtle texture variations also makes them valuable for material recognition and surface profiling tasks [8], [13], [21], [22].
In addition to tactile perception, whisker sensors are capable of detecting weak fluid flows, making them suitable for aerial and aquatic robots operating in dynamic environments [23]. Their responsiveness to soft contact [24] and vibration enhances real-time feedback during manipulation and grasping tasks, enabling better control of contact forces. Compared to conventional range sensors such as LiDAR, sonar, and depth cameras, whisker sensors provide a complementary modality for short-range perception [25].
Beyond sensing and mapping, whisker sensors can contribute to haptic feedback systems similar to the work presented in [26] and are central to bioinspired robotics, where they replicate natural tactile strategies for environment interaction [20], [24], [27], [28]. Their versatility continues to expand in robotics research focused on perception, exploration, and contact-rich tasks.
Whisker sensors are typically modeled as cantilever beams due to their structural boundary conditions—clamped at the base and free at the tip (see Fig. 1 (a) and Fig. 1 (b)). These models approximate whisker deformation under external forces and are foundational for characterizing sensor response. Although biological and synthetic whiskers vary in stiffness, they are generally more rigid than soft materials like elastomers, making them well-suited to beam-based modeling.
Two primary frameworks are used: Euler–Bernoulli beam theory and Cosserat rod theory. Euler–Bernoulli theory assumes small-angle deflections and no shear deformation, and it is widely adopted due to its simplicity and analytical formulation. However, for flexible whiskers or significant tip deflections, large-angle deformation models become necessary. In such cases, the Cosserat rod theory offers a more accurate description, as it incorporates shear, torsion, and complex curvature dynamics [29].
In practice, many whisker sensors operate in regimes where bending is dominant and shear remains minimal. Therefore, large-angle formulations of Euler–Bernoulli theory are often sufficient and computationally efficient. The geometric and material properties of the whisker—including taper, intrinsic curvature, Young’s modulus (\(E\)), and area moment of inertia (\(I\))—significantly affect its static and dynamic behavior. Whiskers with nonlinear taper or curvature often require numerical techniques for accurate modeling [30].


Figure 1: Generic representation: (a) A typical physical whisker sensor similar to a cantilever beam. (b) Large-angle deflection of the cantilever beam..
Filtering techniques play a critical role in interpreting whisker sensor observations for tasks such as contact point estimation, obstacle shape estimation, and localization. These methods are generally independent of the specific transduction mechanism, as the physical model—typically based on beam theory—can be decoupled from the transduction process through calibration. This decoupling enables contact point inference from bending moment and measurable quantities such as deflection angle and base whisker motion.
Early work by Kaneko et al. [19] introduced an active sensing approach in which the whisker was intentionally actuated at the base. Using torque measurements and small-angle beam approximations, they inferred contact distance. Subsequent improvements by Kim et al. [31] measured deflection angles using a pair of sensing elements placed at a fixed distance along the whisker’s longitudinal axis. Using Euler–Bernoulli beam theory, this configuration supported contact point estimation followed by object shape discrimination. Solomon et al. [32] furthered the research by incorporating lateral slip and Coulomb friction to estimate contact points using base moment. Birdwell et al. [33] modeled tapered whiskers and bending moments to estimate radial contact distance.
Advanced techniques have incorporated material properties, intrinsic curvature, and dynamic effects into modeling. Quist et al. [30] included intrinsic curvature to estimate base forces and moments. Boubenec et al. [34] demonstrated that vibration frequency shifts, caused by active whisking, correlate with contact location. Iterative approaches, reported by Solomon et al. [35], leverage longitudinal slip for successive contact estimation.
Learning-based techniques have also emerged. Huet et al. [9], [36] used random forests trained on 3D reaction forces and moments at the base of the whisker for contact localization. Lin et al. [24] applied Bayesian filtering and a soft-contact modeling approach to map environments with compliant objects. More recently, Sofla et al. [37] employed temporal filtering over bending moments—measured via a high-resolution ATI Nano sensor—combined with active sensing to estimate the contact point.
Filtering is particularly useful in resolving ambiguities introduced by non-injective sensor mappings. While many methods focus on individual whiskers, some extend to whisker arrays by applying spatial filtering, or to single whiskers by incorporating temporal filtering over time. Despite these developments, few works explicitly characterize the uncertainty in contact estimation or propose unified frameworks that support both deterministic and possibilistic observation models.
We begin with key results from Euler–Bernoulli beam theory, which guide the modeling of whisker sensors and filtering techniques. When a lateral load is applied to a cantilevered beam, it induces a reaction force and a bending moment at the fixed base. The beam undergoes either small-angle deflections (with tip displacements less than 10% of the total beam length \(L\)) or large-angle deflections, depending on the magnitude of the applied load.
Fig. 1 (b) shows the large-angle deflection of a cantilever beam. The deflected tip can be described by displacements \(\delta_x\) and \(\delta_y\), while the beam shape is parameterized by functions \(x(s)\) and \(y(s)\) of arc-length \(s\), with slope \(\phi(s)\) increasing from \(0\) to a maximum \(\phi_a\) at the point of load application. For large-angle cases, horizontal tip deflection becomes non-negligible (see \(\delta_x\) in Fig. 1 (b)). The curvature along the beam, \(\kappa(s)\), is defined as: \[\kappa(s) = \frac{d}{ds}\phi(s) = \frac{M(s)}{EI},\] and relates the bending moment \(M(s)\) to material properties—Young’s modulus \(E\) and the area moment of inertia \(I\).
For a force \(F\) applied at an arbitrary arc-length \(s_a\), the deflected beam shape (see [38]) for \(0 \leq s \leq s_a\) is given by \[\label{eq:beamShape} \begin{align} x(s) &= \sqrt{\frac{EI}{2F}} \int_0^{\phi(s)} \frac{\cos \phi}{\sqrt{\sin \phi_a - \sin \phi}} \, d\phi, \\ y(s) &= \sqrt{\frac{EI}{2F}} \int_0^{\phi(s)} \frac{\sin \phi}{\sqrt{\sin \phi_a - \sin \phi}} \, d\phi. \end{align}\tag{1}\] where \(\phi_a = \phi(s_a)\) is the slope at the loading point. If \(\phi_a\) is unknown, it can be numerically estimated from the arc-length using the relation \[\label{eq:beam95Sa} s_a = \sqrt{\frac{EI}{2F}} \int_0^{\phi_a} \frac{1}{\sqrt{\sin \phi_a - \sin \phi}} \, d\phi.\tag{2}\]
For the unloaded section \(s_a < s \leq L\), the beam maintains constant slope \(\phi_a\), and its shape is described by \[\label{eq:beamShape2} \begin{align} x(s) &= x(s_a) + (s - s_a) \cos \phi_a, \\ y(s) &= y(s_a) + (s - s_a) \sin \phi_a. \end{align}\tag{3}\]
The point \((p_x, p_y) = (x(s_a), y(s_a))\) corresponds to the location of contact. Since the integrals involve elliptic functions, closed-form solutions are unavailable, and numerical approximation is required.
In small-angle cases, the horizontal displacement is negligible (\(\delta_x \to 0\)), and the vertical deflection reaches its peak at the free end (\(s = L\)). The bending moment generated at any position \(s < s_a\) from a load \(F\) applied at \(s = s_a\) is given by \[\label{eq:momentCalculation} \begin{align} M(s) &= F[x(s_a) - x(s)] = F \int_s^{s_a} \cos \phi \, ds, \end{align}\tag{4}\] where \(\cos \phi = \frac{dx}{ds}\). At the base (\(s = 0\)), this simplifies to \(M(0) = F x(s_a)\), and for a load at the tip, \(M(0) = F x(L)\). For \(s > s_a\), \(M(s) = 0\), since the load is applied upstream.
Accurately estimating the deflected contact point \((p_x, p_y)\) is key to reconstructing whisker deflection and inferring the geometry of contacted surfaces. Since embedding distributed sensors along a slender elastic beam is often impractical, base measurements (particularly the bending moment \(M(0)\)) are used to infer the location of contact. From a known contact distance along the beam \(s_a\), the full beam shape \((x(s), y(s))\), slope \(\phi(s)\), and tip deflections \((\delta_x, \delta_y)\) can be found using base measurements.
Under small-angle assumptions, Kaneko et al. [19] proposed estimating contact distance by incrementally actuating the base—either through rotation \(\theta_{add}\)—and measuring the resulting moment \(M(0)\). Solomon et al. [35] extended this approach by deriving a closed-form expression for estimating contact distance under linear base motion \(t_y\) as \[\label{eq:distanceEquation} d = \sqrt{ \frac{3EI t_y}{M(0)} },\tag{5}\] where \(t_y\) is the displacement of the whisker base along the y-axis, and \(M(0)\) is the corresponding bending moment.
For flexible whisker sensors, small-angle approximations may be inaccurate due to large deflections. In this work, we adopt a large-angle analytical model based on elliptic integrals to define virtual sensor mappings and their preimages. Although analytically insightful, the formulation is computationally expensive and not well suited for real-time use. To address this, we adapt the numerical model developed by Quist et al. [30], which efficiently simulates large-angle 2D deflections. This numerical approach complements the analytical model and serves as the foundation for evaluating virtual sensor behavior and estimating contact points in physical settings.
This section introduces virtual sensor mappings that relate robot states to sensor observations and examines the structure of their preimages—set of states that yield the same observation. We characterize the ambiguity inherent in this mapping and demonstrate how it can be reduced by combining multiple sensor observations.


Figure 2: Reference frames for the robot \(T_{rw}\) and whisker sensor in world reference frame: (a) Whisker sensor (blue) mounted on a robot and making a contact with the environment. (b) A commercial contact strip sensor available from TekScanTM can act like a whisker sensor..
A virtual whisker sensor is a mathematical abstraction designed to simulate tactile sensing without physical hardware. In this study, the virtual sensor is mounted on a mobile robot navigating a planar environment and is represented using geometric transformations: the transform \(T_{sr}\) maps coordinates from the robot frame to the sensor frame, while \(T_{rw}\) maps coordinates from the the world frame to robot frame (see Fig. 2 (a)).
The robot state is expressed as the triple \(q = (q_x, q_y, q_\theta)\), in which \((q_x, q_y)\) is the robot position and \(q_\theta\) is the orientation with respect to the world frame. The state space \(Q \subseteq \mathbb{R}^2\times S^1\), in which \(S^1\) is the unit circle, is the set of all the states that the robot can be in. Previous work has described sensor mapping as a function with domain \(Q\) and co-domain \(Z\), the set of all possible observations [10]. However, observations from whisker sensors are inherently ambiguous, since a single robot configuration \(q\) might correspond to multiple feasible whisker shapes and sensor observations \(z \in Z\) [25]. To explicitly handle this ambiguity, we introduce the whisker beam shape parameter \(\alpha \in [\alpha_{\min}, \alpha_{\max}]\), augmenting the original state-space into \(Q_{aug} = Q \times [\alpha_{\min}, \alpha_{\max}]\). Each value of \(\alpha\) defines a specific planar curve \(\sigma_\alpha: [0,1] \to \mathbb{R}^2\) in the sensor frame, parameterized by arc-length \(s\), expressed as coordinates \((x(s), y(s))\). Thus, the mapping from augmented states to sensor observations is given by the function \(h: Q_{aug} \to Z\). This mapping is generally not bijective, as different states may yield the same observation \(z\). We denote by \(h^{-1}(z)\), the preimage of \(z\) under \(h\), that is, the set of all robot states and whisker beam shapes that are consistent with the observation \(z\).
To effectively analyze this ambiguity in robot states and whisker beam shapes, we introduce a family of virtual whisker sensor models, each representing a distinct measurable or non-measurable (load at contact point or end-slope) observation. By combining these sensor models or applying appropriate filters, we can reduce uncertainty in the whisker beam shape and the contact point along the whisker.
Model 1 (Load Sensor). This sensor measures the frictionless normal force \(F\) acting laterally at a single point along the whisker beam. Since multiple robot states can lead to distinct beam deformations and consequently different force readings, the mapping is not invertible.
The sensor is defined by \[h_{\text{ls}}(q, \alpha) = F,\] where \(q \in Q\) is the robot state, \(\alpha\) is the beam shape, and \(F \in [-F_{\max}, F_{\max}]\) is the sensed lateral force. The maximum magnitude \(F_{\max}\) represents the limit beyond which plastic deformation of beam occurs.
A negative value of \(F\) indicates force applied along the negative \(y_s\)-axis (see Fig. 1 (b)). Due to the geometric symmetry of the whisker and sensing mechanism, the sensor response is typically symmetric around zero, though the extreme values may differ in magnitude due to material asymmetries.
Model 2 (Contact Strip Sensor). This sensor reports the region of the whisker that is in contact with the environment. Let the whisker be uniformly discretized into intervals \(\mathcal{J} = \{ J_i \}_{i=1}^N\), such that \(\bigcup_{i=1}^{N} J_i = [0, L]\), where each \(J_i = [s_{i-1}, s_i]\) for \(i = 1, \dots, N-1\), and \(J_N = [s_{N-1}, s_N]\), with \(s_0, s_1, \dots, s_N\) being discretization points along arc-length.
Assuming a single-point contact, the sensor maps the robot state and beam shape to the arc segment that contains the contact point: \[h_{css}(q, \alpha) = J_a,\] where \(s_a \in J_a\) denotes the true contact location along the beam.
A typical sensor realization is shown in Fig. 2 (b), where the observation corresponds to the arc interval containing the contact. As shown in Fig. 1 (b), this interval corresponds to \(s_a\) along the whisker.
Model 3 (End-slope sensor). *This sensor measures the maximum slope of the whisker beam, denoted by \(\phi_a\), under a transverse normal load. The end-slope sensor is defined by \[h_{es}(q, \alpha) = \phi_a,\] where \(\phi_a \in \left[-\frac{\pi}{2}, \frac{\pi}{2}\right]\) is the angle at the point of contact relative to the undeformed axis (see \(\phi_{s_a}\) in Fig. 1 (b)). In practice, the range of valid slopes is limited by physical parameters such as the whisker length \(L\) and material constraints.*
Given observations from a load sensor, end-slope sensor, or contact strip sensor, the possible set of bending profile of the whisker in the sensor frame can be reconstructed using 1 and 3 . While these models are analytically grounded, most whisker sensor designs rely on base measurements due to constraints on embedding distributed sensors along the slender beam element. To reflect this practical consideration, we introduce an additional virtual sensor model that measures the bending moment at the base—a quantity widely used in engineered whisker sensors and consistent with the biology of whiskers.
Model 4 (Bending moment sensor). This sensor quantifies the bending moment at the whisker’s base, modeled as \[h_{bms}(q, \alpha) = M(0),\] where \(M(0) \in [-M_{\text{max}}, M_{\text{max}}]\). A negative (clockwise) moment indicates loading along the \(y_s\)-axis. If the magnitude exceeds \(M_{\text{max}}\), the beam may not return to its original shape.
While individual virtual sensor models provide useful observations—such as load, slope, or contact location—they are generally insufficient to fully determine the robot’s configuration due to the non-invertibility of the sensor mapping. Multiple configurations may lead to identical observations, creating ambiguity in state estimation. In practice, physical whisker sensors often measure only a subset of parameters, such as the bending moment at the base, limiting the available information. To improve accuracy, observations must be combined using motion data (e.g., linear or angular displacement) and filtering methods. The following section characterizes this ambiguity formally using the concept of sensor preimages as discussed in [10].
The preimage of an observation \(z \in Z\) under a sensor mapping \(h\) defines the set of robot states \((q, \alpha )\in Q_{aug}\) that could have produced that observation. Given a mapping \(h : Q_{aug} \rightarrow Z\), the state space \(Q_{aug}\) can be partitioned into equivalence classes based on sensor outputs. Two states \(q, q' \in Q\) are indistinguishable under \(h\) if \(h(q, \alpha) = h(q', \alpha)\) for the same beam shape \(\alpha\). Furthermore, the states remain indistinguishable for \(h(q, \alpha) = h(q, \alpha')\) or \(h(q, \alpha) = h(q', \alpha')\). In such cases, no sensor reading can distinguish between them. This section analyzes the preimages for each virtual whisker sensor model, illustrating how ambiguity due to sensing arises and how it varies with sensor type.
Consider the virtual load sensor defined in Model 1, which measures the normal contact force \(F\) applied at an unknown arc-length \(s_a\) along the whisker beam (see Fig. 1 (b)). From 2 and 1 , it is evident that knowing only \(F\) is insufficient to uniquely determine the beam’s shape \(\alpha\), as multiple contact locations can yield the same force.
For different values \(s_{a} \in [0, L]\) and known \(F\), the corresponding end-slopes \(\phi_{a}\) can be computed by solving \[\label{eq:eqnProfileLOAD} s_{a} = \sqrt{\frac{EI}{2 F}} \int_0^{\phi} \frac{1}{\sqrt{\sin \phi_{a} - \sin \phi}} \, d\phi,\tag{6}\] where \(\phi \leq \phi_{a}\).
All end-slopes and corresponding beam shapes satisfying the above equation are illustrated in Fig. 3 (a) (red). Each valid pair \((s_{a}, \phi_{a})\) satisfying 6 generates a unique beam shape \((x(s), y(s))\) and corresponding contact point \((p_x, p_y) = (x(s_a), y(s_a))\). For computational purposes, \([0, L]\) is discretized, and beam shapes are computed as shown in Fig. 3 (a) which also illustrates the associated contact points (green).


Figure 3: Possible contact locations and corresponding whisker sensor shapes. The green curve represents the set of possible contact locations, while the red curves indicate the potential whisker shapes for each contact point: (a) Load sensor, (b) Contact strip sensor..
This set of contact points, along with their associated beam shapes \(\alpha\), is useful in determining the preimage of a given load sensor observation. Consider a single point along the boundary of the environment where the robot makes contact via the whisker sensor. The robot may occupy different states that yield the same observation \(F\). The distances from these states to the boundary point can be represented as a set where the states are dependent on the beam shapes \(\alpha\).
The preimage can be constructed in two ways: by aligning the different beam shapes with the boundary of the known map (see Section-7.1), or by exploiting the direction-dependent distances between the beam origin and the contact point. the direction-dependent distance method essentially reduces to the directional depth sensor presented in [10]. Thus, the preimage of a known \(F\) is a subset of the augmented state-space \(Q_{aug}\), defined by \[h_{ls}^{-1}(z) = \{ (q, \alpha) \in Q_{aug} \mid h_{ls}(q, \alpha) = F \}.\]
This preimage typically forms a strip-like region around the object boundary (see Fig. 4 (b)), representing the set of robot poses and all possible beam shapes \(\alpha\) consistent with the observed force. The cardinality of the set of \(\alpha\)’s depend on the discretization of \([0, L]\) that is also related to the number of directional distances. This in-turn allows us to have equal number of possible robot states for a single point along the known environment boundary.


Figure 4: The environment where robot resides and corresponding preimage of \(z\in Z\) where \(z=F\): (a) A map that features straight, concave, convex, and symmetric boundary sections. The shaded region represents the area where the robot can be located under the assumption that the sensor and robot reference frame are coincident. (b) A single observation reduces the full state-space to the shaded region as the direction-dependent distance determines the width of the strip (shaded region). A particular distance in the set of distances is associated with an orientation of the robot..
Assuming contact at a single point along the whisker, the contact strip sensor measures the arc-length \(s_a\) along the beam. However, when the applied force \(F\) and resulting slope \(\phi_a\) are unknown, the precise contact point and beam shape cannot be uniquely determined, that is we cannot uniquely determine the functions \(x(s),y(s)\) and hence, cannot determine the contact point \((p_x,p_y)=(x(s_a),y(s_a))\). Referring to 2 , the set of applied force and end-slope pairs, that is, pairs of \((F, \phi_a)\) that correspond to an observation \(s_a\) are the ones that satisfy the equation 6 . However, the unknown load \(F \in [-F_{\max}, F_{\max}]\), values outside this range cause the beam to undergo plastic deformation.
This leads to a set of beam shapes and contact points as shown in Fig. 2 (b). The preimage \(h_{css}^{-1}(s_a)\) consists of all robot configurations for \((q, \alpha) \in Q_{aug}\) that correspond to a measured contact location \(s_a\). Similar to the previous load sensor case, the preimage can be constructed by aligning the beam shape along the environment boundary or using directional distance that is from the beam origin to the contact point. the possible set of \(\alpha\) and \(q\) for a single point along the environment boundary depends on the discretization of \([-F_{\max}, F_{\max}]\) and geometrically, this possible robot location again resembles to a strip around the environment boundary. In fact, the width of the strip is bounded by the arc-length \(s_a\), as shown in Fig. 4 (b) for all the virtual sensor models. The expression for the preimage set is \[h_{css}^{-1}(z) = \{ (q, \alpha) \in Q_{aug} \mid h_{css}(q, \alpha) = s_{a} \}.\]
With known \(F, \phi_a\), and \(s_a\), the beam shape \((x(s), y(s))\) can be uniquely determined by 1 and 3 .
Given the end-slope \(\phi_a\), we can determine a set of possible contact points and corresponding beam shapes from each valid pair of (\(s_{a}\), \(\sqrt{F}\)) that satisfies the equation 7 . Each contact point results in a distinct deformation profile, and a larger force is required to maintain the same \(\phi_a\) as the contact moves closer to the base. The known end-slope satisfies the relationship \[\label{eq:eqnProfileEndSlopeSensor} s_{a} \sqrt{F} = \sqrt{\frac{EI}{2}} \int_0^{\phi_a} \frac{1}{\sqrt{\sin \phi_a - \sin \phi}} \, d\phi\tag{7}\] where \(F \in [-F_{\max}, F_{\max}]\) and \(s_{a} \in [0, L]\) define the range of admissible forces and contact locations.
Fig. 5 (a) shows the set of valid contact points and corresponding beam shapes. The resulting preimage \(h_{es}^{-1}(z)\) contains all robot configurations \((q, \alpha) \in Q_{aug}\) consistent with the measured end-slope \(\phi_a\). As with other models (the beam shape alignment or directional distance technique), the preimage is a subset of \(Q_{aug}\) appears as a strip in the known map, illustrated in Fig. 4 (b). From the sensor observation, both the possible beam shapes and the associated contact points can be derived. Accordingly, the beam shape may be placed using the known end-slope or, alternatively, by applying the directional distance, and in both cases the resulting set of possible robot locations appears as a strip in the known map. The expression for the preimage set is
\[h_{es}^{-1}(z) = \{ (q, \alpha) \in Q_{aug} \mid h_{es}(q, \alpha) = \phi_a \}.\]


Figure 5: Set of possible contact points (green) where the whisker sensor may interact with the obstacle. Corresponding flexible beam shapes for a discrete set of sensor measurements (red): (a) End-slope sensor. (b) Base bending moment sensor in small-angle deflection case..
The preimage of a bending moment observation depends on whether the beam undergoes small-angle or large-angle deflection. This can be inferred by comparing the observation to a threshold value. The two cases are analyzed separately.
In the small-angle regime, where horizontal tip deflection is negligible (\(\delta_x \to 0\)), the bending moment at the base simplifies to a linear relation between force and arc-length. Specifically, the moment is given by \[\label{eq:momentSmallAngle} M(0) = F s_{a}\tag{8}\] where \(F \in [-F_{\max}, F_{\max}]\) and \(s_{a} \in [0, L]\). This relation allows a set of possible contact points and beam shapes to be computed for a given measured moment using equations 2 and 1 . The corresponding preimage over the state space \(Q\) is defined as \[h_{bms}^{-1}(z) = \{ (q, \alpha) \in Q_{aug} \mid h_{bms}(q, \alpha) = M(0) \}\] and represents all robot states and beam shapes that could result in the same moment.
In the large-angle case, nonlinear effects become significant, and the moment at the base must be computed using the full beam model. From the expression for base moment in 4 , the moment is given by \[\label{eq:momentLargeAngle} M(0) = F x(s_{a}) = \sqrt{\frac{F EI}{2}} \int_{0}^{\phi_{a}} \frac{\cos \phi}{\sqrt{\sin \phi - \sin \phi_{a}}} \, d\phi\tag{9}\]
This formulation increases the number of unknowns to the tuple \((F, s_{a}, \phi_{a})\), where the resulting beam shapes and contact locations must be computed numerically due to the involvement of elliptic integrals. As a result, the preimage in the augmented state space \(Q_{\text{aug}}\) is larger than in the small-angle case, because of the nonzero horizontal tip displacement \(\delta_x\), introducing greater uncertainty in the inverse mapping from moment to robot state. However, geometrically, the preimage area—considered as a 2D subset of the environment—becomes smaller in the large-angle deflection case, since the increased whisker bending shortens the spatial range of reachable contact points.
The preimage obtained from a virtual sensor observation is derived from a set of possible contact points along the whisker. Reducing uncertainty in these contact points and beams shape \(\alpha\) leads to reduced uncertainty in the robot state. To achieve this, we introduce spatial and temporal filtering techniques.
Proposition 1. Let \(\mathcal{P} \subset \mathbb{R}^2\) denote the set of contact points inferred from a virtual whisker sensor model. Suppose \(x(s)\) and \(y(s)\) are continuous functions representing the horizontal and vertical coordinates of the beam shape, parameterized by arc-length \(s \in [0, L]\). Then the set \[\label{eq:contactPointSet} \mathcal{P} = \left\{ (x(s), y(s)) \mid s \in [0, L] \right\}\qquad{(1)}\] is compact and connected; that is, \(\mathcal{P}\) is bounded and connected.
Proof. The interval \([0, L] \subset \mathbb{R}\) is closed and bounded, and hence compact and connected. The mapping \(s \to (x(s), y(s))\) is continuous from \([0, L]\) into \(\mathbb{R}^2\). The continuous image of a compact and connected set is compact and connected. Thus, \(\mathcal{P} \subset \mathbb{R}^2\) is both bounded and connected. ◻
Proposition 2. Let \(\mathcal{P}_1\) and \(\mathcal{P}_2\) be two sets of deflected contact points in \(\mathbb{R}^2\), defined as \[\mathcal{P}_i = \left\{ (x_i(s), y_i(s)) \mid s \in [0, L] \right\},\] where \(x_i(s)\) and \(y_i(s)\) are continuous functions over the compact interval \([0, L]\). Then, the intersection set \[\mathcal{P}_C := \mathcal{P}_1 \cap \mathcal{P}_2\] is compact and connected whenever nonempty. In degenerate cases (singleton or empty), the result holds trivially.
Proof. Each \(\mathcal{P}_i\) is the image of a continuous function from a compact and connected interval \([0, L] \subset \mathbb{R}\), and therefore \(\mathcal{P}_1, \mathcal{P}_2 \subset \mathbb{R}^2\) are compact and connected. While the intersection of connected sets need not be connected in general, in this context both sets represent smooth traces of beam deflection generated by physically consistent and continuous models. Any nonempty intersection \(\mathcal{P}_C\) arises from a continuous overlap between these arc-like traces, forming a connected segment or region in \(\mathbb{R}^2\).
Since the intersection of compact sets is compact, \(\mathcal{P}_C\) is bounded and closed. Thus, \(\mathcal{P}_C\) is connected and bounded whenever nonempty. If \(\mathcal{P}_C\) is a singleton or the empty set, the result is vacuously true. ◻
The above propositions establish that the sets of contact points obtained from whisker observations are compact and connected, which form the basis for the subsequent spatial and temporal filtering strategies.
Sensor fusion improves contact estimation by combining contact point sets inferred from different virtual sensor models. Each model—such as load, end-slope, contact strip, or moment—generates a set of contact points \(\mathcal{P}\) consistent with its observation and the assumed beam model.
These sets can be derived from complementary sensing modalities. Their intersection reduces ambiguity in contact estimation. For example, combining load and contact strip sensor observations gives \[\mathcal{P}_C = \mathcal{P}_{\text{load}} \cap \mathcal{P}_{\text{strip}}\] where \(\mathcal{P}_C\) denotes the contact points consistent with both sensors. This intersection narrows the set of physically feasible contact locations, as illustrated in Fig. 6 (b).


Figure 6: Fusion of Sensors: (a) Intersection of load and contact strip sensors. Possible whisker configurations (red) in its reference frame for \(s \in[0, L]\)and \(F \in[-F_{max}, F_{max}]\). Possible contact points detected by the load sensor (green) and the contact strip sensor (blue). The intersection of these sets determines the contact point. (b) The reduced uncertainty in contact point results in a preimage which signifies reduced uncertainty in robot state compared to the previous case shown in Fig. 4 (b)..
This geometric intersection relates to a set-theoretic formulation over preimages, \[\Delta(F, s) = h_{ls}^{-1}(F) \cap h_{css}^{-1}(s)\] where \(\Delta(F, s)\) represents the triangulated preimage derived from individual sensor models. This notion of triangulation is adapted from [10]. Each observation yields a set of robot states and beam shapes (preimage), and we refer to the intersection of these sets (preimages) as triangulation of observations. This, in-turn reduces uncertainty in robot state.
Temporal filtering estimates the contact point using a single whisker sensor observations over time. This method assumes that, for small and incremental base motions, the contact location on the object and along the whisker/beam remains unchanged. For larger incremental base motions, the lateral and longitudinal slip plays a significant role and the contact location on the object and along the whisker/beam doesn’t remain unchanged. If contact point sets \(\mathcal{P}\) are available at multiple time instants along with base motion information, their intersection provides a filtered estimate of contact point.
Let \(\mathcal{P}_t\) and \(\mathcal{P}_{t+1}\) be the set of contact points at two consecutive time steps. Under the fixed-contact assumption, the intersection of these sets yields a set of new contact points \[\label{eq:getContactPointTemporal} \mathcal{P}_C = \mathcal{P}_t \cap \mathcal{P}_{t+1}.\tag{10}\]
This approach enables contact localization with a single sensor while the robot performs incremental motions. For larger base displacements, however, the whisker may slip across the surface, and the intersection may vanish or shift. This indicates a change in contact and allows slip detection to emerge as a byproduct of the filtering process.
The motion model describes how the robot’s configuration evolves over time in response to known control inputs or base displacements. At time \(t\), the robot’s possible configurations consistent with sensor observations form a subset \(\mathbf{Q}_t \subseteq \mathbf{Q}\) obtained from the preimage discrading the beam shapes. Although \(\mathbf{Q}_t\) lies in a continuous space, we discretize it by sampling a finite set \(\hat{\mathbf{Q}}_t = \{(q_{x_k}, q_{y_k}, q_{\theta_k})\}_{k=1}^K\) for computational purposes, where each tuple represents a sampled robot configuration.
To propagate these configurations under known motion, we apply a planar rigid-body transformation defined by a translation \((t_x, t_y)\) and a rotation \(\theta\). This motion, represented by the transformation matrix \(T_{t}\), is applied relative to each configuration \(q_k \in \hat{\mathbf{Q}}_t\), which is first expressed as a homogeneous transformation matrix \(T_k\).
The updated pose is computed as \(T_k' = T_k \cdot T_{\text{local}}\) when transforms are carried in local frame, and the resulting configuration \(q_k' = (q_{x_k}', q_{y_k}', q_{\theta_k}')\) is extracted by reading the translation and rotation from \(T_k'\). Specifically, the new position is computed by rotating and translating the old position by \((t_x, t_y)\), and the new orientation is given by \(q_{\theta_k}' = q_{\theta_k} + \theta\). The resulting set \(\hat{\mathbf{Q}}_{t+1} = \{q_k'\}_{k=1}^{K}\) represents the robot’s possible configurations at time \(t+1\), after applying the known motion model.
Sensor design and fabrication are typically task-specific. The proposed virtual sensors can be partially realized using current technology. Recent advances in materials science and MEMS fabrication have enabled the development of contact strip sensors (see Fig. 2 (b)). Among engineered whisker sensors, the bending moment sensor is the simplest and most widely fabricated. Designing a sensor to measure the applied normal load along the whisker beam is highly complex. We developed a simple, low-cost, and reconfigurable whisker sensor that measures magnetic flux density at the base, similar to a bending moment sensor (see Model 4). Its total cost is under $20 USD, with most parts 3D-printed, making it reconfigurable and accessible for extended use.
The whisker sensor is designed for modularity and ease of fabrication. Its design is inspired by prior work [15], [24] and features a straight whisker element, as shown in Fig. 7 (a), with the fabricated sensor illustrated in Fig. 7 (b). Material selection is guided by prior research to ensure optimal performance. Polylactic acid (PLA) is used to 3D print the sensor base, with a density of \(\rho = \SI{1230}{\kg\per\cubic\meter}\), Young’s modulus \(E = \SI{4.1}{\giga\pascal}\), and Poisson’s ratio \(\nu = 0.35\). A Hall sensor (MLX90393) is used to measure the magnetic response at the base, offering 16-bit resolution across three axes and a range of ± 5 mT– ± 50 mT. Alternatively, the TLE493D Hall sensor can be used, providing 12-bit resolution up to ± 160 mT. The compliant structure is made from liquid silicone rubber (LSR) with a Shore hardness of 50A, allowing for configurability by varying its thickness and diameter. LSR was prepared by mixing Part-A and Part-B in a 1:1 weight ratio, molded using an acrylic template, and cured for 24 hours. The whisker element is made from a thin Nitinol wire with diameter \(\SI{0.58}{\milli\meter}\), Young’s modulus \(E = \SI{52}{\giga\pascal}\), area moment of inertia \(I = \SI{5.555e-15}{\meter^4}\), and density \(\rho = \SI{6450}{\kg\per\cubic\meter}\), with an effective length of \(\SI{75}{\milli\meter}\).
The calibration procedure follows [24], [35], establishing a mapping between the magnetic flux density \(B\), measured by the Hall sensor, and the bending moment \(M(0)\) at the fixed base of the cantilever beam. Calibration is performed by deflecting the whisker to various contact points \((p_{x_i}, p_{y_i})\) within the YZ-plane and recording corresponding measurements \((B_i)\), where \(i = 1, 2, \ldots, n\), and \(n = 1000\) ensures good representation. Similarly, the numerical model[30] was used to deflect the whisker and record bending moment \(M(0)_i\). The objective is to derive a mapping between \(B_i\) and \(M(0)_i\).
A numerical model simulates the bending of a thin, whisker-like beam under a point load, operating in “point mode” based on the formulation by Quist et al. [30]. In “point mode,” the coordinates of the contact point \((p_x, p_y)\) are known. The model searches for a force \(F\) and arc-length \(s_a\) such that the deflected point matches \((p_x, p_y)\). It then returns the deflected whisker shape and the full 2D components of force and moment at the base.
All sensor-specific parameters, including geometry and material properties, are consistent with those presented in Section 5.1. To align the simulated response with the real sensor, an elastic boundary condition is applied at the fixed end. The result of this calibration is shown in Fig. 8 (a).


Figure 8: Sensor Calibration: (a) Mapping of flux density to the bending moment at the base. (b) Mapping of bending moment at the base to \(\delta_{x}\) (refer to Fig. 1 (b) for \(\delta_{x}\))..
For large-angle deflections, the calibration also establishes a relationship between \(M(0)\) and horizontal deflection \(\delta_x\), as described in 4 . Although this mapping is not one-to-one due to the nonlinear nature of beam deflection, it remains useful. Fig. 8 (b) illustrates this mapping. With rigid whiskers (e.g., carbon fiber), the moment-deflection relation would be one-to-one over a broader range. In contrast, flexible whiskers often exhibit tip slip, especially under higher loads. When contact occurs near the tip, the mappings \(B \rightarrow M(0)\), and \(M(0) \rightarrow \delta_x\), becomes nearly one-to-one and more reliable.
The experimental analysis connects the virtual sensor models to two key objectives: (1) contact point determination and (2) obstacle shape estimation. The physical sensor observations do not directly yield the contact point or the robot’s state. To extract these, we apply the filtering strategies introduced in Section 4.3. Specifically, we use temporal filtering over the set of possible contact points to estimate the location of contact from the outputs of virtual sensor models. The same approach is then applied to the physical whisker sensor to determine the contact point and estimate the obstacle shape. It is important to note that these experiments do not involve explicit motion planning. The contact point and obstacle boundary shape are estimated as the whisker sweeps across the obstacle along a known trajectory.
In experiments, the whisker sensor is mounted on a 3D linear stage with 10 μm resolution. The sensor is connected to a Teensy 4.0 board that streams data at a rate of 300 samples per second. All data acquisition, motion control, and analysis were
performed on a Windows 10 system with an Intel Core i5 CPU. MATLAB® R2023a is used for data analysis, including the polyshape, polygon, and polyxpoly functions for geometric representation and intersection
of contact point sets.
The contact point along the whisker beam is estimated using the temporal filtering method introduced in Section 4.3. This method computes the intersection of the set of possible contact points across consecutive time steps, under the assumption that the contact location remains fixed during small incremental base motions. In our experiments, this approach is implemented using a numerical model adapted from [30], which operates in “force mode" to generate the set of possible contact points. In”force mode", the experimenter applies a force with known magnitude at a certain arc-length (s) out along the whisker. Under the assumption of no friction, the direction of the force remains normal to the whisker at the point of application. Elastica2D—a numerical simulation tool then computes the shape of the deflected whisker and all 2D components of force and moment at the base. These sets are derived from the deflected beam shapes computed for each sensor observation as shown in Fig. 3 (a) and discussed in Section 4.2.1. Fig. 9 illustrates the contact points estimated for all virtual sensor models under 1 mm linear base displacement along the \(y\)-axis.




Figure 9: Contact Point Determination for Simulated Virtual Sensors: The contact point is determined by the intersection of possible contact points using temporal filtering and linear base displacement. (a) Load sensor. (b) Contact strip sensor. (c) End-slope sensor. (d) Moment sensor (small-angle case). A range of parameter values and virtual sensor outputs were considered for contact point estimation..
The spatial and temporal filtering approach described in Section 4.3 is applied to physical sensor observations to estimate the contact point. Spatial filtering can also be demonstrated using two physical sensors placed at a fixed distance, both making contact at the same location. Fig. 10 illustrates contact estimation using the physical sensor. The measured magnetic flux density \(B\) is mapped to the bending moment at the base \(M(0)\) using calibration as obtained in Section 5.2. The temporal filtering process follows a method similar to that presented in [37], and results are compared with the state-of-the-art analytical method described in [19]. Table 1 presents the contact estimation accuracy. If no intersection between successive sets of possible contact points is found, two scenarios arise: (1) the contact occurs at the tip of the whisker, or (2) contact is lost due to slip. If the sensor output exceeds a predefined threshold and no intersection is found, it confirms contact at the tip.


Figure 10: Contact Point in Whisker Sensor Reference Frame (Large-Angle Deflection): The point of intersection (Red Star) represents the contact point. Calibration data from Fig. 8 (b) were used. (a) Spatial filtering can be implemented with two or more sensors placed at predefined positions in the sensor reference frame. \(M_1(0,i)\) and \(M_2(0, i)\) are recorded by two sensors separated by 4.2 mm. (b) Temporal filtering is applied when a single whisker sensor is in use. The sensor base was moved by 4.2 mm, and \(M(0,i) = \SI{17}{\milli\newton\cdot\meter}\), \(M(0,i+1) = \SI{25}{\milli\newton\cdot\meter}\) were recorded..
| \(p_x\) (mm) | \(\hat{p_x}\) | \(M_0\) (mN m) | \(\hat{d}\) (Ours) | \(\% \epsilon\) | \(\hat{d}\) (SOTA) | \(\% \epsilon\) |
|---|---|---|---|---|---|---|
| 70 | 71.5 | 0.19 | 71.5 | 2.1 | 67.5 | 3.5 |
| 65 | 65.4 | 0.20 | 65.4 | 0.6 | 65.8 | 1.3 |
| 55 | 55.8 | 0.28 | 55.8 | 1.4 | 55.6 | 1.1 |
| 45 | 44.5 | 0.42 | 44.5 | 1.1 | 45.4 | 0.9 |
| 35 | 34.9 | 0.63 | 34.9 | 0.3 | 37.1 | 5.9 |
The goal of this experiment is to estimate the shape of an obstacle by sweeping a whisker sensor along its surface and continuously recording contact information. The sensor is mounted on a 3D linear stage with 10 μm resolution; although the stage supports 3D motion, we restrict the sensor to move in the \(yz\)-plane relative to its reference frame (see Fig. 7b). This setup allows controlled base displacements as the sensor interacts with an object. At each time step, the magnetic flux density measured by the physical sensor is converted into a bending moment at the whisker base, which serves as the observation for the virtual moment sensor model. The overall experimental setup is illustrated in Fig. 11 (a), and corresponding simulation results of whisker deflection are shown in Fig. 11 (b).


Figure 11: Experimental and simulation representation of the sensor and obstacle: (a) The whisker sensor (see Fig. 7) is mounted on a linear stage and brushes over an obstacle. (b) The shape of the whisker sensor as estimated..
We use the temporal filtering approach introduced in Section 4.3, which estimates contact by intersecting the set of possible contact points across successive time steps. This method assumes that contact remains fixed during small base motions, and when the intersection shifts, it reflects slip along the object or whisker. Although slip is a cue for successive contact and shape estimation [35], it is not directly modeled in this work but arises as a by-product. Empirical observations show that, under continued sweeping, contact often shifts toward the whisker tip. This motivates a tip-contact calibration strategy, where the horizontal tip deflection \(\delta_x\) (see Fig. 1 (b)) is used to estimate the beam shape when the contact is at the tip. The large-angle deflection formulation is then used to reconstruct the deflected whisker shape and determine the deflected contact point \((x(s_a), y(s_a))\) for each sensor observation. These contact points are then accumulated using the known motion trajectory of the whisker base.
To estimate the object boundary, the accumulated contact points across all time steps form a spatial union given by: \(\bigcup_{t=2}^{T_{final}} (x_t(s_a), y_t(s_a))\). This set represents a discrete approximation of the object profile. Slip events can be inferred when consecutive contact points are not coinciding along the whisker, especially under larger base displacements. Fig. 12 (a) visualizes these successive contact points and highlights slip transitions, while Fig. 12 (b) shows the estimated object profile constructed from the contact history. For each base motion trajectory, five independent sweeps are performed to generate a reliable profile, which is compared to the ground-truth shape from the 3D CAD model used to fabricate the object.


Figure 12: Object Profile Determination: (a) Successive contact points and slip quantification when the base is moved by 4.2 mm in each step. The slip is the shift of contact along the whisker or the boundary while it is sweeping the obstacle boundary. (b) Object profile obtained through successive contact points. The contact point often slips to the tip. While the shape of the whisker sensor at different time instances is shown as estimated, the estimated object profile closely matches the actual profile..
This section presents a localization framework based on whisker sensor observations, including the inferred contact point and beam shape. We first describe a method to construct the preimage from an observation, followed by the localization procedure. To reduce uncertainty in the robot’s state which is obtained from the preimage, we apply the motion model introduced in Section 4.4 for forward projection of known robot states.
Given a sensor response, the contact point and whisker shape can be used to construct the preimage. A common practical situation arises that the contact point eventually shifts toward the free end of the beam. When the beam shape is known, we align the whisker along the boundary of a known environment map to obtain a set of possible robot configurations. Discretizing the robot’s configuration space at any time step \(t\) \(\mathbf{Q}_t \subseteq \mathbf{Q}\) introduces approximation errors, particularly near high-curvature features like sharp corners, where small pose changes can lead to large shifts in contact geometry. This error can cause ambiguity, as several nearby discrete configurations may produce sensor observations that are indistinguishable in the environment. Increasing the sampling density of the configuration space or using a coarse-to-fine search improves localization accuracy while keeping computation efficient.
As the robot moves, two scenarios may arise: (1) the contact point approaches a concave boundary segment, leading to increasing curvature (see Fig. 13 (a)); or (2) the contact point moves away from a concave region, resulting in decreasing curvature (see Fig. 13 (b)). Given the end-slope \(\phi_a\) and the shape of the whisker, we use a short temporal history (2 to 3) of whisker shapes to estimate the instantaneous boundary slope \(\phi_{E_t}\) at the contact point. The instantaneous boundary slope \(\phi_{E_t}\) can be computed using the relative pose derived from the base motion trajectory and whisker shapes observed at time steps \(t\) and \(t+2\). This estimate is essential for accurately constructing the preimage in the context of a discretized boundary of the environment.


Figure 13: Whisker contact angle along the environment boundary: a) The sweeping contact approaching a concave region with increasing curvature, b) The whisker contact is moving away from a concave region with decreasing curvature..
A sensor observation at time index \(t\) corresponds to a specific whisker shape that must be aligned all along the boundary of the environment. The required inclination \(\gamma_t\) between the whisker and the boundary is determined using the whisker slope at contact \(\phi_{a_t}\) and the local boundary slope \(\phi_{E_t}\), obtained from two or more recent whisker samples. The alignment angle \(\gamma_t\) between the whisker and the environment boundary is computed based on the whisker slope at the contact point \(\phi_{a_t}\) and the local boundary slope \(\phi_{E_t}\), with \(\gamma_t = \pi - (\phi_{a_t} + \phi_{E_t})\). Here \(\gamma_t\) represents the angular difference between the whisker and the boundary at the contact point.
With the contact point, whisker shape, boundary slope \(\phi_{E_t}\), and alignment angle \(\gamma_t\) now determined from the sensor observation, all the components required for constructing the preimage are available. These elements form the foundation for computing the robot’s pose at any time index \(t\) from preimage by intersecting possible current states and forward projected past states, as described in the following localization method.
To perform self-localization using observations from the whisker sensor, we construct preimages based on the estimated contact point, whisker shape, boundary slope, and alignment angle. The environment is assumed to contain obstacles whose boundaries are defined analytically as continuous functions, which are approximated using discretized points spaced at 1 mm intervals for computational implementation.
At time \(t\), we construct an augmented set \(\mathbf{Q}_{\text{aug}}\) using a minimum of three sensor observations to determine the contact point \((p_x, p_y)\), whisker orientation \(\gamma_t\), boundary slope \(\phi_{E_t}\), and whisker shape \(x(s), y(s)\). The possible states at time \(t\) \(\mathbf{Q}_t \subset \mathbf{Q}\) is obtained by aligning the whisker shape to each discretized point along the known environment boundary such that the inclination angle \(\gamma_t\) is preserved. This alignment determines the robot configuration as \[q_k = T_k \cdot R(-\phi_a - \gamma_t) \cdot \begin{bmatrix} -x(s_a) \\ -y(s_a) \\ 1 \end{bmatrix} \label{eq:configFromAlignment}\tag{11}\] where, \(q_k \in \mathbf{Q}_t\) is a possible robot state obtained by aligning the whisker shape with the environment boundary point represented by the homogeneous transformation \(T_k \in SE(2)\). The contact point \((x(s_a), y(s_a))\) is defined in the whisker’s local frame. The rotation matrix \(R(\cdot)\) applies the angular correction necessary to align the whisker with the boundary at \(T_k\), and the resulting transformation gives the robot pose consistent with the observed sensor response.
Applying the motion model yields the forward-projected set of states \(\hat{\mathbf{Q}}_{t+1}\), obtained by applying the known local transformation \(T_{\text{local}}\) to each state in
\(\mathbf{Q}_t\). This discrete set is then converted into a polygonal representation using spline-based interpolation and geometric modeling tools, as shown by the dashed curve in Fig. 14 (b). A subsequent sensor observation \(z_{t+1}\) produces a new possible set of states \(\mathbf{Q}_{t+1}^{\text{obs}}\) using the same
procedure as before. The intersection, \[\mathbf{Q}_{t+1} = \hat{\mathbf{Q}}_{t+1} \cap \mathbf{Q}_{t+1}^{\text{obs}}\] is performed using the polyxpoly operation in MATLAB, yielding a small set of states, as
illustrated in Fig. 14 (c) (19 blue points). This process of sensing, applying motion, and intersection is repeated iteratively, leading to reduced ambiguity in the robot’s configuration. A less ambiguous set of
states, incorporating additional sensor readings, is shown in Fig. 14 (d) (6 red points).




Figure 14: Deterministic way of localizing the robot: (a) Possible robot states after a sensor observation is recorded (Red and blue). (b) Forward projected robot states (dashed) after motion is applied. (c) Possible states (scattered blue points) of the robot after a new observation is available after motion is applied. (d) Reduced number of robot states after four observations (scattered red points)..
Imperfect sensor measurements, calibration errors, and motion model inaccuracies all contribute to uncertainty in the robot’s estimated state. As a result, direct intersection of preimages, as described above, may not yield valid or complete estimates under these imperfections. To address this, possibilistic or probabilistic frameworks can be used to construct and refine the preimage representation. In the following subsection, we describe a possibilistic approach for robot localization that incorporates such uncertainties.
System-level uncertainties—such as sensor noise, calibration errors, and motion inaccuracies—contribute to the overall imprecision in the robot’s estimated state. These sources include errors in sensor calibration (e.g., mapping magnetic flux density to bending moment), sensor noise, the estimation of horizontal tip deflection \(\delta_x\) in nonlinear contact conditions, and imperfections in the motion model. To account for these bounded uncertainties, we adopt a possibilistic framework that incorporates such imperfections into the preimage formulation.
Considering the general case of a set-based noise, the sensor-mapping, denoted by \(H\), is defined to take noise into account so that \[H: Q\times \mathcal{A} \rightarrow {\rm pow}(Z),\] in which \(\mathcal{A}=[\alpha_{\text{min}}, \alpha_{\text{max}}]\), \(Z\) is the observation space, and \({\rm pow}(\cdot)\) denotes the power set. Let \(\varepsilon > 0\) be the known bound on sensor observation noise. Specifically, the sensor-mapping we use is defined according to the following equation \[H(q, \alpha) = \{ z\in Z \mid |h(q, \alpha) - z| \leq \varepsilon \},\] in which \(h(\cdot)\) is the sensor-mapping considering the deterministic setting. Consequently, given an observation \(z\) the set of possible states that could have produced \(z\) under \(H\) is \[H^{-1}(z) = \{ ( q \in Q,\; \alpha \in \mathcal{A}) \mid z \in H(q,\alpha) \}.\] This is akin to the notion of a function’s preimage. In our implementation of localization under a possibilistic framework, uncertainty is set to \(\varepsilon = 5\%\) of the observed value, based on sensor characteristics.


Figure 15: Possibilistic Way of Localizing the Robot with Sensing and Motion Model Imperfections: (a) Preimage obtained with the second measurement. (b) Possible subsets (Red) of \(Q_{PM_{i+1}}\) where the robot could be located after the third measurement..
Figure 15 illustrates the possibilistic approach to robot localization under sensing and motion model uncertainties. In Fig. 15 (a), the preimage is shown after incorporating the second measurement, taking into account bounded uncertainty in the sensor response. This preimage represents a region of the state space where the robot could plausibly be located, rather than a precise point. After the robot undergoes a motion update and a third observation is obtained, the forward projected set of states \(\mathbf{Q}_{t+1}\) is intersected with the possibilistic configuration obtained from preimage of a new sensor observation. As shown in Fig. 15 (b), this intersection yields refined subsets (highlighted in red) representing more likely robot configurations. This iterative process allows the localization method to progressively narrow down the robot stated in the presence of component-level uncertainties.
To evaluate localization accuracy, we recorded the ground-truth position of sensor from the linear stage (with 10 μm resolution), along with corresponding sensor observations. The preimage-based localization method performs reliably as the sensor sweeps along concave boundaries and produces consistent variations in observation. In deterministic localization, the average localization error remains below 7 mm. Experimental sweeps were conducted for different sweep IDs under similar conditions, as shown in Fig. 11. Each sweep ID corresponds to a known location from which obstacle sweeping begins, and consequently, where the localization process starts. We varied the motion model parameters \((t_x, t_y)\), including the number of samples used to estimate the instantaneous boundary slope \(\phi_{E_i}\), typically ranging from 2 to 5. The estimation of \(\phi_{E_i}\) plays a critical role in constructing accurate preimages, particularly when the map boundary is a discrete approximation. To maintain high accuracy, the linear motion per step (\(t_x\) or \(t_y\)) was constrained to less than 1 mm, consistent with the spatial resolution of the discretized environment boundary.
| Sweep ID | 01 | 02 | 03 | 04 | 05 |
|---|---|---|---|---|---|
| Average Error \(\epsilon\) (mm) | 2.79 | 6.20 | 3.60 | 5.50 | 7.30 |
| Standard Deviation \(\sigma\) (mm) | 1.09 | 1.67 | 0.02 | 0.65 | 0.44 |
This paper presented a method for contact point estimation and preimage-based robot localization using a whisker sensor. By leveraging the deflected shape of the whisker beam and the estimated contact point, the robot’s pose was estimated through the intersection of numerically obtained sets of possible states. Unlike traditional approaches that rely on analytical or probabilistic models, the proposed framework uses discrete representations of the environment boundary and beam shape to localize the sensor or robot within a known environment. The evaluation through mathematical models and visualizations demonstrated consistent localization performance, particularly in concave obstacle boundaries.
Accurate localization, however, requires careful calibration, since mechanical misalignment or modeling inaccuracies can degrade the quality of sensor observations. The inherent nonlinearity of the whisker sensor complicates precise contact estimation, although the numerical model by Quist et al. [30] enables mapping between physical readings and the resulting forces and moments at the whisker base. These challenges highlight the need for structured computational strategies, particularly when extending the framework to higher-dimensional state spaces.
Future work will extend the approach in several directions. Building on the deterministic and possibilistic models, probabilistic methods will be investigated to fuse information from multiple sensing modalities. Robustness can be improved by combining whisker observations with long-range sensing, while integrating MEMS-based IMUs will provide orientation information to reduce ambiguity and accelerate localization. Extending the approach to three-dimensional Cartesian spaces and cluttered planar environments will require optimal motion strategies, refined intersections of possible states, and efficient real-time management of iterative forward projections.
The authors gratefully acknowledge Prof. Mitra J. Hartmann for providing access to the elastica2D model, which was instrumental in this study.
P. K. Routray and Manivannan M. are with the Touch Lab, Center for Virtual Reality and Haptics, Indian Institute of Technology Madras, India, 600036 (e-mail: prasanna.routray97@gmail.com, dev.subudhi49@gmail.com, mani@iitm.ac.in)↩︎
B. Sakcak and S. M. LaValle are with the Center for Ubiquitous Computing, Faculty of Information Technology and Electrical Engineering, University of Oulu, Finland (e-mail: basak.sakcak@oulu.fi, steven.LaValle@oulu.fi)↩︎