METHOD OF CALIBRATING A MOBILE MANIPULATOR
20200398433 ยท 2020-12-24
Inventors
Cpc classification
International classification
B25J13/08
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method is provided for calibrating a manipulator and an external sensor. The method includes generating a first cloud map using depth information collected using a depth sensor, and generating a second cloud map using contact information collected using a contact sensor, which is coupled to an end effector of the manipulator. Thereafter, the first cloud map and the second cloud map are aligned to recover extrinsic parameters using the iterative closest point algorithm. The depth sensor is stationary relative to a base frame of the manipulator, and the depth information corresponding to a rigid structure is collected by capturing depth information from multiple vantage points by navigating the manipulator. The contact information is collected by moving an end effector of the manipulator over the rigid structure.
Claims
1. A method of calibrating a manipulator and external sensor, the method comprising: generating a first cloud map using depth information; generating a second cloud map using contact information; and recovering extrinsic parameters by aligning the first cloud map and the second cloud map.
2. The method according to claim 1, wherein generating the first cloud map includes collecting the depth information.
3. The method according to claim 2, further comprising using one of a depth sensor or camera to collect the depth information.
4. The method according to claim 3, wherein the depth sensor is stationary relative to a base frame of the mobile manipulator.
5. The method according to claim 2, wherein collecting the depth information comprises collecting the depth information corresponding to a rigid structure.
6. The method according to claim 5, wherein generating the second cloud map comprises collecting the contact information by moving an end effector of the mobile manipulator over the rigid structure.
7. The method according to claim 5, wherein the depth information is collected from a plurality of vantage points.
8. The method according to claim 1, wherein aligning the first cloud map and the second cloud map comprises applying iterative closest point (ICP) algorithm.
9. The method according to claim 8, wherein recovering the extrinsic parameters further comprises accounting for kinematic model biases of the manipulator.
10. The method of claim 1, wherein the manipulator is mobile.
11. A system for calibrating a manipulator comprising: a processor and a computer readable medium; the computer readable medium including instructions which when executed by the processor: generates a first cloud map using depth information; generates a second cloud map using contact information; and recovers extrinsic parameters by aligning the first cloud map and the second cloud map.
12. The system according to claim 11, wherein the instructions include instructions for collecting the depth information.
13. The system according to claim 12, further comprising one of a depth sensor or camera to collect the depth information.
14. The system according to claim 13, wherein the depth sensor is stationary relative to a base frame of the mobile manipulator.
15. The system according to claim 11, the depth information corresponds to a rigid structure.
16. The system according to claim 15, further comprising moving an end effector of the manipulator over the rigid structure to generate the second cloud map to collect the contact information.
17. The system according to claim 15, wherein the depth information is collected from a plurality of vantage points.
18. The system according to claim 11, wherein aligning the first cloud map and the second cloud map comprises applying an iterative closest point (ICP) algorithm.
19. The system according to claim 18, further comprising accounting for kinematic model biases of the mobile manipulator when recovering the extrinsic parameters
20. The system of claim 11, wherein the manipulator is mobile.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Various embodiments of the present invention will now be discussed with reference to the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope.
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
DETAILED DESCRIPTION
[0039] The present disclosure relates to a method of automatic, in-situ calibration of a (an optionally mobile) manipulator end-effector to an externally-mounted depth sensor, using only the on-board hardware.
[0040] The following description illustrates principles, which may be applied in various ways to provide many different alternative embodiments. This description is not meant to limit the inventive concepts in the appended claims. The principles, structures, elements, techniques, and methods disclosed herein may be adapted for use in other situations where calibration of relative position and orientation of a sensor mounted on a system to an end-effector of the mobile system is desired, wherein the position of the sensor is unaffected by the movement of the end-effector. The system may be mobile or stationary.
[0041] While exemplary embodiments of the present technology have been shown and described in detail below, it will be clear to the person skilled in the art that changes, and modifications may be made without departing from its scope. As such, that which is set forth in the following description and accompanying drawings is offered by way of illustration only and not as a limitation. In addition, one of ordinary skill in the art will appreciate upon reading and understanding this disclosure that other variations for the technology described herein can be included within the scope of the present technology. The following detailed description includes references to the accompanying drawings, which form part of the detailed description. The drawings show illustrations in accordance with example embodiments. These example embodiments are described in enough details to enable those skilled in the art to practice the present subject matter. However, it may be apparent to one with ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. The embodiments can be combined, other embodiments can be utilized, or structural and logical changes can be made without departing from the scope of the invention. The following detailed description is, therefore, not to be taken as a limiting sense.
[0042] In this document, the terms a or an are used, as is common in patent documents, to include one or more than one. In this document, the term or is used to refer to a non-exclusive or, such that A or B includes A but not B, B but not A, and A and B, unless otherwise indicated.
[0043] Certain exemplary embodiments will now be described to provide an overall understanding of the principles of the structure, function, manufacture, and use of the devices and methods disclosed herein. One or more examples of these embodiments are illustrated in the accompanying drawings. Those skilled in the art will understand that the devices and methods specifically described herein and illustrated in the accompanying drawings are non-limiting exemplary embodiments and do not limit the scope of the claims.
[0044] A variety of exemplary embodiments will be disclosed herein. The features illustrated or described in connection with one exemplary embodiment may be combined with the features of other embodiments. Such modifications and variations are intended to be included within the scope of the present application.
[0045] In many cases, the methods and systems disclosed herein can be implemented using, amongst other things, software created as directed by the teachings herein and in accordance with an object oriented programming scheme. Principles of object-oriented programming and programming languages, (e.g., C++) are known in the art.
[0046] In an embodiment, a method is provided for automatic self-calibration of relative position and orientation of an external sensor mounted on a (mobile) robot manipulator to the base and end-effector of the robot manipulator.
[0047] Referring to the figures, and more specifically to
[0048] Now referring to
Extrinsic Calibration Using Depth And Contact
[0049] In an embodiment, the method of calibration includes a formulation of the problem in which calibration of the extrinsic transform is considered without kinematic model bias parameters. Referring to
[0050] In the instant approach, transform T.sub.C,RSE(3) is solved for, between the manipulator's base frame F.sub.R and the depth sensor's 104 frame F.sub.C. The set of constant transform parameters is:
=[x.sub.ey.sub.ez.sub.e.sub.e.sub.e.sub.e].sup.T,(1)
where is a vector of the three translation and three rotation parameters. Assumption is made as to availability of access to an intrinsically calibrated depth sensor 104 capable of generating a 3D point cloud map and that contact within the end effector's 106 frame can be detected and estimated as a 3D point measurement. That is, the 6 degree of freedom (DOF) frame F.sub.E is placed at a location on the gripper which can easily be isolated and estimated as a point of contact. A further assumption is made that the surfaces touched by the end effector 106 are rigid and that there is negligible deformation during contact.
[0051] The depth sensor 104 provides a point cloud map B in F.sub.C and the contact or force-torque sensor gives a second point cloud map A in F.sub.R,
A={a.sub.1,a.sub.2, . . . ,a.sub.n},B={b.sub.1,b.sub.2, . . . ,b.sub.n},(2)
where a.sub.1 and b.sub.1 are the 3D coordinates of points in the two clouds 204, 206, and a.sub.1 are the points in A in homogeneous form. An important aspect to consider is that F.sub.E is a moving frame which follows the end effector's 106 motion. In order to generate a consistent contact point cloud map 206, points in A all need to be represented in a fixed frame. The manipulator's base frame F.sub.R is chosen as the fixed frame. The transform T.sub.R,E between the manipulator's base frame and the end effector 106 is assumed to be known from the corresponding joint encoder readings .sub.i=[.sub.1,i, .sub.2,i, . . . , .sub.6,i] for each contact point a.sub.i and a kinematic model,
a.sub.i=T.sub.B,E(.sub.i,)[0001].sup.T.(3)
The Denavit-Hartenberg (DH) parametrization for forward kinematics is used,
T.sub.B,E(.sub.i,)=D.sub.0,1(.sub.1,i,.sub.1) . . . d.sub.k-1,k(.sub.k,i,.sub.k) . . . D.sub.K-1,K(.sub.K,i,.sub.K).(4)
where each D.sub.k-1,k is the respective DH matrix from manipulator joint frame k1 to k with parameters .sub.k=[a.sub.kr.sub.kd.sub.k], given as:
[0052] The transform between the depth sensor 104 and end effector 106 can then be represented as:
T.sub.C,E(,.sub.i,)=T.sub.C,B()T.sub.B,E(.sub.i,),(6)
Rigid ICP
[0053] ICP algorithm is used to align the two point clouds 204, 206, alternating between a data association step and an alignment error minimization step, based on the transform parameters. An example point-to-plane error metric is disclosed by Y. Chen and G. Medioni, in Object Modeling by Registration of Multiple Range Images, Proc. IEEE Int. Conf. Robotics and Automation, 1991, pp. 2724-2729, which is used in order to best leverage the surface information contained in the dense fused point cloud map 204. The error function to be minimized is, explicitly,
where T.sub.C,B is the rigid transform which is solved for, a.sub.i are the contact points as defined in equation (3), w.sub.i are the weighing factors for outlier removal, and b.sub.i are the depth sensor points with their respective surface normals n.sub.i, and w.sub.i are weights used for outlier removal. The matrix P is
P=[I.sub.30.sub.31](8)
where I.sub.3 is the 33 identity matrix. The point-to-plane metric constrains the direction of motion to the direction perpendicular to the local plane. From a practical design point of view, given that an idealized point estimate of the end effector's flat tip is used, the point-to-plane metric does not weight the uncertain planar direction of the EE's contact point.
Shape, Contact, and Observability
[0054] In the case of extrinsic calibration, the shape of the environment and the choice of which contact points to collect directly affect the accuracy and convergence of the solution. As shown by S. Rusinkiewicz and M. Levoy, in Efficient Variants of the ICP Algorithm, Proc. Int. Conf. on 3-D Digital Imaging and Modeling, 2001, pp. 145-152; and N. Gelfand, L. Ikemoto, S. Rusinkiewicz, and M. Levoy, Geometrically Stable Sampling for the ICP Algorithm, Proc. Int. Conf 3-D Digital Imaging and Modeling, 2003, pp. 260-267, different surface shapes may result in unconstrained or unobservable directions of motion during point cloud registration; depending on how points are sampled, more or less accurate convergence is achieved. Further, N. Gelfand, et al, in Geometrically Stable Sampling for the ICP Algorithm, Proc. Int. Conf 3-D Digital Imaging and Modeling, 2003, pp. 260-267, demonstrate that points sampled from three planar orthogonal surfaces are sufficient to constrain a rigid transform. A summary of more surface types and their unconstrained directions is disclosed by N. Gelfand, et al.
[0055] Based on the point-to-plane cost function, a principled measure of the stability of the solution is obtained based on the sampled contact points A, relative to the surface points in B, by examining the eigenvalues of the approximate Hessian of the cost function, as disclosed by S. Rusinkiewicz and M. Levoy. Given (7), the rotation is linearized and the cost function reformulated as a sum of squares as done by A. Censi, in An Accurate Closed-Form Estimate of ICP's Covariance, Proc. IEEE Int. Conf. Robotics and Automation, 2007, pp. 3167-3172; and S. Bonnabel, M. Barczyk, and F. Goulette, On the covariance of ICP-based scan-matching techniques, 2014. arXiv: 1410.7632 [cs.CV]:
where is an incremental (small angle) update to the cur-rent transform parameters, . The residuals ri and Jacobian matrices Ji are, respectively,
r.sub.i=n.sub.i.sup.T(PT.sub.C,B()a.sub.ib.sub.i),(10)
and
J.sub.i=[n.sub.i.sup.T(a.sub.i.sup.xn.sub.i).sup.T],(11)
where a.sup.x.sub.i represents the skew-symmetric matrix form of a.sub.i. In the vicinity of the true minimum, ={circumflex over ()}, solving Eq. (9) for the incremental update yields the following quadratic form,
J.sub.pn()=.sup.TQ,(12)
where J.sub.pn=J.sub.pn()J.sub.pn(), = and Q=.sub.iJ.sub.i.sup.TJ.sub.i.
[0056] Eq. (12) measures how the cost changes as moves away from the minimum {circumflex over ()}. If a change in results in little (no) change in J.sub.pn, then the solution is underconstrained in that direction. Further, a small eigenvalue of the approximate Hessian Q identifies an unobservable motion in the direction of the associated eigenvector. Thus, we choose our measure of stability or observability to be based on the condition number c of the matrix Q,
[0057] With the eigenvalues of Q, .sub.1>.sub.2> . . . . >.sub.6, the stability metric is then:
[0058] As c approaches 1, the motion of point cloud A relative to B becomes increasingly more constrained. Similarly, small eigenvalues represent unconstrained or unobservable relative motions, in the direction of the respective eigenvector, between the two surfaces being registered.
Manipulator Kinematic Model Bias Calibration Through Non-Rigid ICP
[0059] Rigid ICP is used to solve for a 6-DOF rigid-body transform. In order to account for kinematic model biases (e.g., joint angle biases), equation (8) must be modified to incorporate more than the six rigid transform parameters. A possible mathematical formulation of this modification is provided below.
[0060] The transform T of cost function (8) is modified to be non-rigid. Instead of solving only for T.sub.C,R using the ICP algorithm only, inventors solve for T.sub.C,R, as defined in equation (7), but with the added DH parameter biases incorporated in the forward kinematics transform T.sub.R,E. To simplify the problem, instead of solving for all DH parameter errors, inventors give the example of solving for joint angle biases only ():
.sub.i=T.sub.B,E(.sub.i+,)[0001].sup.T,(14)
[0061] The new cost function is:
[0062] where {tilde over ()}a.sub.i is the homogeneous form of a{circumflex over ()}.sub.i. Therefore, J{circumflex over ()}.sub.pn is a function of 6+K parameters: six parameters that define the extrinsic transform, , and an additional K that form the set of joint angle biases for a K-DOF (rotary joint) manipulator. To determine and , we use a standard nonlinear least squares solver (i.e., Levenberg-Marquardt).
[0063] In practice, there may be more or less than six joint angle biases, depending on the how many rotary joints are in the manipulator. The transform is no longer rigid, and each point in the contact point cloud will move as is modified at each iteration. The effects on a contact point cloud collected with one biased joint angle value are shown in
Experiments And Results
[0064] To validate the extrinsic calibration method, inventors performed multiple tests using a mobile manipulator 500 as shown in
[0065] After collecting three RGB-D point clouds 204 and three corresponding contact point clouds 206, inventors determined the extrinsic calibration between the arm end effector frame and the RGB-D frame by registering the two point clouds 204, 206. Finally, extrinsic calibration results are validated by performing an accuracy test, where the robot end effector is commanded to reach a position given in the RGB-D frame. These experiments, as well as the results, are described in greater detail below.
Object Selection for Point Clouds
[0066] Inventors demonstrated the self-calibration approach using two simple rectangular boxes (prisms). This particular shape is selected based on the following criteria:
[0067] 1) it is representative of readily available shapes in most environments,
[0068] 2) its shape is mappable to a high fidelity with most contact or tactile sensors,
[0069] 3) the surfaces of a rectangular prism fully constrain the ICP-based alignment.
[0070] Item one and two are practical requirements based on the resolution and type of contact or tactile sensor used. As contact and tactile sensors become more accurate and capable of higher resolution measurements, these requirements will be relaxed and more arbitrary and complex shapes will become more easily mappable.
RGB-D Point Cloud Acquisition
[0071] Inventors gathered a point cloud map of the environment using KINECTFUSION, as disclosed by R. A. Newcombe, S. Izadi, O. Hilliges, D. Molyneaux, D. Kim, A. J. Davison, P. Kohi, J. Shotton, S. Hodges, and A. Fitzgibbon, in KinectFusion: Real-Time Dense Surface Mapping and Tracking, Proc. IEEE Int. Symp. Mixed and Augmented Reality, 2011, pp. 127-136, taking advantage of the holonomic mobile base to generate a fused map 204 from multiple viewpoints. One of the point clouds used in the experiments is shown in
Contact Point Cloud Acquisition
[0072] To collect points for the contact cloud 206, a semi-automated procedure is used in which the user selected the x and y coordinates of the end effector (in the end effector frame), while the z position of the end effector (gripper) was controlled via a PID loop to maintain light surface contact. An example of the force readings and the resulting changes in height, the perpendicular distance from a particular surface, of the end effector are shown in
[0073] The z-direction force reading was used as a threshold for selecting points to add to the contact cloud. For experiments, set the minimum force threshold to 3 N (i.e., against the gripper) and the maximum force threshold to 15 N. The thresholds were chosen to ensure that points are only collected when there was sufficient contact and also a low risk of object deformation. The set point for the impedance controller was 4 N. Although intuition would suggest using an impedance value exactly in between the threshold values, the impedance set point was reduced to make certain that the surface was not damaged or altered by contact.
[0074] One of the contact point clouds is shown in
Point Cloud Registration Procedure
[0075] Inventors made use of the ICP implementation available in libpointmatcher, as disclosed by F. Pomerleau, F. Colas, and R. Siegwart, in A Review of Point Cloud Registration Algorithms for Mobile Robotics, Foundations and Trends in Robotics, vol. 4, no. 1, pp. 1-104, 2015, for rigid registration. An initial guess for the transform parameters is required; inventors determined this through rough hand measurement of the position and orientation of the KINECT relative to the manipulator base. An example of the initial and final alignment of the point clouds is shown in
TABLE-US-00001 TABLE I Extrinsic calibration results of the three separate trials. Extrinsic Calibration Results x[mm] y[mm] z[mm] [deg] [deg] [deg] Initial Guess 800 300 600 125 0 0 Trial 1 839.4 257.3 676.6 119.07 1.00 16.23 Trial 2 834.6 259.0 691.6 120.18 1.27 15.62 Trial 3 836.3 254.0 695 120.44 1.38 14.94 () 836.77 (1.99) 256.77 (2.08) 687.73 (7.99) 119.90 (0.59) 1.22 (0.16) 15.60 (0.53)
Task-Based Validation Results and Analysis
[0076] Inventors validated the estimate of the extrinsic calibration parameters with a task-based experiment using a VICON motion capture system and ARTags. Inventors placed a board with nine ARTags in five separate poses with significant translational and rotational variation, as shown in
[0077] The results in Table II show that the gripper position had a normalized average translational error of 13.97 mm. Inventors argue that for many standard manipulator tasks, such as pick and place, this amount of error would not prevent a task from being completed. As well, it appears that there is a systematic error in the z direction that could likely be improved with a better calibration between the KINECTFUSION frame and ARTag frame.
TABLE-US-00002 TABLE II Position error for our task-based validation procedure. Each plotted position is an average over three trials. The mean is calculated as the average of the absolute error. Position Error Results x[mm] y[mm] z[mm] Position 1 -6.91 3.66 12.66 Position 2 -4.51 -8.04 11.64 Position 3 -11.93 0.73 12.40 Position 4 6.01 -5.81 7.76 Position 5 6.73 3.38 11.28 (absolute) 7.22 4.33 11.15 7.34 4.82 1.77
[0078] Although inventors did attempt to implement the non-rigid ICP solution proposed previously, with simulated joint angle biases on one of the datasets, inventors found that the resulting approximate Hessian from equation (13) had a very small determinant making the problem unsolvable for that specific dataset. Inventors suspect that the intuitive explanation was due to the lack of variety in joint configurations while collecting data, making it impossible to determine if a joint angle bias or an extrinsic camera error was causing the final error. In the future, this could be remedied by attempting to collect points with more variation in the arm configuration, as detailed by M. R. Driels and U. S. Pathre, Significance of Observation Strategy on the Design of Robot Calibration Experiments, J. Robot. Syst., vol. 7, no. 2, pp. 197-223, 1990, possibly by adding an attachment that would allow us to collect points while relaxing the constraint of F.sub.E being perpendicular to the contact surface, as shown in
Effects of Surface Variation and Point Cloud Sparsification
[0079] A study of the effects of varying the surfaces sampled to obtain the contact cloud, as well as the number of contact points collected during the calibration procedure was conducted. From a practical point of view, calibrating using simple shapes and fewer contact points potentially increases both the flexibility and speed of the process.
[0080] The original contact point converged with a stability measure of c=5.02976, where a bigger c value implies a less stable convergence. First, the effect of not sampling certain planes was studied, shown in
[0081] On the other hand, downsampling from 65,000 contact points to 500 contact points, as visualized in
[0082]
[0083] It shall be noted that the processes described above are described as sequence of steps; this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, or some steps may be performed simultaneously.
[0084] In view of the foregoing, one will appreciate the fact that an improved method is provided for performing extrinsic self-calibration between a manipulator and a fixed depth (or other type of) camera by leveraging contact as a previously unused sensor modality for this application. The method uses on-board sensors that are readily available on most standard manipulators and does not rely on any fiducial markers, or bulky and costly external measurement devices. Possible future work includes using sparse point cloud registration, as discussed by R. A. Srivatsan, P. Vagdargi, N. Zevallos, and H. Choset, in Multimodal Registration Using Stereo Imaging and Contact Sensing, to reduce the amount of contact points needed for convergence, implementing the non-rigid calibration for the DH kinematic parameters using a data set with more variety in manipulator configuration, as well as exploring the use of higher fidelity contact or tactile sensors allowing interaction with more complex shapes.