Serpentine

My primary motivation for making the Saturn V Rig was to create an inexpensive and highly customizable system for capturing kite photos for 360° panoramas. The standard sketch (program) for the SkyShield KAP controller includes seven different modes for taking photos that cover 360°. If you need only part of that panorama, a subset of the photos can be used but then you wasted time taking all the other photos. It is also possible to instruct the rig to take photos that cover less than the 360° view. My first attempt to write a sketch for this failed because the pan servo does not work like the tilt servo.

The standard tilt servo can be instructed to move to any position within a range of about 180°. So it can go back and forth between two angles with some precision. It is not as precise as a stepper motor, but it's plenty good for applications like aiming a kite borne camera. The servo used for panning the camera horizontally on the Saturn V Rig does not have as much precision. It is a distinct type of servo that can rotate in the same direction indefinitely, which is what we want the Saturn V Rig to do most of the time. This "continuous rotation servo" is not controlled by instructions to turn to a certain angle (like a standard servo) but is just given a motor speed and a duration. If the same speed and duration are given repeatedly, the servo does a good job turning approximately the same amount each time. But if you want to turn exactly four times farther, the precision is lost. I think that is because the servo must accelerate to the requested speed and then decelerate to stop. So operating the servo for four seconds rotates the axle more than operating it four times for one second each. 

My first sketch instructed the pan servo to move in small increments to take four photos, and then return to the starting position in one big move (four times the motor duration of the small moves). The tilt servo then changed the tilt angle and four more photos were taken as the pan servo moved in horizontal increments again. Because the pan servo always rotated farther on the big return move, the four photos at the second tilt angle were not aimed the same as the first four. And the error accumulated with each new tilt angle until the newer photos were not pointed anywhere near the right direction.

It should be possible to correct for this by decreasing the speed or duration of the big return move so it matches the sweep angle of four small moves. But the required correction will probably vary as the batteries wear down. So I changed the sketch to return to the starting position in four small moves. Instead of just making this jerky, start-stop return and then panning the other way to take four new photos, the photos are taken during the return. This means that the grid of photos is taken in a serpentine or zigzagging pattern instead of a typewriter pattern. 

zigzag.jpg
Photos will be taken in a serpentine or zigzag pattern with the new non-360° SkyShield mode.
That is not ideal because as you view the photos in a file viewer or program like Lightroom, there is no way to see the grid of photos arranged in the pattern in which they were taken. So browsing your new set of KAP photos could be a little confusing. But the photo stitching programs are mostly (e.g., MS ICE but not Gigapan Stitch) smart enough to have an option for sorting and viewing photos that were taken in a zigzag pattern. And many of the stitching programs don't even need to know where the photos fit in the grid. So the stitching process should not be compromised too much. 

The current version of the SkySweep sketch with the new non-360° mode (mode 7) is now available at the Guides page. It is version 2.07 (direct link for downloading). There is only one mode for non-360° shooting and it will probably work best with a 24 mm (equiv.) lens. This mode takes a 4x4 grid of photos covering about 180° horizontally and 120° vertically. The comments indicate which lines of code should be modified to change the pan or tilt angles, or the number of pan or tilt positions. 

Let us know if you modify the sketch for other lenses or other grid patterns.

More Articles...