15 May 2010 - Added some guff about shutter releases for robotic pano heads.
31 May 2010 - Added some more guff about using relays instead of motors in the shutter release mechanism.

Content

Thursday 15 April 2010

Please note - New blog on building your own motorised panohead. Unlike this crap, it is not limited to using Lego or arboreal products. http://sourceforge.net/apps/phpbb/automaticpanohe/

What is a pano


Wikipedia defines a panorama (hereinafter referred to as a pano) as :-

'A panorama ....... is any wide-angle view or representation of a physical space, whether in painting, drawing, photography, film/video, or a three-dimensional model.'

For the purposes of this discussion, I will narrow that down to a photograph which is wider than the conventional 'postcard-shaped' photograph and which is formed from two or more photographs stitched together using a computer program.

This excludes collages formed by placing photographs side by side or on top of each other and photographs taken by wide-angle 'panoramic' cameras.

I am also arbitrarily excluding equirectangular panos because I don't like them. Mainly because I don't know how to do them. So there.

Why a pano?

Well, mainly because it looks more natural and you get more of the scene in one picture. The other advantage is that a pano can be a 'resolution multiplier'.

To take just one picture of a scene you will usually have to use a wide angle lens to get it all in. However you can use a telephoto lens to take a series of shots covering the scene and stitch them together.

If you take a wide angle photo using a camera with 3,000 pixel wide sensor you will get a reasonable picture but you will not be able to zoom in or print it at a large size without it becoming 'blocky'.

If you fit a telephoto lens which enables you to cover the same width in 10 shots, you will end up with over 20,000 pixels (depending on the overlap) when stitched together. This is exactly the same scene but the level of detail available will be much greater.

If you want to see just how well this works just look at the Gigapan website. http//www.gigapan.org

The problem at my age is standing there taking all these photos so I decided to get an automated head to do all the work.

Cameras

Many people have asked me 'What kind of camera do you need to create a pano?'

Well, if anyone ever spoke to me I'm sure that is the sort of question they would ask.

Just about any camera will do as long as it takes reasonably sharp pictures.
Models which allow you to set the exposure and focus manually can cope with a wider range of scenes and weather conditions. If you want to end up with a highly-detailed pano then the larger the resolution and/ or the focal length the better.

Auto or manual exposure

Should you set the exposure yourself or just use the automatic setting on your camera? I can give you a definitive answer on this one, it depends.

Conventional wisdom is that you should always set it manually to avoid variations between shots but the Autopano website recommends using automatic to ensure each shot is properly exposed then letting the program sort out any variations.

I must admit that, being both an impatient bastard and a user of Autopano Pro, most of my panos are shot on automatic exposure. I usually get away with this but occasionally end up spending more time trying to adjust the pano than I saved by not taking a bit more trouble when shooting. And sometimes the panos are beyond redemption.

There are two things to consider, the weather and the scene.

If you have to shoot on a day when there is partial cloud cover, the lighting can change dramatically quite quickly. If you have set the exposure manually then there may be a wide variation between shots which exceed the capabilities of your stitching program.

If the scene itself is fairly static then you can time your shots to avoid the worst of the variations. Sometimes this may not be possible, such as a seascape where the tide is coming in or out rapidly, especially if taking a multi-row pano.

One way round this is to use 'bracketing' by taking several shots at different exposures before moving on. Tricky if you are not using a tripod. If your camera has auto-bracketing built-in then it is advisable to use this all the time. Read your camera manual, my Canon normally requires three separate button presses but will take all three automatically with one press if using a remote. It is easy to get distracted and lose track of which shot a bracketed photo is going to be in. Well, it is for me anyway.

You can then select the shots you want to include based on the best exposures or let programs such as Autopano Pro use these extra shots to even out the scene.

APP will also allow you to create different panos for different exposures which you can then combine with a separate hdr (high dynamic range) program. For this to work you have to have photos covering the entire scene at either the same aperture or the same shutter speed if you want to avoid gaps in some of the panos.

The composition of the scene can also have a significant effect on the exposure required.

If you are shooting a landscape which is fairly level but has a large hill in the middle, then the camera's automatic setting will tend to vary the exposure depending on the ratio of ground to sky. When the pano is stitched, the sky around the hill will end up lighter than elsewhere and might even be a different shade. This can be very noticeable and is usually incurable unless you are much better at photo manipulation than I am. This has spoiled a couple of my panos. Just as well that they were all shite anyway. I suspect this effect may be enhanced if using auto colour balance. It will also vary depending on how the camera judges exposure, i.e. centre-weighted or not.

If the scene does not have wide variations in exposure then you will probably get away with the automatic setting but, on balance, it is better to use manual exposure and even better to use exposure bracketing.

Bracketing can also help in keeping detail in the sky. Usually landscapes will get the land reasonably well exposed but the clouds will be washed out because the sky is too light. If you set the bracketing so that the highest exposure matches what is required for the ground, the lowest exposure will help to make the clouds visible.

Colour balance

This should be set to suit the weather and preferably measured on the day if your camera allows the use of custom white balance.

Auto or manual focus

Again, it depends on what you are shooting.

If the scene is detailed, brightly lit and has a decent amount of contrast then autofocus will work quite well. On the other hand where there are bland or similar areas (sea, sky or clouds) then the camera might never focus properly. If you are shooting manually you can cope with this. A robot can't and will move on without taking a shot or shoot whilst moving. I had this where the scene included a cliff halfway across, there was too much sky in the latter stages and no focus, even though there were some features along the bottom of the scene.

Mind you if shooting a 180 degree street scene, I would probably opt for autofocus to make sure that both the near and distant features were sharp.

If you are in doubt about whether the camera can focus with the lens you have on then stick with manual.

JPEG or RAW

Raw files take up a lot more space on your memory card and take a lot longer to download to your camera (and then to your computer). Even stitching programs which can handle these files recommend that you process them into a different format first. On the other hand, you can convert them into .tiffs which gives you lossless input files and most stitching programs can output them in that format to keep the highest quality.

