0.3 0.2 Object centroid Array 3 0 (x0.y0.2o) Array 2 0 (Target) Tag array center 0.1 nu间 (xe.ye,Ze) 0.2 (xc,ye) Array 1 0.3 0.8 1 1.2 1.4 X 0 一X (a)Layout for the three tag arrays (b)Localization results (a)The relative locations of the target (b)Projections of the object onto tag array and the object the X-Y plane Fig.9.Distinguishing the three tag arrays Fig.10.Localization for the centroid of the object where n is the number of tags in the target tag array. where represents the ith tag's angle of arrival atj.The 2)Target tag array localization:After we choose the target linear relationship of x and cot can be used to find a fitting tag array and obtain its Z-coordinate zc,we focus on its line for P.Let the location of the ith tag be (i,)then, localization in the X-Y plane and estimate the rotation angle the line can be calculated according to Eg.4 as: of the object.The antenna is adjusted to be at the same cot8,=-1e-) height with the target tag array according to zc,and then we move the antenna along the X axis to compute the X and Y Since the coordinate of all the tags can be expressed with coordinates of each tag in the target tag array using AoA-based the tag array's center (re,yc)and rotation angle a,we aims localization.The result is denoted as {(1,),...,(n,Un)}, to find n fitting lines which can all be expressed with c, where (,is the coordinates of the ith tag.To calibrate and a to best fit n tags'point set P,P2,...,Pn.So, the location of each tag,we should consider all the tags in the coordinates of the target tag array's center (re,ye)and the tag array as a whole,then the coordinates of each tag can the object's rotation angle a can be calculated by solving the be expressed based on the location of the tag array's center following optimization problem: (e,ye)and rotation angle a of the object according to Eq.5. That is to say,the locations of all the tags are related to (e,ve) and a.Thus,the basic idea of our approach is to compute arg min (8) a.Te.ue 1 the optimal solution of(e,ye)and o while referring to the fixed layout of the tag array with the AoA localization result Subject to: {(t1,1),…,(在n,n)}. Before the optimization process,since a is in the range B={(色a,ot(a)),…,(,cot(a)} [0,2m,we can classify a into a limited range based on the ri=xc+Pi·d cos B position of each tag in the tag array.As mentioned before,a yhi=yc+qi·dsin B can be divided into four cases and each case corresponds to a B=f(a) unique relative position relationship of the tags in the X and Y axes.Thus,we can judge the case where a belongs to by In practice,the search space of xe and ye can be reduced when comparing the X and Y coordinates of the 1st tag and the nth referring to{(t1,),…,(在n,n)}. tag in the tag array.For example,as shown in Fig.5,if1<n 3)Object Localization:Notice that we finally aim to locate and<yn,we can then infer that0≤a<π/2,belonging the object,then the centroid of the object can be regarded to case 1.Once the case that a belongs to is determined,the as our localization target.As shown in Fig.10(a),the sizes search range for the optimization process is reduced and the l1,12,and l3 of the object can be easily approximated, coordinate of the ith tag (i,y)can be expressed as a function therefore,it is not difficult to infer the position of the object's of c,ye and o according to Eq.5 as: centroid (o,y,2)from the coordinate of the target tag array's center (e,ye,zc)and the object's rotation angle a. xi=xe+pi·dcos B The Z-coordinates of the object's centroid and the target tag h=c+qi·dsin B array are equal,so,for localization in the X-Y plane,we can B=f(a) refer to(e,ye)and a.For example,as illustrated in Fig.10(b), the 3D coordinates of the object's centroid (o,,2)can be where lpil and gil can be previously determined by the tag expressed as: number n of the tag array,and d is the distance between two To =Ic +12/2.sina adjacent tags. yo ye +12/2.cos a (9) Next,we will discuss how to find the optimal solution of Zo Ze e.ye and a based on the AoA localization results of each tag (1,),...,(n,Un)}.Recall that the coordinate (of V.PERFORMANCE EVALUATION the ith tag is computed from the point set A.Implementation Hardware:3DLoc consists of a Impinj Speedway R420 B={(在1,cot(a)…,(色kcot(ak)} reader,a Laird S9028 RFID antenna,a motion controller,paperArray 1 Array 2 (Target) Array 3 α X Z Y O (a) Layout for the three tag arrays 0.8 1 1.2 1.4 1.6 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 d z Z (b) Localization results Fig. 9. Distinguishing the three tag arrays where n is the number of tags in the target tag array. 2) Target tag array localization: After we choose the target tag array and obtain its Z-coordinate zc, we focus on its localization in the X-Y plane and estimate the rotation angle of the object. The antenna is adjusted to be at the same height with the target tag array according to zc, and then we move the antenna along the X axis to compute the X and Y coordinates of each tag in the target tag array using AoA-based localization. The result is denoted as {(xb1, yb1), · · · ,(xbn, ybn)}, where (xbi , ybi) is the coordinates of the i th tag. To calibrate the location of each tag, we should consider all the tags in the tag array as a whole, then the coordinates of each tag can be expressed based on the location of the tag array’s center (xc, yc) and rotation angle α of the object according to Eq.5. That is to say, the locations of all the tags are related to (xc, yc) and α . Thus, the basic idea of our approach is to compute the optimal solution of (xc, yc) and α while referring to the fixed layout of the tag array with the AoA localization result {(xb1, yb1), · · · ,(xbn, ybn)}. Before the optimization process, since α is in the range [0, 2π], we can classify α into a limited range based on the position of each tag in the tag array. As mentioned before, α can be divided into four cases and each case corresponds to a unique relative position relationship of the tags in the X and Y axes. Thus, we can judge the case where α belongs to by comparing the X and Y coordinates of the 1 st tag and the n th tag in the tag array. For example, as shown in Fig.5, if xb1 < xbn and yb1 < ybn, we can then infer that 0 ≤ α < π/2, belonging to case 1. Once the case that α belongs to is determined, the search range for the optimization process is reduced and the coordinate of the i th tag (xi , yi) can be expressed as a function of xc, yc and α according to Eq.5 as: xi = xc + pi · d cos β yi = yc + qi · d sin β β = f (α) where |pi | and |qi | can be previously determined by the tag number n of the tag array, and d is the distance between two adjacent tags. Next, we will discuss how to find the optimal solution of xc, yc and α based on the AoA localization results of each tag {(xb1, yb1), · · · ,(xbn, ybn)}. Recall that the coordinate (xbi , ybi) of the i th tag is computed from the point set Pi = {(x˜i,1, cot ( ˜θi,1 )) , · · · , ( x˜i,ki , cot ( ˜θi,ki ))} ߙ ݈ଵ ݈ଶ ݈ଷ Object centroid ሺݔǡ ݕǡ ݖሻ Tag array center ݔሺ ݕ ǡ ǡ ݖሻ X Y Z O (a) The relative locations of the target tag array and the object X Y ሺݔǡ ݕሻ ݔሺ ǡ ݕሻ ݈ଵ ݈ଶ ߙ ݈ଶ ʹ O (b) Projections of the object onto the X-Y plane Fig. 10. Localization for the centroid of the object where ˜θi,j represents the i th tag’s angle of arrival at x˜i,j . The linear relationship of x and cot θ can be used to find a fitting line for Pi . Let the location of the i th tag be (xi , yi), then, the line can be calculated according to Eq.4 as: cot θi = − 1 yi (x − xi) Since the coordinate of all the tags can be expressed with the tag array’s center (xc, yc) and rotation angle α, we aims to find n fitting lines which can all be expressed with xc, yc and α to best fit n tags’ point set P1, P2, · · · , Pn. So, the coordinates of the target tag array’s center (xc, yc) and the object’s rotation angle α can be calculated by solving the following optimization problem: arg min α,xc,yc ∑n i=1 ∑ ki j=1 − 1 yi (˜xi,j − xi) − cot ( ˜θi,j) 2 (8) Subject to: Pi = {(x˜i,1, cot ( ˜θi,1 )) , · · · , ( x˜i,ki , cot ( ˜θi,ki ))} xi = xc + pi · d cos β yi = yc + qi · d sin β β = f (α) In practice, the search space of xc and yc can be reduced when referring to {(xb1, yb1), · · · ,(xbn, ybn)}. 3) Object Localization: Notice that we finally aim to locate the object, then the centroid of the object can be regarded as our localization target. As shown in Fig.10(a), the sizes l1, l2, and l3 of the object can be easily approximated, therefore, it is not difficult to infer the position of the object’s centroid (xo, yo, zo) from the coordinate of the target tag array’s center (xc, yc, zc) and the object’s rotation angle α. The Z-coordinates of the object’s centroid and the target tag array are equal, so, for localization in the X-Y plane, we can refer to (xc, yc) and α. For example, as illustrated in Fig.10(b), the 3D coordinates of the object’s centroid (xo, yo, zo) can be expressed as: xo = xc + l2/2 · sin α yo = yc + l2/2 · cos α zo = zc (9) V. PERFORMANCE EVALUATION A. Implementation Hardware: 3DLoc consists of a Impinj Speedway R420 reader, a Laird S9028 RFID antenna, a motion controller, paper