🧭 خلاصه (Summary)

Leuze ROD4 CHOP برای اتصال به اسکنر لیزری Leuze ROD4 از طریق TCP/IP طراحی شده است.
این نود می‌تواند داده‌های فاصله‌ی اندازه‌گیری‌شده را در حالت Blob Tracking به نقاط (blob) قابل استفاده برای سطوح تعاملی تبدیل کند.
تمام مدل‌های فعلی ROD4 با این نود سازگار هستند.

⚠️ توجه:

  • نیازمند لایسنس نسخه‌های Educational, Commercial یا Pro از TouchDesigner است.

  • حالت “Object Detection” برخی مدل‌ها هنوز پشتیبانی نمی‌شود.

💡 این نود می‌تواند همراه با Blob Track CHOP برای تشخیص اجسام در میدان دید استفاده شود.
به مثال OP Snippet برای Blob Track مراجعه کنید.


⚙️ پارامترها – صفحه ROD4 (Parameters – ROD4 Page)

🔹 Active (active)

اگر روشن باشد، CHOP داده‌ها را از اسکنر دریافت می‌کند.
وقتی خاموش است، اتصال شبکه قطع می‌شود و داده‌ها به‌روزرسانی نمی‌شوند.


🔹 Network Address (netaddress)

آدرس IP اسکنر ROD4.

🔹 Network Port (port)

شماره پورت شبکه‌ی اسکنر.


🔹 ROD4 Protocol (rod4protocol)

انتخاب پروتکل ارتباطی (باید دقیقاً با تنظیمات نرم‌افزار RODplussoft مطابقت داشته باشد):

  • Binary ROD4 compatible (binary): حالت باینری.

  • ROD4plus ASCII-Remote (ascii): حالت متنی (ASCII).

اگر پروتکل اشتباه انتخاب شود ممکن است داده‌ای دریافت شود، اما مقدار آن تصادفی و نادرست خواهد بود.


🔹 Input Coordinate (inputcoordinate)

(فقط در پروتکل ASCII-Remote)
مشخص می‌کند داده‌های ورودی بر اساس کدام سیستم مختصات باشند:

  • Polar: مختصات قطبی

  • Cartesian: مختصات کارتزین (X/Y)

این تنظیم باید با مقدار تنظیم‌شده در نرم‌افزار RODplussoft یکسان باشد.


🔹 Output Mode (outputmode)

انتخاب نوع داده‌ی خروجی:

گزینهتوضیح
Raw Data (rawdata)خروجی شامل 529 نمونه (sample) است که هرکدام موقعیت X/Y بر حسب متر از اسکنر را نشان می‌دهد.
Blob Tracking (blobtracking)داده‌های خام تحلیل شده و نقاط نزدیک به هم در قالب blob (نقطه‌ی تشخیص) با شناسه‌های منحصربه‌فرد تولید می‌شوند.

📍 فقط در حالت Blob Tracking:

🔸 Max Blobs (maxblobs)

حداکثر تعداد blobهایی که می‌توانند هم‌زمان ردیابی شوند.

🔸 Max Point Distance in Blob (maxpointdistance)

حداکثر فاصله (بر حسب متر) بین دو نقطه که بتوان آن‌ها را به عنوان بخشی از یک blob در نظر گرفت.

🔸 Max Blob Movement (maxblobmovement)

حداکثر جابجایی مجاز blob بین دو فریم متوالی (بر حسب متر) برای اینکه هنوز همان blob در نظر گرفته شود.


🔹 Area of Interest (areaofinterest)

تعیین محدوده‌ای که در آن blobها ردیابی شوند:

گزینهتوضیح
Off (off)بدون محدودیت؛ کل میدان اسکن بررسی می‌شود.
Distance Based (distancebased)فقط blobهایی که در فاصله‌ی مشخصی از اسکنر هستند بررسی می‌شوند.
Bounding Box (boundingbox)فقط blobهایی که داخل جعبه‌ی مختصات تعریف‌شده هستند بررسی می‌شوند.

🔸 Max Distance (maxdistance)

(فقط در حالت Distance Based)
حداکثر فاصله‌ای که blobها در آن ردیابی می‌شوند.


🔸 Lower Left Corner (lowerleft)

(فقط در حالت Bounding Box)
مختصات گوشه‌ی پایین-چپ محدوده‌ی جعبه.

🔸 Upper Right Corner (upperright)

(فقط در حالت Bounding Box)
مختصات گوشه‌ی بالا-راست محدوده‌ی جعبه.


🔸 Allow Movement Outside Area (allowmovementoutside)

وقتی روشن باشد، blobهایی که ابتدا در محدوده‌ی مجاز شناسایی شده‌اند، حتی اگر خارج از محدوده حرکت کنند، همچنان ردیابی می‌شوند.
وقتی خاموش باشد، blob در صورت خروج از محدوده دیگر ردیابی نمی‌شود.


🔸 Bounding Box Mask TOP (boundingboxmask)

می‌توانید یک TOP را به عنوان ماسک محدوده تعریف کنید.
پیکسل‌هایی با مقدار غیرصفر داخل محدوده محسوب می‌شوند؛ پیکسل‌هایی با مقدار (0,0,0) خارج از محدوده‌اند.

  • فارغ از رزولوشن TOP، تصویر به اندازه‌ی جعبه‌ی تعیین‌شده کشیده می‌شود.

  • این TOP نباید هر فریم cook شود، زیرا سرعت عملکرد CHOP را به شدت کاهش می‌دهد.


🔹 Rotate Incoming Coordinates (rotate)

چرخش همه‌ی مختصات ورودی (tx و ty) حول محور z (برای تنظیم زاویه‌ی میدان اسکن).


⚙️ پارامترهای مشترک – صفحه Common (Parameters – Common Page)

  • Time Slice (timeslice): فعال‌سازی حالت Time Slice برای هماهنگی با نرخ فریم فعلی.

  • Scope (scope): تعیین کانال‌های تحت تأثیر.

  • Sample Rate Match (srselect): هماهنگ‌سازی نرخ نمونه بین ورودی‌ها (اولین، بیشترین، کمترین، یا خطا در اختلاف).

  • Export Method (exportmethod): تعیین روش اتصال خروجی‌ها (به DAT یا مسیرهای پارامتر).

  • Export Root (autoexportroot): مسیر ریشه‌ی مرجع برای خروجی‌ها.

  • Export Table (exporttable): جدول DAT نگهدارنده‌ی اطلاعات خروجی.


📊 کانال‌های اطلاعات (Info CHOP Channels)

اطلاعات اضافی از طریق Info CHOP قابل دسترسی است.

🔹 Common CHOP Info Channels

پارامترتوضیح
startآغاز بازه CHOP بر حسب نمونه‌ها
lengthتعداد نمونه‌ها
sample_rateنرخ نمونه‌گیری (فریم در ثانیه)
num_channelsتعداد کانال‌ها
time_sliceفعال بودن Time Slice (1 یا 0)
export_sernumشمار دفعات به‌روزرسانی اتصال خروجی‌ها

🔹 Common Operator Info Channels

پارامترتوضیح
total_cooksتعداد Cook از آغاز اجرای پروژه
cook_timeمدت زمان آخرین Cook (ms)
cook_frame / cook_abs_frameشماره فریم آخرین Cook (در تایم‌لاین و زمان مطلق)
cook_start_time / cook_end_timeزمان شروع و پایان Cook
cooked_this_frameآیا در این فریم Cook انجام شده است
warnings / errorsتعداد هشدارها یا خطاهای این اپراتور