添加DEBUG功能
This commit is contained in:
@@ -27,7 +27,7 @@ HOST = "0.0.0.0"
|
|||||||
PORT = 65444
|
PORT = 65444
|
||||||
|
|
||||||
# TODO: 帧率控制配置
|
# TODO: 帧率控制配置
|
||||||
PERIOD = 0.1
|
PERIOD = 0.5
|
||||||
|
|
||||||
|
|
||||||
class VisionMode(enum.Enum):
|
class VisionMode(enum.Enum):
|
||||||
@@ -40,3 +40,14 @@ class VisionMode(enum.Enum):
|
|||||||
class CameraControl(enum.Enum):
|
class CameraControl(enum.Enum):
|
||||||
DESTORY = 0
|
DESTORY = 0
|
||||||
CAPTURE = 1
|
CAPTURE = 1
|
||||||
|
|
||||||
|
|
||||||
|
DURATION_DEBUG = True
|
||||||
|
|
||||||
|
TRACK_DEBUG = True
|
||||||
|
|
||||||
|
OBSTACLE_DEBUG = True
|
||||||
|
|
||||||
|
FRONT_DEBUG = True
|
||||||
|
|
||||||
|
REAR_DEBUG = True
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||||
|
from os import stat_result
|
||||||
from lib.alg.track_detection import TrackDetector
|
from lib.alg.track_detection import TrackDetector
|
||||||
from ctypes import set_errno
|
from ctypes import set_errno
|
||||||
from threading import Semaphore
|
from threading import Semaphore
|
||||||
@@ -28,6 +29,10 @@ from lib.cfg.cfg import (
|
|||||||
RAIL_KEYS,
|
RAIL_KEYS,
|
||||||
TITLE2D_KEY,
|
TITLE2D_KEY,
|
||||||
PERIOD,
|
PERIOD,
|
||||||
|
DURATION_DEBUG,
|
||||||
|
OBSTACLE_DEBUG,
|
||||||
|
FRONT_DEBUG,
|
||||||
|
REAR_DEBUG,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -120,6 +125,7 @@ class Presenter:
|
|||||||
# TODO: 避障模式相机采集和数据处理
|
# TODO: 避障模式相机采集和数据处理
|
||||||
def obstacle_mode_data_handle(self):
|
def obstacle_mode_data_handle(self):
|
||||||
"""获取所有3D避障相机的数据并处理,直到所有处理完成再继续"""
|
"""获取所有3D避障相机的数据并处理,直到所有处理完成再继续"""
|
||||||
|
st = time.time()
|
||||||
futures = []
|
futures = []
|
||||||
# 1. 发出CAPTURE命令
|
# 1. 发出CAPTURE命令
|
||||||
for key in self.process3d_info.keys():
|
for key in self.process3d_info.keys():
|
||||||
@@ -141,6 +147,7 @@ class Presenter:
|
|||||||
if not result["ok"]:
|
if not result["ok"]:
|
||||||
self.last_d[MAPPING[result["title"]]] = result["distance"]
|
self.last_d[MAPPING[result["title"]]] = result["distance"]
|
||||||
|
|
||||||
|
# 4. 将信息放置在历史队列当中
|
||||||
for key in OBSTACLE_KEYS:
|
for key in OBSTACLE_KEYS:
|
||||||
hist = self.hist_ok[key]
|
hist = self.hist_ok[key]
|
||||||
last_dist = self.last_d[key]
|
last_dist = self.last_d[key]
|
||||||
@@ -151,7 +158,7 @@ class Presenter:
|
|||||||
|
|
||||||
self.pkt[key + "_distance"] = dist_str
|
self.pkt[key + "_distance"] = dist_str
|
||||||
|
|
||||||
# 6. 总状态字段
|
# 5. 总状态字段
|
||||||
self.pkt["f_obstacle_status"] = (
|
self.pkt["f_obstacle_status"] = (
|
||||||
"OK"
|
"OK"
|
||||||
if self.pkt["f_l_obstacle_distance"] == "000"
|
if self.pkt["f_l_obstacle_distance"] == "000"
|
||||||
@@ -165,6 +172,10 @@ class Presenter:
|
|||||||
else "NG"
|
else "NG"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
et = time.time()
|
||||||
|
dua = (st - et) * 1000
|
||||||
|
print(f"[DEBUG]: 采图用时{dua}")
|
||||||
|
|
||||||
def wait_rec_tcp_data(self):
|
def wait_rec_tcp_data(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -203,6 +214,7 @@ class Presenter:
|
|||||||
try:
|
try:
|
||||||
server.accept_client()
|
server.accept_client()
|
||||||
while True:
|
while True:
|
||||||
|
start_time = time.time() # 计算帧率用时
|
||||||
# TODO: next_time 记录时钟控制帧率
|
# TODO: next_time 记录时钟控制帧率
|
||||||
next_time = time.perf_counter() + PERIOD
|
next_time = time.perf_counter() + PERIOD
|
||||||
try:
|
try:
|
||||||
@@ -243,6 +255,12 @@ class Presenter:
|
|||||||
tcp_send_buf = b"{}"
|
tcp_send_buf = b"{}"
|
||||||
server.send_data(tcp_send_buf)
|
server.send_data(tcp_send_buf)
|
||||||
|
|
||||||
|
# TODO: DEBUG
|
||||||
|
end_time = time.time()
|
||||||
|
duration_ms = (end_time - start_time) * 1000
|
||||||
|
if DURATION_DEBUG:
|
||||||
|
print(f"[DEBUG]: 用时{duration_ms}")
|
||||||
|
|
||||||
# TODO: 控制帧率
|
# TODO: 控制帧率
|
||||||
now = time.perf_counter()
|
now = time.perf_counter()
|
||||||
wait = next_time - now
|
wait = next_time - now
|
||||||
|
Reference in New Issue
Block a user