Ardu Pirate's Gyro Stabilyzed Camera Mount
Welcome to the "How To Build Your Own Gyro Stabilyzed Camera Mount" (for GoPro HD Hero with housing)
Ok, here it is, a camera mount for the Ardu Pirate's Quad, I'll be using a GoPro HD Hero camera, for videos and pictures.
I could have designed a smaller mount if using the camera naked, but for safety reasons, I'll use the camera with the protective housing.
Here's the idea, the camera will be positioned between the two front arms
The GoPro has two different shooting angles, depending on the recording mode selected, 170º or 127º(in 1080). Here you can see them.
Here you have the pdf with the design Camera Mount.
List of Materials
- 1 2mm thick 500x20 aluminium strip
- 1 3mm thick 400x20 aluminium strip
- 2 12gr. servos
- 10 2mm screws
- 1 4mm screw 40mm long
- 1 3mm screw 10mm long
Building
Start cutting and bending the supporting bar, the camera will hang from it:
Next cut and bend the upper part:
Next make the two U angles, bear in mind that one has to fit inside the other, so the smaller is 20mm width, and the other is 24mm.
Next cut and bend the lower part:
On the upper part, we have to make a hole to fit the tilt servo, and the holding screw on the other side:
On the lower part, we have to make a hole to fit the servo arm, and the holding screw on the other side:
Servo fitted with two 2mm screws:
Holding 3mm screw is fixed on the other side:
Pre-Fit of upper and lower parts:
Now we fix the upper holding angle to the supporting bar:
Then the lower holding angle to the lower frame:
I'll be using a heli ball link for the Roll servo:
Also reinforced the servo arm with 1mm aluminium
Fit the 4mm screw to hold the two U angles together:
Almost there:
Camera Pre-Fit:
Extended the servo wires, and pre-set the camera mount in place, just wo bolts will be needed to fix it:
The camera mount will move the CG forward, so to compensate this a bit, when using the camera mount I'll move the battery back, in a new horizontal support between the rear arms:
Top view of the whole system:
Setup
I'll be using ch6 for tilt control.
Setup taken from Post #1:
Place the following lines into Arducopter.pde ~Line 778 after this line: Code:
|APM_RC.OutputCh(3, backMotor); // Back motor | |:---------------------------------------------|
For the CURRENT code from the trunk (release #733 SVN)
Code: ||// Camera Stabilisation with transmitter controlled tilt. APM_RC.OutputCh(4, APM_RC.InputCh(6)+(pitch)
*
1000); // Tilt correction APM_RC.OutputCh(5, 1510+(roll)*
-400); // Roll correctionCode: ||// Camera Stabilisation NO transmitter controlled tilt. APM_RC.OutputCh(4, 1500+(pitch)
*
1000); // Tilt correction APM_RC.OutputCh(5, 1500+(roll)*
-400); // Roll correctionThe ...
*
1000);... can be tuned for smoother moves of the camera.For the PUBLIC ALPHA v1.0
Code alternative 1: Code: ||//Camera Stabilisation with transmitter controlled tilt. APM_RC.OutputCh(4, APM_RC.InputCh(6)+(roll-pitch)
*
1000); //Tilt correction APM_RC.OutputCh(5, 1500+(roll+pitch)*
1000); //Roll correctionCode alternative 2: Code: ||// Camera Stabilisation NO transmitter controlled tilt. APM_RC.OutputCh(4, 1500+(roll-pitch)
*
1000); //Tilt correction APM_RC.OutputCh(5, 1500+(roll+pitch)*
1000); //Roll correctionIf you don't have an extra channel: "1500" is the center position of servos, it go from 1000 to 2000. You can set desired Tilt angle: .... (4, 1800+(roll-pitch)
*
1000); ....
Let's try to explain those values a bit more:
In my case I had the roll inverted, and the tilt was overcorrecting, so here's what to do:
For the Roll:
Original Line:
APM_RC.OutputCh(5, 1500+(roll)
*
-400); // Roll correction
- The 1500, is the initial value for the roll servo, that is like the trim on the radio, so to get my camera horizontal, had to go for 1650, this is like setting starting position
- The -400, is the multiplier factor for the roll servo, as I had mine inverted, I just removed the minus sign, then to adjust the movementto be correct, I ended up with 800
New Line:
APM_RC.OutputCh(5, 1650+(roll)
*
800); // Roll correction
For the Tilt:
Original Line:
APM_RC.OutputCh(4, APM_RC.InputCh(6)+(pitch)
*
1000); //Tilt correction
- The only value we can change here, it's the 1000, this is the multiplier for the tilt servo, that is higher the value, the more it will correct the position, as mine was overcorrecting, I had to lower this value from 1000 to 600.
New Line:
APM_RC.OutputCh(4, APM_RC.InputCh(6)+(pitch)
*
600); // Tilt correction
Right now, as those values are not yet in the configurator, the easiest way to tune them, is: 1. open the arduino 1. connect your quad in the USB port (no need for battery) 1. change the values in the two lines of code 1. upload the code 1. repeat the two previous steps until the camera corrections are ok.
GoPro Connection for video feedback
For the moment, until I get the FPV kit set, I'll be using the GoPro HD Hero to record video, the good thing is that the latest firmware of the camera enables Live Video Output, so why not see what you're recording?
Just connect the Live Video Output of the GoPro to the 1.3Ghz video transmitter, that is Video, Audio and negative. then connect the 11.1v to the transmitter
That's it, you got yhe video feedback.
Video Proof
http://www.youtube.com/watch?feature=player_embedded&v=JTc8ngXgVBk' target='_blank'>http://img.youtube.com/vi/JTc8ngXgVBk/0.jpg' width='425' height=344 />
Did a couple of videos, but night came in and it was too dark to see a thing, tomorow I'll take some videos.
That's it!!
Enjoy!!
Happy Landings,
Dani