Project:Camera Gimbal

From Oxford Hackspace
Jump to: navigation, search

A grand plan of creating an automate camera gimbal to take 360 degree and panoramic pictures.

Contents

Present status

Lots of code written and many bugs eliminated.

Now it's at the stage where I really should get on with designing the mechanical part.

Soon it'll be time to dig out the MakerBot...

Progress

Done To do

Some photography

As can be seen, the result can be fun but full of hazard. Standing on a roof looking through a view finder is not to be repeated! So having a little setup that can automatically take the desired pictures would allow more interesting locations to be captured. Not to mention that it's rather dull taking endless sets of pictures. Much better to press a button and look at the view.

Some stuff has been gathered

Thanks to Folknology for the donation of the stepper board and most of the components to get it going!

  • Arduino UNO
  • Proto shield
  • Stepper driver board
  • LCD
  • Buttons
  • Old tripod
  • Bearings

Some stuff has been purchased

  • Small geared steppers (a bit wimpy)
  • Some aluminium extrusion
  • Stepper drivers
  • Larger LCD
  • A mini joy-stick in place of buttons

Done stuff...

  • Turn up at hackspace and introduce the project
  • Self powered protoboard has been cobbled together
  • Code gretly pregressing on protoboard - has menus, pays attention to buttons and can move a stepper
  • Started with single stepper - moves left and right on command
  • Stepper glued into old and exceedingly naff tripod

Still to do...

  • Get code working out where to point the camera
  • Design plastic parts
  • Fix makerbot and print plastic bits
  • Make it excellent!
  • Stop redesigning it and get on with the making...

The math

Can the following be installed? - Math extension and build the texvc program

Width of single photo

Essentially, there's a great wiki page for the math.

It all boils down to:

α = 2 * arctan(d / (2 * f))

Where:

  • α = the angle of a single photo
  • d = the dimension of the sensor (height or width...)
  • f = the focal length of the lens

Note: The Arduino works with radians and the arctan function is called "atan()".

Width of the scene

Here's an easy bit... Assuming the microcontroller knows an angle it must sweep over and the angular width of a single photo, the scene width can be calculated.

Ø = α + β

Where:

  • Ø = total width of the scene
  • β = sqeep angle of camera mount

Photos to span scene

Given information about the photo and scene widths as well as the desired overlap, the number of photos can be calculated.

X = (Ø/α-1)/(1-Δ)+1

Where:

  • X = total number of photos required
  • Δ = minimum desired overlap

Note: It is important to round up. As the Arduino dows not have a round up function and always rounds down when using the "round()" command, simply add 0.9999 to a number to cause it to round up. Thus in Adrino speak, the above becomes:

X = round((Ø/α-1)/(1-Δ)+1.9999)

Or, if being slightly more efficient:

X = int((Ø/α-1)/(1-Δ)+1.9999)

Personal tools

Variants
Actions
Navigation
Tools