  We present CineMPC, an algorithm to autonomously control a UAV-borne video
camera in a nonlinear MPC loop. CineMPC controls both the position and
orientation of the camera-the camera extrinsics-as well as the lens focal
length, focal distance, and aperture-the camera intrinsics. While some existing
solutions autonomously control the position and orientation of the camera, no
existing solutions also control the intrinsic parameters, which are essential
tools for rich cinematographic expression. The intrinsic parameters control the
parts of the scene that are focused or blurred, and the viewers' perception of
depth in the scene. Cinematographers commonly use the camera intrinsics to
direct the viewers' attention through the use of focus, to convey suspense
through telephoto views, inspire awe through wide-angle views, and generally to
convey an emotionally rich viewing experience. Our algorithm can use any
existing approach to detect the subjects in the scene, and tracks those
subjects throughout a user-specified desired camera trajectory that includes
camera intrinsics. CineMPC closes the loop from camera images to UAV trajectory
in order to follow the desired relative trajectory as the subjects move through
the scene. The cinematographer can use CineMPC to autonomously record scenes
using the full array of cinematographic tools for artistic expression.