Never tried that so I can't say whether it is worth the extra time and effort. I normally use jpegs all the way. And it shows.

Tripod or hand held

It is possible to shoot very good panos using a wide-angle lens without a tripod, especially on a bright day or if your camera has some form of stabilisation built-in.

As the focal length increases or the light fades, the need to keep the camera steady becomes more important and you have to take greater care. Leaning against a wall, tree or lamppost can help but a monopod or other support is to be preferred. Even then you should still lean against a wall, etc. I have a 'rifle grip' which very handy but these seem to have fallen out of favour nowadays and can be hard to find.

A great advantage of a tripod is that you have better control over the positioning of the camera. It is difficult to take a succession of shots keeping the camera at the same angle unless you have some feature such as the horizon to guide you. It is even more difficult to shoot more than one row of photos whilst keeping a consistent overlap between rows. If one photo is higher than the other then your final pano is likely to have blank sections. If these are along the top and bottom they can be eliminated by cropping the pano but then you will lose parts of each shot. If they are in the middle of a multi-row pano then your time has just been wasted as the pano is ruined.
In extreme cases, if the angle changes from one end of the pano to the other then cropping might mean losing a significant percentage of the scene.

If you cannot use a tripod it is better to take plenty of pictures to avoid having any gaps. If you take a two-row pano then run another set of shots along the middle to eliminate any blank spots. Look at the area you want to capture and make sure you shoot above, below and to the sides of that area. Especially if there are features such as church spires or chimneys you want to include.

Memory cards and rechargeable batteries are cheap so buy some spares and don't try to limit the number of shots. You can never take too many but it is very easy to take too few. If you think you might have missed a shot, take it again.

When you consider the time it takes you to reach your destination, park your vehicle, select the ideal spot, get back to your vehicle, drive home, download your pictures then stitch them it is worth spending a few more minutes to get it right. After all, if there is a blank space in the middle of the pano then it has all just been a waste of time, money and effort.

Another advantage of a tripod is that you can interrupt the pano then start again without losing the place. If a bus stops in front of you then you can just wait until it has passed.

If you are using a long focal length then you need both a tripod and a remote shutter release if you want sharp pictures. Few cameras nowadays seem to have the shutter button threaded to take a mechanical release but many have an infra-red sensor and/ or a connector for an electronic release. Manufacturer's versions tend to be very expensive but there are plenty of cheap imitations on eBay which work just as well. So cheap in fact that you can buy two and have a spare. I bought two cable and one radio controlled release for less than Canon were charging for one cable release.

Yet another advantage of a tripod is that you can buy or make a protractor-like device which shows you how much the camera turns between shots.
If you set a vertical feature of the scene at one side of the viewfinder or screen then turn the camera so the same feature is at the other edge, then you can read off the angle of view of the lens at the zoom setting you have selected.

For instance, if the difference of the readings is 12 degrees and you want to overlap each picture by one quarter, then you know you have to turn the camera 12x3/4=9 degrees between shots. For a one third overlap it would be 12*2/3=8 degrees.

Now you can point the camera at one end of the pano and just keep turning it by the required angle until you get to the end of the pano (or past it to be sure you have it all). For a multi-row pano, incline the tripod without turning it then go back by the same amount each time. This will help to line up the shots between rows and minimise parallax errors.

You don't even have to stand behind the camera to do this if space is tight. Just point the camera well to one side of the start of the scene you want and keep shooting until you are well past the end. You can stand at the side of the tripod whilst doing this. Or even at the front if you are a real shortarse and your head doesn't foul the camera lens.

If you wish, you can establish the angle of view for each zoom setting in the comfort of your own living room and note these on a card. This saves you having to measure it on site each time.

Nodal point

What is a nodal point and do I really need one? Can surgery help?

These are essential if you are serious about panoramic photography. Fortunately, I know someone in Nigeria who over-ordered these items so I can make them available at a very low price. Just e-mail your bank details to me saying how many you want and I will send them by return post.

More importantly, how does it affect my pano? Again, it depends! Great phrase that, you can tell I used to work for the Cooncil.

Essentially, the nodal point is the place about which you can rotate your camera without having any parallax errors. None, zero, zilch.

This point is also called the 'exit pupil' in some articles.

See Wikipedia :-
http://en.wikipedia.org/wiki/Cardinal_point_%28optics%29

Parallax error

If you stand in front of a lamppost and move your head from side to side you will notice that the background moves relative to the post. That is called 'parallax error' and it can be critical or insignificant depending on the circumstances.

This happens every time you take two photos side by side, even if you mount the camera on a tripod. The lamppost will be in different positions relative to the background. The amount of relative movement is affected by how far you turn the camera and how close the nearest item is to the background. If you are shooting a mountain range across a valley then you would never have any problems. If you were shooting the mountain range with the lamppost in front of it then you would probably notice it.

If you are taking a single-row pano where the lamppost lies in the overlap area then modern software will look at both shots and decide which version to use. If the background is fairly open (such as a field) then it poses few problems. If it is highly detailed then it might affect the result. If it lies in the middle of a shot then it does not matter at all.

If you are shooting multi-row panos then it can be far more serious since the program might assign a vertical feature to different places in different rows.

The very first digital pano I created had two rows and was taken by shuffling round while I kept the camera up to my eye. The front of the camera moved between shots and I made no effort keep shots directly above each other. There was a lamppost near to me and it ended up in different places in the two rows. When stitched, the program could not resolve the anomaly and I spent two weeks trying before admitting defeat and resorting to cut & paste to 'fix' the problem. No-one has commented on this but I know it has been bodged.

You can minimise the effect by avoiding objects close to the camera. Step to one side or move closer to the background. If there is higher ground so you can look over the nearer object then go up there. If this is not possible, try to place the near object against a plain background such as a wall or sky.

Ideally you should ensure that your camera's nodal point (not the camera mounting screw) is over the centre of your tripod since that will avoid any problems. Unfortunately, this slippery little bugger keeps moving about. It not only varies between makes and models of cameras but will change if you fit a different lens or extend the zoom. The best thing is to find where it is for your particular camera/ lens combination and try to ensure that you mount the camera as close to that point as possible. You will not usually be able to do that without placing some sort of bracket between the camera and tripod.

Many people have devised methods for locating the nodal point and you will find them from a web search.

The method I use which requires the tribrach and tripod from a laser level together with a metal bracket bolted to a piece of wood about 20-24mm wide.


Place the wood into the tribrach and mount the camera on the bracket.
Find a comfortable spot in your living room facing a window and line the tripod up with part of the window frame.
Swing the camera from side to side and watch how the background outside moves relative to the window frame.
Slide the wood along the tribrach and repeat.
If the background moves faster then you are moving away from the nodal point so slide the wood in the opposite direction.
Repeat until the background stops moving at all, no matter how far round you swing the camera.
The nodal point now lies over the centre of the tripod so you can measure where that lies relative to the camera or just mark the wood and measure later.
Repeat for different lenses or different focal lengths if you are using a zoom.

Use a longish bit of wood. I was surprised to find that my Fuji S9500 sat well in front of the tripod at maximum zoom!

If you have a flat flash-bar then you can mount that on a conventional tripod and it will work just as well.

You might find that the nodal point for your camera/ lens combination lies so far away from the tripod that it is not practical to have the camera rotating about the nodal point. In that case you will just have to take the precautions mentioned above to minimise the effects.

Stitching programs

Once upon a time panos were created by trimming your prints then glueing them together edge to edge. Been there, done that and don't wish to return.

Then some bright sparks wrote programs which took digital photos and strung them together. You had to tell the programs which shots to use and how they were positioned but, most of the time, they did a good job of creating panos.

Then there was a development which changed everything. Two very bright sparks sat down to think about the process from the start and the result was Autostitch. You just pointed the program at a directory containing photos and it worked out which files belonged to a pano! It then did a very good job of stitching them together. I sometime wish I wore a hat just so I could take it off to them.

Autostitch is still available (at no cost) and does a very good job but many other companies have licensed the technology and developed even better programs. These are no longer free but might be worth the extra expenditure depending on what you are trying to do.

The only problem worth mentioning is that some of the programs are throwbacks in that they expect the photos to be laid out in a certain way. If you intend to use any program, you should check to see if you have to take your shots in a particular order.

It is worth searching for free panorama programs, there are quite a few available.

Woody - motorised pano head

The whole rotten saga!

For years men have been building robots because we want to explore and advance the limits of science, help mankind the world over, etc, etc.

But mainly, as in my case, because we are fundamentally lazy bastards.

As age and infirmity began to limit the time I can spend standing up I became interested in mechanising the process of taking a panorama. As I was rushing to complete a pano before my back gave out I found I was missing the occasional shot or not getting enough overlap.

At first I used a protractor on the tripod to measure the angle I had to turn the camera so that I could take shots without having to bend over and look through the viewfinder all the time. This speeded up the process and helped my back but I found it difficult to fit the protractor to the tripod top.

I then realised that I already had a rotating unit with a scale round the outside in the form of the tribrach from a laser level I had bought. This had three levelling screws so you could make sure the vertical axis was set with reasonable accuracy.

The problem was that there was no way of fixing my camera (Fuji E550), just a 24mm groove 50mm long with a clamp on one side to hold the laser level. This obviously called for a sophisticated, machined assembly to be attached to the tribrach. However, as a true Scot there was no way I was paying for that so I went along to Homebase and bought a length of 24mm square pine.

I then built my first pano head which consisted of a folding camera flash bracket screwed onto a length of pine. An aluminium L-shaped bracket to hold the camera was made to screw onto the upright section using a wing-nut so it could be rotated. An old metal bracket was fixed to the base and the bottom of the L-bracket for additional stability. The pine base just clamped onto the tribrach.

Although the Fuji 550 was a great little camera, especially with the 2x converter lens, I often found it too difficult to read the camera settings on the rear screen in daylight so bought a Fuji S9500 which had an electronic viewfinder.

This would not fit onto my pano head but I still had some pine left. So, back to Homebase for a packet of small, metal T-brackets. Drill a hole in a bracket for the camera screw, stick some plastic foam on the top and fix it onto the wood after cutting out a slot to clear the camera screw. Place wood into tribrach, screw up clamp and, sorted!

This enabled me to locate the nodal point of my new Fuji, which turned out to lie behind the camera at full zoom! I could use it for multi-row panos by just tilting the wood upwards or downwards before tightening the clamp. A bit limited in vertical range but it worked. And, most importantly, it was cheap.

Unfortunately, as I am easily distracted, I frequently found that I still kept losing the place because I was thinking about how the process could be improved, the girls in Woolworths, etc. This rather negated the advantages of the system .....

I decided that some form of computer control was essential to overcome my physical and mental deficiencies.

I am not going into all the variations of photographic robots available but I would like to mention a few of the types that I have spotted on the 'net.

The first seem to have been adaptations of motorised mountings used for astronomy, where is essential to keep the telescope moving if you want to keep an object in view.

They originally had simple hand controllers but with the rise of computers you now get units with integrated electronics and others which you can control through a computer, pda or even a mobile phone by cable or Bluetooth. You can now shoot a pano whilst you sit in your car and your laptop or whatever controls the mounting!

Being tight as well as lazy, I was not prepared to spend the sums involved for a professional mounting together with the pda, mobile phone or whatever needed to control it.

Then I came across the Gigapan Project. This involved the construction of an integrated unit specifically designed to take panoramic photos. It was expensive but they were offering large discounts to anyone interested in taking part in the initial trials.

After vacillating for several weeks I decided that it was worth a try and applied for a unit. Only to find that it could only cope with a small range of small cameras and I had just bought a hefty Fuji S9500. To take part I had to commit to buying a compatible camera, none of which were as good as my Fuji. Oh well, why expect practicality from a project run by academics?

There were several designs for home-made pano heads but these were based on stepping motors and programmable chips. I considered this but it all seemed a bit too technical for someone not versed in electronic design.

I kept looking and found that many people had built motorised pano heads based on the LEGO NXT robot kits. This was a much more attractive option as the controllers, motors, cables and programming language were all available as an integrated package with lots of world-wide support in user forums, etc.

Some of the designs seemed a bit flimsy and at least one of these had disintegrated under the strain, allowing the camera to fall to the ground. Ouch!

More sturdy models had been constructed but these used metal components requiring the use of machine tools, welding, etc which were not available to me. However, I decided that the use of LEGO was The Way Forward.

I started looking on eBay and quickly found that, although the LEGO NXT kits are very expensive (£180-£200), they are also very cheap. This is because they are bought as presents, used once then put aside because they are too difficult. This means that there is a constant flow of complete kits available for around £100-£120, less if you are prepared to wait. I finally snagged one for about £80, although I have seen them go for as little as £50.

Extra bits are always available because many kits are broken up and sold as spares. The cheapest way is to get a complete kit then buy other parts you will need; you can always sell unwanted items.

Armed with my new toy I set out on my quest for the Holy Grail of the Perfect Pano Head. I quickly found that it was easy to build a very solid platform for the camera. This was mounted on a less-solid base to permit rotation about a horizontal axis. A bit shoogly from side to side but I was all set to take vertical panoramas of skyscrapers.

Problem 1 - no skyscrapers in Scotland. Rotation about the vertical axis was an essential requirement.

Problem 2 - I could not solve Problem 1.

I tried several designs but found that the plastic LEGO beams behaved in a, well, plastic manner. I thought I had it sorted with the last model and mounted my Fuji at full zoom. I tapped the end of the lens and after two minutes realised that I had invented the world's first perpetual motion metronome. Waiting several hours between shots for the camera to settle did not seem a practical proposition.

I reluctantly had to abandon my dream of an all-LEGO assembly. However, I had some wood left from my second pano head and the laser level tribrach, so ......... Woody was born.

This used two wooden uprights screwed onto a horizontal beam which fitted into the groove on the tribrach. A LEGO turntable was mounted onto one upright and driven by a train of LEGO gears mounted on LEGO beams. A simple U-shaped wooden table was fixed to the turntable at one end and pivoted on a metal rod through the other upright. A metal T-bracket was mounted on the U-shaped table to take the camera. Another all-LEGO gear train was fixed to the horizontal beam to drive onto the bottom of the tribrach. A third LEGO motor moved a claw which operated a standard mechanical cable release.


Connecting the drive to the bottom of the tribrach was the biggest problem. I first tried LEGO rubber caterpillar tracks screwed onto the tribrach and driven by a slotted wheel. This was unsatisfactory as there was too much elasticity. The wheel could turn quite a bit before any movement occurred so there was too much slack.


I finally attached a length of LEGO chain to the tribrach. Screws would have interfered with the gear used to drive it so I had to use Blu-Tak. Worked out quite well because it is easy to adjust the chain up or down to match the gear wheel. I expected to keep repairing the links but, so far, none have broken.

Then I had to program the controller, which was a rather protracted affair. I spent some time evaluating different programming languages but finally settled for the NXT-G supplied with the kit. Some pano head builders had published their programs but these meant little to me because I did not understand the underlying logic. However, I got there eventually and Woody worked quite well. Except that all the holes were drilled by hand so they did not quite line up, This meant that as the camera carrier rotated the axles started to bind up as they got out of alignment. Nothing serious but irritating nevertheless. However .......

I always felt that it was better to have the camera in portrait orientation for taking panos. Woody had been a conservative design because I expected the motors to be weak and the parts to be delicate. For instance, the program started at the top of the pano and worked down so the motor was lowering the camera rather than raising it. However, tests showed the motor was perfectly capable of raising the Fuji at full zoom even when it was mounted right out in front to get the nodal point in the correct place!

So, I started wondering how I could build a simpler version with just one upright holding the camera in portrait mode. One problem with the LEGO turntable was that it popped apart easily when pulled. I could not rely on it to take the weight of the camera so started out with a coach-bolt through the upright as a pivot. The bolt shank was smoothed off with emery cloth and an electric drill. Once through the hole it was turned with an electric drill until it moved fairly easily but with no play. Perfect, except that I was only using a hand drill and the hole was at a slight angle .... Oh well, plough on regardless.


A wooden block was drilled to fit over the bolt and fixed to a LEGO turntable to provide the drive. An aluminium flash-bar was fitted onto the end of the bolt with a couple of pins to prevent rotation. The long slot in the flash-bar allowed the camera to be mounted on either side of the pivot point. A bracket at the front supported the lens to stop the camera rotating about the mounting screw whilst another at the back supported the camera body. This took almost all the load off the camera mounting screw.

The original drive trains for horizontal and vertical motion were re-used together with the same shutter release so no re-programming was necessary.

All in all, Woody II was perfect, elegant, a triumph of design, the pinnacle of perfection.

But ...

Except ....

Apart from ....

The fact that the pivot was at a bloody angle!

The more I looked at it the less I liked it.

Sadly, I was ashamed to let Woody II out of the house and it was dismantled without ever being used in anger.

But 'Hope springs eternal in the human breast', especially if you are an idiot who doesn't know when to quit.

New design requirement, has to cope with incompetent engineering.

So, back to the original shape of Woody but this time with the abilities to cope with mis-drilled holes and to hold the camera in both orientations.


I was going to mount the bottom drive on a pivot so I could move the horizontal bar about to keep the lens over the pivot point in either orientation. However decided to build the camera carrier so the lens is always in the right place either way and I could keep the same drive setup.

I took the opportunity to simplify the horizontal drive train by using a worm driven directly off the motor. Only a 52:1 gear ratio instead of 63:1 but much simpler. The same turntable was re-used but only bolted at one point on each side with plastic pins at the other for slight freedom to rock. Proposed wooden upright at the left side of the camera platform replaced with a metal bracket with a rubber grommet at the pivot. This provides enough side force to stop the turntable from coming apart but allows some movement without being too loose.

A bolt through the driven upright of the camera platform supplements the glue holding the blocks together and allows the camera mount to be placed there for portrait shots. Metal pins stop the mount from turning. I could re-use the same mount but built a second one with a bracket at the front to support the lens. No doubt it will sprout another bracket at the back to support the body as per Woody II.

This one is designed for my new camera (400D) so I built another shutter release using a cable release which plugs into the body. The operating part is just three flat springs which get pushed together as you press the button so I removed the case and made a mechanism which pushes them down.

Nodal point not so important for the sort of photography I do so a simple T-bracket for the camera. A bit too springy so stiffened with a flat bar (Homebase again) which allows me to put some rubber stops out front for the lens to rest on. Can always replace it with a flash-bar if I need to re-position the camera or use my Fuji S9500 instead.

Re-programmed it all in NXT-G version 2 and added a few touches to the program.

The remote release can be used with the controller to create time-lapse sequences. The whole ensemble can be re-programmed to create moving sequences where the camera shifts round between shots. Imagine shooting one side of a harbour in the morning and the other in the evening!

All in all, Woody III appears to be perfect, elegant, a triumph of design, the pinnacle of perfection.

But ...

Except ....

Apart from ....

The fact that I have now acquired a small bench drill from eBay so I can drill holes accurately, and how can I justify the expense to her indoors if I don't use it to build something?

Woody cost

Apart from oddments from my bits'nbobs box all parts were bought through eBay or from my local hardware store (Homebase).

I bought a complete LEGO NXT kit since that is much cheaper than buying the various elements separately.

For instance, controller £80, 3 motors £30, cables £10, gears & other bits - £20 - total about £140 compared to £110 -£130 for a kit and some other bits. And you can sell the unwanted parts on eBay to recoup some of the outlay.

LEGO kit plus extras £130
Wood £ 5 (enough for 2 or possibly 3 heads)
Brackets, screws etc £ 15
Remote release £ 10
Laser level (used) £ 20 (comes with a light but serviceable tripod)
Survey tripod £ 40
Approximate total £220

You could get the LEGO cheaper if you are prepared to wait (I have seen them for much less than £100 including postage). It could cost you more if you are impatient or if you upgrade the design such as using a flash-bar instead of a T-bracket to hold the camera (lets you adjust for the nodal point).

The laser level, tripod and remote are of course re-useable for other purposes if you do not amend them in any way.

The motors operating the horizontal and vertical rotations are held on by just one bolt and the shutter release mechanism by four LEGO plastic plugs. They can be easily removed if you want to build another pano head (one for portrait and one for landscape?) or even build a LEGO robot for the kids.

Apart from the wood (and the remote release if you butcher it as I did) all parts are re-useable or re-saleable. And you can always burn the wood if you have an open fire.

The cost is roughly comparable to the cheapest Gigapan unit ($349 at time of writing) and much less than the model designed for SLRs ($895).
http://gigapansystems.com

And you have the immense satisfaction of knowing that if it does not work then it is all your fault.

Woody program

The LEGO controller or 'intelligent brick' comes with a drag and drop programming language designed for kids to use. There are more sophisticated languages available, most of them free. Those with programming experience may prefer to use one of these but I found the NXT-G provided was perfectly adequate for a simple system like this.

NXT-G comes in two flavours, version 1.0 which is in the majority of kits on sale and the later 2.0 released last year. The main differences are that 2.0 uses floating point mathematics and can access the latest colour sensors. NXT-G 2.0 can read 1.0 programs but 1.0 can only read 1.0 programs. If you buy a kit with1.0 now and a copy of 2.0 later then you can still use your original programs.

The controller is the same for both versions of the language but you have to upgrade the firmware (free from the LEGO site) to use 2.0.

Unfortunately, LEGO do not sell the language separately so make sure that your kit (or controller if you buy it on its own) comes with the software cd. The cds come up on eBay but not very often. Those who know about such things tell me there are torrent sites but, of course, I do not advocate their use. Or even know what they mean. I just don't understand why LEGO will not sell the programs.

Once you have built the pano head, the program can easily be changed to accommodate different remote releases, etc. Or you can program it to just do time-lapse photography. One project I am contemplating is programming in the movement of the moon to make it easier to take a decent shot of it.

Many of those who built similar heads have published their programs on the 'net and you can use or modify those.

My program was built to do things the way I wanted but I was able to incorporate ideas taken from my predecessors. Mainly because they were better than mine. You are free to use my program or to adapt it for your own purposes (except commercial). It may be freely distributed provided than no charge is made except for copying and postage.

I use Autopano Pro which does not require the photos to be in any particular order. Other stitching programs (i.e. Gigapan) expect them to be in a particular pattern. I was not sure of the power of the LEGO motors or the battery longevity so chose a shooting sequence to minimise both motor load and the number of movements.

It starts at the top left of the pano, moves right along the row, drops down to the next row and shoots right to left, drops down then shoots left to right again and so on. You may have to modify this pattern to suit your stitcher.

The operation of the shutter release is slightly different if you are using manual focus instead of auto since you do not need to pause to let the camera focus.

I originally had two versions of the program depending on what focus method I was using but have now incorporated both and select the method at the start. If you are only ever going to use one method you can remove the code blocks you don't need.

Without going into all the fiddle faddle bits the program operates as follows :-

1. Choose the focus method
2. Define the width of the camera field of view (move an object from one side of the viewfinder to the other)
3. Define the height of the camera field of view (move an object from the top of the viewfinder to the bottom)
4. Define the scope of the pano (bottom right to top left corner)
5. Factor the fields of view to allow for overlap (i.e. 0.75*fov for 25% overlap)
6. Divide the pano width by the factored horizontal fov to get the number of shots per row
7. Divide the pano height by the factored vertical fov to get the number of rows
8. Initialise various items such as motor directions, counters, etc.
9. Take a picture using the appropriate focus method then increment the column counter
10. Check to see if this was the last shot in the row
11. If not, then go back and take another (step9)
12. If it is, check to see if that was the last row
13. If not reset the column counter, increment the row counter, reverse the motor direction and move down to take the next shot (step 9)
14. Repeat until all rows are completed

