Page 1 Geometry of Telescope Drives SCIENCE AND ENGINEERING RESEARCH COUNCIL CAVENDISH LABORATORY MULLARD RADIO ASTRONOMY OBSERVATORY JCMT Note MTIN062.00 ________ __ _________ ______ Geometry of Telescope Drives Version 0, Sidney Kenderdine 1988-02-05 Processed by MT_DOCUMENT: 5 February 1988 CONTENTS 1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . 2 2 ROTATION MATRICES . . . . . . . . . . . . . . . . . 2 2.1 Azimuth Drive . . . . . . . . . . . . . . . . . . 3 2.2 Elevation Drive . . . . . . . . . . . . . . . . . 3 3 GENERAL MISALIGNMENT ANGLES . . . . . . . . . . . . 4 3.1 R3 - Non-orthogonality Of Azimuth And Elevation Drives . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Misalignment Of Beam With Respect To Elevation Axis . . . . . . . . . . . . . . . . . . . . . . . 4 4 CONTRIBUTORY FACTORS TO DAZ0, DEL0 . . . . . . . . . 5 4.1 Simple Receiver-dependent Effect . . . . . . . . . 6 4.2 Secondary Mirror . . . . . . . . . . . . . . . . . 6 4.3 Nasmyth Focus . . . . . . . . . . . . . . . . . . 6 4.3.1 Mirror supposed at origin of coordinate system . 7 4.3.2 Mirror displaced from origin of coordinate system . . . . . . . . . . . . . . . . . . . . . 8 4.4 Flexure . . . . . . . . . . . . . . . . . . . . . 8 4.5 Cassegrain Flexure . . . . . . . . . . . . . . . . 9 4.5.1 Secondary Mirror - computation _of _daz0__sm _and _del0__sm . . . . . . . . . . . . . . . . 10 Geometry of Telescope Drives Page 2 JCMT Note MTIN062.00 5 February 1988 1 INTRODUCTION This note describes how the telescope drive task handles the misalignment angles theta3 and theta4 (see GSDD description) and how the telescope pointing is affected by the interrelation of these with secondary mirror and other offsets. Section 2 describes the coordinate systems and defines the rotation matrices for the operations involved. Section 3 derives the algorithms required for the handling of general misalignments, regardless of how they originate. Section 4 describes how secondary mirror, Nasmyth focus misalignment and cassegrain focus flexure contribute to the general misalignments angles. Section 5 describes how offsets specified in a current coordinate system are converted to angular offsets at the secondary mirror. 2 ROTATION MATRICES For the present purposes the direction of the azimuth drive may be taken as defining the zenith (= z-axis of cartesian coordinate system) and North horizon (= x-axis), the latter by the requirement that the earth's rotation axis shall lie in the xz-plane. We follow the slalib convention that takes the y-axis in the direction of longitude-coordinate = 90 degrees, latitude-coordinate = 0; the y-axis is then towards the East horizon, and the x,y,z axes form a left-handed set. The AZ coordinate system of the telescope drive routines is with respect to axes so defined; the coordinates are apparent at the telescope, i.e_. below the refractive atmosphere. The purpose of the present note is to describe how these values are related to angles at the drive encoders (EN coordinates). It is assumed that the drives are perfect apart from the misalignments discussed. Note: The azimuth drive departs from the geographical vertical at the telescope site by the small angles theta1 and theta2 (see GSDD). These are taken into account by adopting a different 'effective' longitude and latitude in the conversions between equatorial and azimuth-altitude and are not here considered further. - 2 - Geometry of Telescope Drives Page 3 JCMT Note MTIN062.00 5 February 1988 2.1 Azimuth Drive Angle A (= azimuth) is from North to East, i.e_. is a clockwise rotation is about -z, or ( ) ( 1 ) ( Ca ) ( Ra ) ( . ) = ( Sa ) ( ) ( . ) ( . ) giving ( Ca -Sa . ) Ra = ( Sa Ca . ) ( . . 1 ) where Ca = cos(A), Sa = sin(A); . = zero. 2.2 Elevation Drive Angle E (elevation) is, for azimuth drive at zero, from the North horizon to the zenith, i.e_. is a clockwise rotation is about +y (which then becomes the 'positive' end of the elevation axis in GSDD terminology), or ( ) ( 1 ) ( Ce ) ( Re ) ( . ) = ( . ) ( ) ( . ) ( Se ) giving ( Ce . -Se ) Re = ( . 1 . ) ( Se . Ce ) where Ce = cos(E), Se = sin(E). - 3 - Geometry of Telescope Drives Page 4 JCMT Note MTIN062.00 5 February 1988 3 GENERAL MISALIGNMENT ANGLES 3.1 R3 - Non-orthogonality Of Azimuth And Elevation Drives GSDD defines theta3 as positive if the 'positive end' (see above) of the elevation axis lies above the plane normal to the azimuth axes. 'Positive end' = +y end of the elevation axis when at zero azimuth. Theta3 is therefore a rotation about -x, i.e_. ( ) ( . ) ( . ) ( R3 ) ( 1 ) = ( c3 ) ( ) ( . ) ( s3 ) i.e_. ( 1 . . ) R3 = ( . c3 -s3 ) ( . s3 c3 ) where c3 = cos(theta3), s3 = sin(theta3). 3.2 Misalignment Of Beam With Respect To Elevation Axis At any time, two angles daz0 and del0 are needed to denote the departure of the telescope beam from the nominal telescope axis perpendicular to the elevation axis. They are such that if the telescope were imagined swung geometrically (i.e_. without distortion) to make the elevation axis horizontal and the nominal telescope beam on the North horizon, then the actual beam of the telescope would be at azimuth daz0 (east of north) and at elevation del0. Daz0 is the theta(4) of the GSDD document; the beam of the telescope is at an angle of 90 degrees minus daz0 from the +y end of the elevation drive and sweeps out a cone as the telescope is driven in elevation. In this section we consider how to handle these angles, without regard to how they originate. For azimuth, theta3, elevation and del0 all zero, the effect of daz0 is to displace the beam direction from (1,0,0) to (c4,s4,0), where c4 = cos(daz0), s4 = sin(daz0). Del0 acts as a purely additive term in the encoder elevation. The fundamental relationship (without del0 pro tem) is ( x ) ( c4 ) v = ( y ) = Ra R3 Re ( s4 ) ( z ) ( . ) which may be decomposed into ( c4 ) ( Ce*c4 ) ve = Re ( s4 ) = ( s4 ) - 4 - Geometry of Telescope Drives Page 5 JCMT Note MTIN062.00 5 February 1988 ( . ) ( Se*c4 ) ( Ce*c4 ) ( x3 ) v3 = R3 ve = ( c3s4 - Se*s3c4 ) = ( y3 ) ( s3s4 + Se*c3s4 ) ( z3 ) ( x ) ( Ca*x3 - Sa*y3 ) v = ( y ) = Ra v3 = ( Sa*x3 + Ca*y3 ) ( z ) ( z3 ) The algorithm for AZ to EN is therefore Given (x,y,z) and z = z3 Get Se = (z - s3s4)/c3c4, and find E, Ce, x3 and y3 Get angle A from x = Ca*x3 - Sa*y3 y = Sa*x3 + Ca*y3 by 'solving' for Ca and Sa and taking arctan from A = atan2 ( -x*y3 + y*x3, x*x3 + y*y3 ) Finally allow for non-zero del0 by putting encoder elevation = E - del0 The EN to AZ conversion is the reverse operation. The subroutines drive__aa2es and drive__es2aa perform the above conversions. 4 CONTRIBUTORY FACTORS TO DAZ0, DEL0 The largest contribution to daz0 and del0 will be of up to 5 arcmin from secondary mirror tilting; other factors are not likely to be above about 1 arcmin. These values are small enough for the different contributory factors to be additive, though not small enough for first order approximations to the equations of Section 3.2 to be adequate. In what follows it is therefore sufficient to derive the functional form of the contribution to daz0 and del0 from each particular cause. - 5 - Geometry of Telescope Drives Page 6 JCMT Note MTIN062.00 5 February 1988 4.1 Simple Receiver-dependent Effect Each receiver will have daz0 and del0 values corresponding to the precise direction its beam points to. If the receiver and telescope are rigid, these values should be constant for as long as the receiver is mounted. In practice, two levels of values are held: daz0_tel, del0_tel: values regarded as referring to the nominal axis of the telescope structure daz0_rec, del0_rec: values giving the offset from the above axis for the particular receiver mounted 4.2 Secondary Mirror At any instant the secondary mirror orientation and position will give contributions daz0__sm and del0__sm. In some applications these values may change frequently and may be of up to 5 arcmin. The telescope drive task reads daz0__sm and del0__sm each second and computes the full trigonometry as in the previous section; a change in daz0__sm and del0__sm is treated internally as a new Step, since it may correspond to quite a large movement in encoder values. 4.3 Nasmyth Focus Here we consider the effect of observing at the Nasmyth focus with an imperfectly aligned system. There is no loss of generality in considering the elevation axis strictly horizontal and east-west. When at zero elevation the system comprises (a) a mirror on the main telescope axis, whose normal is in direction vm (ideally at 45 degrees between the x and y axes), and (b) a receiver in the direction vr (ideally along the y axis) from the mirror. We suppose initially that the telescope x axis intersects the mirror at the origin, and that the +y Nasmyth focus ('Nasmyth__right') is being used. - 6 - Geometry of Telescope Drives Page 7 JCMT Note MTIN062.00 5 February 1988 4.3.1 Mirror supposed at origin of coordinate system As the telescope is driven in elevation, vm rotates with the telescope but vr remains fixed in space. We need the direction v with respect to axes rotating with the telescope of an incident beam which on reflection gives a beam in direction vr. With Re = rotation matrix for elevation drive, we have Re v + vr = 2 * Re vm * cos(theta) where theta is the angle of incidence (or reflection) at the mirror; cos(theta) = scalar product of Re vm and vr. Alternatively v = 2 * vm * cos(theta) - R(-e) vr where R(-e) is the inverse of Re, and cos(theta) = vm . R(-e) vr The small departures from ideality of vm and vr can be represented by four quantities, u1 to u4. vm may be regarded as rotated from its 45-degree position in the xy plane by an angle u1 towards the x-axis and by an angle u2/sqrt(2) out of the xy plane towards the z axis (the sqrt(2) factor is introduced for later convenience). vr may be regarded as deviating from y-axis by angles of u3 and u4 towards the x and z axes respectively. Formally they may be defined by the relations (which assume u1 to u4 small) ( 1 + u1 ) vm = ( 1 - u1 ) * 1/sqrt(2) ( u2 ) ( u3 ) vr = ( 1 ) ( u4 ) The effects of non-ideality can be found by computing v = (1,daz0,del0), which gives daz0 = -2*u1 + u3*Ce + u4*Se del0 = u2 + u3*Se - u4*Ce u1 and u2 give contributions analogous to daz0__rec and del0__rec for a receiver fixed on the main axis. u3 and u4 give elevation-dependent terms of a type different from those of other misalignment effects (see table in mtun005, SK 26 Aug 1986). A similar analysis for the -y focus ('Nasmyth__left') gives daz0 = 2*u1 + u3*Ce + u4*Se - 7 - Geometry of Telescope Drives Page 8 JCMT Note MTIN062.00 5 February 1988 del0 = u2 -u3*Se + u4*Ce The elevation-dependent terms have a different functional form from the Nasmyth__right case. 4.3.2 Mirror displaced from origin of coordinate system Suppose now the telescope x axis intersects the mirror at the point with position vector vc = (xc,0,0) rather than at the origin. To first order, vr becomes vr0 - vc (throughout this section, suffix 0 denotes analysis of the previous section, where xc is assumed zero). cos(theta) = vm . R(-e)(vr0 - Re rc) = cos(theta)0 - vm . rc Since vm = (1,1,0)*1/sqrt(2) to sufficient accuracy for computing the correction term, the extra term in v is v - v0 = -2 * vm * (vm.rc) + rc = (0,-xc,0) i.e_. effect is of the same type as u1 or daz0__rec and will be indistinguishable from it in practice. 4.4 Flexure Simple flexure of the secondary mirror support gives del0 = f0*Ce. - 8 - Geometry of Telescope Drives Page 9 JCMT Note MTIN062.00 5 February 1988 4.5 Cassegrain Flexure In addition to the above, there is the effect that a mirror at 45 degrees reflects the beam to a direction in the plane normal to the main telescope axis. ______ _______ The focus_ azimuth F specifies the direction in the plane and is defined as the true azimuth of the receiver direction when the telescope is at azimuth 0 (North meridian) and elevation 90 (zenith); verbal equivalents for the four common cases are F = 0 bottom 90 right 180 top 270 left Take axes fixed to the telescope, with x-axis along the nominal telescope beam and y-axis along the elevation drive. The vector vf = (0,Sf,-Cf), with Cf = cos(F), Sf = sin(F), gives the direction towards the receiver from the mirror. If gravity acts in the -x direction (elevation 90), vf will be displaced by dvf = (-f1,0,0); if gravity acts in the -z direction (elevation 0), vf will be displaced by dvf = (0,0,-f2). At general elevation, the displacement will be (-f1*Se,0,-f2*Ce). The mirror normal (assuming no deflection of the mirror) is at 45 degrees, midway between the direction of F and the x-axis, i.e_. vm = (1,Sf,-Cf)/sqrt(2). The reflection matrix Rij from a mirror with normal Ni is 2*Ni*Nj - 1. Rij(vf) = (1,0,0) as expected. Rij(dvf) is given by ( f2*Ce*Cf ) Rij(dvf) = ( - f1*Se*Sf + f2*Ce*Cf*Sf ) ( f1*Se*Cf + f2*Ce*Sf*Sf ) The x component of Rij(dvf) affects the focus but not the pointing; the y and z components give daz0 and del0 daz0 = - f1*Se*Sf + f2*Ce*Cf*Sf del0 = f1*Se*Cf + f2*Ce*Sf*Sf with obvious simplifications in the usual cases of F = 0, 90, 180 or 270. - 9 - Geometry of Telescope Drives Page 10 JCMT Note MTIN062.00 5 February 1988 4.5.1 Secondary Mirror - computation _of _daz0__sm _and _del0__sm This section considers how to compute daz0__sm and del0__sm for given offsets when chopping with the secondary mirror. The two beams S (source) and R (reference) are at known positions in a stated coordinate system. The required condition is that if the secondary mirror is at (daz0__sm,del0__sm) and the beam is at S, then changing the secondary mirror to (-daz0__sm,-del0__sm) will point the beam to R for the same settings of the telescope drives. The values needed will depend on the azimuth and elevation of S and on the other pointing corrections currently in force. Values need to be recomputed at intervals; how often is best determined dynamically. The subroutine drive__off2sm uses the following procedure: Convert the S and R positions to (normalised) vectors vs and vr in cartesian AZ coordinates. Compute vm = 0.5*(vs+vr), corresponding to M, the bisector of the angle between S and R. Note: only third order errors are introduced by not normalising vm. Find the azimuth encoder reading A such that if daz0__sm and del0__sm were zero the beam would point to M. This could be done by calling drive__aa2es, as in Section 3.2, with s4, c4 etc set up for theta4 = daz00, the value that arises from all effects except secondary mirror beam swings. In fact it is done directly and equivalently as follows: For given A and theta3 (and s3, c3 etc), the vector va = (-c3*Sa,c3*Ca,s3) gives the direction of the elevation axis; it is the 'right-hand end' of it as you look out with the telescope. The scalar product va.v = va.vm gives sin(daz00), i.e_. s4 = va.v = -c3*Sa*x + c3*Ca*y + s3*z = c3*y3 + s3*z with y3 as in Section 3.2. A is then given by A = atan2(y,x) - arcsin(y3/sqrt(x*x+y*y)) Note that x*x+y*y = x3*x3+y3*y3. The scalar product va.vs gives the total daz0 for S, and hence daz0_sm = va.vs - daz00 Let vah = (Ca,Sa,0) and vaz = (s3*Sa,-s3*Ca,c3); with va they form a equilateral triangle. For S the scalar products vs.vah etc are related to the elevation encoder angle Es by vs.vah = cos(Es) * cos(total daz0 for S) vs.vaz = sin(Es) * cos(total daz0 for S) - 10 - Geometry of Telescope Drives Page 11 JCMT Note MTIN062.00 5 February 1988 Compute Es by Es = atan2(vs.vaz,vs.vah) and Em similarly. Del0__sm = Es - Em. The first stage of this computation (conversion to AZ) is done for a specific epoch (e.g. a stated number of seconds from the start of the current Step). To establish how quickly the values are changing, the computations should be repeated for a neighbouring epoch and compared. - 11 -