fix the laser point x,y
This commit is contained in:
12
main.py
12
main.py
@@ -319,11 +319,18 @@ def cmd_str():
|
||||
|
||||
# 快速激光测距(激光一闪而过,约500-600ms)
|
||||
laser_distance_m = None
|
||||
laser_signal_quality = 0
|
||||
try:
|
||||
laser_distance_m = laser_manager.quick_measure_distance()
|
||||
result = laser_manager.quick_measure_distance()
|
||||
if isinstance(result, tuple) and len(result) == 2:
|
||||
laser_distance_m, laser_signal_quality = result
|
||||
else:
|
||||
# 向后兼容:如果返回的是单个值
|
||||
laser_distance_m = result if isinstance(result, (int, float)) else 0.0
|
||||
laser_signal_quality = 0
|
||||
if logger:
|
||||
if laser_distance_m > 0:
|
||||
logger.info(f"[MAIN] 激光测距成功: {laser_distance_m:.3f} m")
|
||||
logger.info(f"[MAIN] 激光测距成功: {laser_distance_m:.3f} m, 信号质量: {laser_signal_quality}")
|
||||
else:
|
||||
logger.warning("[MAIN] 激光测距失败或返回0")
|
||||
except Exception as e:
|
||||
@@ -355,6 +362,7 @@ def cmd_str():
|
||||
"r": 90.0,
|
||||
"d": round((distance_m or 0.0) * 100), # 视觉测距值(厘米)
|
||||
"d_laser": round((laser_distance_m or 0.0) * 100), # 激光测距值(厘米)
|
||||
"d_laser_quality": laser_signal_quality, # 激光测距信号质量
|
||||
"m": method if method else "no_target",
|
||||
"adc": adc_val
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user