Saturday, August 19, 2006

Trajectory analysis - avoiding Murphy's law.

Much of our design rests on an assumption that using the swinger servos, we can pretty much cover a nice swath of land (as opposed to just looking down or Nadir). In order to accomplish this, we designed the swinger servos that would allow us to cover larger land mass by swinging the camera back and forth. However, HASP has the particularity of letting its large payload rotate at a speed of about 1rpm. Why not use the payload rotation to replace the movement we provide with the swinger servo ? This is what we are considering.

If you evaluate the swath of land being swept here is what you obtain (no payload spin):



This result can be obtain by changing everytime the swing angle of the camera as shown here:



Whereas if you tilt GeoCam sideways (15 degree angle) and use the rotation of HASP this is the swath you obtain:



with a constant swinger angle



Not having to use the swinger servo and using HASP rotation might be a good option.
Here is the short matlab program that produced these figures (one might note we are taking a picture every 23 seconds.)

clear
alt=120000*.32;
t=[0:23:8*3600];
%th=10*sin(pi/10.*t./23);
th=15*sin(t./600*2*pi);
dist=tan(th/180*pi)*alt;
omega=2*pi/60;
v=50*1.6*1000/3600;
r=1.06+dist;
x=v.*t+r;
y=r;
figure(1)
plot(x,y,'o')
xlabel('Direction of flight in meters - 1E5 = 100 kms')
ylabel('Lateral view in meters')
title('Representation of image centers taken by GeoCam, no spin')
figure(2)
plot(th,'*')
xlabel('Direction of flight in meters - 1E5 = 100 kms')
ylabel('Swinger angle')
title('Representation of the required swinger angle of GeoCam in the no spin case')
%
th=15*ones(size(t,2),1);
dist=tan(15/180*pi)*alt;
r=1.06+dist;
x1=v.*t+r.*cos(omega.*t);
y1=r.*sin(omega.*t);
figure(3)
plot(x1,y1,'o')
xlabel('Direction of flight in meters - 1E5 = 100 kms')
ylabel('Lateral view in meters')
title('Representation of image centers taken by GeoCam, spin rate = 1rpm')
figure(4)
plot(th,'*')
xlabel('Direction of flight in meters - 1E5 = 100 kms')
ylabel('Swinger angle')
title('Representation of the required swinger angle of GeoCam, spin rate =1 rpm')

No comments: