SICK TOP

پرش به ناوبری
پرش به جستجو

خلاصه (Summary)

نکته (NOTE)
لایسنس: این اپراتور فقط در نسخه‌های TouchDesigner Educational، TouchDesigner Commercial و TouchDesigner Pro در دسترس است.
سیستم‌عامل: این اپراتور فقط روی سیستم‌عامل ویندوز پشتیبانی می‌شود.

اپراتور SICK TOP برای دریافت داده‌های ابرنقاط (Point Cloud) از سنسورهای لیدار (LIDAR) ساخت شرکت SICK استفاده می‌شود. خروجی سنسور در قالب یک تکسچر با دقت اعشاری (Floating Point Texture) بسته‌بندی می‌شود؛ به‌طوری‌که هر پیکسل نماینده‌ی یک نقطه‌ی داده است و هر کانال رنگی (R، G، B، A) یک فیلد از داده‌ها مانند موقعیت x، y یا z را ذخیره می‌کند.
این TOP از SDK با نام sick_scan_xd استفاده می‌کند و فهرست سنسورهای پشتیبانی‌شده در صفحه‌ی GitHub این پروژه قابل مشاهده است.

تکسچر ابرنقاط را می‌توان با استفاده از TOPهای دیگر مانند Point Transform TOP یا Math TOP بیشتر پردازش کرد و سپس با استفاده از Geometry COMP برای ساخت نمونه‌های هندسی (Geometry Instances) به کار برد و در صورت نیاز با Line MAT رندر کرد.

ارتباط با سنسور لیدار از طریق اتصال Ethernet انجام می‌شود و پارامتر Device Address برای وارد کردن آدرس IP سنسور در شبکه استفاده می‌شود. نرم‌افزار SOPAS Engineering Tool که توسط SICK ارائه شده است، می‌تواند برای تشخیص خودکار آدرس IP سنسورهای متصل استفاده شود.

پیکربندی سنسور از طریق یک فایل Launch خارجی انجام می‌شود که باید از SICK دانلود شود. این فایل برای هر نوع اتصال ضروری است و باید با نسخه‌ی SDK و مدل سنسور شما مطابقت داشته باشد. TouchDesigner در حال حاضر از نسخه‌ی 3.0.x این SDK استفاده می‌کند. نسخه‌ی SDK را می‌توان با کلیک وسط (Middle-click) روی نود و مشاهده‌ی Info Box آن TOP دید.

مهم: SDK با نام sick_scan_xd فقط از یک سنسور در هر پردازش CPU پشتیبانی می‌کند؛ بنابراین در هر فایل پروژه‌ی TouchDesigner فقط می‌توانید یک SICK TOP فعال داشته باشید. اگر چند SICK TOP استفاده شوند، فقط اولین نودی که Cook شود فعال خواهد شد.
برای دسترسی به چند سنسور در یک پروژه، از کامپوننت sickEngine در پوشه‌ی Point Cloud در Palette استفاده کنید. این کامپوننت از Engine COMP استفاده می‌کند تا هر SICK TOP را در یک پردازش جداگانه اجرا کند.

نکته (Tip): برای دریافت اطلاعات بیشتر جهت دیباگ و وضعیت، می‌توانید متغیر محیطی
TOUCH_TEXT_CONSOLE=1
را فعال کنید تا خروجی SDK مربوط به SICK در پنجره‌ی کنسول نمایش داده شود.
توجه: این قابلیت فقط برای SICK TOPهایی که در پروژه‌ی اصلی TouchDesigner هستند کار می‌کند و برای TOPهایی که داخل Engine COMP قرار دارند خروجی‌ای نمایش داده نمی‌شود.


فهرست مطالب (Contents)

  1. Summary

  2. Parameters – Connection Page

  3. Parameters – Common Page

  4. Info CHOP Channels
     4.1 Common Operator Info Channels


Parameters – Connection Page

Active (active)
اتصال به سنسور را فعال می‌کند. در هر پروژه فقط یک نود SICK می‌تواند هم‌زمان فعال باشد. فعال‌کردن نود دوم باعث نمایش پیام خطا می‌شود.

Reinitialize (reinitialize)
اتصال به سنسور را مجدداً راه‌اندازی می‌کند. این کار اتصال فعلی را می‌بندد و با استفاده از پارامترهای فعلی دوباره مقداردهی اولیه می‌کند. همچنین می‌توانید پارامتر Active را یک‌بار خاموش و دوباره روشن کنید تا سنسور ری‌اینیشیالایز شود.

Launch File (launchfile)
مسیر فایل Launch برای پیکربندی سنسور. وجود یک فایل Launch معتبر برای اتصال به سنسور ضروری است. فایل‌های Launch نمونه برای هر سنسور از وب‌سایت SICK قابل دانلود هستند. تنظیمات پیشرفته را می‌توان در همین فایل انجام داد.

Device Address (deviceaddress)
آدرس IP سنسور. اگر این فیلد خالی باشد، آدرس پیش‌فرض تعریف‌شده در فایل Launch استفاده می‌شود.

Port (port)
شماره پورت سنسور. اگر این پارامتر خالی باشد، شماره پورت پیش‌فرض موجود در فایل Launch استفاده می‌شود.

Custom Arguments (customargs)
آرگومان‌های اضافی که هنگام مقداردهی اولیه سنسور باید استفاده شوند. این گزینه برای سفارشی‌سازی پارامترهای سنسورهای مختلف در حالی که از یک فایل Launch مشترک استفاده می‌شود مفید است.
فرمت آرگومان‌ها باید به صورت زیر باشد:
name1:=value1 name2:=value2

