[ros-users] Digital Camera 1394 in ROS?

Jack O'Quin jack.oquin at gmail.com
Thu Mar 18 03:27:49 UTC 2010


On Tue, Mar 16, 2010 at 12:44 AM, Patrick Mihelich
<mihelich at willowgarage.com> wrote:
> On Mon, Mar 15, 2010 at 10:03 PM, Jack O'Quin <jack.oquin at gmail.com> wrote:
>>
>>   * It publishes CameraInfo and rviz can display images, but rviz
>> complains about a bad P value (projection matrix).
>>
>> This matrix is not being set in the driver. Should it be? Is there a
>> useful default value? Or, is that always handled later in the
>> image_pipeline?
>
> For monocular cameras you should set:
>  * R (rotation matrix) to the 3x3 identity matrix.
>  * P (projection matrix) to K (camera matrix) with a column of zeros
> appended.

I'm having trouble figuring out how to set the camera matrix (K). The
CameraInfo.msg says:

# Intrinsic camera matrix for the raw (distorted) images
# Projects 3D points in the camera coordinate frame to 2D pixel
# coordinates using the focal lengths (fx, fy) and principal point
# (cx, cy):
#     [fx  0 cx]
# K = [ 0 fy cy]
#     [ 0  0  1]

float64[9]  K # 3x3 row-major matrix

I don't understand how to obtain this information from the dc1394 interface.

If it's not available, then I suppose fx, fy, cx and cy would have to
be parameters defined for each camera. How does the user determine
them? Are there reasonable defaults to use when these data are not
available? It would be useful to display the images in rviz (which
actually does display, but with an error and with the camera window
covering the upper left of the rviz window).

How do the PR2 cameras solve this problem? Are the lenses just known
for each model number?
-- 
 joq



More information about the ros-users mailing list