# 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