The present invention provides a method of sensing or determining object profile shape using a whisker sweeping method that allows continued estimation of contact point beyond an initial contact so as to provide maximum profile shape information per whisk.
Mammalian whiskers have attracted increasing interest from engineers seeking to imitate their numerous desirable sensing properties. Whiskers are physically robust, mechanically simple, and yet can precisely extract object shape, texture and the velocity of fluid flow. The diverse capabilities of whiskers are amply demonstrated by the animals that use them to perform difficult behavioral tasks; for example, seals can track hydrodynamic trails [1] and rats can distinguish small differences in aperture width [2]. Robotic whiskers have been used for various types of sensing tasks (for a detailed review, see [3]), and several recent studies have specifically addressed the issue of three-dimensional (3D) feature extraction, wherein the goal is to infer the shape of an object by repeated contact with one or more whiskers. These studies have generally taken one of two approaches: whisker “tapping” or whisker “sweeping.”
The first approach—whisker tapping—is to rotate or translate the whisker(s) against an object by a small angle and infer where along the length of the whisker initial contact occurred (radial distance extraction). Using this information, along with information about the angle of initial contact and location of the whisker base, allows estimation of the contact point location in 3D space for each whisker/whisk.
Whisker tapping has been relatively well studied. Tsujimura and Yabuta derived and demonstrated a general method of estimating contact point location of a stiff probe pressing against an object using a six-axis force/torque sensor [4]. Ueno et al. measured vibration frequencies at the base of a flexible beam using a torque sensor to estimate contact point position [5]. Kaneko et al. used a two-axis actuator, two-axis torque sensor and a flexible beam to determine contact positions along an object based on the rotational compliance [6]. Clements and Rahn applied a large angle elastica model as the basis for determining contact point location with a two-axis actuator, flexible beam and six-axis force/torque sensor [7]. Kim and Möller attached multiple flexible beams with two-axis torque sensors to an actuated support plate, showing that whisker arrays can provide basic object shape information in a single whisk [8]. Detailed shape information can be extracted by using a whisker array and combining data from several whisks and accounting for lateral slip of the whiskers along the object [3, 9].
The second approach—whisker sweeping—involves moving the whisker along or against the object far past the location of initial contact in order to estimate a collection of contact point locations as the whisker slips along the surface. Whisker sweeping has received less attention in the literature than tapping. Russell swept the tip of a flexible curved beam with a binary (touch or no-touch) sensor along objects with a Puma robot to measure their profile [10]. Wilson and Chen used a pneumatic bellow tube actuation system and closed-loop control to sweep the tip of a flexible beam with a 2D torque sensor along objects and estimate their profiles [11]. Scholz & Rahn rotated a flexible beam equipped with a six-axis force/torque load cell against objects and used a large-angle elastica model to repeatedly compute the entire whisker shape and contact point, providing an accurate 2D object profile measurement with a single whisk [12]. Critical differences between this method and that of the present invention will become apparent.
The present invention provides a method of sensing or determining object profile shape using a robotic whisker in a sweeping mode that allows continued estimation of contact point beyond an initial contact so as to provide maximum profile shape information per whisk (sweep). In an illustrative embodiment of the invention, a method for sensing object profile shape comprises relatively sweeping (whisking or translating) in angular or translational increments an elongated whisker element having a deflectable cantilever region and an object so that the cantilever bends as a result of sliding along an object periphery, determining moment at a base region of the whisker element as a result of the bending, and iteratively determining (inferring) successive contact point locations on the object periphery based on small successive increments in whisker element displacement and sensed moment. The method determines contact points on the object by iteratively inferring position changes and thus successive contact locations based on small successive increments in angle of the whisker element and sensed moment using only measurement of moment (torque). The method is extremely efficient, involving only the evaluation of a simple algebraic expression and two polynomials per time step. Also, because the whisker follicle needs to only measure moment, it can be based on a single strain gage or other basic technology.
The present invention can be practiced to as an effective, efficient and easy-to-implement method for obtaining object profile shape information over a single whisk with a robotic whisker. The fact that only moment needs to be measured allows it to be implemented with small, inexpensive torque sensors (e.g. strain gages), making it highly amenable to implementation on an array of robotic whiskers. The algorithm employed in practice of the invention is robust with regard to sensor noise and object friction.
The invention also envisions in another embodiment a method for sensing curvature of an object, comprising relatively sweeping at a known velocity an elongated whisker element having a deflectable cantilever region and an object so that the cantilever region bends as a result of sliding on an object periphery, determining successive radial distances between a base region of the whisker element and a point of contact with the object, and determining curvature of the object using the successive radial distances and known velocity of sweeping.
Still another method embodiment of the invention can used to determine future points of contact between the whisker element and the object by linear approximation using differences of the radial distances and the known velocity at preceding points of contact there between. A still further method embodiment can be used to determine future points of contact between the whisker element and the object by quadratic approximation using curvatures of the object at preceding points of contact there between.
Further advantages and details of the present invention will become more readily apparent from the following detailed description taken with the following drawings.
a and 1b shows two types of whisker slip: (1a) lateral slip and (1b) longitudinal slip. Note that although here they are depicted independently, they can in general occur simultaneously.
a shows the relationship between deflection angle θ and tip angle γ for a cantilever beam with concentrated end load.
a shows results of the numerical elastica model (see Appendix) providing the relationship between θ and Mδ and
a is an enlarged view of the follicle.
a-8c and 8d-8f illustrate results of implementing the sweeping algorithm on smooth (8a) circular, (8b) hexagonal, and (8c) square objects, and rough (8d) circular, (8e) hexagonal, and (8f) square objects. A total of 12 whisks were performed at evenly-spaced (30°) intervals around the objects. Initial contact points are indicated by small white circles, and subsequent points computed by the sweeping algorithm are smaller black dots. Thin lines indicate the actual underlying shape profile. For the first whisk, the orientation of the whisker upon object contact is indicated by a dotted line, and subsequent whisker shapes are indicated in 10° increments by solid lines. These shapes were generated using the numerical model in the Appendix, part 2. This was done for illustrative proposes, and is not required by the sweeping algorithm.
a and 9b illustrate possible problems associated with concave object features.
a is a plot of predicted contact points using the curvature prediction method.
a illustrates the profile a test object with differing curvatures. The coordinate system shown is consistent with the orientation of the whisker array.
a, 17b, 17c illustrate prediction on different curvature scales with 1 cm whisker spacing. The spiral halves in length from
a is a plot of predicted contact points mapped onto the test object where spacing of contact points is small relative to object size.
An embodiment of the present invention is based on incrementally inferring the change in contact point location through continuous measurement of torque (i.e., bending moment) at the whisker base. Each whisker rotates or translates about its base, where the bending moment is measured. It can be convenient, but it is not necessary, to allow all whiskers to rotate or translate in unison, thus allowing for a simple array design that requires only a single motor for actuation. Copending application Ser. No. 11/906,751 filed Oct. 3, 2007, discloses a method for performing initial contact point measurement under such conditions or constraints. The present invention provides a method that extends the method of this copending application Ser. No. 11/906,751 and will allow continued estimation of contact point beyond initial contact with an object using only measurement of moment (torque) to iteratively infer successive contact point locations, thus providing the maximum amount of available shape information per whisk.
There are two distinct ways that a whisker can slip along an object. Lateral slip occurs when the object surface at the contact point is slanted relative to the plane of rotation and the angle of the friction cone is not large enough to prevent out-of-plane movement, as depicted in
It is important to understand that the above definitions of lateral and longitudinal slip describe the movement of the contact point along the object in Euclidean space. The contact point can also move along the whisker, even in the absence of lateral and/or longitudinal slip. For example, if a whisker rotates in a plane against a point object, the location of contact on the whisker will change, but the location of object contact will remain constant. This type of contact-point movement on the whisker we term axial slip. In the analyses that follow, we are concerned primarily with longitudinal slip, as it directly determines the regions of the object being sampled.
We model an artificial whisker sensor as a thin, straight, cylindrical, flexible beam or whisker W (e.g., spring steel or Nitinol wire) with a torque sensor at the base B, situated to measure the beam's bending moment at its axis of rotation, which is fixed. In addition, we assume that the environment contains only static, convex objects that are rigid relative to the whisker W, that the whisker bends only within its plane of rotation (no lateral slip), and that contact occurs at a discrete point along the whisker length, and not at the tip, although these restrictions can be lessened as described below.
The sensing process begins with the whisker W freely rotating in the air. When a small moment threshold Mthresh is exceeded, indicating initial object contact, the first step is to record the current absolute whisker base angle ψcontact (i.e., the encoder angle), and estimate the radial distance to the first contact point r0, using:
where E is the Young's modulus, I is the area moment of inertia, α0 is a small pushing angle (typically about 3°) beyond initial contact (where Mthresh is reached), and M0 is the moment sensed in the plane of rotation at the whisker base. This equation has shown to be able to reliably estimate radial distance with very high precision [6]. Calculation of the contact point location in Cartesian coordinates with respect to the base is useful:
Note that Eq. (2) assumes α0 is small, so that sin α0≈α0.
The basic premise of the algorithm is that given the current (iteration i, i≧0) estimated contact point location relative to the base (dx,j, dy,j) or (ri, θi) in polar coordinates), its new position after a small incremental rotation da can be inferred based on the new measured moment Mi+1. Throughout the derivation below, it is important to note that there are two angles of interest: θ, and α. Deflection angle θ is defined as the angle between the line tangent to the whisker base and the line that connects the whisker base to the current contact point, that is,
where the negative sign ensures that θ is a positive quantity. Rotation angle α is the total angle that the whisker has rotated since object contact. In general, θ and α differ slightly, as depicted in
The derivation begins by decomposing the translation of the contact point during a single iteration into two non-orthogonal components. The first component is a nominal deflection
The result of the
To find the direction and magnitude of
As stated earlier,
for small deflections (see Appendix, part 1). However, assumptions of linearity are violated for angles larger than about 10°, and hence we turn to a numerical elastica model to compute the relation between γ and θ for larger deflections.
The model considers a static cantilever beam divided into n nodes, with a concentrated load F at arc length sF=1 along the beam. Friction is assumed to be zero, and the force therefore acts perpendicular to the longitudinal axis at the force location. Starting at node 1 where the force is applied, the shape of the beam is iteratively computed node-by-node towards node n at the base using a version of the Euler-Bernoulli equation. Repeating this procedure for a range of forces provides a sequence of beam shapes for increasingly large deflections, with units automatically normalized by E, I and sF. The resulting table can be efficiently interpolated to generate the beam shape, curvature or moment at the base, and contact angle γ for various methods of query, including (dx, dy), (r, θ), and (sF, F, EI). Details can be found in Appendix, part 2.
Using the results of the numerical model,
The only remaining task is to formulate a method of estimating |dsi|—the magnitude of
Defining Mδ,i as the moment after deflection δi and dMi/ds as the rate of change of moment with respect to |dsi| (following along the beam towards the base) we can write
And, solving for |dsi|, we have
Finally, combining Eqs. (3), (4) and (8), we have
Because Mi+1 is measured by the torque sensor, there are only two remaining unknown variables needed to find the new contact point: Mδ,i and dMi/ds. Again, the numerical model provided in Appendix, part 2 is used, and the results are shown in
where θt is in units of radians and ri=√{square root over (dx,i2+dy,i2)}. Note that Eqs. (10) and (11) have the relevant normalization factors included, but also that bending stiffness EI may not be obtainable with high precision. In practice, it is not necessary to know EI, as the torque sensor is calibrated to units of curvature at the whisker base (e.g., from voltage), in which case EI effectively becomes unity. This is addressed further below.
At each step of the algorithm, the current contact point is computed with respect to the current local (x-y) reference frame. Therefore, conversion to coordinates in a global (X-Y) reference frame is necessary. This is straightforward using a rotation matrix:
where ψi=ψcontact+αi, and is the angle tangent to the whisker base in the global coordinate system.
Before testing the sweeping algorithm in hardware, it was numerically validated by simulating the rotation of a cantilever beam against circles of varying diameter and at varying distances. The beam shapes and moments at the base were computed using the numerical model in Appendix, part 2. Using α0=3° and dα=1°, the extracted contact points aligned nearly perfectly along the circles' perimeters. As expected, the smaller α0 and dα were scaled, the closer the alignment between contact points and surface.
For completeness, we note that in certain applications, the whisker may need to be linearly translated instead of rotated against the object. Modification of the algorithm for translation is straightforward, and is included in Appendix, part 3.
The algorithm was tested using aluminum bars AL with circular-, hexagonal- and square-shaped cross-sections. The robotic whisker used in these experiments has been used in previous research [3, 9]. Typical of robotic whisker designs, the whisker W consists of a straight, flexible wire to act as the vibrissa, attached to a torque sensor at the base (the “follicle”) B. The vibrissa is 0.5 mm in diameter and 5 cm in length, and composed of superelastic Nitinol (E≈80,000 MPa) to ensure retention of its original straight shape. The follicle B is a small aluminum block (4×4×8 mm) with a strain gage G attached to each of its four exposed faces. Although the follicle is capable of sensing both orthogonal components of moment, no lateral slip occurred in these experiments and hence only two of the four strain gages (on opposite sides of the block) were utilized. The follicle was attached to an aluminum bar P with a set screw S1, and the bar P was attached to an AC servomotor MM for actuation. The base of the vibrissa (and tip of the follicle) resides at the resulting axis of rotation, ensuring adherence to the sensing model. The centers of the test objects were placed 4 cm in front of the whisker base, as shown in
Before experimental data were taken, calibration trials were performed to convert the strain gage voltage output to curvature at the whisker base. Curvature and moment are linearly related by the bending stiffness EI (Eq. (A7)). In practice, it is more convenient to calibrate the follicle to curvature instead of moment since knowledge of E and I are not required. All experimental and calibration data were low-pass filtered at 800 Hz, sampled at 2000 Hz, and passed through a zero-phase digital filter with a cutoff frequency of 10 Hz.
The follicle was calibrated by rotating the whisker at a speed of 10 deg/s through an amplitude of 60° against a slender peg at a radial distance of 4 cm (starting out barely touching). Using Eq. (10) with EI set to 1 allows the true curvature to be inferred for all values of θ. Plotting curvature vs. voltage generates a calibration curve, which was stored as a cubic spline, to be used to convert the experimental data from voltage to curvature. The curve starts out linear, but levels off slightly as the curvature becomes large.
Each experimental trial occurred as follows. The whisker started at rest, placed at a radial distance of 4 cm and oriented −30° relative to the object's center. At a speed of 10 deg/s, the whisker was rotated against the object with an amplitude of 60°, immediately retracting back to −30°. The whisker was held stationary while the object was rotated about its center by 30°. This procedure was repeated an additional 11 times, resulting in the whisker contacting all or almost all of the objects' perimeters. Although in actuality we are keeping the location of the whisker base fixed in space and rotating the object between whisks, this is functionally equivalent to having the whisker base move around the fixed object between whisks, in a circular manner.
After filtering the data, Eqs. (1) and (2) were used to compute the initial contact point using α0=3°. Subsequent points were generated by iteratively applying Eqs. (9)-(11), with dα=1° using the CPU. This procedure gives the contact points within the local whisker reference frame (see
The sweeping algorithm assumes no friction between the whisker and the object, which influences Eqs. (5), (10) and (11). These equations were derived under the assumption that the direction of the contact force is normal to the whisker at the contact point, which is increasingly inaccurate for a rough object as θ becomes large. To test the effect of friction, the experiments were repeated with 120 grit (moderately rough) adhesive-backed sandpaper stuck to the objects. The bottom row (
Another important parameter is the whisking speed. The experiments described here used a slow speed (10 deg/s) to minimize inertial effects, but much faster speeds can be implemented in practice. The above experiments were repeated using a whisking speed of 90 deg/s with similar results for both smooth and rough surfaces (data not shown). Qualitatively, the only significant difference involved a greater dispersion of contact points at the edges of the smooth objects. Increasing the whisking speed significantly beyond about 90 deg/s should be done with caution, as inertial effects will increasingly generate torque signals at the base. Possible methods to mitigate inertial effects might include insuring smoothness of the actuation trajectory, e.g. by integrating some form of machine learning component with the algorithm.
To give a quantitative measure of contact point extraction accuracy, ideally we would have measured the distance from each estimated contact point to its actual contact point, but doing so would have required use of a high speed video camera and cumbersome image analysis. Instead, the error associated with each contact point was defined as the minimum distance from the point to the object surface. The error was also computed in a normalized form by dividing the absolute error by the initial contact distance r0 for each whisk. Table 1 presents these results for each of the four experimental conditions, each averaged over all three shapes. Consistent with
The sweeping algorithm presented has been shown to be highly accurate for three distinct 2D shapes. In all three cases, the entire profile shape was reliably extracted with only 12 whisks, clearly providing significant additional shape information beyond the initial contact point alone. In addition, visual inspection showed that the sequence of extracted points closely matched the actual movement of the whisker along the object. In several cases, the whisker remained in discrete contact with a corner during an entire whisk (zero longitudinal slip). As expected, the estimated contact points would remain in the same region, usually within a range of 2 mm from the first contact point for the smooth objects (but up to about 5 mm for rough objects). In other cases, significant slip along the object occurred, whereupon the estimated contact point would accurately align with the perimeter of the object.
The sweeping algorithm described here requires reasonable choices to be made for Mthresh, α0 and dα. Mthresh should be as close to zero as possible while ensuring it is not exceeded as a result of dynamic effects and sensor noise. A good rule-of-thumb is to make α0 as small as possible, while still ensuring a strong enough torque signal to allow accurate distance extraction when contact occurs near the whisker tip. The choice of dα is predicated on a tradeoff between accuracy and computational efficiency, as well as the desired number of extracted points. Efficiency will generally be a negligible issue, as each iteration involves only evaluating the algebraic Eqs. (9)-(12). However, decreasing dα below 1° typically has an insignificant effect on the accuracy of the algorithm. (In fact, reasonable accuracy can be obtained for dα as large as ˜5°) Therefore, in general practice, choice of dα is determined by the desired number of extracted contact points.
The assumptions inherent in the sweeping algorithm deserve careful consideration:
It is interesting to compare the sweeping algorithm developed here with that implemented by Scholz and Rahn [12]. Scholz and Rahn use a hub load cell and a nonlinear elastica model to numerically integrate the shape of the whisker at each time step. One advantage of this approach is that it does not lose accuracy when contact occurs at the tip. Another possible advantage is that active movement of the whisker is not explicitly required; in other words, the base angle, force and torque history over a given sweep are not needed to estimate a given contact point. However, there are two drawbacks to their method. The primary drawback is that it requires a sensor that can measure two components of force in addition to moment. These load-cell sensors are typically prohibitively bulky and expensive for use in an array of whiskers. In contrast, the parts to construct the torque sensor used in this study only cost about $20 (four strain gages, only two of which were used) [3]. The second drawback is that the technique involved numerically computing the shape of the whisker each time step, which can require significant computational resources to run in real time for multiple whiskers. In contrast, the algorithm presented here computes contact points by iteratively inferring position changes based on small successive changes in whisker angle α and sensed moment M. This makes it extremely efficient, involving only the evaluation of the algebraic Eqs. (9)-(12) on each iteration.
Although our method has been derived for cylindrically-shaped whiskers, it is not limited to this case. The sweeping algorithm could work for a whisker with geometrical characteristics, for example, in the case that the whisker is curved and/or tapered. Equation (1) would simply be replaced with the distance extraction equation for a curved, conical whisker [9]. However, γ, Mδ and dM/ds would now also depend on the arc length contact distance sF in addition to θ. As a result, Eqns. (5), (10) and (11) would become functions of two variables, θ and sF. These functions could be generated using the numerical method in Appendix, part 2 and stored in a look-up table (or any convenient function approximator, e.g. two-variable polynomial, radial basis function network, or multilayer perceptron). Equations (8) and (9) would also change in accordance with (5).
The invention provides an effective, efficient and easy-to-implement method for obtaining object profile shape information over a single whisk with a robotic whisker. Because force does not need to be measured, physical implementation of the algorithm requires only small, inexpensive torque sensors (e.g., but not limited to strain gages). This makes it easy to implement on a highly parallel array of robotic whiskers. The algorithm was shown to be robust to sensor noise, object friction and segmental contact.
Method Embodiment to Use Whiskers to Obtain Local Estimates of Object Curvature and the Force being Exerted on the Whiskers.
The present invention also envisions using whisker sensors to obtain local estimates of object curvature and the force being exerted on the whiskers. Two methods are described below to predict, based on current estimates of the local contour (curvature) of an object the contour (curvature) that will be obtained at the next sample. Comparison of predicted curvature with actual curvature yields information that facilitates known rat behaviors, and also provides a mechanism for edge detection. A method is provided for axial force measurements to decrease prediction error in equation 2 below.
The embodiments described above show that strain gauges can be used to accurately estimate radial distance during a rotational ‘sweep’ of a whisker against a stationary object. This present embodiment modifies the algorithm to find radial distance as an object moves by a stationary array of whiskers.
Radial distance is defined as the Euclidean distance between the base of a whisker and the point of object contact. The previously described method embodiments achieved object contact through whisker actuation and employed the algorithm described above. This embodiment provides another method embodiment for radial distance estimation and involves a similar technique but has been developed for use when object contact is achieved through linear actuation with one or more stationary whiskers W,
Once a whisker has been calibrated, the voltage recorded from that whisker is converted to moment at the base of the whisker. The radial distance r0 to the initial contact point is calculated using
where k=3EI, E is the elastic modulus of the whisker, I is the area moment of inertia, θ0 is a small pushing angle beyond initial contact (typically about 3°), and M0 is the moment at the whisker base.
The distance estimation algorithms are applied iteratively from this first point after either a small incremental rotation (dθ) or a small incremental linear movement (dL). The calculation of radial distance at the next time step (rn+1) requires several steps, but the main difference between algorithms is in finding the magnitude of the vector
where rn is the radial distance at the current time step, dθ is the incremental rotation, and θn is the angle between the whisker base at time t0 and the base at time tn. Conversely,
where dL is the incremental linear movement between time steps. For these definitions, it is important to note that the whiskers are fixed perpendicular to the direction of linear movement during linear actuation such that linear motion only occurs parallel to the y axis. A full explanation of the distance extraction algorithm is provided above.
Radial distance estimates can be used to calculate an estimate of object curvature κ by using the known velocity of the whisker or the object. With a known velocity, radial distance estimates at each time step can be translated into a point in an x-y coordinate system. For the purposes of this study, κ is approximated as
where x and y represent the estimated x and y coordinates of each contact point. Because data are discrete, the derivative is a discrete-time approximation.
Estimated curvature and radial distance were used to predict future contact points through the use of two different methods. The first method used one whisker at a time and required memory of a certain number of past contact points. The second method used multiple whiskers,
To calculate the spatial gradient of an object's surface from data gathered by a single whisker, memory must be used. Because data are discrete, the amount of memory required is quantized into a specific number of previous samples. In this study, the number of prior points used ranged between 5 and 20. The large scale spatial gradient uses one sample from each whisker, and does not require memory. To produce the several samples necessary to compute a gradient, 3 to 5 whiskers are used.
Prediction using Radial Distance
From the above-described algorithm, it can be seen that each radial distance can be translated into a single point in an x-y coordinate system. The discrete-time approximation of the derivative at each such point provides an estimate of the surface gradient. This estimate can be used to predict future contact points.
The first step in this process is to change the time derivative into a space derivative. This can easily be accomplished because the x-coordinate of this system is dependent on actuation, such that (for linear actuation)
where v is the object velocity in cm and fx is the sampling rate in Hz. The velocity and sampling rate are timing constants that give each xn a meaning in the time domain. Thus, the equation
where (xn,yn) is the current point, and (xn−1,yn−1) is the previous point can be used to approximate the time derivative.
Once the derivative has been calculated for each yn, it is straightforward to predict the next contact point. For N contact points, there will be (n−1) derivative measurements as seen in equation (6). The derivative between yn+1 and yn is found by averaging the discrete derivatives of the prior points:
This derivative is then used to calculate yn+1.
It is clear from equation (8) that using only differences in radial distance results in a linear approximation of the surface gradient. The constant change in x is then utilized to find the estimated future contact point.
Prediction using Curvature
The prediction method using radial distances that is outlined above finds the next contact point through linear approximation. When curvature is used instead, the next contact point can be found through a quadratic approximation.
To begin, the discrete derivative with respect to x is found as in the previous section. In equation (4), curvature is approximated as the second derivative of y with respect to x. The discretized version of this equation is
where κn is the curvature at yn,
is the derivative between yn and yn−1, and
is the derivative between yn−1 and yn−2. At this point, the derivative between yn+1 and yn is found:
From this equation, and yn+1 and xn+1 can be found using equations (8) and (9).
To test the accuracy of each prediction method, error was defined as:
E
dist=√{square root over ((xp−xact)2+(yp−yact)2)}{square root over ((xp−xact)2+(yp−yact)2)} (12)
where Edist is the distance error, (xp, yp) is the predicted coordinate, and (xact, yact) is the actual coordinate. All values are defined for each n. It is easy to see that distance error is just the Euclidean distance between the predicted coordinate and the actual coordinate. Prediction error was calculated by dividing distance error by the estimated contact distance at that time point:
The method of this embodiment using the modified algorithm is demonstrated in
Prediction of Future Contact Points with Constant Curvature
The first testing was conducted using the single whisker prediction method on a cylinder with a 2.5 cm diameter. Cylinders were chosen because they have constant curvature, and are therefore the simplest test objects. Radial distance calculations from each time step were used to predict future contact points.
In
It is likely a rat uses multiple whiskers to estimate the surface gradient at a single time point rather than using a single whisker with a memory of past time. For this technique to be viable, the chosen whiskers must all be touching the object at once. The spacing between adjacent whiskers that was chosen to illustrate the multiple whisker prediction algorithm is 1 cm. To ensure there were times when all five whiskers touched the test object concurrently, only the 10 cm diameter cylinder was used for these constant curvature trials.
Prediction of Future Contact Points with Variable Curvature
The results above show that the curvature prediction method embodiment is capable of accurately predicting future contact points for an object with constant curvature. In the world, however, such objects are rarely found. This section explores the effects of abrupt changes in curvature on the prediction method defined by Eqns 8-11.
To show the effect of abrupt changes in object curvature on prediction, a simple case was examined.
It can be seen from
To show the effect of gradual changes in object curvature, three cases were examined in simulation. A hyperbolic spiral was used as the test object because it can be translated past the whisker array in such a way as to have the curvature constantly decreasing. In these simulations, the multiple-whisker prediction algorithm was used, with whisker spacing set to 1 cm. The size of the spiral test object was decreased for each case, illustrating the affect of relative whisker spacing on prediction error.
To validate the simulation, two cases were tested using an object very similar to the simulated spiral.
Application of linear elasticity to small angle deflections of a cantilever beam shows that the deflected shape due to a concentrated end load F can be expressed as
and the slope is given by
Evaluating Eqs. (A1) and (A2) at x=dx, we have
and
We also know that tan
and tan
Using these equations along with Eqs. (A3) and (A4) gives us
and
For small angles, tan θ≈θ and tan γ≈γ, leading to
The problem of determining the shape of a cantilever beam subjected to a point load at the end is one of the oldest in the study of bending beams, having been investigated by Bernoulli and Euler in the 1700's. Precise solutions can be obtained through the use of elliptic functions [14], and recent methods allow the determination of all equilibrium shapes for given material and geometric properties and end load [15, 16]. Here, we are interested only in determining a small subset of possible equilibrium shapes, namely those that can be expected to arise during a whisker rotation of reasonable amplitude against on object. It is assumed that dynamic effects are negligible, allowing use of a standard elastic model of beam bending.
The Euler-Bernoulli beam equation can be written as:
where dκ represents change in curvature, and can vary with M, E and I along the length of the beam. Computation of the shape of a cantilever beam for an end load of arbitrary magnitude and direction can be accomplished by dividing the beam into n nodes and writing Eq. (A7) in the following form:
where φ is the tangent angle of the beam, s is the arc length coordinate,
In this application the beam is straight and has constant E and I; therefore Eq. (A8) is particularly straightforward to implement using a finite difference method. We assume that the friction between object and beam is negligible, making the force perpendicular to the beam's longitudinal axis at the contact point.
κi−1=xi·F (A9)
φi=φi−1−κi−1·ds (A10)
x
i+1
=x
i
−ds·cos φ
i (A11)
y
i+1
=y
i
−ds·sin φ
i. (A12)
Once the beam shape is computed, its base point is translated to the origin, and it is rotated about its base by angle −φn−1 to orient it as shown in
Repeating the above process for a succession of forces ranging from 0 to Fmax and storing the resulting beam shapes in a 2D matrix amounts to pre-solving for all equilibrium shapes up to some maximum value of θ, θmax (which depends on Fmax).
In general, one may wish to obtain the equilibrium shape, curvature or moment at the base, and contact angle γ based on various methods of query. In particular, (dx, dy), (r, θ), and (sF, F, EI), where sF is the actual location of the force, all independently provide sufficient information to reconstruct the entire shape of the beam by interpolating the look-up table and scaling the units to match those provided in the query.
The first modification involves the radial distance extraction component of the algorithm to reflect the translational movement of the whisker. Defining Δ0 as the pushing distance, the translational analog of Eq. (1) can be found by substituting α0=Δ0/r0 and solving for r0, yielding
again the task is to find expressions for
The longitudinal slip component
Although the invention has been described above with respect to certain embodiments, those skilled in the art will appreciate that modifications and changes can be made therein within the scope of the invention as set forth in the appended claims.
This application is a continuation-in-part of U.S. Ser. No. 11/906,751 filed Oct. 3, 2007, the disclosure of which are incorporated herein by reference.
This invention was made with government support under Grant IOB-0446391 awarded by the National Science Foundation. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
Parent | 11906751 | Oct 2007 | US |
Child | 12455389 | US |