Look what we achieved


In the outline, we proposed a camera pan-tilt system can be applied to aerial photography, which assembles at unmanned aerial vehicle to reduce the vibration causing by the drone. In our design, we use standard servo to control the angle of pitch. To tracking the motion of the drone, we use MPU-6050 as a sensor to detect the change of motion, which has both I2C and SPI interface. Moreover, we can achieve motion simulation by using pygame drawing a diagram that can show the movement of the pan-tilt.

We achieved all the goal except a 2-axis rotation instead of 3-axis rotation. Details about our experiment on 3-axis rotaion will be extended below.


This project focused on how to achieve 3-axis automatic self-balacing pan tilt camara mount. It can be widely used in different occasions, such as aerial photography, camera mount in sports photography etc.

MPU-6050 Triple Axis Accelerometer Sensor is used to feed acceleration into Raspberry-Pi and calculate rotations from these input. Triple axis servo motor is controlled by Raspberry-Pi using PID strategy.

The following modules are implemented in this project.

1, Rotation calculation from Triple Axis Acccelerometer Sensor data input.
2, Captured the current posture of camera mount. Record this posture, balance the camera mount when its posture changes using PID control strategy.
3, Display current posture of camera mount using Pygame and OpenGL.

The following module is yet to be implement

z-axis rotation detection and control the motor to rotate servo motor on z-axis

We tried different things to make z-axis work. The followings are the things we tried but did not work out.

1, Different method to calculate z-axis rotation from the 3-axis acceleration data input.
2, Put an extra MPU-6050 sensor vertical to the original sensor. But on the Raspberry-Pi board provided in class, there is only one I2C port which connects the Raspberry-Pi with the sensor.
3, Search for different sensor other than MPU-6050. But time is limited for us to receive a new sensor.

Future work

The following will be implemented if more time possible.

1, We will buy a new sensor to get z-axis rotation data, and then apply PID control strategy to servo motor z-axis rotation.
2, The Pygame display model will be modified to a real camera mount instead of a single plane.
3, A real pan-tilt will be put on the servo motor to test in a more complicated setting.