Red (red)
نام فیلد داده‌ای که به مؤلفه‌ی قرمز تصویر خروجی اختصاص داده می‌شود (مثلاً x). فیلدهای در دسترس بسته به نوع سنسور متفاوت هستند و از منوی کشویی کنار پارامتر قابل انتخاب‌اند.

Green (green)
نام فیلد داده‌ای که به مؤلفه‌ی سبز تصویر خروجی اختصاص داده می‌شود (مثلاً y). فیلدهای در دسترس بسته به سنسور متفاوت هستند و از منوی کشویی قابل انتخاب‌اند.
می‌توان از one یا zero برای اختصاص مقدار ثابت استفاده کرد.

Blue (blue)
نام فیلد داده‌ای که به مؤلفه‌ی آبی تصویر خروجی اختصاص داده می‌شود (مثلاً z). فیلدهای در دسترس بسته به سنسور متفاوت هستند و از منوی کشویی قابل انتخاب‌اند.
می‌توان از one یا zero برای اختصاص مقدار ثابت استفاده کرد.

Alpha (alpha)
نام فیلد داده‌ای که به مؤلفه‌ی آلفای تصویر خروجی اختصاص داده می‌شود (مثلاً one). فیلدهای در دسترس بسته به سنسور متفاوت هستند و از منوی کشویی قابل انتخاب‌اند.
می‌توان از one یا zero برای اختصاص مقدار ثابت استفاده کرد.


Parameters – Common Page

Output Resolution (outputresolution)
تغییر سریع رزولوشن داده‌های خروجی TOP.

Resolution (resolution)
فقط زمانی فعال است که پارامتر Resolution روی Custom Resolution تنظیم شده باشد. برخی Generatorها مانند Constant و Ramp ورودی ندارند و فقط از این فیلد برای تعیین اندازه استفاده می‌کنند. منوی کشویی سمت راست شامل چند رزولوشن رایج است.

Resolution Menu (resmenu)
منوی کشویی شامل چند رزولوشن پرکاربرد.

Use Global Res Multiplier (resmult)
از ضریب سراسری رزولوشن که در مسیر Edit > Preferences > TOPs قرار دارد استفاده می‌کند و رزولوشن تمام TOPها را در مقدار تعیین‌شده ضرب می‌کند. این گزینه برای کار روی سیستم‌هایی با سخت‌افزار متفاوت بسیار کاربردی است.

Output Aspect (outputaspect)
نسبت تصویر خروجی را تنظیم می‌کند و اجازه می‌دهد تکسچرها در هر اندازه‌ای نمایش داده شوند. هنگام ترکیب TOPهایی با نسبت تصویر متفاوت مراقب نتایج غیرمنتظره باشید.
(می‌توان تصاویر با پیکسل‌های غیرمربعی تعریف کرد با استفاده از xres، yres، aspectx و aspecty در حالتی که xres/yres ≠ aspectx/aspecty باشد.)

Aspect (aspect)
زمانی استفاده می‌شود که Output Aspect روی Custom Aspect تنظیم شده باشد.

Aspect Menu (armenu)
منوی کشویی شامل نسبت‌های تصویر رایج.

Input Smoothness (inputfiltertype)
کنترل فیلتر شدن پیکسل‌ها روی تصویر ورودی TOP.

Fill Viewer (fillmode)
مشخص می‌کند تصویر TOP چگونه در Viewer نمایش داده شود.
نکته: برای درک بهتر نحوه‌ی کار TOPها با تصویر، در شروع کار بهتر است این گزینه روی Native Resolution قرار داده شود.

Viewer Smoothness (filtertype)
کنترل فیلتر شدن پیکسل‌ها در Viewerها.

Passes (npasses)
عملیات TOP را به تعداد مشخص‌شده تکرار می‌کند. در هر پاس بعد از اول، نتیجه‌ی پاس قبلی گرفته شده و جایگزین ورودی اول نود می‌شود.
یک استثنا در مورد GLSL TOP هنگام استفاده از Compute Shaderها وجود دارد که در آن ورودی همچنان تصویر TOP متصل باقی می‌ماند.

Channel Mask (chanmask)
امکان انتخاب این‌که TOP روی کدام کانال‌ها (R، G، B یا A) عمل کند. به‌صورت پیش‌فرض همه‌ی کانال‌ها فعال هستند.

Pixel Format (format)
فرمت ذخیره‌سازی داده برای هر کانال تصویر (مانند R، G، B و A). برای اطلاعات بیشتر به Pixel Formats مراجعه کنید.


Info CHOP Channels

اطلاعات تکمیلی این TOP از طریق یک Info CHOP قابل دسترسی است (Info Channels – Common Page).

Common Operator Info Channels

total_cooks – تعداد دفعاتی که اپراتور از زمان شروع پروسه Cook شده است
cook_time – مدت زمان آخرین Cook بر حسب میلی‌ثانیه
cook_frame – شماره فریمی که اپراتور آخرین بار نسبت به تایم‌لاین کامپوننت Cook شده است
cook_abs_frame – شماره فریمی که اپراتور آخرین بار نسبت به زمان مطلق Cook شده است
cook_start_time – زمان شروع Cook اپراتور (میلی‌ثانیه) در فریمی که Cook شده
cook_end_time – زمان پایان Cook اپراتور (میلی‌ثانیه) در همان فریم
cooked_this_frame – اگر اپراتور در این فریم Cook شده باشد مقدار 1 دارد
warnings – تعداد هشدارهای اپراتور (در صورت وجود)
errors – تعداد خطاهای اپراتور (در صورت وجود)