इस प्रोजेक्ट के बारे में

BehaviorTree.CPP एक C++17 फ्रेमवर्क है जो व्यवहार पेड़ बनाने के लिए है। परियोजना बताती है कि इसे लचीला, उपयोग में आसान, प्रतिक्रियाशील और तेज़ बनाने के लिए डिज़ाइन किया गया था। इसका प्राथमिक उपयोग रोबोटिक्स है, लेकिन README नोट करता है कि इसका उपयोग गेम्स के लिए AI बनाने या परिमित राज्य मशीनों को बदलने के लिए भी किया जा सकता है। परियोजना द्वारा उजागर की गई मुख्य विशेषताएं: - अतुल्यकालिक, गैर-अवरोधक क्रियाओं को प्रथम श्रेणी के नागरिकों के रूप में माना जाता है। - प्रतिक्रियाशील व्यवहार कई क्रियाओं को समवर्ती रूप से निष्पादित कर सकते हैं (ऑर्थोगोनैलिटी)। - पेड़ XML-आधारित डोमेन-विशिष्ट स्क्रिप्टिंग भाषा के साथ परिभाषित किए जाते हैं और रनटाइम पर लोड किए जा सकते हैं, इसलिए पेड़ की आकृति हार्ड-कोडेड नहीं होती है, भले ही लाइब्रेरी C++ में लिखी गई हो। - कस्टम ट्री नोड्स को स्थिर रूप से लिंक किया जा सकता है या प्लगइन्स में परिवर्तित किया जा सकता है और रनटाइम पर लोड किया जा सकता है। - एक टाइप-सुरक्षित और लचीला तंत्र पेड़ के नोड्स के बीच डेटाफ्लो का समर्थन करता है। - एक लॉगिंग/प्रोफाइलिंग बुनियादी ढांचा उपयोगकर्ताओं को राज्य संक्रमणों को देखने, रिकॉर्ड करने, फिर से चलाने और विश्लेषण करने की अनुमति देता है। दस्तावेज़ीकरण और सामुदायिक संसाधनों में ट्यूटोरियल और सामान्य दस्तावेज़ीकरण के लिए आधिकारिक साइट behaviortree.dev, स्वचालित रूप से उत्पन्न Doxygen पृष्ठ, और सामुदायिक समर्थन के लिए GitHub Discussions शामिल हैं। व्यवहार पेड़ों को संपादित करने के लिए Groot2 नामक एक ग्राफिकल संपादक पेश किया जाता है, जबकि किसी भी टेक्स्ट एडिटर में सादा XML संपादन भी संभव है। README में वर्णित निर्माण और स्थापना विकल्प: - C++17 का समर्थन करने वाला एक कंपाइलर आवश्यक है। - तीन बिल्ड सिस्टम समर्थित हैं: ROS2 उपयोगकर्ताओं के लिए colcon (ament), Linux/Windows के लिए conan, और स्वयं निर्भरताओं का प्रबंधन करने वाले उपयोगकर्ताओं के लिए सीधे CMake। - Conan बिल्ड के लिए CMake 3.23 या नया आवश्यक है। विशिष्ट कमांड conan install हैं, फिर conan-release प्रीसेट के साथ cmake, फिर उसी प्रीसेट के साथ cmake --build। - Conan के बिना, यदि ZeroMQ और SQLite जैसी निर्भरताएं पहले से स्थापित हैं, तो उपयोगकर्ता सादे CMake कमांड के साथ कॉन्फ़िगर और बिल्ड कर सकते हैं। - pixi (conda वर्चुअल वातावरण) वर्कफ़्लो pixi run build के माध्यम से उपलब्ध है। - लाइब्रेरी को vcpkg के माध्यम से behaviortree-cpp पोर्ट का उपयोग करके भी स्थापित किया जा सकता है। README में BT.CPP का उपयोग कैसे करें दिखाने वाला एक उदाहरण एप्लिकेशन लिंक किया गया है। संस्करण 3.8 एक अलग शाखा पर उपलब्ध है, जिसे बग फिक्स मिल सकते हैं, जबकि नई सुविधाएं केवल मास्टर शाखा पर लागू की जाती हैं। प्राथमिक लेखक से संपर्क करके वाणिज्यिक समर्थन और परामर्श की पेशकश की जाती है। परियोजना MIT लाइसेंस के तहत जारी की गई है, जिसमें कॉपीराइट विभिन्न वर्षों में Davide Faconti और Michele Colledanchise को दिया गया है।