In previous UAV projects we have use the existing on-board sensors stabilise an on-board camera. To avoid re-inventing the wheel for each UAV, I have been working on a ‘drop in solution’. Here is a sort of work in progress.
I have put together this open-source demo using off-the-shelf components to stabilise a camera in 3 DOF (pitch, roll and yaw). The key components are: an x-IMU, a ServoCity 3 DOF gimbal and a Pololu USB servo controller. The system currently needs a Laptop to set the gimbal angles according to the output of the x-IMU.
The larger R/C servos (pan and roll) are rather slow which means the camera does lag behind; however, this is the only reason for the lag. The x-IMU update rate is 256 Hz (4ms latency).
An alternative gimbal constructed from faster, smaller servos would achieve a faster responding, lightweight system more applicable for use on a UAVs.
We plan to release a firmware update for the x-IMU that will handle all servo control on-board the x-IMU (via the auxiliary port). This would mean that anyone could create a fully (pitch, roll, yaw) stabilised camera using just 3 R/C servos and an x-IMU.
I would like to hear what other UAV engineers and hobbyist make of all this so please comment and discuss.
For more information, links and source code for the above demo, see:
Thanks for the advice. The camera mount and slow servos used above was the only affordable 3 DOF off-the-shelf solution I could find. The next planned version will use servos similar to your recommendation and rapid prototyped mechanical components - which may even end up cheaper than the above.
I would like to know more about your suggestion: "the best place for the IMU is on the camera base plate".
If the IMU was fixed to the camera then the controller output (into the servos) would have to be a velocity demand. This would require custom tuning of gains (dependant on specific motors used) and an altogether more complex controller due to coupled DOF. By mounting the IMU on the camera mount’s base, the system need only send position demands to each servo and so is immediately compatible with any servo based gimbal.
can you tell the height of this gimbal ? and the gimbal with pan servo ?
This is definitely something I would be interested in looking at more closely. I am an aerial photographer/videographer and actually have the servo city mount you demonstrate with. I fly traditional pod and boom helicopters and am just getting into the computer based systems with IMU boards and multiple rotors.
My questions are:
1) would something like this be able to be incorporated to my cyclic on my helicopter to effectively work as a 3 axis stabilizer to keep the helicopter level during flight/hovering - as well as stabilize the camera mount simultaneously?
2) if I added GPS would this controller be able to hook up to my collective pitch servo & cyclic for position hold?
One more question...
It looks like the x-IMU board is out of stock at their website. Would the ArduIMU+ V2 (Flat) found on diydrones be a similar functioning unit? Also, how much is the x-IMU in USD & is there US distributer?
You are essentially asking if the x-IMU can be used as an auto-pilot. The x-IMU is a sensor board with Bluetooth, USB and SD card. Auxiliary output channels are controlled via USB/Bluetooth signals (as seen in video above). This discussion is regarding an exception where servo output channels are controlled directly by the x-IMU for camera control only.
We are considering a full autopilot demo but for this the x-IMU is essentially an IO board and the craft stabilisation and navigation code would run on a small USB or Bluetooth host; e.g. android phone.
The "ArduIMU+ V2 (Flat)" is a completely different type of product; it is an autopilot development platform to run user firmware on-board. The x-IMU is a sensor, data-logger and hardware IO for PC applications.
It would be best if you contact x-io.co.uk about purchasing info so we can keep this discussion on topic. Use Google for currency conversion. x-io Technologies is currently the only distributor.
I think you need a flybarless controller. plenty out there.