منصوبے کے بارے میں
rclnodejs ROS 2 کے لیے ایک Node.js کلائنٹ لائبریری ہے جو ROS 2 ایپلیکیشنز بنانے کے لیے JavaScript اور TypeScript APIs پیش کرتی ہے۔ README کے مطابق، یہ topics، services، actions، parameters، lifecycle nodes، TypeScript معاونت، RxJS Observable subscriptions، Electron انضمام اور ROS 2 تک browser رسائی کا احاطہ کرتی ہے۔
انسٹالیشن کے لیے Node.js 20.20.2 یا نیا ورژن اور ROS 2 SDK درکار ہے، اور انسٹال کرنے، بنانے یا چلانے سے پہلے ROS 2 ماحول کو source کرنا ضروری ہے۔ پیکیج کو `npm i rclnodejs` کے ساتھ انسٹال کیا جاتا ہے۔ Ubuntu 22.04 (Humble)، 24.04 (Jazzy، Kilted) اور 26.04 (Lyrical) کے لیے x64 اور arm64 پر prebuilt binaries دستاویز کی گئی ہیں؛ دیگر ماحول source سے بنتے ہیں، اور `RCLNODEJS_FORCE_BUILD=1` source build پر مجبور کرتا ہے۔ کنٹینرائزڈ ترقی کے لیے ایک Dockerfile فراہم کیا گیا ہے۔
Browser کے لیے، پروجیکٹ دو آپشنز دستاویز کرتا ہے۔ `rclnodejs/web` ROS 2 graph کے اوپر ایک typed تہہ ہے جس میں صلاحیتوں کو `web.json` میں یا CLI flags کے ذریعے allow-list کیا جاتا ہے، اور اس میں typed `call`، `publish` اور `subscribe`، WebSocket ٹرانسپورٹ کے ساتھ `call`/`publish` کے لیے اختیاری HTTP listener اور `subscribe` کے لیے Server-Sent Events شامل ہیں، جبکہ `rclnodejs-web openapi` کے ذریعے OpenAPI 3.1 spec جاری کی جاتی ہے۔ `rosocket` ایک پتلی WebSocket gateway ہے جس میں بلٹ ان WebSocket اور JSON کے علاوہ browser پر کوئی انحصار نہیں، اور اسے `npx rosocket` کے ذریعے شروع کیا جاتا ہے۔
Message کی تخلیق خودکار ہے: `npm install` کے دوران source کیے گئے ماحول میں ہر `.msg`، `.srv` اور `.action` انٹرفیس کے لیے JavaScript bindings اور TypeScript declarations تخلیق کیے جاتے ہیں، اور اضافی ROS پیکیجز انسٹال کرنے کے بعد `npx generate-ros-messages` تخلیق کا عمل دوبارہ چلاتا ہے۔ تخلیق شدہ فائلیں `node_modules/rclnodejs/generated/` میں آتی ہیں۔
اضافی دستاویزی مواد میں `throttleTime()`، `debounceTime()`، `map()` اور `combineLatest()` جیسے operators کے ساتھ RxJS Observable subscriptions؛ Electron Forge اور Three.js کے ساتھ بنے Electron demos، بشمول two-joint manipulator demo؛ TypeScript ترتیب سے متعلق رہنمائی؛ scaffolding اور launch-file orchestration کے لیے ایک ساتھی `rclnodejs-cli`؛ اور benchmark دستاویزات شامل ہیں۔ پروجیکٹ کو Apache License 2.0 کے تحت لائسنس یافتہ کیا گیا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.