# Cấu trúc thư mục pnkx_nav_core

Mô tả cấu trúc thư mục thực tế của dự án:

```
pnkx_nav_core/
├── src/
│   ├── Navigations/
│   │   ├── Cores/
│   │   │   ├── move_base_core/              # BaseNavigation interface
│   │   │   ├── robot_nav_core/              # Planner interfaces (BaseGlobalPlanner, BaseLocalPlanner, RecoveryBehavior)
│   │   │   ├── robot_nav_core_adapter/      # Adapter utilities (global_planner_adapter, local_planner_adapter, costmap_adapter)
│   │   │   └── robot_nav_core2/             # Additional nav utilities (global_planner, local_planner, costmap)
│   │   ├── Libraries/
│   │   │   └── nav_grid/                    # Navigation grid utilities
│   │   └── Packages/
│   │       └── move_base/                   # MoveBase implementation
│   │
│   ├── Algorithms/
│   │   ├── Cores/
│   │   │   └── score_algorithm/             # Trajectory scoring và goal checking
│   │   ├── Libraries/
│   │   │   ├── mkt_algorithm/               # MKT kinematics (diff drive & bicycle)
│   │   │   ├── mkt_plugins/                 # MKT plugin components
│   │   │   ├── mkt_msgs/                    # MKT message types
│   │   │   ├── kalman/                      # Kalman filtering
│   │   │   └── angles/                      # Angle utilities
│   │   └── Packages/
│   │       ├── global_planners/
│   │       │   ├── custom_planner/           # Custom global planner
│   │       │   ├── dock_planner/            # Docking planner
│   │       │   └── two_points_planner/      # Two points planner
│   │       └── local_planners/
│   │           └── pnkx_local_planner/      # PNKX local planner
│   │
│   ├── Libraries/
│   │   ├── costmap_2d/                      # Costmap system với 8 layers
│   │   ├── tf3/                             # Transform system
│   │   ├── robot_time/                      # Time management
│   │   ├── robot_cpp/                       # Core utilities (init, NodeHandle, PluginLoaderHelper)
│   │   ├── robot_nav_2d_utils/             # 2D navigation utilities
│   │   ├── robot_nav_2d_msgs/              # 2D navigation messages
│   │   ├── geometry2/                       # Geometry utilities (tf3_geometry_msgs, tf3_sensor_msgs)
│   │   ├── common_msgs/                     # Message types
│   │   │   ├── robot_geometry_msgs/         # Geometry messages (29 types)
│   │   │   ├── robot_nav_msgs/             # Navigation messages (24 types)
│   │   │   ├── robot_sensor_msgs/          # Sensor messages (30 types)
│   │   │   ├── robot_std_msgs/             # Standard messages (32 types)
│   │   │   ├── robot_protocol_msgs/        # Protocol messages
│   │   │   ├── robot_visualization_msgs/   # Visualization messages
│   │   │   └── utils/                       # Message utilities
│   │   ├── laser_geometry/                  # Laser geometry utilities
│   │   ├── voxel_grid/                      # Voxel grid
│   │   ├── data_convert/                    # Data conversion
│   │   └── xmlrpcpp/                        # XML-RPC utilities
│   │
│   └── APIs/
│       └── c_api/                           # C API wrapper cho .NET/C#
│
├── build/                                   # Build artifacts
├── config/                                  # Configuration files
├── examples/                                # Example code
└── doc/                                     # Documentation
    ├── architecture_discussion.md
    ├── implementation_plan.md
    ├── folders.md
    └── readme.md
```

## Chi tiết các thư mục chính

### Navigations/
- **Cores/**: Interfaces và core utilities
  - `move_base_core`: BaseNavigation interface
  - `robot_nav_core`: Planner interfaces
  - `robot_nav_core_adapter`: Adapter layer
  - `robot_nav_core2`: Additional utilities
- **Libraries/**: Navigation libraries
  - `nav_grid`: Grid utilities
- **Packages/**: Implementations
  - `move_base`: MoveBase implementation

### Algorithms/
- **Cores/**: Core algorithms
  - `score_algorithm`: Trajectory scoring
- **Libraries/**: Algorithm libraries
  - `mkt_algorithm`: Kinematics algorithms
  - `mkt_plugins`: Plugin components
  - `kalman`: Filtering
- **Packages/**: Algorithm implementations
  - `global_planners/`: 3 planners
  - `local_planners/`: 1 planner với multiple behaviors

### Libraries/
- **costmap_2d/**: Costmap system với 8 layers
- **tf3/**: Transform system
- **robot_cpp/**: Core utilities (init, NodeHandle, PluginLoaderHelper)
- **common_msgs/**: Message type definitions
- Các utilities khác: time, geometry, sensors, etc.