ETPNav 项目使用教程
1. 项目的目录结构及介绍
ETPNav/
├── docs/
│ └── README.md
├── src/
│ ├── planner/
│ │ ├── __init__.py
│ │ ├── cross_modal_planner.py
│ │ └── topological_map.py
│ ├── controller/
│ │ ├── __init__.py
│ │ ├── obstacle_avoiding_controller.py
│ │ └── trial_and_error_heuristic.py
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── config_loader.py
│ │ └── logger.py
│ ├── main.py
│ └── config.yaml
├── tests/
│ ├── test_planner.py
│ └── test_controller.py
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt
目录结构介绍
- docs/: 包含项目文档,如
README.md
。 - src/: 项目源代码目录。
- planner/: 包含规划器相关代码。
- controller/: 包含控制器相关代码。
- utils/: 包含工具类代码,如配置加载和日志记录。
- main.py: 项目启动文件。
- config.yaml: 项目配置文件。
- tests/: 包含测试代码。
- .gitignore: Git 忽略文件配置。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- requirements.txt: 项目依赖文件。
2. 项目的启动文件介绍
main.py
main.py
是项目的启动文件,负责初始化配置、加载规划器和控制器,并启动导航任务。
import argparse
from src.planner import CrossModalPlanner
from src.controller import ObstacleAvoidingController
from src.utils import ConfigLoader
def main():
parser = argparse.ArgumentParser(description="ETPNav Vision-Language Navigation")
parser.add_argument("--config", type=str, default="src/config.yaml", help="Path to configuration file")
args = parser.parse_args()
config = ConfigLoader.load(args.config)
planner = CrossModalPlanner(config)
controller = ObstacleAvoidingController(config)
# 启动导航任务
planner.plan()
controller.execute()
if __name__ == "__main__":
main()
3. 项目的配置文件介绍
config.yaml
config.yaml
是项目的配置文件,包含规划器和控制器的参数设置。
planner:
map_resolution: 0.1
max_steps: 100
controller:
avoidance_strategy: "trial_and_error"
max_attempts: 5
logging:
level: "INFO"
file: "etpnav.log"
配置文件介绍
- planner: 规划器相关配置。
- map_resolution: 地图分辨率。
- max_steps: 最大规划步数。
- controller: 控制器相关配置。
- avoidance_strategy: 避障策略。
- max_attempts: 最大尝试次数。
- logging: 日志记录相关配置。
- level: 日志级别。
- file: 日志文件路径。
以上是 ETPNav 项目的基本使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望对您有所帮助!