প্রকল্প সম্পর্কে
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 run build-এর মাধ্যমে একটি pixi (conda ভার্চুয়াল এনভায়রনমেন্ট) ওয়ার্কফ্লো পাওয়া যায়।
- behaviortree-cpp পোর্ট ব্যবহার করে vcpkg-এর মাধ্যমেও লাইব্রেরিটি ইনস্টল করা যায়।
BT.CPP কীভাবে ব্যবহার করতে হয় তা দেখানো একটি উদাহরণ অ্যাপ্লিকেশন README-তে লিংক করা আছে। সংস্করণ 3.8 একটি পৃথক ব্রাঞ্চে পাওয়া যায়, যেটি বাগ ফিক্স পেতে পারে, তবে নতুন ফিচার শুধুমাত্র master ব্রাঞ্চে বাস্তবায়িত হয়। প্রধান লেখকের সাথে যোগাযোগ করে বাণিজ্যিক সহায়তা ও পরামর্শ নেওয়া যায়। প্রকল্পটি MIT License-এর অধীনে প্রকাশিত, যেখানে বিভিন্ন বছরে Davide Faconti এবং Michele Colledanchise-কে কপিরাইট অ্যাট্রিবিউট করা হয়েছে।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.