开源项目 `sampling-based-planners` 使用教程

开源项目 sampling-based-planners 使用教程

sampling-based-plannersC++ implementation of RRT, RRT*, and Informed-RRT* using kd-tree for searching NN and NBHD nodes. Supports arbitrary dimensions and compiles as a shared library.项目地址:https://gitcode.com/gh_mirrors/sa/sampling-based-planners

1. 项目的目录结构及介绍

sampling-based-planners/
├── docs/
│   ├── README.md
│   └── CONTRIBUTING.md
├── src/
│   ├── planners/
│   │   ├── prm.py
│   │   ├── rrt.py
│   │   └── utils.py
│   └── main.py
├── config/
│   ├── default_config.yaml
│   └── custom_config.yaml
├── tests/
│   ├── test_prm.py
│   └── test_rrt.py
├── .gitignore
├── LICENSE
└── requirements.txt
  • docs/: 包含项目的文档文件,如 README.mdCONTRIBUTING.md
  • src/: 项目的源代码目录,包含各种规划算法的实现。
    • planners/: 具体的规划算法实现,如 prm.pyrrt.py
    • main.py: 项目的启动文件。
  • config/: 配置文件目录,包含默认配置和自定义配置。
  • tests/: 测试文件目录,包含各种规划算法的测试脚本。
  • .gitignore: Git 忽略文件。
  • LICENSE: 项目许可证。
  • requirements.txt: 项目依赖文件。

2. 项目的启动文件介绍

src/main.py 是项目的启动文件,负责初始化配置、加载规划算法并执行规划任务。以下是 main.py 的主要功能:

import argparse
from config.config_loader import load_config
from src.planners.prm import PRM
from src.planners.rrt import RRT

def main():
    parser = argparse.ArgumentParser(description="Sampling-Based Planners")
    parser.add_argument("--config", type=str, default="config/default_config.yaml", help="Path to the configuration file")
    args = parser.parse_args()

    config = load_config(args.config)

    if config['planner_type'] == 'PRM':
        planner = PRM(config)
    elif config['planner_type'] == 'RRT':
        planner = RRT(config)
    else:
        raise ValueError("Unknown planner type")

    planner.plan()

if __name__ == "__main__":
    main()
  • 解析命令行参数,加载配置文件。
  • 根据配置文件中的 planner_type 选择相应的规划算法。
  • 初始化规划算法并执行规划任务。

3. 项目的配置文件介绍

config/default_config.yaml 是项目的默认配置文件,包含规划算法的基本参数设置。以下是配置文件的一个示例:

planner_type: PRM
environment:
  width: 100
  height: 100
  obstacles:
    - x: 20
      y: 20
      width: 10
      height: 10
start:
  x: 5
  y: 5
goal:
  x: 95
  y: 95
sampling_rate: 1000
connection_radius: 10
  • planner_type: 指定使用的规划算法类型,如 PRMRRT
  • environment: 定义规划环境的基本参数,如宽度、高度和障碍物位置。
  • startgoal: 定义规划任务的起始点和目标点。
  • sampling_rate: 采样率,控制规划算法中随机采样的数量。
  • connection_radius: 连接半径,控制规划算法中节点之间的连接距离。

通过修改配置文件,可以灵活调整规划算法的参数,以适应不同的规划任务需求。

sampling-based-plannersC++ implementation of RRT, RRT*, and Informed-RRT* using kd-tree for searching NN and NBHD nodes. Supports arbitrary dimensions and compiles as a shared library.项目地址:https://gitcode.com/gh_mirrors/sa/sampling-based-planners

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

段沙璐Blythe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值