blob: decbf54ed638a034bb54ee8a1ebfb924128e1d45 [file] [log] [blame]
Brian Silvermanba0fb762016-03-13 14:58:34 -04001syntax = "proto2";
2
3package y2016.vision;
4
5// Stores configuration information for a given set of hardware.
6message Calibration {
7 // The focal length of the camera divided by the width of images.
8 optional double focal_length = 1;
9 // Physical distance between the two cameras in meters.
10 optional double center_center_dist = 2;
11
12 // Rotational misalignment in x direction in pixels.
13 optional double center_center_skew = 3;
14 // Rotational misalignment in x direction in pixels.
15 optional double camera_y_skew = 4;
16 // The number of meters from the physical point measured on the robot to the
17 // camera. This is added into the result of translating camera coordinates to
18 // real-world coordinates to get the correct values.
19 optional double measure_camera_offset = 5;
20
21 // Image width to read from camera.
22 optional int32 camera_image_width = 6;
23 // Image height to read from camera.
24 optional int32 camera_image_height = 7;
25
26 // Device name of the left camera.
27 optional string left_camera_name = 8;
28 // Device name of the right camera.
29 optional string right_camera_name = 9;
30
31 // roboRIO IP address.
32 optional string roborio_ip_addr = 10;
33 // Jetson board IP address.
34 optional string jetson_ip_addr = 11;
35
36 // Exposure to set the camera to (V4L2_CID_EXPOSURE_ABSOLUTE value).
37 optional int32 camera_exposure = 12;
38 // Brightness to set the camera to (V4L2_CID_BRIGHTNESS value).
39 optional int32 camera_brightness = 13;
40 // Gain to set the camera to (V4L2_CID_GAIN value).
41 optional int32 camera_gain = 14;
42
43 // Number of frames per second to try for. V4L2/the camera/etc decide on the
44 // actual value to use.
45 optional int32 camera_fps = 15;
46}
47
48// Matches a robot identifer and its calibration information.
49message RobotCalibration {
50 // Identifier for which robot this applies to.
51 optional string robot = 1;
52 // The calibration for this robot.
53 optional Calibration calibration = 2;
54}
55
56// Top-level message for a file of calibration information.
57message CalibrationFile {
58 repeated RobotCalibration calibration = 1;
59}