The Go-C Camera System was developed while I worked at Defense Technologies Inc. The hardware and software of the system was a customized solution for our customers, who needed a compact, lightweight and easy to use PTZ camera with image stabilization. The basic system consists of a Sony block camera coupled with two-axis motor control (pan and tilt). Attached to the same cradle as the camera is a MIDG II GPS/INS solution which provides feedback on the position and orientation of the system. The unique placement of the INS on the end effector of the system allows many of the mechanical errors and tolerances of the system to be negligible, as the INS is providing absolute values about the orientation of the sensor, in this case the EO camera.
My role on the team was two fold. During the initial design and implementation phase, I worked to develop the equations and algorithms for the forward and reverse kinematic solutions. It was desired to give the user feedbacck on the geo-location of the image at all times. I worked with the software development team to implement and test the forward kinematic algorithm. I also proposed a novel solution to the image distance using focal length feedback, however further analysis and emperical testing of that approach proved it unreliable. The distance from the camera to the imaging plane was instead derived using DTED data and a vector projection.
The inverse kinematic solution proved significantly more complex. This was mainly due to the fact that the camera imaging plane is not coincident with the camera center of rotation. In other words, a rotation about the pan or tilt axis causes a change in the geo-location of the camera, making a simple vector projection solution impractical. This was solved using Plucker Line coordinates for the camera position and the desired geo-location and solving the equation for the line between those two points, taking into account the camera motion as a function of pan and tilt angle.
My second role / task on the Go-C project was to improve the software codebase during the second iteration of software development. I took the existing code base and improved a number of aspects of the exising codebase, focusing on reliability and robustness. I also integrated a JAUS-base command and control component. This allowed the development of a separate JAUS-base controller which used an XBox 360 gamepad to control the Go-C Camera system. This analog joystick control proved to be the most reliable and user-friendly controller develped for the project, including a web-based control portal.
The Go-C Camera is currently fielded on the Ranlo 1 UGV and is scheduled to be fielded on several more DTI programs in the near future.