I threw in a code block to write the parameters to a text file called 'stats' to aid in debugging the program. Not essential but sometimes the code looks ok but just doesn't work and you have to remove and re-install elements. Once the head just kept going round and I found that a loop was not working ( the counter went past the number of columns required but the loop did not stop) so it came in handy.

NXT-G programs are created by dragging and dropping pre-defined code blocks onto what is called a 'sequence beam'. You can drop the blocks anywhere on the page but only those on the sequence beam will be compiled and downloaded onto the controller.

Information may be passed between blocks by storing it in 'variables' which can be accessed from anywhere later in the program. Alternatively, blocks can be connected by 'wires' which transport information directly from block to block.

Unfortunately, NXT-G has a habit of re-wiring the blocks whilst compiling the program without warning. You only spot it when the program does not work as intended. The only way I have found to stop this is to move the blocks around to keeep the wires as short as possible.

I have added links to version 5 of the Woody III LEGO NXT-G version 2.0 program together with diagrams
of the code in png and pdf formats to the sidebar (above left).


Fettlin' yer tribrach


Probably illegal in many American states but can be rewarding.

Tribrachs are usually pretty stiff to turn so that they will not move about once set. They are meant for light use only (laser light actually) and not built to a particularly high standard.

The bottom section is in two parts connected by the three adjusting screws (operated by plastic wheels) which set the upper part truly horizontal. The bottoms of the screws are usually held in place by internal clips which can be loose and allow some unwelcome movement. These can be tightened after removing the baseplate underneath.

The adjusting screws only have a limited range and it can be a nuisance to find that one of them has reached the limit of travel before the setup is complete. Turn one of them as far as it will go in one direction then count the number of turns it will make in the other direction.

If you now set each screw to half that number it will be midway. Take a felt-tip pen and run it round the barrel just above the rotating wheel. Before you use the tribrach, set all the wheels to these marks.

The upper part rotates about a central column which goes down through a guide in the lower part and is secured by a screw and large washer, The washer retains a flat, circular spring which helps to keep the two parts close but still allow movement. The upper part rests on a circular plastic ring which is engraved in degrees.

The friction between the upper section and plastic ring is quite high but there is still a bit of slack which allows the upper part to rock. Not so handy when the extra weight of the pano head, camera and lens increases the friction but does not eliminate the possibility of rocking. If you tighten up the fixing screw to prevent rocking then it will probably not turn at all.

I put a smaller washer above the flat washer so that it fitted inside the guide tube. This allowed me to fully tighten the screw but increased the gap between the sections to about 0.75mm. I then bought a sheet of ptfe 0.75mm thick and cut out a circular piece to fill the gap. Added a central hole just big enough to fit over the guide tube so it is held in place. Very little rocking and the upper section runs smoothly on the ptfe.

