Abstract: *† This paper presents the architecture of a pan/tilt/roll camera control system implemented on the Georgia Tech’s UAV research helicopter, the GTMax. The controller has currently three operating modes available: it can keep the camera at a fixed angle with respect to the helicopter, make the camera point in the direction of the helicopter velocity vector, or track a specific location. The camera is mounted in a large, but relatively light gimbal. Each axis is driven by a modified servo, and optical encoders measure the gimbal orientation. A PID controller with anti-windup and derivative filtering was designed in Simulink based on simple models of the servos and later implemented on the real system. A discussion of results obtained from Hardware-In-The-Loop tests and flight tests is given at the end of the paper. I. Introduction AVs may be used for a variety of civilian and military purposes, of which rescue operations in dangerous areas and surveillance may be mentioned as obvious examples. A lot of these tasks require live video recording and researchers at Georgia Tech are currently working on imaging algorithms making it possible to track moving targets, achieve visual feedback in flight, and to automate landings on moving platforms. Accurate pointing of the onboard camera is vital in order to achieve these tasks, and this paper outlines the architecture of the camera control system implemented on the Georgia Tech UAV lab’s research helicopter, the GTMax. (For related work on camera control systems mounted on UAVs, consider for example Ref. 1 and Ref. 2.) The camera is placed in a gimbal delivered by Neural Robotics and mounted at the front end of the GTMax. Three modified servos from Hitec serve as motors, rotating the camera about each axis and taking velocity commands as inputs. The system is designed so that there are no limitations in the rotation angle about the pan axis, while roll is limited to angles between -100 deg and 100 deg and tilt to -90 deg and 90 deg. Three encoders with indexing delivered by US Digital are used to read each angle. The velocity commands are given at a rate of 50 Hz, as are the angle readings from the encoders. Altogether, these hardware components allow flexible and accurate controlling and results in a relatively light and inexpensive system. The high level controller can operate in three different modes. Its outputs are desired pan, tilt and roll angles for the gimbal in all modes, but the angles are calculated differently in the three cases. The controller may order the camera to point at a specific location, and the computed angles are in that case based on the given location and GTMax position and attitude as estimated by the integrated navigation system 3 . Ground station personnel may enter a target position into the system manually and send it to GTMax, but the ground station may also receive position information about a stationary or moving target (like another aircraft) and forward it to GTMax without any human intervention. The second controller mode makes the camera point in the direction of the helicopter velocity vector, while the third and simplest mode keeps the camera at a fixed angle relative to the helicopter. The low level part of the control is implemented as a simple PID controller; it outputs velocity commands to each motor and angle measurements are fed back from the encoders. The load experienced by each motor differs considerably. In particular, the load on the pan axis motor is larger than that on the other two and also varies in time due to gimbal motion. A simple model partly based on measurement data was therefore made of each motor and implemented in Simulink. Several simulations were then performed to study system behavior for various controller