calibrationd: support for not cars (#24115)

* calibrationd: support for not cars

* update refs
old-commit-hash: 7dffd0ac0b
taco
Adeeb Shihadeh 3 years ago committed by GitHub
parent bacfb41d63
commit 56bfed0c15
  1. 28
      selfdrive/locationd/calibrationd.py
  2. 2
      selfdrive/test/process_replay/ref_commit

@ -12,7 +12,7 @@ import capnp
import numpy as np import numpy as np
from typing import List, NoReturn, Optional from typing import List, NoReturn, Optional
from cereal import log from cereal import car, log
import cereal.messaging as messaging import cereal.messaging as messaging
from common.conversions import Conversions as CV from common.conversions import Conversions as CV
from common.params import Params, put_nonblocking from common.params import Params, put_nonblocking
@ -63,6 +63,8 @@ class Calibrator:
def __init__(self, param_put: bool = False): def __init__(self, param_put: bool = False):
self.param_put = param_put self.param_put = param_put
self.CP = car.CarParams.from_bytes(Params().get("CarParams", block=True))
# Read saved calibration # Read saved calibration
params = Params() params = Params()
calibration_params = params.get("CalibrationParams") calibration_params = params.get("CalibrationParams")
@ -182,12 +184,24 @@ class Calibrator:
extrinsic_matrix = get_view_frame_from_road_frame(0, smooth_rpy[1], smooth_rpy[2], model_height) extrinsic_matrix = get_view_frame_from_road_frame(0, smooth_rpy[1], smooth_rpy[2], model_height)
msg = messaging.new_message('liveCalibration') msg = messaging.new_message('liveCalibration')
msg.liveCalibration.validBlocks = self.valid_blocks liveCalibration = msg.liveCalibration
msg.liveCalibration.calStatus = self.cal_status
msg.liveCalibration.calPerc = min(100 * (self.valid_blocks * BLOCK_SIZE + self.idx) // (INPUTS_NEEDED * BLOCK_SIZE), 100) liveCalibration.validBlocks = self.valid_blocks
msg.liveCalibration.extrinsicMatrix = extrinsic_matrix.flatten().tolist() liveCalibration.calStatus = self.cal_status
msg.liveCalibration.rpyCalib = smooth_rpy.tolist() liveCalibration.calPerc = min(100 * (self.valid_blocks * BLOCK_SIZE + self.idx) // (INPUTS_NEEDED * BLOCK_SIZE), 100)
msg.liveCalibration.rpyCalibSpread = self.calib_spread.tolist() liveCalibration.extrinsicMatrix = extrinsic_matrix.flatten().tolist()
liveCalibration.rpyCalib = smooth_rpy.tolist()
liveCalibration.rpyCalibSpread = self.calib_spread.tolist()
if self.CP.notCar:
extrinsic_matrix = get_view_frame_from_road_frame(0, 0, 0, model_height)
liveCalibration.validBlocks = INPUTS_NEEDED
liveCalibration.calStatus = Calibration.CALIBRATED
liveCalibration.calPerc = 100.
liveCalibration.extrinsicMatrix = extrinsic_matrix.flatten().tolist()
liveCalibration.rpyCalib = [0, 0, 0]
liveCalibration.rpyCalibSpread = self.calib_spread.tolist()
return msg return msg
def send_data(self, pm: messaging.PubMaster) -> None: def send_data(self, pm: messaging.PubMaster) -> None:

@ -1 +1 @@
f7a6dd296e4747595ec4ef453c58800a88128be7 f6c93d48d14fa7be45961f7325a7957f53126671
Loading…
Cancel
Save