Most have either a very small spirit level or a circular bubble to assist in setting up but the addition of a larger spirit level (25-50mm) makes it easier. I bought a pack of spirit level key-rings (no, I didn't know they existed either) from eBay for very little and removed the keyring The levels were just cheap plastic castings and not accurate but a bit of judicious filing of the bases soon cured that. I glued one of these to the bottom section of the pano head where it can be easily seen but putting two at right angles would be better.

I glued two of them together at right angles and place them on top of the surveying tripod when setting it up. If you get the top of the tripod nearly horizontal to start with it reduces the amount of error you have to take out with the tribrach adjusting screws.

To set up the tribrach, turn it so the spirit level on the head is parallel to two of the screws. Turn those screws in opposite directions at the same time until the bubble is level. Now turn the head until it lies over the third screw and turn that screw alone until the bubble is level again. Repeat until the bubble stays level. The head should now be rotating about a truly vertical axis.

Shutter releases

If you are going to build a panoramic robot an automatic shutter release is essential yet I have seen little information about their construction and/ or programming.

Most robots seem to favour an apparatus which pushes the shutter button just the same way you would when operating the camera. However, the distances you have to press the shutter to focus then take a picture vary between cameras. In addition, shutter buttons vary in position and angle and it means mounting a large, adjustable item on the camera platform.

If your camera has no other way of releasing the shutter then you are stuck with this method. However, most modern cameras have either a socket on the release button into which a mechanically-operated remote cable can be screwed, an infra-red receiver on the front of the camera or a socket on the side for an electrically-operated shutter release.

I have not used an infra-red remote but the general principles below should still work, although you will still have to mount it on the camera platform so it is always pointing at the receiver on the camera. I have avoided trying this because it seems too complicated but it might be your only option.

As usual, all my releases were based on LEGO.

My first was for a Fuji S9500 and based on a design I found on the 'net. Unfortunately, I have dismantled this and cannot find the site again so I can credit the designer. Essentially, the plunger was pressed down by a 'claw' mounted on gear wheels whilst the cable was fixed to the body of the LEGO motor. This rather large mechanism usually worked fine except it was difficult to initialise and that the plunger tended to slide about on the smooth LEGO plastic. It also locked up a few times but I suspect this was due to my inept programming rather than a design flaw.

However, I designed my own using flat gear strips on top of of a sliding beam which was pushed
along by a gearwheel mounted on top. This was a very linear system since doubling the rotation doubled the movement. The body of the cable release was held in place by LEGO beams and the plunger pressed down by the movement of the sliding beam. It was easy to initialise since you only had to move the beam (by turning the gears) until it was just touching the plunger.

Both of these models shared a potential problem in that the cable was capable of imposing high forces on the shutter button, which might damage the internals of the camera. Alternatively, it could 'pop' the top of the button off the camera. Although this never happened, the possibility worried me.

I had a remote cable which fitted into the side of the S9500 but was unable to come up with a satisfactory method of incorporating this into an automatic system.

When I bought a Canon 400D I had to start again since there was no way of attaching a
mechanical cable release. Even if there had, I doubt if I would have used it. The 400D has a simple remote socket (2.5mm stereo plug) on the side of the body. I had seen an article on Instructables.com where someone used a programmable calculator for time-lapse films with these cameras so knew the system was operated by simply shorting the wires rather than the application of any power. I was still unable to think up a proper design so bought a cheap remote from eBay and stripped off the casing. It had three flat springs connected to the wires. The top was pushed down onto the middle one to set the focus then both were pushed down to meet the third spring which fired the shutter.

All it needed was a simple beam mechanism connected to gear wheels which pushed the springs into contact and I was off. Not a pretty sight but it worked. I bent the ends of the springs up so they stayed within the operating beams because they kept sliding about. The wires in the cable were very fine and quickly broke so I fitted a 3.5mm stereo socket I had in my bits'nbobs box and a matching 3.5mm plug to the cable.

This set-up had an unplanned advantage in that I could now use the same mechanism for my S9500 simply by fitting a 3.5mm plug to the end of the cable on the Fuji remote release in place of the handset. Previously every mechanism had to be calibrated separately for each camera. Now one mechanism works for any camera using a three-wire shorting system. All you have to do is make up an appropriate cable to suit the socket in the camera.

Since then I have devised another mechanism which uses a radio-controlled release for t
he 400D but this has not been used yet. It is a bit larger but the advantage of this model is that it does not involve dismantling the operating end of the system so it can be removed and employed as intended.

The programs (LEGO NXT-G again) all work on the same basic principle and only vary in detail. When auto-focus is being used, the motor rotates a fixed number of degrees which triggers the camera to start focussing. After a fixed period to allow the camera to focus, the motor moves on again to trigger the shutter. After waiting for the shot to be taken (or shots if you are bracketing the exposures) the motor returns to the starting point. If set up for manual focus then the motor rotates round to the shutter release point without stopping.

The trick is getting the delays correct. On a dull day and/ or with a low-contract subject the lens might not focus before the shutter fires. If you are bracketing and allow only a short second delay then the head might start to move before all the shots are taken.

The delays to be used should be set bearing in mind the speed with which your mechanism operates, the speed with which your camera focusses and the subject/ weather/ time of day. I usually fix these delays in the program but it is possible to input these as part of the initialisation of the pano head and modify them to match the conditions.

If you are using mirror lock-up you will have to add in extra steps to get the mirror up (and possibly down again) but these will depend on individual makes of camera.

How do you know how much your motor rotates before making the first and second contacts? I wrote a simple program which shows how much the motor has turned and displays it on the controller screen. You set up up the mechanism at an easily-identifiable starting point (I usually mark the gears with a felt-tip pen) and connect the first two output wires to either a camera or a multi-meter set to read resistance. Turn the gears until the lens starts to focus or the meter moves and note down the reading. Repeat with the second set of wires until the shutter fires or the meter moves.

If the first number is 100 and the second 150 then set the motor to turn 110 -120 to set the focus and 160-170 to fire the shutter. And don't forget to zero the mechanism before you start the pano.

Still a bit unhappy about the size of the mechanisms, I began wondering how I could use smaller and/ or fewer components. I first considered a rotating contact plate driven directly from the motor with 'wipers' (probably bent paper clips) completing the connections.

Making the contact plate seemed to be a bit awkward, especially since I had binned all my printed circuit boards and etching fluid a while ago. So I decided to investigate the use of micro switches with spring-loaded actuators (Lego shock-absorbers).

Just after bidding on a pack of micro switches on eBay (which I unfortunately won), I realised that I could probably drive a relay directly from the Lego controller using one of the motor outputs. A bit of delving on the 'web located an article on how you could operate two relays from one port using some fairly simple circuitry. Commercial kits for up to eight relays were available but cost about $40, too much for my slender budget.

I am becoming more convinced that fixed focus is the way to go so only one relay is really necessary and that can be driven directly from the output port with no additional circuitry required. This method has the great advantage that there is no physical mechanism to be calibrated or zeroed. I might even adapt my radio-controlled release so that the relay can fire it directly thus saving a wire to the camera.

Relay Shutter

A relay works when a current is passed through a coil around an iron core; the core moves and operates a switch. The current will flow whichever way the coil is connected to a power source but one way will close the switch and the other will try to force it further open.

If you connect two such relays with reversed wiring to a source which reverses in polarity then only one will close at a time and this could be used as a way of selecting which relay operates. However, this risks a short between the input wires which might damage the source and also means that you are wasting power since both relays are drawing current but only one operates.

Wiser minds than mine have pointed out that if you place a rectifying diode in the circuit to each relay then current can only flow in one circuit at a time and this both protects the source and means only one relay is energised at a time.

Since the shutter and focus functions of the remote shutter release for the Canon camera I am using only require that the relevant wires are connected together, this makes two relays an ideal way of
shorting the wires.

The Lego NXT controller provides up to 9 volts to drive the motors supplied with the kit which is more than enough to drive a small relay. This voltage is supplied through the white and black wires of the standard connecting cable and the polarity varies depending on which way you want the motor to turn.

The white wire is positive when driving the motor forward and the black positive for reverse. The voltage is variable depending on how much power you want to transmit to the motor and this is set as a percentage of the maximum voltage (the actual voltage available varies with the type and condition of the batteries).

So if you connect the white wire to the positive terminal of one relay and send a 'motor forward' command to the controller then that relay will operate. All that is needed is to connect the relay output terminals to the 'common' and 'shutter' wires in the remote release cable and the camera will take a picture. Connect up the other relay so it is energised when the 'motor reverse' signal is sent (black wire positive) and you can focus the camera if necessary.

The problem here is the variability of the available voltage. Use a 9v relay with rechargeable batteries (about 7.5v) and the relay might not work, especially as the batteries get used up. Put a 6v relay in with normal batteries and you might burn out the coil. The answer here is a nifty 'my-block' created by Guy Ziv (see here :- http://nxtasy.org/2007/04/19/battery-level-nxt-g-block/ ) which reads the actual power available from the battery. Using this in conjunction with a 6v relay means that you can change the motor power command (and hence the supply voltage) to suit the relay.

For instance. battery power = 8v, 6/8 = 0.75 (75%) so telling the controller to set the motor power to 75% will provide an output voltage of 6v. You can read the battery voltage before every actuation to keep the voltage correct until the actual voltage drops below 6v. By that time the system will be gasping for breath anyway so you might as well give up! The relays will normally continue to work below the rated voltage but how much tolerance you have will depend on the individual relays and the condition of their contacts.

For convenience, a 2.5mm or 3.5mm stereo output socket can be used so that a standard stereo -
2.5mm stereo (camera end) cable will work. Push switches in parallel across the relay outputs will retain the ability to both focus and fire the shutter by hand without touching the camera.

I have appended a crude outline diagram for explanatory purposes only. Experts advise connecting additional diodes across the relay input terminals to avoid back-emf from damaging the controller when the relay is switched off.

I have also appended a draft NXT-G program but you must understand that this is all conjecture untill the bloody relays finally arrive from China so that I can actually build the damn thing! I will then provide photos of the working version.

Check list

1 Spare batteries for camera and any motorised pano head

2. Enough space on the memory card or spare cards

3. Any special filters such as polarisers

4. Remote shutter cable

5. Tripod or monopod

6. Camera white balance

7. Camera shooting sequence, preferably single shot

8, Camera focus method

9. Camera exposure method

10. Exposure bracket settings

10. A copy of your local police forces' policy on public photography to show any half-wit who tries to stop you taking photos in a public place.

Websites

An un-sorted mish-mash of websites I have stumbled across which may or may not be related to the subject of this blog.

http://www.brickshelf.com/cgi-bin/gallery.cgi?f=191310

http://iel.ucdavis.edu/projects/chmindstorms/

http://www.kickasstorrents.com/lego-s-mindstorms-nxt-2-0-software-t3217052.html

http://inanimatereason.com/

http://en.wikipedia.org/wiki/Lego_Mindstorms

http://mindstorms.lego.com/en-us/Community/NXTLog/DisplayProject.aspx?id=bea9c863-844c-44b7-92d4-94f16b854353

http://www.nxtasy.org/

http://www.philohome.com/

http://www.teamhassenplug.org/NXT/NXTGAdditions.html

http://thenxtstep.blogspot.com/

http://ihttp://dativ.net/gigabot/index.html
vrpa.org/blog/1833/attack_of_the_panoramic_robots_o

http://www.youtube.com/watch?v=-yFQeoRVD6E

http://whttp://www.hdrlabs.com/tutorials/panobot.html
ww.secondpage.de/tutorials/mindstorms/vr1_en.html

http://photokina08.ivrpa.org/panoblog/tags/lego

http://www.byteswithbite.co.uk/kilgore/org/panos/robot.html

http://tawbaware.com/forum2/viewtopic.php?t=4184

http://www.runrev.com/newsletter/october/issue79/newsletter1.php

http://tech.groups.yahoo.com/group/PanoToolsNG/auth?check=G&done=http%3A%2F%2Ftech.groups.yahoo.com%2Fgroup%2FPanoToolsNG%2Fmessage%2F5658

http://www.cambridgeincolour.com/tutorials/digital-panoramas.htm

http://www.brickshelf.com/cgi-bin/gallery.cgi?f=126969

http://www.flickr.com/photos/anachrocomputer/2637345376/

http://www.google.co.uk/search?q=lego+panoramic&hl=en&client=firefox-a&hs=7Fj&rls=org.mozilla:en-GB:official&tbs=vid:1&tbo=u&ei=23e4S6WBMaCy0gT-7vAi&sa=X&oi=video_result_group&ct=title&resnum=5&ved=0CCMQqwQwBA

http://ebook30.com/business/economics-and-finances/197065/extreme-nxt-extending-the-lego-mindstorms-nxt-to-the-next-level-second-edition-technology-in-action.html

http://www.youtube.com/watch?v=KG9Xj2tI-KU

http://www.instructables.com/tag/?sort=none&limit%3Atype%3Aid=on&q=pano

http://www.panoramic.net/www/index.html

http://www.tawbaware.com/forum2/viewtopic.php?p=26239
&sid=f662c04b7869fcdd8d41c819948b98f3

http://books.google.co.uk/books?id=sj7Ams_F15sC&pg=PA54&lpg=PA54&dq=detect+press+nxt&source=bl&ots=IYqh7xl74J&sig=rjxp4jGp1LdzktNTFiRRkQ8NZYU&hl=en&ei=mAK5S_6YLpy80gSUxZks&sa=X&oi=book_result&ct=result&resnum=5&ved=
0CBEQ6AEwBA#v=onepage&q=detect%20press%20nxt&f=false

http://www.squidoo.com/brickomania

http://ivrpa.org/taxonomy/term/1448

http://www.lugnet.com/

http://www.nxtclub.com/

http://nxtasy.org/2008/09/20/advanced-display-text-nxt-g-block/
file:///C:/Program%20Files/LEGO%20Software/LEGO%20MINDSTORMS%
20NXT/engine/EditorVIs/Help%20Content/Full%20Help/start.htm

http://www.robotstoreuk.com/RSUK%20Home%20page.htm

http://www.active-robots.com/

http://www.youtube.com/watch?v=pDU6dwBkbw8&feature=related

http://www.youtube.com/watch?v=f0WXEllFR40

http://ivrpa.org/blog/1833

http://byronrogers.com/links/index.html

http://jimdoty.com/Digital/autostitch/autostitch.html

http://www.unmannedspaceflight.com/lofiversion/index.php/t1071.html

http://www.theperfectpanorama.com/book.html

http://panohead.net/panoramic-howto.asp?p=p1

http://www.virtualtourpro.com/Tutorials-Getting_Started.htm