add new file nav_c_api2 and function

This commit is contained in:
2026-08-06 19:50:46 +07:00
parent 565e18bfb8
commit ad28a413cc
34 changed files with 2439 additions and 216 deletions

View File

@@ -0,0 +1,42 @@
# Tham số RUNTIME của mission layer (gói `mission_adapters`).
#
# Đây là bản đang có hiệu lực. Bản trong `Test/mission_adapters/test/config/` chỉ phục vụ test và
# chỉ được đọc khi chạy kèm PNKX_NAV_CORE_CONFIG_DIR trỏ vào đúng thư mục đó.
mission_adapters:
# Nguồn mission. Thêm một loại nguồn mới = thêm một entry ở đây + một plugin .so, không phải sửa
# code của gói.
# name: tên instance, cũng là namespace param riêng của nó
# type: tên symbol export bằng BOOST_DLL_ALIAS, phải có khoá library_path tương ứng bên dưới
mission_sources:
- {name: goal_src, type: GoalSourceAdapter}
- {name: vda5050_src, type: VDA5050SourceAdapter}
# Trần thời gian cho MỘT chặng (navigation + action), tính từ lúc chặng được giao. [s]
# 0 = tắt. Quá hạn thì chặng bị đánh dấu thất bại VÀ navigation được bảo dừng — lưới cuối cho
# trường hợp navigation không bao giờ báo kết quả về.
mission_timeout: 0.0
# Một chặng thất bại thì xử lý phần còn lại của hàng đợi thế nào.
# true = xoá sạch hàng đợi (mặc định, an toàn cho tuyến đường tuần tự kiểu VDA5050: không tới
# được node n thì chạy tiếp chặng n+1 là cắt ngang đoạn chưa được cho phép đi)
# false = chỉ bỏ chặng lỗi rồi chạy tiếp. Chỉ đặt false khi các mission trong hàng đợi ĐỘC LẬP
# với nhau, không phải các chặng của cùng một tuyến.
clear_queue_on_failure: true
# Param riêng của từng instance nguồn mission, đặt theo `name` ở trên.
vda5050_src:
# Frame gán cho goal/start sinh ra từ nodePosition của VDA5050.
# Lưu ý: `mapId` trong VDA5050 là danh tính bản đồ, KHÔNG phải frame TF, nên không dùng làm frame.
global_frame: map
# 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". Tên không có đuôi .so được resolve qua PNKX_NAV_CORE_LIBRARY_PATH / devel/lib /
# LD_LIBRARY_PATH — tức phải `source devel/setup.bash` trước khi chạy.
GoalSourceAdapter:
library_path: libmission_adapters_goal_source
VDA5050SourceAdapter:
library_path: libmission_adapters_vda5050_source