Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

BehaviorTree.CPP

用於機器人任務規劃的 C++ 行為樹函式庫,為 Nav2 與 ROS 2 系統提供核心動力

授權條款

MIT

概述

BehaviorTree.CPP 是用於建立並執行行為樹的 C++ 函式庫,供機器人任務規劃使用。行為樹以 XML 定義,由 Action、Condition、Control 與 Decorator 節點組成,節點之間透過黑板(blackboard)共享資料,並提供記錄與重播功能以便除錯。它是 ROS 2 的 Nav2 中行為式導航的基礎。

BehaviorTree.CPP 是一個用於建立行為樹的高效能 C++ 函式庫,在機器人領域廣泛用於任務規劃與執行。它是 Nav2 行為式導航系統的基礎。

主要功能包括: - 以 XML 定義行為樹 - 自訂節點類型(Action、Condition、Control、Decorator) - 用於資料共享的 Blackboard - 用於除錯的記錄與重播 - 可即時執行 - Groot 圖形化編輯器 - ROS 2 整合 - 豐富的文件與教學

許多機器人公司已在量產環境中使用此函式庫執行複雜任務,從操作序列到多機器人協調都有。

為何重要

BehaviorTree.CPP 是 ROS 2 中機器人任務規劃的標準框架。它提供一種結構化的方式來組合複雜的機器人行為,Nav2 與許多其他 ROS 2 套件都仰賴於此,使其成為自主機器人的基礎設施。

解決的問題

複雜的機器人行為(導航、拾取、檢查、從錯誤中復原)很難以有限狀態機表達。行為樹提供了一種模組化、具階層結構的替代方案,更容易設計、除錯與修改。

重點

  • 業界標準的行為樹執行 C++ 函式庫
  • Nav2 導航與許多 ROS 2 自主套件的基礎
  • 提供圖形化編輯器(Groot2),以視覺方式設計行為樹
  • 支援非同步動作、子樹與執行期行為樹修改
  • 反應式、模組化的架構,適用於複雜的機器人行為

適用對象

  • 建構自主機器人行為的 ROS 2 開發者
  • 設計任務規劃系統的機器人工程師
  • 需要自訂導航行為的 Nav2 使用團隊
  • 將行為樹應用於機器人 AI 的遊戲開發者

限制

  • 身為 C++ 函式庫,撰寫自訂節點需要具備 C++ 知識
  • 行為樹設計模式需要一段學習曲線
  • Groot2 圖形化編輯器的進階功能需購買商業版
  • 除錯複雜的行為樹需要理解 tick 的傳遞方式

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。