Patent Publication Number: US-9846023-B1

Title: Electromagnetic monitoring and control of a plurality of nanosatellites

Description:
SOURCE OF THE INVENTION 
     The invention described herein was made by an employee of the United States Government and may be manufactured and used by or for the Government of the United States of America for governmental purposes without the payment of any royalties thereon or therefore. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to characterization and control of one or more nanosatellites by a designated control nanosatellite, using magnetic field measurements. 
     BACKGROUND OF THE INVENTION 
     Ideally, monitoring and controlling one or more of a plurality of nanosatellites relative to a reference body or reference position would allow (i) control of relative motion of each of the nanosatellites, (ii) power or energy transfer between two or more of the nanosatellites, and (iii) data communication between two or more of the nanosatellites. However, this monitoring of position requires reasonably accurate specification of vector coordinates of the nanosatellites that interact with each other. At first impression, the number of independent equations appears to be less than the number of independent variables, such as location coordinates, which presents a problem for a complete specification. This problem can be resolved in some configurations and may be extendable to other geometric configurations as well. 
     Electromagnetic controller satellite formation has been studied for large satellites and has been studied and constructed for small satellites. The operating distances for previous applications requires significant electrical power. For example, an implementation of single access control for a large satellite requires more than 300 Watts. A typical nanosatellite operates on 2.5-10 Watts of power, which makes a large satellite impractical for nanosatellite use. 
     Design of three-axis control in the prior art uses a configuration that generates a single magnetic dipole that can be oriented in any direction. When two satellites in such a system are pushing or pulling in unison, the dipoles are aligned, which does not allow relative orientation of the two satellites without use of some reaction device, such as mechanical reaction wheels. 
     For efficient control, at least one of a plurality of satellites requires information on relative location and relative orientation of each of the other satellites. Satellite systems in the prior art resolve this requirement by assuming that each satellite knows its own location and orientation and frequently transmits this information to a reference satellite. This is a costly process for accurate detection in a nanosatellite system. GPS or a similar process can only be used once or twice per day, because of the large associated power consumption. Each participating satellite in such a system must use a radio device to transfer this information to the reference satellite. Because of the fast response of a control system, the increasing “staleness” of the information, and the time required to transfer this information, operation may tend to destabilize the control system. For example, a satellite system recently tested on the I.S.S. required that the control system processing rate be reduced by a factor of about ten, in order to deal with this latency and avoid destabilization. The smallest electromagnet presently available measures 77 cm by 13 cm, but the smallest nanosatellite has dimensions of about 10×10 by 10 cm. 
     What is needed is a nanosatellite control system that avoids or minimizes the impact of these limitations: (1) large power consumption; (2) use of additional reaction wheel to manage single dipole limitation; (3) each satellite has knowledge of its location and orientation information; and (4) sensing device for each satellite determining its own location and orientation. 
     SUMMARY OF THE INVENTION 
     A reference nanosatellite establishes a Cartesian or other three dimensional coordinate system (x,y,z) for an array of two or more nanosatellites, including the reference. One, two, three or more perpendicularly oriented solenoids associated with each nanosatellite allow three dimensional control of the magnetic moment μ associated with a magnetic moment source. 
     In lowest order or degree of d, a magnetic field vector B(d) produced by a magnetic moment vector μ (assumed to be known and controllable) is a linear vector relationship between B(d) and m, and this relationship is homogeneous (of degree −3) in the scalar magnitude (d=|d|) of the distance vector d. The vector d extends between two nanosatellites and is expressed as a scalar d, multiplied by a unit length vector α=(αx, αy, αz), whose components are direction cosines of the vector d, referenced to the (x,y,z) Cartesian coordinated system. A magnetic moment μ associated with a given nanosatellite is controlled by increasing or decreasing the current I moving through one or more of the solenoids on the nanosatellite. 
     The vector components of α are expressed as a linear sum of perpendicular components, μ, B(d) perp  and μ×B(d) perp , where
 
 B ( d ) perp   =B ( d )−( B ·μ)μ/|μ| 2   (1)
 
is an augmented component of B(d), orthogonal to the magnetic moment vector μ. The distance vector d is expressed as a linear combination of the vector components μ, B(d) perp  and μ×B(d) perp , with linear combination coefficients that are determined from the original magnetic field flux equation,
 
 B ( d )=(μ0/4π d   3 ){μ−(μ· d ) d/d   2 }=(μ0/4π d   3 ){μ−(μ·α)α},  (2)
 
where μ is magnetic permeability of a vacuum and α=d/|d| is not yet known.
 
     The scalar distance d=|d| and the directional vector α=d/|d| are estimated. All relevant components of the local electromagnetic field force vector(s) F and local torque τ are thus determined, for each of one, two, three or more magnetic moment sources associated with a nanosatellite and for time-dependent sets of measurements. As these measurements are continued for a sequence of time intervals, the corresponding sequences of distance vectors d (computed) and magnetic vectors μ (measured and controlled for each magnetic field source) are available to compute torque vectors τ12 and force vectors F12, which act to move two or more interacting magnetic moment sources, μ1 and μ2, from initial locations and orientations to subsequent locations and orientations. 
     In one embodiment, it is assumed that vector orientation of each magnetic moment μ for a nanosatellite is known and that an associated magnetic field strength vector B can be measured at any point corresponding to location of another nanosatellite in the system. In other embodiments, the vector orientation of each magnetic moment in is not initially known but is estimated using measurements of a magnetic field strength vectors, B1 and B2, for activation of each of two or more solenoids associated with each nanosatellites. In each of these situations, a distance vector d=dα (angular orientation a and scalar distance d) and orientation of corresponding solenoids relative to the distance vector d are estimated, using a second system of orthogonal coordinates corresponding to the vectors B1, B2 perp =B2−(B1·B2)B1/|B1| 2 , and B1×B2 perp . This provides vector separation information for each nanosatellite in the system, which is assumed to have a system diameter no greater than about 4 meters. 
     In one embodiment of an alignment and control system, force-induced and torque-induced motions in a plane of each of one, two, three or more solenoids of rectangular shape, each lying in the same plane, are computed at a selected sample rate, such as about 10 Hz, and the motion of each of the solenoids is visually displayed for each sampling time. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  schematically illustrates use of a single known normalized magnetic dipole moment vector μ^ and corresponding magnetic field strength vector B to estimate a distance vector d extending between first and second nanosatellites, relative to a coordinate system determined by μ and B, and use of this information to estimate electromagnetic forces and torques on a given nanosatellite, according to a first embodiment. 
         FIGS. 2, 4 and 6  are flow charts of different procedures for estimating distance vectors d and angular orientations of non-reference nanosatellites relative to a reference nanosatellite. 
         FIG. 3  graphically illustrates variation of a length squared L(ψ−ψ0) 2 =|μ^−(μ^·α)α| 2 ) as a function of an angle ψ−ψ0 between the normalized distance vector α and the normalized magnetic moment vector μ^. 
         FIG. 5  illustrates orientation of α for one embodiment. 
         FIG. 7  illustrates two solenoid cubes (i=1 and k=2) confined to a plane P(x,y). 
         FIG. 8  is a general flow chart for practicing the invention. 
     
    
    
     DESCRIPTION OF THE INVENTION 
     One challenge in monitoring and controlling one or more nanosatellites, using electromagnetic forces and torques, is determination of all relevant components of the three dimensional distance vectors that naturally arise in description of the physical parameters and resulting forces in such an environment. Beginning with the expression in Eq. (2) for a magnetic field flux that is generated by presence of a known magnetic moment μ, one is first confronted with estimation of the distance vector d (with source at a center of the magnetic moment source or associated solenoid(s)) at the point of measurement of the magnetic field B(d). Equation (2) is analyzed to estimate the vector components of d, using the known magnetic moment vector μ and the measurable field vector B(d). Equation (2) is rewritten as
 
 B ′( d )=(4π/μ0) B ( d )={μ−(μ· d ) d/d   2   }/d   3 ={μ−(μ·α)α}/ d   3 .  (3)
 
 d=dα,   (4)
 
