915cf85cc5185245654208c9dacdd15b7a6bf478
recovery_core
Interface (base class) cho các hành vi recovery của navigation stack ROS-like T800.
Phạm vi
- Là package định nghĩa interface, mô phỏng
robot_nav_core::RecoveryBehaviornhưng mở rộng thêmglobal_path:initialize(name, tf, global_path, global_costmap, local_costmap); đồng thời tổng quát hoá output để bao 3 họ recovery. - Không chạy roscpp/ROS master thật; dùng bình thường lớp ROS-like
robot_*(robot_costmap_2d,tf3,robot_cpp,robot_time,robot_geometry_msgs,robot_nav_msgs). - Core interface không publish trực tiếp. Package hiện có thêm các plugin mẫu build thành
.soriêng và nạp qua Boost.DLL để kiểm chứng contract end-to-end.
Ba họ recovery
| Họ | Ví dụ | Output | Method chính |
|---|---|---|---|
| A | regen path (đường thoát) | robot_nav_msgs::Path |
runBehavior() |
| B | clear costmap | không có (chỉ status) | runBehavior() |
| C | rotation / backup | robot_geometry_msgs::Twist mỗi cycle |
computeCommand(dt) |
Cả 3 chia sẻ một RecoveryResult hợp nhất mang cờ output_type.
Cấu trúc
include/recovery_core/ recovery_types.h, recovery_config.h, recovery_behavior.h
src/ phần chung của contract (types/config/default behavior)
plugins/ clear_costmap, rotate, backup, regen_path plugin mẫu
test/ contract test + Boost.DLL loader test
examples/ minimal_recovery.cpp
docs/ ARCHITECTURE.md, PLUGIN_GUIDE.md, SAFETY.md
Build
Hỗ trợ catkin và standalone CMake (như robot_clear_costmap_recovery).
# catkin (trong workspace)
catkin_make --pkg recovery_core
# standalone
mkdir build && cd build && cmake .. && make
Trạng thái
- Phase 1 — khung package (interface + stub, build lib rỗng).
- Phase 2 — triển khai phần chung (types/config/validate + default computeCommand).
- Phase 3 — plugin mẫu cho 3 họ + export/import Boost.DLL.
Xem PLAN.md để biết chi tiết từng phase.
Description
Languages
C++
91%
CMake
9%