Go Down

Topic: Self leveling camera platform (Read 2543 times) previous topic - next topic

gru491

Hello everyone,

I am trying to build an electronic stabilized camera platform to be mounted on backpack using a Go Pro camera. After searching the Internet over the last few days I have only been able to find gimbals that are incorporated into UAVs and they are more complicated than what I need.

I am just looking to make a platform that is self-leveling using an Arduino, gyro, accelerometer and magnetometer. Through my Internet searching I have found no shortage of code out there and I am having mixed results using some small servos for testing. This is my first attempt at any sort of robotics I am a little confused in what hardware I should buy.

What kind of drive mechanism should I use for each axis?
I am conflicted between using servos, a gear motor with an encoder, or possibly even stepper motors. I am leaning towards using gear motors with an encoder because I think this balancing robot http://www.x-firm.com/?page_id=145 is similar to what I am trying to accomplish. I understand that my range of movement will be limited to how the platform is attached to the backpack and will probably not exceed 180° of movement for each axis.

Please correct me if I am wrong, but I think the gear motors will work better for this project because of their perceived durability and price in comparison to some of the hobby servos.

PaulS

Quote
I am conflicted between using servos, a gear motor with an encoder, or possibly even stepper motors.

I am conflicted between using a front end loader, a jack hammer, and a trowel to dig a hole.

It would be certainly easier to help you decide if we know what size hole you needed, in what kind of material. A hole in topsoil to plant a bulb is one thing. A hole for a swimming pool, in glacier runoff, is something else.

How much weight are you moving? How fast? How accurately are you trying to position the camera? What problems are you having?

Servos can work very well, but the $5 ones are not very accurate, fast, strong, or precise. Gear motors might work, but stopping them at precise positions is hard. Steppers are strong, precise, repeatable, but not terribly fast or cheap.

PeterH

Have you considered using image stabilisation instead of camera stabilisation?
I only provide help via the forum - please do not contact me for private consultancy.

zoomkat

Something similar.

http://www.lynxmotion.net/viewtopic.php?f=20&t=8430
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

gru491

I am glad that somebody has a sense of humor after the holidays.

To be more precise I am going to be using a Go Pro Hero 2 and a modified lens with a spare battery pack that weighs about 220 grams.
I am planning on using this system as a backpack while riding a mountain bike or motorcycle up to 25 mph on rough terrain. I am trying to compensate for my riding position as my back will not always be at the same angle and I do shift from side to side. I would like to compensate for yaw if I turn my body quickly. 
I am not expecting magic out this this system, but I would like to have a platform that will help stabilize a majority of the bumps to make a relatively smooth image.


There is no image stabilization setting for the Go Pro camera. I want to use this camera because it's high quality video and small size.

zoomkat

Quote
I am not expecting magic out this this system, but I would like to have a platform that will help stabilize a majority of the bumps to make a relatively smooth image.


You are expecting magic if you are trying to stablize quick or jerky movement.
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

PeterH


There is no image stabilization setting for the Go Pro camera. I want to use this camera because it's high quality video and small size.


Go for a wider angle than you need and do the image stabilising in post processing? You won't be the only one doing this type of thing, and that strikes me as a hell of a lot easier to implement than trying to do it in hardware.
I only provide help via the forum - please do not contact me for private consultancy.

I know this is a dead thread, but people do searches so I will add to it for their ummm... "enlightenment."

Image stabilization in post is very, very, very, time consuming and often just not possible unless you are willing to throw away a lot of pixels. Which also means you might not be able to get everything you need into the frame. It's kind of like building a house with no windows and then trying to stay warm or cool by jacking the H/AC system up to full.  Better to get it right the first time and save a whole hell of a lot of mess.

Most stabilizers use brushless DC motors that are hooked up in a direct drive configuration. One for each axis. These are then plugged into any number of controllers, many of which are not that complicated and can be had for around $50 or less on eBay (but come from China so caveat emptor, etc.)

The biggest problem that you can encounter with programming your own code for this kind of application is that the IMUs (the part that measures movement), are not exactly the most accurate. So you need to do things like run the data through a Kalman filter, etc. Basically, the better the code, the better the response. Also, you need a system that can respond fast enough. Which means that everything has to be as good as, or better than the previous component in the data flow. Your Arduino has to be at least as fast as the IMU to take in all the data the IMU is sending out. The motor controller that the Arduino is using has to be fast enough to keep up with the data the Arduino and the motors have to be fast enough and strong enough to move the weight of the platform and the camera. 



enanthate

If you don't want to make your own, get one for $90:
http://www.youtube.com/watch?v=cTkT1Sk3glA

You can also make your own camera-stabilizer for less. Get the parts at hobbyking.com, or any other website (google it).
This is relatively easy to make, and code/program is available online. Again, google it.

PeterH


often just not possible unless you are willing to throw away a lot of pixels.


This is why I suggested going for a wider field of view than you needed. If you have a margin you're prepared to lose during image stabilisation, then it's easy to do it in post-processing. If you aren't prepared to lose any of the image then it is massively harder.
I only provide help via the forum - please do not contact me for private consultancy.

Go Up