where α is a normalized vector (|α|=1) whose direction is parallel to the (unknown) direction of d. The normalized distance vector α is re-expressed as a sum of components,
 
α=α n 1^+ bn 2^+ cn 3^,  (5)
 
where n1^, n2^ and n3^ are mutually perpendicular vectors, each of unit length, and a, b and c are to be estimated. Note that both the scalar value d and the vector α are initially unknown. One suitable set of choices for the vectors n1^, n2^ and n3^ is
 
 n 1^=μ^=μ/|μ,  (6A)
 
 n 2^={ B ′−( B ′·μ^)μ^}/| B ′−( B ′·μ^)μ^|,  (6B)
 
 n 3^= n 1^× n 2,  (6C)
 
( n 1^) 2 =( n 2^) 2 =( n 3^) 2 =1.  (6D)
 
     Using the decompositions set forth in Eqs. (4), (5) and (6), Eq. (3) can be rewritten 
                               B   ′     ⁡     (   d   )       /   μ     =       ⁢       {       B   ′     -       (       B   ′     ·     μ   ⋀       )     ⁢     μ   ⋀       +       (       B   ′     ·     μ   ⋀       )     ⁢     μ   ⋀         }     /   μ                   =       ⁢       {       μ   ⋀     -       (       μ   ⋀     ·   α     )     ⁢   α       }     ⁢     d   3         ,               =       ⁢     {         μ   ⋀     -     a   ⁢       {       a   ⁢           ⁢     μ   ⋀       +     b   ⁢           ⁢   n   ⁢           ⁢     2   ⋀       +     c   ⁢           ⁢   n   ⁢           ⁢     3   ⋀         }     /     d   3           ,                   =       ⁢     {         (     1   -       (   a   )     2       )     ⁢     μ   ⋀       -       (   ab   )     ⁢       {       B   ′     -       (       μ   ⋀     ·     B   ′       )     ⁢     μ   ⋀         }     /                               ⁢            B   ′     -       (       μ   ⋀     ·     B   ′       )     ⁢     μ   ⋀              }     ⁢     (     1   /     d   3       )       ,                 (   7   )               
where the term involving the vector n3^ is dropped here because this vector only appears in one term in Eq. (7) (equivalent to c=0). Equation (7) can be rewritten by collecting all coefficients involving the vector μ^ and all coefficients involving the perpendicular vector B′−(B′·μ^)μ^ in Eq. (7),
 
(1/μ){ B ′−(( B ′·μ^)μ^+( B ′·μ^)μ^}={(1− a   2 )μ^− ab{B ′−( B ′·μ^)μ^}/|( B′−B ′·μ^)μ^|}(1/ d   3 ).  (8)
 
Separately collecting all coefficients of each of the two vectors μ^ and B′−(B′·μ^)μ^ yields the relations
 
(1− a   2 )/ d   3 =( B ′·μ^)/μ,  (9)
 
 b =(− d   3   /a μ)| B ′−(( B ′·μ^)μ^|,  (10)
 
1− a   2   −b   2 =( B ′·μ^) d   3 /μ,−(1/ a   2 )|( B′−B ′·μ^)μ^| 2   d   6 /μ 2 ,   (11)
 
 a   2   ={B′   2 −( B ′·μ^) 2   μ^}d   3 //μ( B ′·μ^)  (12)
 
 d   3 ( B ′) 2 /( B ′·μ)=μ,  (13)
 
     Equations (7) and (9)-(13) determine the quantities d and a, and the distance vector d. The vector quantities B′(d) and B(d) are measurable for any selected distance vector d. 
     One suitable procedure is the following, illustrated in a flow chart in  FIG. 2 . In step  21 , a first magnetic moment μ1, associated with the reference and controllable by the associated solenoid current, is selected. In step  22 , a magnetic field, B′(d) or B(d), whose source is the magnetic moment μ1, is measured at a selected distance vector d=d12 (not yet estimated), which extends from a center of the reference to a center of a second (non-reference) nanosatellite. In step  23  (optional), the distance vector d12=dα is estimated for a location of the center of the second nanosatellite or associated solenoid relative to the center of the reference. Steps  22  and  23  can be repeated to estimate a distance vector d for location of the center of each non-reference nanosatellite solenoid. 
     Electromagnetic forces, F12 and F21=−F12 and the corresponding torques, τ12 and τ21=τ12 are computed in this two-moment system, the center locations for each non-reference nanosatellite are incremented for a sequence of time increments Δt. 
     A second method for estimation of the direction, in a plane P, of the normalized distance vector d uses a combined activation of two distinct solenoids to provide a first hybrid magnetic moment, μ1′=j1μ1+k1μ2, and to provide a second hybrid magnetic moment, μ2′=j2μ1+k2μ2, where μ1 and μ2 are magnetic moments of equal magnitude μ produced by activation of only the first solenoid and by activation of only the second solenoid, respectively, and j1, k1, j2 and k2 are selected coefficients, with j1/k1≠±j2/k2 and |μ1|=|μ2|=μ. Equation (3) is re-expressed for normalized magnetic moments, μ1^ and μ2^, as
 
 B 1′( d )=(4π/(μμ0) B 1( d )={μ1′^−(μ1′^·α)α}/ d   3 ,  (14)
 
 B 2′( d )=(4π/(μμ0) B 2( d )={μ2′^−(μ2′^·α)α}/ d   3 ,  (14)
 
|μ1^|=μ2^|=1.  (16)
 
     The vector lengths |B1′(d)| and |B2′(d)| will generally have different values, because the scalar products (μ1′^·α) and (μ2′^·α) will have different values. In a graphical illustration in  FIG. 3 , it is assumed that μ1′^·α=cos ψ1 and μ2^·α=cos ψ2 and that an angle value, ψ=ψ0, that minimizes the quantity
 
 L (ψ) 2 =|μ′^−(μ′^·α)α={1−(μ′^·α) 2 }=1−cos 2 (ψ−ψ0)  (17)
 
is not yet known. The quantities L(ψ1) 2  and L(ψ2) 2  are measurable, using Eqs. (14)-(17), and can be re-expressed as
 
                     [           cos   ⁡     (     2   ⁢           ⁢   ψ   ⁢           ⁢   1     )             sin   ⁡     (     ψ   ⁢           ⁢   1     )                 cos   ⁡     (     2   ⁢   ψ   ⁢           ⁢   2     )             sin   ⁡     (     2   ⁢   ψ   ⁢           ⁢   2     )             ]     ⁡     [             cos   ⁡     (     2   ⁢   ψ   ⁢           ⁢   0     )       =     1   -     2   ⁢       L   ⁡     (     ψ   ⁢           ⁢   1     )       2                       sin   ⁡     (     2   ⁢   ψ   ⁢           ⁢   0     )       =     1   -     2   ⁢       L   ⁡     (     ψ   ⁢           ⁢   2     )       2                 ]             (   18   )               
where the angle ψ0 is to be estimated and other quantities are determinable. The 2×2 matrix in Eqs. (18) has an associated determinant, with a value, Det=sin 2(ψ2−ψ1), whose magnitude can be made as large as possible by one of the choices ψ2−ψ1=±π/4, ±3π/4. The solutions of Eqs. (18) are
 
                     [           cos   ⁡     (     2   ⁢   ψ   ⁢           ⁢   0     )                 sin   ⁡     (     2   ⁢   ψ   ⁢           ⁢   0     )             ]     ⁢             =           =         ⁡     [           sin   ⁡     (     2   ⁢   ψ   ⁢           ⁢   2     )             -     sin   ⁡     (     2   ⁢   ψ   ⁢           ⁢   1     )                   -     cos   ⁡     (     2   ⁢   ψ   ⁢           ⁢   2     )               cos   ⁡     (     2   ⁢   ψ   ⁢           ⁢   1     )             ]       ⁡     [             {     1   -     2   ⁢       L   ⁡     (     ψ   ⁢           ⁢   1     )       2         }     /   Det                 {     1   -     2   ⁢       L   ⁡     (     ψ   ⁢           ⁢   2     )       2         }     /   Det           ]               (   19   )               
The solution angle, ψ=ψ0, provides the angle at which the normalized distance vector α is oriented relative to the direction of the first magnetic moment μ1 in the plane P=P(x,y), as illustrated in  FIGS. 1 and 3 . This alternative procedure provides a second procedure for estimating the normalized distance vector α. After the distance vector d=dα. has been estimated, Eq. (3) may be used to estimate the scalar distance value d.
 
       FIG. 4  is a flow chart of a second embodiment of a procedure for estimating the normalized distance vector α and the scalar distance value d. In step  41 , first and second magnetic moments, μ1 and μ2, and hybrid magnetic moments, μ1′ and μ2′, as linear combinations of μ1 and μ12 (with associated angles ψ1 and ψ2), are provided for the reference satellite. In step  42 , the length proportions squared, L(ψ1−ψ0) 2 =|μ1′^−(μ1′^·α)α| 2  and L(ψ2−ψ0) 2 =|μ2′^−(μ2′^·α)α| 2 , are measured for known and distinct angles ψ=ψ1 and ψ=ψ2 for the hybrid magnetic moments, μ1′ and μ2′. Here, ψ=ψ0 is an angle value, unknown as yet, that minimizes the length squared value L(ψ−ψ0) 2 . 
     In step  43 , solutions, cos ψ0 and sin ψ0, are estimated for the equations
 
cos(2ψ1)cos(2ψ0))+sin(2ψ1)sin(2ψ0)=1−2 L (ψ1) 2 ,
 
cos(2ψ2)cos(2ψ0))+sin(2ψ2)sin(2ψ0)=1−2 L (ψ2) 2 .
 
In step  44 , the solution angle, ψ=ψ0, is interpreted as the angle that distance vector d makes with a non-hybrid, magnetic moment vector μ1 or μ2. This indicates a direction in the plane P(x,y) for the normalized distance vector α. In step  45  (optional), the scalar distance value d=|d| is estimated, using, for example, Eq. (3).
 
     The developments of Eqs. (3)-(15), or (16)-(22), assume that the magnetic moment vector μ and the corresponding measured magnetic field vector B(d) are known. This requires knowledge of B(d) and μ for a single (initially unknown) distance vector d at which the field is measured. Alternatively, both the distance vector d and the direction of the moment μ may be unknown initially, although the magnitude, |μ|=μ may be known, through control of the current supplied to the solenoid. In this situation, it is assumed that two solenoids, each with the same magnetic moment magnitude, |μ1|=|μ2|=μ, are oriented at a known, non-zero angle (preferably π/2) relative to each other, that the two solenoids are associated with each other at a common end, and that the electromagnetic forces and motions are confined to a plane P(x,y). The moments are expressed as analogous to Eqs. (3) and (4):
 
 B 1( d )=(μ0/4π d   3 ){μ1−(μ1· d ) d/d   2 )=(μ0/4π d   3 ){μ1−(μ1·α)α},  (20)
 
 B 2( d )=(μ0/4π d   3 ){μ2−(μ2·α· d ) d/d   2 )=(μ0/4π d   3 ){μ2−(μ2·α)α}  (21)
 
 d=dα,   (22)
 
where the two solenoids have (approximately) a common distance vector d, whose angular orientation relative to the directions of the first and second solenoid sin the plane P(x,y) is initially unknown. Note that the field vectors B1 and B2 are each perpendicular to the vector d or a:
 
 B 1·α=0,  (23A)
 
 B 2·α=0,  (23B)
 
although generally |B1|≠|B2|, because the moments μ1 and μ2 are generally oriented differently relative to the vector α.
 
     Introduce new unit length vectors, which are measurable,
 
 n 1^= B 1/| B 1|,  (24)
 
 n 2^= B 2/| B 2|,  (25)
 
 n 2′^={ n 2^−( n 1^· n 2) n 1^}/| n 2^−( n 1^· n 2) n 1^|,  (26)
 
 n 3^= n 1^× n 2′^,  (27)
 
where n1^, n2′^ and n3′ are mutually perpendicular and each has unit length. The normal forms of a plane P1 with normal vector B1 and of a plane P2 with normal vector B2 are
 
 n 1^· s−|B 1|=0,  (28)
 
 n 2′^· s−|B 2|=0,  (29)
 
where s=(x,y,z) is a coordinate vector in the coordinate system adopted here and |B1| and |B2| are the lengths of a first normal vector (n1^) and a second normal vector (n2′^), extending from the coordinate origin to the first plane P1 and from the coordinate origin to the second plane P2, respectively. Each of the planes, P1 and P2, contains the distance vector d, and the two normal vectors, n1^ and n2′^, (or n1^ and n2^) are not parallel. The intersection of the planes P1 and P2, therefore, defines a common line CL, which is parallel to the distance vector d.
 
     Express the common line CL, lying in the intersection P1ΩP2, as a vector
 
 s=s 1 n 1^+ s 2 n 2′^+ s 3 n 3^.  (30)
 
The coefficients s1, s2 and s3 are determined using the normal forms in Eqs. (28) and (29):
 
 n 1′^· s−|B 1|= s 1( n 1^· n 1^)+ s 2( n 1^· n 2′^)+ s 3( n 1^· n 3^)−| B 1|=0,  (31)
 
 n 2′^· s−|B 2|= s 1( n 2′^· n 1^)+ s 2( n 2′^· n 2′^)+ s 3( n 2′^· n 3^)−| B 2|=0,  (32)
 
Taking account of the mutual orthogonality of n1^, n2′^ and n3^, a solution of Eqs. (31) and (32) is
 
 s 1=| B 1|,  (33A)
 
 s 2=| B 2|,  (33B)
 
 s 3 is not determined.  (33C)
 
The intersection line CL is expressible as
 
 s=|B 1| n 1^+| B 2| n 2′^+ s 3 n 3^,  (34)
 
α= s/|s|,   (35)
 
which defines a direction of the normalized distance vector α=d/|d|.  FIG. 5  illustrates formation of the normalized distance vector α. This requires that B1 and B2 not be parallel, but does not require that B1 and B2 be perpendicular.
 
     The scalar value d of the distance vector d is estimated using the relation
 
| B 1| 2   +|B 2| 2 =(μ0/4π d   3 ) 2 {2μ 2 −μ 2 (cos 2  ψ+sin 2  ψ)}=(μ0/4π d   3 ) 2 μ 2 ,  (36)
 
where ψ is an angle between the vector α in the plane P(x,y) and the vector direction μ1^. The angle ψ itself, illustrated in  FIG. 5 , is estimated using the relation
 
                           B   ⁢           ⁢     1   ·   B     ⁢           ⁢   2     =       ⁢         (     μ   ⁢           ⁢     0   /   4     ⁢   π   ⁢           ⁢     d   3       )     2     ⁢     {       μ   ⁢           ⁢     1   ·   μ     ⁢           ⁢   2     -       μ   2     ⁢           ⁢   cos   ⁢           ⁢   ψ   ⁢           ⁢   sin   ⁢           ⁢   ψ       }                       =       ⁢       -       (     μ   ⁢           ⁢     0   /   4     ⁢   π   ⁢           ⁢     μ   3       )     2       ⁢     (       μ   2     /   2     )     ⁢   sin   ⁢           ⁢   2   ⁢           ⁢   ψ       }     ,                 (   37   )               
where it is assumed here that the scalar value d is already estimated and that the magnetic moments μ1 and μ2 are orthogonal to each other so that μ1, μ2=0. These procedures, using Eqs. (34)-(35) or Eqs. (36)-(37), provide third and fourth alternative approaches to estimation of the scalar value d and the normalized distance vector α, which do not require ab initio knowledge of the separate vector directions of the magnetic moments μ1 and μ2, only the requirement that μ1μ2=0.
 
     A suitable procedure for these alternatives is illustrated in a flow chart in  FIG. 6 . In step  61 , the reference causes each non-reference nanosatellite, to generate two or more distinct magnetic moments, μ1 and μ2, by activating two or more solenoids on the non-reference nanosatellite at separate times. In step  62 , a magnetic field strength vector, B1 and B2, for the respective magnetic moments is generated and measured at the center of the reference solenoids. In step  63 , the distance vector d, extending from the center of the non-reference nanosatellite solenoid(s) to the center of the reference solenoid(s), is estimated, using the common line CL of intersection between the planes, P1 and P2, generated by the plane normals, B1 and B2. In step  64 , the directions for the magnetic moments, μ1 and μ2, associated with the non-reference nanosatellite, are estimated. The angles (ψ, π/2−ψ) in the plane P between the distance vector d and the respective magnetic moments, μ1 and μ2, are estimated, in step  65 . This determines the location coordinates of the center of the non-reference nanosatellite solenoid(s) and the angular orientation of the non-reference nanosatellite, relative to the center and coordinate axes orientation of the reference. In this embodiment, solenoids that produce the magnetic moments, μ1 and μ2, are activated on a non-reference nanosatellite, the corresponding magnetic field vectors, B1 and B2, thus produced are measured at the reference nanosatellite, and the corresponding angular orientations of the solenoids (indicated by μ1 and μ2) on the non-reference nanosatellite are estimated, using the angle pair (ψ, π/2−ψ) estimated at the reference. In step  66  (optional), the scalar distance value d is estimated, using Eq. (3). The roles of the reference and non-reference nanosatellites can be exchanged. 
     Application of Distance Vector Information to Satellite Location and Control. 
     In the development and application of the control law to follow, equations of motion of each of first and second solenoid rectangles (referred to herein as “cubes), relative to each other are developed. The first and second solenoid cubes lie in a common plane P(x,y), illustrated in  FIG. 7 , and their subsequent motions are expressed in terms of motions only in this common plane. This model of two interacting cubes, the first a reference nanosatellite (i=1) and the second a controlled nanosatellite (k=2) is then extended to one reference satellite and to N−1 controlled nanosatellites (k=2, . . . , N), all lying in the common plane P(x,y) and each with its own activatable solenoids. 
     The first or reference cube (i=1) is defined by four line segments, indexed as j=1, 2, 3, 4, and by a cube center c1. Each of the four line segments for the first cube has a pair of indices, (ij)=(1,1), (1,2), (1,3) and (1,4), as illustrated in  FIG. 7 . In a similar manner, the second (controlled) nanosatellite (indexed here as k=2 or as k=2, 3, . . . , N) is defined by each of four line segments (m=1, 2, 3, 4) and by a center c2, with the pair of indices (k,m)=(2,1), (2,2), (2,3) and (2,4). Motions of the second nanosatellite (translation of the center, rotation about the center) are preferable stated with reference to location and angular orientation of the first or reference nanosatellite. Each solenoid (line segment) of each of the first and second nanosatellites is independently activated, and the magnitude and direction of the solenoid electrical current is independently selected. 
     Each of the four solenoid line segments that defines a nanosatellite solenoid (i=1 and k=2) has a line segment center. A distance vector, d=d(ij;k,m) (also written as d ijkm  in the following) extending between a line segment (i,j) and a line segment (k,m) connects these two line centers in the development to follow. Each pair of solenoid line segments, (i,j) and (k,m), on the first and second cubes, respectively, has an associated pair of magnetic dipole moment vectors, μ i,j  and μ k,m , independently chosen, and an associated distance vector d ijkm . Each of the quantities, μ i,j , μ km , and d ijkm  will vary with time. A magnetic dipole moment, μ i,j  and/or μ km  may be 0 if that particular solenoid is not presently activated. More generally, each magnetic dipole moment vector, μ i,j  and/or μ km  may have a vector value 0 during one or more time intervals and may have a non-zero vector value during one or more other time intervals. The magnetic dipole moment vectors, μ i,j  and μ km , will be chosen during each time interval to move the two cubes (more generally, to move the N cubes) toward a desired cube configuration (relative location and relative angular orientation) over the course of time, and the desired cube configuration may change with passage of time. The preceding formalism for two nanosatellites is extended to a first (reference) nanosatellite and N−1 controlled or non-reference nanosatellites, all lying in a common plane P(x,y), where N is a reasonable number (e.g., N=2-20). 
     The length Δt of all time intervals may be uniform (e.g., Δt=0.1 sec), or the time interval length may itself vary with time (e.g., Δt=0.01-0.5 sec) according to the rate at which the present cube configuration is to approach a desired cube configuration. Movement of the different cubes toward a desired cube configuration is facilitated by temporally varying values of a force vector F ijkm  and/or by a temporally varying electrical torque vector τ ijkm . The force vectors F ijkm  and/or the torque vectors τ ijkm  vary in response to the temporally changing (non-zero) magnetic dipole moments, μ i,j  and/or μ km , and the temporally changing solenoid distance vectors d ijkm . 
       FIG. 8  is a general flow chart illustrating broadly a procedure for a time interval sequence to estimate distance vectors d, magnetic dipole moment vectors μ, force vectors F, torque vectors τ, and solenoid commands that are presently estimated to be required to move a present cube configuration toward a desired cube configuration. In step  81 , an initial time interval, t n ≦t&lt;t n+1  with n=0, is identified. In step  82 , a present distance vector, d=d n  is estimated for each nanosatellite, relative to a first (reference) nanosatellite, using magnetometer measurements and magnetic dipole moment vectors μ n , if known, for each nanosatellite, for the present time interval (t n ≦t&lt;t n+1 ). Step  82  may be implemented using any of the several embodiments discussed in connection with Eqs. (1)-(37), or any other suitable procedure for estimation of a distance vector, d=d n , for each relevant or active solenoid on each nanosatellite. 
     In step  83 , a force vector F and a torque vector T are estimated for each nanosatellite that are required to move each nanosatellite toward a desired cube configuration, for the present time interval (t n ≦t&lt;t n+1 ). In step  84 , a magnetic dipole moment vector μ is estimated for each solenoid on each nanosatellite that is required to provide the force vectors F and torque vectors τ, for the present time interval (t n ≦t&lt;t n+1 ). In step  85 , the required solenoid commands (estimated in step  84 ) are executed, for the present time interval (t n ≦t&lt;t n+1 ). In step  86 , the present time interval, t n ≦t&lt;t n+1 , is replaced by the next time interval, t n+1 ≦t&lt;t n+2  (equivalent to incrementing the time interval index n to n+1), and the system returns to step  82 . 
     Implementation of Nanosatellite Control Commands. 
     Returning to  FIG. 7 , the force on a given cube is equal to the sum of all the force interactions between the EMs on one cube and the EMs on the other cube. The force on the i th  cube generated by the k th  cube is given by 
                       Fc   i     =       ∑     j   =   1     4     ⁢       ∑       k   =   1     ,     k   ≠   i         #   ⁢   Cubes       ⁢       ∑     m   =   1     4     ⁢     F   ijkm             ,           (   41   )               
where
 
 F   ijkm   =M   F (μ km   ,d   ijkm )μ ij   (42)
 
Using the far field model, we have, from Appendix I,
 
                       M   F     ⁡     (       μ   km     ,     d   ijkm       )       =       -       3   ⁢   μ       4   ⁢           ⁢       π   ⁢   d     ijkm   5           ⁢     (       (       d   ijkm     ⊗     μ   km       )     +     (       μ   km     ⊗     d   ijkm       )     +       (       μ   km   T     ⁢     •d   ijkm       )     ⁢     (     I   -     5   ⁢         d   ijkm     ⊗     d   ijkm           d   ijkm   T     ⁢     •d   ijkm             )         )               (   43   )               
The symbol   is the outer product operator.
 
     Similarly, the torque on a given cube is the sum of all the torque interactions between the EMs on one cube and the EMs on the other cube, plus a cross product of the moment arm from the center of the cube to the center of the EM with the force on that EM. Thus, the torque on the i th  cube by the k th  cube is given by 
                       τ   ⁢           ⁢     c   i       =       ∑     j   =   1     4     ⁢       ∑       k   =   1     ,     k   ≠   i         #   ⁢   Cubes       ⁢       ∑     m   =   1     4     ⁢     τ   ijkm             ,           (   44   )               
where
 
τ ijkm   =M   τ (μ km   ,d   ijkm )μ ij ,  (45)
 
                       M   τ     ⁡     (       μ   km     ,     d   ijkm       )       =           μ   0       4   ⁢           ⁢   π       ⁢       (           3   ⁢     (       μ   km     ·     d   ijkm       )         d   ijkm   5       ⁢     d   ijkm       -       μ   km       d   ijkm   3         )     x   T       +       rc   ij     ×       M   F     ⁡     (       μ   km     ,     d   ijkm       )       ⁢           ⁢   and               (   46   )               
rc ij  the moment arm on from the center of the i th  cube to the center of the j th  EM The symbol ( ) T , in Eq. (46) is the skew matrix.
 
     To be able to control the nanosatellites, Eqs. (44)-(46) must be solved for the control input μ for each nanosatellite. To accomplish this, the μs will be determined in the reference frame that is attached to the body of the reference nanosatellite, referred to as the body frame. 
     To accomplish this, a transformation from the inertial frame to the body frame is needed. These μs will go through a rotation θ from the inertial frame to the body frame. Also note that the μs are note free to point in any arbitrary direction, the μs are fixed to the body frame, and thus the x-y components of each μ will be isolated by projection matrices, I x  and I y , associated with the x-axis and the y-axis. This can easily be extended to the z-axis. 
     To demonstrate this, we will work through the equations for two nanosatellites, which is easily extended to any reasonable number N of nanosatellites. The force acting on nanosatellite  1  (reference) can be written as
 
 Fc   1   =M   F     11   μ 11   +M   F     12   μ 12   +M   F     13   μ 13   +M   F     14   μ 14   (47)
 
               Fc   1     =     [           Fc     1   ⁢   x                 Fc     1   ⁢           ⁢   y             ]           
is the components of the force acting on nanosatellite  1  in the inertial frame,
 
 M   F     11     =M   F (μ 21   ,d   1121 )+ M   F (μ 22   ,d   1122 )+ M   F (μ 23   ,d   1123 )+ M   F (μ 24   ,d   1124 ),
 
 M   F     12     =M   F (μ 21   ,d   1221 )+ M   F (μ 22   ,d   1222 )+ M   F (μ 23   ,d   1223 )+ M   F (μ 24   ,d   1224 ),
 
 M   F     13     =M   F (μ 21   ,d   1321 )+ M   F (μ 22   ,d   1322 )+ M   F (μ 23   ,d   1323 )+ M   F (μ 24   ,d   1324 ),
 
 M   F     12     =M   F (μ 21   ,d   1421 )+ M   F (μ 22   ,d   1422 )+ M   F (μ 23   ,d   1423 )+ M   F (μ 24   ,d   1424 )  (48)
 
Resolving and isolating the components of μ in the body frame Eq. (41) is
 
                     Fc   1     =       [           ⁢                 M     F   11       ⁢     R   ⁡     (   θ   )       ⁢     I   x       +       M     F   12       ⁢     R   ⁡     (   θ   )       ⁢     I   y                   M     F   13       ⁢     R   ⁡     (   θ   )       ⁢     I   x       +       M     F   14       ⁢   R             ⁢     (   θ   )     ⁢     I   y       ]     ⁢           [           μ     11   ⁢   x                 μ     12   ⁢           ⁢   y                 μ     13   ⁢           ⁢   x                 μ     14   ⁢           ⁢   y             ]                 (   49   )               
where μ ijx  and μ iky  represents the μs in the body frame,
 
                         I   x     =     [         1       0       0           0       0       0           0       0       0         ]       ,       I   y     =     [         0       0       0           0       1       0           0       0       0         ]       ,   and     ⁢     
     ⁢       R   ⁡     (     θ   1     )       =     [           cos   ⁢           ⁢     θ   1               -   sin     ⁢           ⁢     θ   1           0             sin   ⁢           ⁢     θ   1             cos   ⁢           ⁢     θ   1           0           0       0       1         ]               (   50   )               
Applying the same process to the torque equation, we have
 
                     τ   ⁢           ⁢     c     1   ⁢           ⁢   z         =       [           ⁢               M     τ   ⁢           ⁢   11       ⁢     R   ⁡     (     θ   1     )       ⁢     I   x       +       M     τ   ⁢           ⁢   12       ⁢     R   ⁡     (     θ   1     )       ⁢     I   y                   M     τ   ⁢           ⁢   13       ⁢     R   ⁡     (     θ   1     )       ⁢     I   x       +       M     τ   ⁢           ⁢   14       ⁢     R   ⁡     (     θ   1     )       ⁢     I   y               ]     ⁢           [           μ     11   ⁢           ⁢   x                 μ     12   ⁢           ⁢   y                 μ     13   ⁢           ⁢   x                 μ     14   ⁢           ⁢   y             ]                 (   51   )               
where
 
 M   τij   =M   τ (μ 21   ,d   ij21 )+ M   τ (μ 22   ,d   ij22 )+ M   τ (μ 23   ,d   ij23 )+ M   τ (μ 24   ,d   ij24 ),
 
     Writing Eqs. (50), (51 and (52) in matrix form, we have 
                     [           ⁢           Fc     1   ⁢           ⁢   x                 Fc     1   ⁢   y                 Fc     1   ⁢   z             ]     =             [           ⁢               M     F   11       ⁢     R   ⁡     (     θ   1     )       ⁢     I   x       +       M     F   12       ⁢     R   ⁡     (     θ   1     )       ⁢     I   y                   M     F   13       ⁢     R   ⁡     (     θ   1     )       ⁢     I   x       +       M     F   14       ⁢     R   ⁡     (     θ   1     )       ⁢     I   y                       M     F   ⁢           ⁢   τ   ⁢           ⁢   11       ⁢     R   ⁡     (     θ   1     )       ⁢     I   x       +         M     F   ⁢           ⁢   τ   ⁢           ⁢   12       ⁡     (     θ   1     )       ⁢     I   y                   M     F   ⁢           ⁢   τ   ⁢           ⁢   13       ⁢     R   ⁡     (     θ   1     )       ⁢     I   x       +       M     F   ⁢           ⁢   τ   ⁢           ⁢   14       ⁢     R   ⁡     (     θ   1     )       ⁢     I   y               ]     ⁢           [           ⁢           μ     11   ⁢   x                 μ     12   ⁢           ⁢   y                 μ     13   ⁢   x                 μ     14   ⁢   y             ]                   (   53   )               
Using a pseudo inverse operator, we can solve for the μs. Note, we are using four variables to solve for three values. This is an extra degree of freedom in the control input that can be used to optimize another constraint, if desired.
 
Control Law Signal.
 
     In the previous section we showed that, given a desired force, torque applied to c 1 , the distance from each EM on c 2  to each EM on c 1 , and the μs of c 2  we can solve for the μs of c 1 . Here we will explore a very simple feedback control law to demonstrate in simulation that given a desired relative position and pointing angle, c 1  can be driven to the desired position and angle by control of c 1 &#39;s μs. 
     Because we want to exercise relative position control, we will define RelativePosition as the relative position from c 2  to c 1 , expressed as a vector. We formulate an error signal between the relative position vector and a desired relative position we call DesiredDistance.
 
Error=RelativePosition−DesiredDistance.  (54)
 
     For a linear time invariant plant, the proportional part of a PD controller is the Error multiplied by a gain. For an EM plant, this signal would be a force command Because force between two magnetic dipole moments is inversely proportional to the relative distance raised to the 4 th  power, we compensate for this non-linearity by multiplying the Error signal by |RealtivePosition| 4 . To include damping, we multiply the difference between the velocities by a gain. The control law has the form
 
 pd Signal=Error  kp |relativePosition| 4 +Error  kd.   (55)
 
     For the orientation of the nanosatellite we formulate an angle error signal. This will be a torque command. The torque between two magnetic dipole moments is inversely proportional to the relative distance raised to the 3rd power. Similar to above, we compensate for this by multiplying the error signal by |RelativePosition| 3 . To include damping, we multiply the angular velocity by a gain. The control law has the form of
 
 pd Signal w =angleError  kw |relativePosition| 3   +w kdw   (56)
 
     To solve for the μs, we let Fx=pdSignalx, Fy=pdSignaly and τc 1z =pdSignalw, the control law can be written as 
     
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             μ 
                             
                               11 
                               ⁢ 
                               x 
                             
                           
                         
                       
                       
                         
                           
                             μ 
                             
                               12 
                               ⁢ 
                               y 
                             
                           
                         
                       
                       
                         
                           
                             μ 
                             
                               13 
                               ⁢ 
                               x 
                             
                           
                         
                       
                       
                         
                           
                             μ 
                             
                               14 
                               ⁢ 
                               y 
                             
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       
                         [ 
                         
                             
                         
                         ⁢ 
                         
                           
                             
                               
                                 
                                   
                                     M 
                                     
                                       F 
                                       11 
                                     
                                   
                                   ⁢ 
                                   
                                     R 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     I 
                                     x 
                                   
                                 
                                 + 
                                 
                                   
                                     M 
                                     
                                       F 
                                       12 
                                     
                                   
                                   ⁢ 
                                   
                                     R 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     I 
                                     y 
                                   
                                 
                               
                             
                             
                               
                                 
                                   
                                     M 
                                     
                                       F 
                                       13 
                                     
                                   
                                   ⁢ 
                                   
                                     R 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     I 
                                     x 
                                   
                                 
                                 + 
                                 
                                   
                                     M 
                                     
                                       F 
                                       14 
                                     
                                   
                                   ⁢ 
                                   
                                     R 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     I 
                                     y 
                                   
                                 
                               
                             
                           
                           
                             
                               
                                 
                                   
                                     M 
                                     
                                       F 
                                       ⁢ 
                                       
                                           
                                       
                                       ⁢ 
                                       τ 
                                       ⁢ 
                                       
                                           
                                       
                                       ⁢ 
                                       11 
                                     
                                   
                                   ⁢ 
                                   
                                     R 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     I 
                                     x 
                                   
                                 
                                 + 
                                 
                                   
                                     
                                       M 
                                       
                                         F 
                                         ⁢ 
                                         
                                             
                                         
                                         ⁢ 
                                         τ 
                                         ⁢ 
                                         
                                             
                                         
                                         ⁢ 
                                         12 
                                       
                                     
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     I 
                                     y 
                                   
                                 
                               
                             
                             
                               
                                 
                                   
                                     M 
                                     
                                       F 
                                       ⁢ 
                                       
                                           
                                       
                                       ⁢ 
                                       τ 
                                       ⁢ 
                                       
                                           
                                       
                                       ⁢ 
                                       13 
                                     
                                   
                                   ⁢ 
                                   
                                     R 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     I 
                                     x 
                                   
                                 
                                 + 
                                 
                                   
                                     M 
                                     
                                       F 
                                       ⁢ 
                                       
                                           
                                       
                                       ⁢ 
                                       τ 
                                       ⁢ 
                                       
                                           
                                       
                                       ⁢ 
                                       14 
                                     
                                   
                                   ⁢ 
                                   
                                     R 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   ⁢ 
                                   
                                     I 
                                     y 
                                   
                                 
                               
                             
                           
                         
                         ] 
                       
                       
                         - 
                         1 
                       
                     
                     ⁢ 
                     
                         
                       
                         [ 
                         
                           
                             
                               
                                 pdSignal 
                                 x 
                               
                             
                           
                           
                             
                               
                                 pdSignal 
                                 y 
                               
                             
                           
                           
                             
                               pdSignalw 
                             
                           
                         
                         ] 
                       
                     
                   
                 
               
               
                 
                   ( 
                   57 
                   ) 
                 
               
             
           
         
       
     
     APPENDIX. CONTROL SIGNAL FACTORED OUT OF FORCE EQUATION 
     In this Appendix we introduce a matrix form of the force equation. Then we show how we write the force equation in this form. We then conclude with the general case of the force and torque acting on a nanosatellite from N−1 other nanosatellites, where N is the total number of nanosatellites. 
     A typical form of the force acting on an electromagnet (EM) due to another electromagnet using the far field model is 
                     F   1     =       -       3   ⁢     μ   0         4   ⁢           ⁢   π   ⁢           ⁢     d   5           ⁢     (         (       μ   1     ⁢     •μ   2       )     ⁢   d     +       (       μ   1     ⁢     •   ⁢   d       )     ⁢     μ   2       +       (       μ   2     ⁢     •   ⁢   d       )     ⁢     μ   1       -     5   ⁢         (       μ   1     ⁢     •   ⁢   d       )     ⁢     (       μ   2     ⁢     •   ⁢   d       )         d   2       ⁢   d       )               (   61   )               
where
 
μ 0  is the permeability of free space
 
μ 1  is the magnetic dipole of EM 1
 
μ 2  is the magnetic dipole of EM 2
 
d is the distance between the dipoles and
 
F 1  is the force acting on EM 1
 
     The identity (x·y)z=(z y)·x is used to write Eq. (61) as 
                       F   1     =       -       3   ⁢     μ   0         4   ⁢           ⁢   π   ⁢           ⁢     d   5           ⁢       (       (     d   ⊗     μ   2       )     +     (       μ   2     ⊗   d     )     +       (       μ   2   T     ⁢     •   ⁢   d       )     ⁢     (     I   -     5   ⁢       d   ⊗   d         d   T     ⁢     •   ⁢   d             )         )     ·     μ   1           ,           (   62   )               
where   is an outer product. Equation (62) can be written as a matrix times a vector, such as,
 
 F   1   =M   F (μ 2   ,d )·μ 1 ,  (63)
 
where
 
                       M   F     ⁡     (       μ   2     ,   d     )       =       -       3   ⁢     μ   0         4   ⁢           ⁢   π   ⁢           ⁢     d   5           ⁢     (       (     d   ⊗     μ   2       )     +     (       μ   2     ⊗   d     )     +       (       μ   2   T     ⁢     •   ⁢   d       )     ⁢     (     I   -     5   ⁢       d   ⊗   d         d   T     ⁢     •   ⁢   d             )         )               (   64   )               
The value of writing the force equation in this form is that for a give force it is a simple process to solve for the control input μ 1 .
 
Re-Expression of the Force Equation.
 
     First, we will verify the identity (x·y) z=(z y)·x, and then will show the substitution that gives the matrix form of the force equation. We first verify that
 
( x·y ) z =( z     y )· x,   (65)
 
where
 
                     x   =     [           x   1               x   2               x   3           ]       ,     y   =     [           y   1               y   2               y   3           ]       ,       and   ⁢           ⁢   z     =     [           z   1               z   2               z   3           ]               (   66   )               
Multiplying out the left hand side of Eq. (65), we obtain
 
     
       
         
           
             
               
                 
                   
                     
                       ( 
                       
                         x 
                         · 
                         y 
                       
                       ) 
                     
                     ⁢ 
                     z 
                   
                   = 
                   
                     
                       
                         ( 
                         
                           
                             
                               x 
                               1 
                             
                             ⁢ 
                             
                               y 
                               1 
                             
                           
                           + 
                           
                             
                               x 
                               2 
                             
                             ⁢ 
                             
                               y 
                               2 
                             
                           
                           + 
                           
                             
                               x 
                               3 
                             
                             ⁢ 
                             
                               y 
                               3 
                             
                           
                         
                         ) 
                       
                       ⁡ 
                       
                         [ 
                         
                           
                             
                               
                                 z 
                                 1 
                               
                             
                           
                           
                             
                               
                                 z 
                                 2 
                               
                             
                           
                           
                             
                               
                                 z 
                                 3 
                               
                             
                           
                         
                         ] 
                       
                     
                     = 
                     
                       [ 
                       
                         
                           
                             
                               
                                 
                                   z 
                                   1 
                                 
                                 ⁢ 
                                 
                                   y 
                                   1 
                                 
                                 ⁢ 
                                 
                                   x 
                                   1 
                                 
                               
                               + 
                               
                                 
                                   z 
                                   1 
                                 
                                 ⁢ 
                                 
                                   y 
                                   2 
                                 
                                 ⁢ 
                                 
                                   x 
                                   2 
                                 
                               
                               + 
                               
                                 
                                   z 
                                   1 
                                 
                                 ⁢ 
                                 
                                   y 
                                   3 
                                 
                                 ⁢ 
                                 
                                   x 
                                   3 
                                 
                               
                             
                           
                         
                         
                           
                             
                               
                                 
                                   z 
                                   2 
                                 
                                 ⁢ 
                                 
                                   y 
                                   1 
                                 
                                 ⁢ 
                                 
                                   x 
                                   1 
                                 
                               
                               + 
                               
                                 
                                   z 
                                   2 
                                 
                                 ⁢ 
                                 
                                   y 
                                   2 
                                 
                                 ⁢ 
                                 
                                   x 
                                   2 
                                 
                               
                               + 
                               
                                 
                                   z 
                                   2 
                                 
                                 ⁢ 
                                 
                                   y 
                                   3 
                                 
                                 ⁢ 
                                 
                                   x 
                                   3 
                                 
                               
                             
                           
                         
                         
                           
                             
                               
                                 
                                   z 
                                   3 
                                 
                                 ⁢ 
                                 
                                   y 
                                   1 
                                 
                                 ⁢ 
                                 
                                   x 
                                   1 
                                 
                               
                               + 
                               
                                 
                                   z 
                                   3 
                                 
                                 ⁢ 
                                 
                                   y 
                                   2 
                                 
                                 ⁢ 
                                 
                                   x 
                                   2 
                                 
                               
                               + 
                               
                                 
                                   z 
                                   3 
                                 
                                 ⁢ 
                                 
                                   y 
                                   3 
                                 
                                 ⁢ 
                                 
                                   x 
                                   3 
                                 
                               
                             
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   67 
                   ) 
                 
               
             
           
         
       
     
     Multiplying out the right hand side we get the same vector. We have shown that
 
( x·y ) z =( z     y )· x   (68)
 
Using the identity (68) to bring μ 1  to the right side of each dot product, we have
 
                     F   1     =       -       3   ⁢           ⁢     μ   0         4   ⁢           ⁢   π   ⁢           ⁢     d   5           ⁢     (         (     d   ⊗     μ   2       )     ⁢     μ   1       +       (       μ   2     ⊗   d     )     ⁢     μ   1       +       (       μ   2     ⁢   •   ⁢           ⁢   d     )     ⁢     μ   1       -     5   ⁢       (       μ   2     ⁢   •   ⁢           ⁢   d     )       d   ⁢           ⁢   2       ⁢     (     d   ⊗   d     )     ⁢     μ   1         )               (   69   )               
Now factoring out μ 1 ,
 
                     F   1     =       -       3   ⁢           ⁢     μ   0         4   ⁢           ⁢   π   ⁢           ⁢     d   5           ⁢     (       (     d   ⊗     μ   2       )     +     (       μ   2     ⊗   d     )     +     (       μ   2     ⁢   •   ⁢           ⁢   d     )     -     5   ⁢       (       μ   2     ⁢   •   ⁢           ⁢   d     )       d   ⁢           ⁢   2       ⁢     (     d   ⊗   d     )         )     ⁢     μ   1               (   70   )               
Then factoring (μ 2 □d), we have
 
                     F   1     =       -       3   ⁢           ⁢     μ   0         4   ⁢           ⁢   π   ⁢           ⁢     d   5           ⁢       (       (     d   ⊗     μ   2       )     +     (       μ   2     ⊗   d     )     +       (       μ   2   T     ⁢   •   ⁢           ⁢   d     )     ⁢     (     I   -     5   ⁢       (     d   ⊗           ⁢   d     )         d   T     ⁢   •   ⁢           ⁢   d           )         )     ·       μ   1     .                 (   71   )               
Expressions for M F  and M T .
 
     The notation that will be used here is the following. 
     μ ij  is the magnetic dipole moment of the j th  EM on the cube. 
     d ijkm  is distance vector from the center of the m th  EM on the k th  cube to the center of the j th  EM on the cube. 
     F ijkm  is the force on the i th  cube, j th  EM due to the k th  cube m th  EM. 
     τ ijkm  is the torque on the i th  cube, j th  EM due to the k th  cube m th  EM. 
     rc ij  is the moment arm from the center of the i th  cube to the center of the j th  EM. 
     Using the above notation, the force and torque equations become 
     
       
         
           
             
               
                 
                   
                     Fc 
                     i 
                   
                   = 
                   
                     
                       ∑ 
                       
                         j 
                         = 
                         1 
                       
                       4 
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           
                             k 
                             = 
                             1 
                           
                           , 
                           
                             k 
                             ≠ 
                             i 
                           
                         
                         Cubes 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           
                             m 
                             = 
                             1 
                           
                           4 
                         
                         ⁢ 
                         
                           F 
                           ijkm 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   72 
                   ) 
                 
               
             
           
         
       
     
                     τ   ⁢           ⁢     c   i       =       ∑     j   =   1     4     ⁢       ∑       k   =   1     ,     k   ≠   i       Cubes     ⁢       ∑     m   =   1     4     ⁢     τ   ijkm                   (   73   )               
where
 
                     F   ijkm     =       -       3   ⁢           ⁢     μ   0         4   ⁢   π   ⁢           ⁢     d   ijkm   5           ⁢     (         (       μ   ij     ⁢   •   ⁢           ⁢     μ     k   ⁢           ⁢   m         )     ⁢     d   ijkm       +       (       μ   ij     ⁢   •   ⁢           ⁢     d   ijkm       )     ⁢     μ     k   ⁢           ⁢   m         +       (       μ     k   ⁢           ⁢   m       ⁢   •   ⁢           ⁢     d   ijkm       )     ⁢     μ   ij       -     5   ⁢         (       μ   ij     ⁢   •   ⁢           ⁢     d   ijkm       )     ⁢     (       μ     k   ⁢           ⁢   m       ⁢   •   ⁢           ⁢     d   ijkm       )         d   ijkm   2       ⁢     d   ijkm         )               (   74   )                 τ   ijkm     =           μ   0       4   ⁢   π       ⁢     (       μ   ij     ×     (           3   ⁢     (       μ     k   ⁢           ⁢   m       ·     d   ijmk       )         d   ijkm   5       ⁢     d   ijkm       -       μ     k   ⁢           ⁢   m         d   ijkm   3         )       )       +       rc   ij     ×     F   ijmk                 (   75   )               
The above equations will be re-expressed to be linear in μ ij .
 
     Using the relationship (x·y) z=(z y)·x=(z x)·y to factor out μ ij  from the dot products, we obtain 
                     F   ijkm     =       -       3   ⁢     μ   0         4   ⁢   π   ⁢           ⁢     d   ijkm   5           ⁢     (       (       d   ijkm     ⊗     μ     k   ⁢           ⁢   m         )     +     (       μ     k   ⁢           ⁢   m       ⊗     d   ijkm       )     +     (       μ     k   ⁢           ⁢   m       ⁢   •   ⁢           ⁢     d   ijkm       )     -     5   ⁢       (       μ     k   ⁢           ⁢   m       ⁢   •   ⁢           ⁢     d   ijkm       )       d   ijkm   2       ⁢     (       d   ijkm     ⊗     d   ijkm       )         )     ⁢     μ   ij               (   76   )               
Factoring out (μ km □d ijkm ) we obtain
 
                     F   ijkm     =       -       3   ⁢     μ   0         4   ⁢   π   ⁢           ⁢     d   ijkm   5           ⁢     (       (       d   ijkm     ⊗     μ     k   ⁢           ⁢   m         )     +     (       μ     k   ⁢           ⁢   m       ⊗     d   ijkm       )     +       (       μ     k   ⁢           ⁢   m       ⁢   •   ⁢           ⁢     d   ijkm       )     ⁢     (     I   -     5   ⁢       (       d   ijkm     ⊗     d   ijkm       )       (       d   ijkm     ·     d   ijmk       )           )         )     ⁢     μ   ij               (   77   )               
We define the matrix
 
                       M   F     ⁡     (       μ     k   ⁢           ⁢   m       ,     d   ijkm       )       =       -       3   ⁢     μ   0         4   ⁢   π   ⁢           ⁢     d   ijkm   5           ⁢     (       (       d   ijkm     ⊗     μ     k   ⁢           ⁢   m         )     +     (       μ     k   ⁢           ⁢   m       ⊗     d   ijkm       )     +       (       μ     k   ⁢           ⁢   m       ⁢   •   ⁢           ⁢     d   ijkm       )     ⁢     (     I   -     5   ⁢       (       d   ijkm     ⊗     d   ijkm       )       (       d   ijkm     ·     d   ijkm       )           )         )               (   78   )               
The force equation is now written as
 
 F   ijkm   =M   F (μ km   ,d   ijkm )μ ij   (79)
 
     Now factor out μ ij  from the torque equation. The cross product can be written in matrix form as 
                     a   ×   b     =           [   a   ]     x     ⁢   b     =         [         0         -     a   3             a   2               a   3         0         -     a   1                 -     a   2             a   1         0         ]     ⁡     [           b   1               b   2               b   3           ]       =           [   b   ]     x   T     ⁢   a     =       [         0         b   3           -     b   2                 -     b   3           0         b   1               b   2           -     b   1           0         ]     ⁡     [           a   1               a   2               a   3           ]                     (   80   )               
We obtain
 
                     τ   ijkm     =               μ   0       4   ⁢   π       ⁡     [           3   ⁢     (       μ     k   ⁢           ⁢   m       ·     d   ijkm       )         d   ijmk   5       ⁢     d   ijkm       -       μ     k   ⁢           ⁢   m         d   ijkm   3         ]       x   T     ⁢     μ   ij       +       rc   ij     ×     F   ijkm                 (   81   )               
Substituting M F  for F ijkm , we obtain
 
                     τ   ijkm     =       (             μ   0       4   ⁢   π       ⁡     [           3   ⁢     (       μ     k   ⁢           ⁢   m       ·     d   ijkm       )         d   ijkm   5       ⁢     d   ijkm       -       μ     k   ⁢           ⁢   m         d   ijkm   3         ]       x   T     +         [     rc   ij     ]     x     ⁢       M   F     ⁡     (       μ     k   ⁢           ⁢   m       ,     d   ijkm       )           )     ⁢       μ   ij     .               (   82   )               
We define
 
                         M   τ     ⁡     (       μ     k   ⁢           ⁢   m       ,     d   ijkm       )       =             μ   0       4   ⁢   π       ⁡     [           3   ⁢     (       μ     k   ⁢           ⁢   m       ·     d   ijkm       )         d   ijkm   5       ⁢     d   ijkm       -       μ     k   ⁢           ⁢   m         d   ijkm   3         ]       x   T     +         [     rc   ij     ]     x     ⁢       M   F     ⁡     (       μ     k   ⁢           ⁢   m       ,     d   ijkm       )             ,           (   83   )               τ ijkm   =M   τ (μ km   ,d   ijkm )μ ij .  (84)
 
     Equations (79) and (84) are referred to as a matrix form of the force and torque equations respectively.