Pi powered Panobot v1

I have just finshed work on version 1 of my Pi powered Panobot. It is a robot designed to take panoramas with the official raspberry pi camera board.

It is built out of lego and uses the same motors and motor controller as my Lego Pibot.

It runs a python script which allows me to program how wide a panorama I want and how many levels. Once the images are taken I copy them over to my laptop and stitch them together into one image using Hugin http://hugin.sourceforge.net/

The Pi camera is very good for its price but compared to my DSLR has a smaller dynamic range and also a smaller HFOV (Horizontal Field Of View) so to get a panorama, it requires a few more pictures. I found to allow enough overlap that 10 pictures wide was sufficient by 3 pictures tall. This totaled to 30 pictures per panorama compared to my normal 25 pictures for my DSLR. I have to stitch them on my laptop instead of the pi due to massive amount of processing power to find the control points

So, time for some pictures

The panobot on a hedge taking some pictures
The panobot on a hedge taking some pictures
A closer look inside the panobot
A closer look inside the panobot

Now for what you have been waiting for, what images does it produce?

180 Degree panorama

A full 360 degree panorama shot with the Raspberry Pi camera board
A full 360 degree panorama shot with the Raspberry Pi camera board

For the full sized panobot panorama click here as wordpress limits the upload size

A panorama taken from the same area with my DSLR (Canon 600d)
A panorama taken from the same area with my DSLR (Canon 600d)

For the full sized DSLR panorama click here as wordpress limits the upload size

280 degree panorama taken in the evening before batteries died
280 degree panorama taken in the evening before batteries died

For the full sized  panorama click here as wordpress limits the upload size

Full 360 degree panorama made up of just 30 pictures!
Full 360 degree panorama made up of just 30 pictures!

For the full sized  panorama click here as wordpress limits the upload size

For the full sized  panorama click here as wordpress limits the upload size

 

As you can see, there really isn’t much in it between the DSLR and the Raspberry Pi Panobot. There is two thing though to take into account though.

Time

The Panobot takes around 2 mins to complete a full panorama

Using the DSLR I took the example panorama in under 30 seconds

Stitching

Because of the larger HFOV on my 28mm lens on my DSLR, I only took 24 photos for the full panorama (In portrait mode to reduce lens distortion). 24 photos takes about 3-4 mins to stitch

The Pi camera board took 30 pictures to get a full panorama. It took 4 mins to stitch those though.

So there is definitely trade off with using a completely automated pi camera but I am still quite pleased with the results. It was a great learning experience and a great option for someone who can’t afford a larger camera, the whole system (excluding lego) runs in about £50-£60

A copy of the python code can be found here

A copy of the python code on github can be found here

10 thoughts on “Pi powered Panobot v1”

  1. Pingback: Anonymous
  2. Hi,
    Very nice work , I would try it myself with the camera pi; nevertheless I have some questions: how did you adjust the nodal point to avoid parallax? Have you done some measures? What about the (lack of) autofocus? Does Hugin works well with it, and which blender do you use in it ?

    Best regards,

    Fabkzo

    1. Hugin is very good by default. Because of that I didn’t worry about parallax.
      Don’t change any of the settings (except some of the stitcher settings to get a higher res output).
      Just import the photos and run the align. Run straightener and autocrop. Then that should produce a rather nice panorama by itself.
      Just make sure each photo has about 30% overlap at least.

      The lack of autofocus is not a problem unless you are shooting something closer than 2m which I rarely am

  3. Nicely done! :) I was thinking about a comparable project. Would it be possible to send the data via network to a (faster) computer and let Hugin combine them automatically? Since you know the angles and the order is the same for every panorama it should be possible. Maybe on the pi? Are the control points really necessary in such a case (known angles, same order)?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>