界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

betaflight-sitl

betaflight-sitl

【效率与协作】Operate gym-pybullet-drones Betaflight SITL workflows, including BetaAviary layout checks, UDP port mapping, and external prerequisite troubleshooting.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: betaflight-sitl description: "Operate gym-pybullet-drones Betaflight SITL workflows, including BetaAviary layout checks, UDP port mapping, and external prerequisite troubleshooting." disable-model-invocation: true metadata: disco-role: operating license: MIT

Betaflight SITL

Use this sub-skill when a task mentions Betaflight SITL, BetaAviary, beta.py, the betaflight_sitl/bfN directory layout, UDP ports, or the external build/check steps implied by the package's Betaflight example.

Route here for

  • Checking whether a local checkout or installed package has the external Betaflight SITL binaries staged in the layout that BetaAviary expects.
  • Understanding the port mapping used by BetaAviary and the BetaFlight example.
  • Running the bundled helper in check-only mode or, when explicitly requested, executing the wrapped BetaFlight workflow after prerequisites are present.
  • Troubleshooting missing betaflight_sitl/bfN directories, missing executables, terminal-launch differences, or port mismatches.

Do not handle here

  • PID, velocity, downwash, or MRAC control simulations; route those to control-simulation.
  • PPO hover training or playback; route those to rl-workflows.
  • External Betaflight repository cloning/building itself. This sub-skill only describes and checks the prerequisites that must already exist.

Start here

  1. Read workflows to understand the layout check, port map, and optional execution flow.

  2. Read troubleshooting before attempting to run anything, especially on machines without a display or without the external SITL tree.

  3. Prefer the bundled checker first:

    python scripts/check_betaflight_layout.py --num-drones 2
    
  4. If and only if the checker reports a complete layout and the user explicitly wants execution, run the wrapper in execute mode:

    python scripts/run_beta_sitl.py --execute --num-drones 2 --duration-sec 5 --output-folder /tmp/gpd-beta --no-gui
    

Runtime guardrails

  • clone_bfs.sh is reference evidence, not a bundled runtime helper. It clones and patches an external Betaflight repository and should not be auto-run by future agents from this skill.
  • BetaAviary expects the external SITL binaries to exist in a betaflight_sitl/bfN layout relative to the package checkout or installed-package path that the workflow is using.
  • The package's BetaFlight example maps drones to ports in steps of 10: drone 0 uses 9002/9003/9004, drone 1 uses 9012/9013/9014, and so on.
  • Keep the bundled runner check-only unless --execute is passed. This sub-skill is intentionally safe by default.
  • When the external layout is missing, stop and report exactly what is absent rather than trying to clone or build Betaflight inside the generated skill.
我的收藏