blob: fa7c1302467eb4c18803345296f58bdb861303bf [file] [log] [blame]
Parker Schuhe9a549a2019-02-24 16:29:22 -08001#include "y2019/vision/constants.h"
2
3namespace y2019 {
4namespace vision {
5
Parker Schuha4e52fb2019-02-24 18:18:15 -08006static constexpr double kInchesToMeters = 0.0254;
Parker Schuhe9a549a2019-02-24 16:29:22 -08007
8CameraCalibration camera_4 = {
9 {
Alex Perry74f1edc2019-03-03 17:15:14 -080010 3.73623 / 180.0 * M_PI, 588.1, 0.269291 / 180.0 * M_PI,
Parker Schuhe9a549a2019-02-24 16:29:22 -080011 },
12 {
Alex Perry74f1edc2019-03-03 17:15:14 -080013 {{6.02674 * kInchesToMeters, 4.57805 * kInchesToMeters,
14 33.3849 * kInchesToMeters}},
15 22.4535 / 180.0 * M_PI,
Parker Schuhe9a549a2019-02-24 16:29:22 -080016 },
17 {
Alex Perry74f1edc2019-03-03 17:15:14 -080018 4,
19 {{12.5 * kInchesToMeters, 12 * kInchesToMeters}},
20 {{1 * kInchesToMeters, 0.0}},
21 26,
22 "cam4_0/debug_viewer_jpeg_",
23 52,
Parker Schuha4e52fb2019-02-24 18:18:15 -080024 }};
25
26CameraCalibration camera_5 = {
27 {
Alex Perry74f1edc2019-03-03 17:15:14 -080028 1.00774 / 180.0 * M_PI, 658.554, 2.43864 / 180.0 * M_PI,
Parker Schuha4e52fb2019-02-24 18:18:15 -080029 },
30 {
Alex Perry74f1edc2019-03-03 17:15:14 -080031 {{5.51248 * kInchesToMeters, 2.04087 * kInchesToMeters,
32 33.2555 * kInchesToMeters}},
33 -13.1396 / 180.0 * M_PI,
Parker Schuha4e52fb2019-02-24 18:18:15 -080034 },
35 {
Alex Perry74f1edc2019-03-03 17:15:14 -080036 5,
37 {{12.5 * kInchesToMeters, 0.5 * kInchesToMeters}},
38 {{1 * kInchesToMeters, 0.0}},
39 26,
40 "cam5_0/debug_viewer_jpeg_",
41 59,
42 }};
43
44CameraCalibration camera_16 = {
45 {
46 -1.30906 / 180.0 * M_PI, 347.372, 2.18486 / 180.0 * M_PI,
47 },
48 {
49 {{4.98126 * kInchesToMeters, 1.96988 * kInchesToMeters,
50 33.4276 * kInchesToMeters}},
51 -12.2377 / 180.0 * M_PI,
52 },
53 {
54 16,
55 {{12.5 * kInchesToMeters, 0.5 * kInchesToMeters}},
56 {{1 * kInchesToMeters, 0.0}},
57 16,
58 "cam16/debug_viewer_jpeg_",
59 55,
60 }};
61
James Kuszmaul81df16a2019-03-03 17:17:34 -080062// Note: x/y should be negated and heading should be offset by 180 deg to
63// account for this being calibrated on the rear of the robot.
Alex Perry74f1edc2019-03-03 17:15:14 -080064CameraCalibration camera_19 = {
65 {
66 -0.341036 / 180.0 * M_PI, 324.626, 1.2545 / 180.0 * M_PI,
67 },
68 {
69 {{6.93309 * kInchesToMeters, -2.64735 * kInchesToMeters,
70 32.8758 * kInchesToMeters}},
71 2.58102 / 180.0 * M_PI,
72 },
73 {
74 19,
75 {{12.5 * kInchesToMeters, 0.5 * kInchesToMeters}},
76 {{1 * kInchesToMeters, 0.0}},
77 16,
78 "cam19/debug_viewer_jpeg_",
79 68,
Parker Schuhe9a549a2019-02-24 16:29:22 -080080 }};
81
82const CameraCalibration *GetCamera(int camera_id) {
83 switch (camera_id) {
Alex Perry74f1edc2019-03-03 17:15:14 -080084 case 4: return &camera_4;
85 case 5: return &camera_5;
86 case 16: return &camera_16;
87 case 19: return &camera_19;
88 default: return nullptr;
Parker Schuhe9a549a2019-02-24 16:29:22 -080089 }
90}
91
92} // namespace vision
93} // namespace y2019