optimal & fix file cmake

This commit is contained in:
2026-08-03 22:32:40 +07:00
parent 89add78c7f
commit 887bff1b97
98 changed files with 8971 additions and 1339 deletions

View File

@@ -0,0 +1,68 @@
# Config CHỈ dùng cho test của gói. Bản runtime nằm ở
# `pnkx_nav_core/config/recovery_behaviors_params.yaml` (C2) — sửa tham số vận hành thì sửa ở đó.
#
# Chạy test kèm: PNKX_NAV_CORE_CONFIG_DIR=src/AMR_T800/Test/recovery_core/test/config
#
# Chỉ khai các behavior chạy được với fake của nav_test_harness. ClearCostmapRecovery cần
# Costmap2DROBOT thật (TF + layer), nên nó được kiểm ở tầng tích hợp chứ không ở đây.
recovery:
# Thứ tự CHÍNH LÀ hành vi. Bản test giữ đúng thứ tự tương đối của bộ default.
behaviors:
- {name: wait, type: WaitRecovery}
- {name: rotate, type: RotateRecovery}
- {name: back_up, type: BackUpRecovery}
wait:
wait_duration: 3.0 # [s]
rotate:
full_rotation: true # quay đủ 2*pi để costmap thấy xung quanh
angular_speed: 0.4 # [rad/s] độ lớn; dấu do goal.angle quyết định
acc_lim_theta: 0.8 # [rad/s^2]
sim_granularity: 0.1 # [rad] bước quét cung lúc start
timeout: 20.0 # [s]
back_up:
backup_distance: 0.28 # [m] cố ý KHÔNG chia hết cho quãng đi mỗi tick của test
backup_distance_max: 1.0 # [m] trần cứng
linear_speed: 0.1 # [m/s] độ lớn; dấu âm do plugin đặt
acc_lim_x: 0.3 # [m/s^2]
timeout: 15.0 # [s]
# Namespace dành riêng cho test đường lỗi: param ngoài dải cho phép phải bị từ chối kèm cảnh báo,
# không được nhận nguyên giá trị.
recovery_bad:
bad_timeout:
timeout: -5.0 # [s] âm -> base phải quay về 0 (không giới hạn)
# Namespace dành riêng cho test đường lỗi: type không có khoá library_path tương ứng bên dưới.
recovery_missing_library:
behaviors:
- {name: ghost, type: GhostRecovery}
# Namespace dành riêng cho test đường lỗi: một behavior tốt, một behavior hỏng — behavior tốt vẫn
# phải được giữ lại.
recovery_partial:
behaviors:
- {name: wait, type: WaitRecovery}
- {name: ghost, type: GhostRecovery}
wait:
wait_duration: 1.0 # [s]
# Bảng symbol -> thư viện cho Boost.DLL. Thiếu khoá library_path là nguyên nhân phổ biến nhất của
# lỗi "plugin build xong nhưng runtime báo không tìm thấy".
WaitRecovery:
library_path: librecovery_core_wait_recovery
RotateRecovery:
library_path: librecovery_core_rotate_recovery
BackUpRecovery:
library_path: librecovery_core_back_up_recovery
ClearCostmapRecovery:
library_path: librecovery_core_clear_costmap_recovery
# GhostRecovery cố ý KHÔNG khai library_path — registry_test dựa vào đó để kiểm thông báo lỗi có
# nêu đích danh khoá bị thiếu hay không.