VISUO-HAPTIC SENSOR
20170328795 · 2017-11-16
Assignee
Inventors
Cpc classification
G01L1/24
PHYSICS
International classification
G01L5/22
PHYSICS
G01L1/24
PHYSICS
G06T7/246
PHYSICS
Abstract
The present disclosure presents a visuo-haptic sensor, which is based on a passive, deformable element whose deformation is observed by a camera. In particular, the improved simplified sensor may determine the force and/or torque applied to a point of the sensor in multiple spatial dimensions.
Claims
1. An apparatus, comprising: a haptic element comprising at least one passive elastically deformable element deformable in multiple dimensions; at least one camera external to the haptic element and operable to capture images of the elastically deformable element; and a processor operable to determine a change of pose of the elastically deformable element by visual tracking and determine a measurement of force and torque applied to the elastically deformable element based on the captured images and the determined change of pose, wherein the measurement includes at least three components comprising forces and/or torques.
2. The apparatus of claim 1 wherein the measurement comprises a 6-axis force and/or torque vector comprising forces along all three spatial dimensions and torques along all three spatial dimensions.
3. The apparatus of claim 1, wherein the haptic element further comprises a rigid base element and a rigid front element coupled via the elastically deformable element; and wherein the processor is further operable to determine the change of pose of the rigid front element with respect to the base element.
4. The apparatus of claim 3, wherein the deformable element comprises a beam and/or a tool which is mounted to the front element.
5. The apparatus of claim 3, wherein the rigid base element and rigid front element comprise planar structures.
6. The apparatus of claim 1, wherein the change of pose is determined by observing at least two points on the haptic element.
7. The apparatus of claim 1, wherein the change of pose is determined by observing three or more points on the haptic element.
8. The apparatus of claim 1, further comprising a visual tracker to determine the change of pose.
9. The apparatus of claim 1, wherein the haptic element is mechanically attached to a movable robotic element and the movable robotic element is arranged in a field of view of the camera.
10. A method, comprising: providing a haptic element comprising at least one passive elastically deformable element deformable in multiple dimensions; capturing images of the elastically deformable element with at least one camera; determining a change of pose of the elastically deformable element by visual tracking; and determining a measurement of force applied to the elastically deformable element based on the captured images and the determined change of pose, wherein the measurement of force includes at least three dimensions including both force and torque components.
11. The method of claim 10, wherein the measurement comprises a 6-axis force and/or torque vector comprising forces along all three spatial dimensions and torques along all three spatial dimensions.
12. The method of claim 10, wherein the step of determining the change of pose comprises observing at least two points on the haptic element.
13. The method of claim 10, wherein the step of determining the change of pose comprises observing three or more points on the haptic element.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
DETAILED DESCRIPTION
Combined Detector and Tracker
[0048] A combined tracker/detector for templates on planar structures 80,81,82 is used to find and follow a texture with an image or video provided by a camera 4. It is based on scale-invariant feature transform (SIFT) for feature detection and visual template tracking such as efficient second-order minimization (ESM) for tracking and refinement. Thus, the exact 6D pose of objects can be determined in realtime, as long as a model of the templates, i.e., an image with scale information, is available. The scale is determined from the dpi (dots-per-inch) value of the image file. The system detects/tracks multiple arbitrary planar templates such as printed designs or natural photos, simultaneously. Each template model is initialized on startup, i.e. SIFT features are extracted, and the tracker performs pre-calculations. Many artificial objects can be tracked directly using their printed texture as a model. Also, it is straight-forward to create real objects from template models at the exact scale with a standard printer. These templates are easily attached anywhere on a robot or an object. They offer more flexibility, ease of use and a higher tracking quality than 3D models or the pre-defined markers from the open source computer tracking library ARtoolkit.
[0049] The system relies on a GPU implementation of SIFT to search for the template models in the image. This step is too slow for processing at a framerate of 30 Hz on mid-range GPUs and should be avoided, if possible. Tracking is performed with ESM, which is either initialized from SIFT or from the pose of the previous frame. The latter case is preferred, since it allows skipping SIFT detection. Poses from ESM are much more accurate and less noisy than from SIFT matches. Tracking is always done with the “original” model, such that there is no drift, even if performed over long periods of time. Processing is split in multiple threads, running at different rates. Thread A performs SIFT detection and matching, if there is currently any template whose pose is unknown. Matching provides an estimate of the homography. The ESM runs in thread B at framerate and tracks all templates, for which initial poses are available. If required, each tracker may run in a separate thread to reduce latency on multi-core CPUs.
[0050] The real-world poses of the templates with respect to the camera 4 is obtained by homography decomposition, given the camera parameters.
Modeling Deformation of Beams
[0051] The deformation of beams or rods under load is described by the Euler-Bernoulli beam theory for small deflections. Here, a force and/or moment 10 perpendicular to the beam is applied at its front element 7, see
[0052] The other end of the beam 32 is considered to be fixed (“clamped”). In principle, the beam can be made of elastic material such as spring steel or plastic. Yet, no plastic (i.e. permanent) deformations should occur within the relevant range of deformations. We use a beam 32 made of spring steel with a diameter of about 2 mm and a length of 10-20 cm.
[0053] The deflection curve w(x) in 2D describes the deformation of the beam 32 along the y-axis over the x-axis:
[0054] This is the commonly-used approximation for small deflection, which ignores the shortening of the deformed beam 32 along the x-axis. The values for the elastic modulus E and the second moment of area I are constants for uniform and homogeneous beams. For a circular cross section of the beam 32 with radius r,
There is no distributed load, such that q(x)=0. Quadruple integration of (1) yields four integration constants, which are used to fulfil the boundary conditions. Due to the clamping at x=0, w(0)=w′(0)=0. The derivatives of w have a distinct physical meaning—specifically the moment is M=−EIw″, and the shear force is Q=−EIw′. Therefore, when a force F 10 is applied perpendicular to the beam at its end, boundary conditions are:
[0055] The force 10 is applied at x=L, where L is the length of the beam 32. With four boundary conditions, a unique solution wF can be given for Eqn. (1). Similarly, for a moment or torque M applied at point x=L, a solution wM is determined using the boundary conditions:
[0056] Since the differential equation is linear, the two solutions can be superimposed. For a force and moment applied at ξ=1, with
and clamping at x=0, we obtain:
[0057] The deflection of the real beam is observed by a camera 4 at one or multiple points of the curve w. Extension of the discussed 2D case to 3D is straight-forward by separation along y and z, yielding deformation curves wy,wz, see
[0058] If multiple observations are available, we obtain an overdetermined system [w|.sub.ξ.sub.
Beam-Based 6D Force and/or Torque Sensor
[0059]
[0060] A photo based on this structure is shown in
[0061] Observations of the deflection curve of the beam w may be obtained in different ways: An edge tracker may be used to track the two contours along the beam and provide a dense sampling of w. This approach provides a high robustness to occlusion, due to the large number of tracked points. However, point tracking does not provide any reliable depth information, basically limiting force measurements to 1D. Simple features along the beam 32—such as colored spheres—would allow for easier detection, yet still with very limited depth resolution. A template tracker/detector, see the above background section describing a combined detector and tracker, on the other hand, provides a full 6D pose, including accurate depth values and the full rotation, which corresponds to the derivatives of w′.sub.Y,Z. Planar textured templates are attached along the beam 32 at a single fixture point via planar structures 80,81 respectively for this tracker. They may be integrated into the design of the robot case. The pose of the beam 32 at the fixture point and the template are related by a constant rigid transformation determined by the mounting structure. Only a low number of templates can be attached along the rod, resulting in a limited number of observations of w and w′. The acting force/moment 10 is calculated from these observations using (3) as outlined there.
[0062] As indicated in .sub.R on structure 80 on the base element 6 provides a local reference frame
.sub.R in which all sensor-related transformations are expressed.
[0063] Like that, the pose of the sensor may vary, and the camera 4 can move relative to the sensor. In principle, the reference frame may be fixed to the camera frame or calculated from a robot model. Yet, errors can be reduced significantly, if a reference frame is obtained within the image, close to where measurements are performed. Two templates .sub.A,B are attached along the beam 32, at fixed relative positions ξ.sub.1,2. Since the templates on 81,82 are not aligned perfectly, and the beam 32 might exhibit some plastic deformation, a zeroing procedure is performed at startup, with zero force/moment 10 applied to the sensor. The corresponding resting poses
.sub.A0,B0.sup.OO are expressed relative to the frame
.sub.R.
[0064] Measurements of the template poses are performed for each video frame and expressed relative to their (constant) resting poses, which in turn are based on the current (variable) reference frame .sub.R. Thus, the poses
.sub.A.sup.(A0),
.sub.B.sup.(B0) are zero as long as the beam 32 is not deformed—regardless of the current sensor orientation. Since the Y and Z components are processed separately, the respective translational components of
.sub.x.sup.(*0 correspond directly to samples of w.sub.Y,Z. The slope is obtained from the 3D rotation matrix R, projected to the respective 2D plane, such that w′.sub.Y=R.sub.1,0/R.sub.0,0 and w′.sub.Z=R.sub.2,0/R.sub.0,0. Finally, the compression and torsion of the spring 31 is obtained from the X-component of the translation and the respective rotation angle. Force and translation—respectively moment and torsion—are related by the spring 31 stiffness constant.
6D Force and/or Torque Sensor with Unconstrained Beam/Spring
[0065] Another embodiment of the 6D force and/or torque sensor based on two passive elastic elements 31,32 is built according to
[0066] As shown in
[0067] Templates or any other kind of visual feature that allows for visual 6D pose estimation are placed on planar structures 80,81,82 attached at or near 6, 38 and 7. The 6D poses (position and rotation) of these locations are known from the feature pose and the constant offset between the location and its respective feature. Accurate 6D poses can be obtained, for instance, with a combined tracker/detector, as described above. Placing the features close to the given locations ensures a high pose accuracy. Additional features may be placed anywhere along the flexible elements to improve the accuracy of pose estimation. A camera is placed such that it observes all these features with an image resolution sufficient for the desired force and/or torque resolution. It may be fixed to the base 6, as for camera 42, or fixed to another structure, as for camera 41. In the former case, if the connection between 42 and 6 is known, feature 83 may be omitted. Otherwise, 6 serves as a local reference frame, which the other poses are expressed in.
[0068] The deformations of 31 and 32 are determined individually from the pose change between 6 and 38, or 38 and 7, respectively. Applied forces and/or torques 10 in 6D are determined using a deformation model, as outlined above. Compression of the spring 31 along its major axis caused by F.sub.X, as well as torsion around this axis caused by T.sub.X may be modeled according to Hooke's law. Deformation caused by F.sub.Y,Z and T.sub.Y,Z is modeled by the beam theory, applied individually for both elastic elements 31 and 32. In that case, two measurements are available, which improves measurement accuracy or robustness to partial occlusions. Deformation models may also be calibrated/learned using a generic model by applying test forces and/or torques to the sensor.
6D Force and/or Torque Sensor with Unconstrained Spring
[0069] In another embodiment, see
6D Force and/or Torque Sensor Based on Disks Connected by Deformable Elements
[0070]
[0071] The two disks are made of a rigid material and serve as mounting plates. They can be of arbitrary shapes, whereby planar structures are most feasible. The disks are connected by one or several elastic elements 33, such as springs, rods of rubber or rubber foam. The elements should exhibit an elastic deformation behavior. The dimensions, arrangement and stiffness of these elements are chosen according to the required 6D sensitivity and measurement range of the sensor. There is a direct relationship between pose changes (in 6D) and a 6D force and/or torque 10 applied to 71, which is referred to as deformation model. This model can be obtained analytically, by simulation or by calibration. In the latter case, known force and/or torque values are applied, and the observed deformation is stored.
[0072] In case of a single beam-like deformable element, the relationship is expressed as discussed in the above background section describing modeling deformation of beams. The 6D poses of disks 61 and 71 are determined by at least one camera, such as cameras 41,42, based on features, templates or patterns on the disks 61,71. For instance, the pose of an arbitrary texture may be found as described in the above background section describing a combined detector and tracker. An even simpler approach is to find at least four uniquely identifiable features on each disk. If a depth camera is used, the poses can also be derived from the 3D surfaces or structure. A sufficient part of both disk must be observable for pose estimation.
[0073] In case of a camera position similar to camera 41, disk 71 could be made smaller, or it could be made partly transparent. In the latter case, parts of disk 61 that are seen through 71 are refracted. Displacements caused by refraction must be compensated. In case of camera arrangement according to camera 42, the inner surfaces of both disks 61,71 can be observed, except for parts that are occluded by the deformable elements 33. The pose of 71 is always expressed in the coordinate frame of 61, which allows both the cameras 41,42 and the entire sensor to move. A reference or zero pose is obtained when no external force 10 is applied to 71 or the tool 9. When an external force or torque 10 is applied, the pose of 71 changes from this reference pose. This change is converted to a force and/or torque based on the above-mentioned deformation model.
[0074] In preferred implementations, the sensor is built according to
Experiments with the Beam-Based Sensor
Measurement Precision
[0075] The accuracy of the beam-based sensor is analyzed in an experiment with the sensor depicted in
[0076] The obtained results are shown in
Robotic Manipulation
[0077] Opening a crown cap, as used on many beverage bottles, is a good example for a manipulation operation which relies on joint visuo-haptic perception. For this experiment, a standard bottle opener is mounted onto a beam-based sensor according to
[0078] Bottles are recognized and tracked using the texture on their crown caps with a template-based detector/tracker. As soon as the user selects the desired bottle, the robot scans for it within its working space. Once the object has been detected and localized, the arm moves the tool 9 above the object and rotates it as required for the uncapping operation. The accuracy of this rotation movement is limited by two factors: Since the wrist joint of the arm is relatively far from the tool 9, a large motion is required in the joint space. This goes along with a larger positioning error (which could, however, be compensated by visual servoing). Yet, the used 2D tracker has only a limited depth accuracy—the height of the crown cap cannot be determined exactly. The alignment of the tool 9 on the crown cap must be very accurate in all dimensions in order to perform the uncapping successfully.
[0079] This level of precision is impossible using pure vision, especially for the depth direction. The exact position of the opener is determined haptically, by measuring the forces or moments with the visuo-haptic sensor. Refinement is first performed along the z-axis (height), the x-axis and finally they-axis. Once the tool 9 is aligned, the arm rotates the tool 9 around its center point. If the crown cap has been removed successfully, the tracker/detector will no longer detect its texture on top of the bottle.