mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-26 00:12:05 +08:00
d6c07a6b15
* get log * simplify two nonsense * not needed * libyuv is a joke * clean up * try small * fast but not bad * working * clean up driverview * simplified * thats mirrored * smol * tweak * ref is screen * w/ ee * update camera model * no if TICI * start * update pose thresh * less cpu more dsp * new libyuv * new snpe * add files * test * should be fast * update out len * trigger test * use master snpe * add cereal * update cereal * refactor parsing * missing ; * get * wrong type * test model * use driver data * 10829278-72fe-4283-a118-2cef959ce174/1550 * no pf * adapt driverview * ; * rhd learner * update libyuv buildi x64 * ad4337ea * remove blink slack * test * no * use toggle * b16 * fix for nv12 * 5b02cff5 both * update test * update cereal * update cereal * update cereal * v2 packets * revert libyuv * no / * update snpemodel * ; * memcpy * fix test * use toggle in driverview * update power * update replay * Revert "update replay" This reverts commit 1d0979ca59dbc89bc5890656e9501e83f0556d50. * update model ref * halve cpu * fake 8bit onnx runner * same thresh as report * cereal master Co-authored-by: Comma Device <device@comma.ai>
46 lines
1.5 KiB
C++
46 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#include <array>
|
|
#include "common/mat.h"
|
|
#include "selfdrive/hardware/hw.h"
|
|
|
|
const int TRAJECTORY_SIZE = 33;
|
|
const int LAT_MPC_N = 16;
|
|
const int LON_MPC_N = 32;
|
|
const float MIN_DRAW_DISTANCE = 10.0;
|
|
const float MAX_DRAW_DISTANCE = 100.0;
|
|
|
|
template <typename T, size_t size>
|
|
constexpr std::array<T, size> build_idxs(float max_val) {
|
|
std::array<T, size> result{};
|
|
for (int i = 0; i < size; ++i) {
|
|
result[i] = max_val * ((i / (double)(size - 1)) * (i / (double)(size - 1)));
|
|
}
|
|
return result;
|
|
}
|
|
|
|
constexpr auto T_IDXS = build_idxs<double, TRAJECTORY_SIZE>(10.0);
|
|
constexpr auto T_IDXS_FLOAT = build_idxs<float, TRAJECTORY_SIZE>(10.0);
|
|
constexpr auto X_IDXS = build_idxs<double, TRAJECTORY_SIZE>(192.0);
|
|
constexpr auto X_IDXS_FLOAT = build_idxs<float, TRAJECTORY_SIZE>(192.0);
|
|
|
|
const mat3 fcam_intrinsic_matrix = (mat3){{2648.0, 0.0, 1928.0 / 2,
|
|
0.0, 2648.0, 1208.0 / 2,
|
|
0.0, 0.0, 1.0}};
|
|
|
|
// tici ecam focal probably wrong? magnification is not consistent across frame
|
|
// Need to retrain model before this can be changed
|
|
const mat3 ecam_intrinsic_matrix = (mat3){{567.0, 0.0, 1928.0 / 2,
|
|
0.0, 567.0, 1208.0 / 2,
|
|
0.0, 0.0, 1.0}};
|
|
|
|
static inline mat3 get_model_yuv_transform(bool bayer = true) {
|
|
float db_s = 1.0;
|
|
const mat3 transform = (mat3){{
|
|
1.0, 0.0, 0.0,
|
|
0.0, 1.0, 0.0,
|
|
0.0, 0.0, 1.0
|
|
}};
|
|
return bayer ? transform_scale_buffer(transform, db_s) : transform;
|
|
}
|