The tactile sensor explores around an object by maintaining its perceived orientation relative to surface feature or edge and moving tangentially (termed servoing) while tuning its normal displacement to ensure robust perception (termed active perception)

Basically, we intend to maintain a fixed optimal contact pose from whisker senor to obstacle surface, with proper contact height and orientation toward unknown surface.

The detailed code demo is listed below in WhiskerActivePerception.py

https://github.com/LUKEDUDE97/ActivatePerception4WhiskerTipEXP.git

Basic Design


Three general constraints were settled on the strategy:

The last two constraints were used to maintain an optimal contact pose from sensor to surface and the target value were validate with multiple times in the off-line experiments on our calibration stage as in which the contact estimate was the most stable and accurate. The constant linear velocity magnitude is also important on two aspects: 1) transverse the dynamics on linear velocity of Y-axis to X-axis, the faster it goes on the Y represents a more significant change on the curvature of unknown surface, the slower it got on X-axis means we need to slow down the pace to adapt to the surface and get trustworthy estimates on tip position (which later we found is not true and totally unpractical in real world); 2) set fixed linear displacement between iteration and milestones, so as to give a quick extrapolate prediction on next contact according to the principle of Centripetal Parameterization along the fitted B-Spline.

Control Inputs


image.png

The control inputs on end-effector were separated into three basic elements:

which will later be transformed into the world-fixed frame.

Linear Velocity