BioVR
جلسهی واقعیت مجازی با دادهی زندهی قلب از ساعت Galaxy.
مسئلهای که حل کرد
درمانگر در جلسهی واقعیت مجازی میبیند بیمار چه چیزی تماشا میکند، اما واکنش بدن او را نمیبیند. BioVR سیگنالهای قلبی بیمار را کنار جلسه گذاشت، طوری که ضربان، تغییرپذیری فاصلهی ضربانها و موج خام نبض همزمان با کنترل ویدیویی که بیمار تماشا میکند، زنده به کنسول درمانگر میرسد.
مسائل مشابهی که میتواند حل کند
هر جلسهای که واکنش بدن به اندازهی خود محتوا اهمیت دارد. آموزش بیوفیدبک و آرامسازی، پژوهش روی استرس و توجه در واقعیت مجازی، و پایش ورزش یا توانبخشی با ساعتهای هوشمند معمولی بهجای تجهیزات آزمایشگاهی نمونههایش هستند.
BioVR نمونهی اولیهای است که در ۱۴۰۴ دادهی زیستی بیمار را به جلسهی واقعیت مجازی آورد. یک اپ روی ساعت Galaxy ضربان قلب، فاصلهی بین ضربانها، HRV و سیگنال خام PPG را به کنسول درمانگر روی WPF میفرستد و همزمان یک اپ Unity روی Meta Quest ویدیوی ۳۶۰ درجه و سهبعدی درمانی را به فرمان همین کنسول پخش میکند. شاخهی زیستدادهی SyneuraX روی همین کار بنا میشود.
- اپ ساعت Galaxy با Samsung Health Sensor SDK برای ضربان، IBI، PPG، شتابسنج، دمای پوست و SpO2
- محاسبهی HRV (RMSSD یا SDNN) روی خود ساعت در پنجرهای لغزان تا ۱۲۰ ضربان
- Unity 6 روی Meta Quest ویدیوی ۳۶۰ درجه، کناربهکنار و بالابهپایین را به فرمان کنسول WPF پخش میکند
معرفی
BioVR نمونهی اولیهای است که در ۱۴۰۴ بدن بیمار را وارد جلسهی واقعیت مجازی کرد. یک ساعت Galaxy سیگنالهای قلبی را به کنسول درمانگر میفرستد و همزمان هدست Meta Quest ویدیوی درمانی را به فرمان همین کنسول پخش میکند، پس درمانگر هم میبیند بیمار چه تماشا میکند و هم میبیند قلبش چطور واکنش نشان میدهد. این یک نمونهی پژوهشی است و تجهیزات پزشکی تأییدشده نیست. هدفش این بود که معلوم شود یک ساعت هوشمند معمولی در طول جلسهی واقعیت مجازی چه چیزهایی را قابل اعتماد اندازه میگیرد.
یک سیستم، چهار بخش
- اپ ساعت با Kotlin روی Wear OS و Samsung Health Sensor SDK 1.4.1. ضربان قلب و فاصلهی بین ضربانها را پیوسته میخواند، سیگنال خام PPG را در سه رنگ سبز و فروسرخ و قرمز میگیرد، شتابسنج و دمای پوست را ثبت میکند و SpO2 را هر وقت لازم باشد اندازه میگیرد. HRV را روی خود ساعت به شکل RMSSD یا SDNN در پنجرهای لغزان تا ۱۲۰ ضربان حساب میکند و همه را به شکل بستههای JSON نوعدار روی TCP میفرستد.
- اپ هدست با Unity 6، Meta XR SDK و URP روی Meta Quest. با یک کرهی ساختهشده در کد و یک شیدر اختصاصی ویدیوی ۳۶۰ درجه و ویدیوی سهبعدی کناربهکنار و بالابهپایین را پخش میکند و تصویر خود هدست را هم به کنسول برمیگرداند.
- کنسول درمانگر با داتنت ۹ و WPF. هدستها را روی شبکه پیدا میکند، فرمان و محتوا میفرستد، نشان میدهد هر هدست چه چیزی نمایش میدهد و سیگنالهای ساعت را دریافت میکند.
- ابزار فهرست ویدیو با داتنت ۹، WPF و FFmpeg. ویدیوهای درمانی را میخواند و فهرستی با توضیح هر ویدیو میسازد که هدست از روی آن پخش میکند.
هر چهار بخش با یک مدل بسته حرف میزنند که در یک کتابخانهی مشترک .NET Standard 2.1 تعریف شده و روی ساعت هم عیناً پیاده شده است، با بیست نوع بسته از پیام زندهبودن اتصال و سطح باتری تا PPG خام، پنجرهی فاصلهی ضربانها و شاخصهای HRV.
مهندسی
- چند هدست روی یک شبکه. هر هدست بر اساس شناسهاش پورتهای جداگانه برای پیدا شدن، کنترل، فرمان و تصویر میگیرد، پس چند جلسه بدون هیچ تنظیمی کنار هم اجرا میشوند.
- HRV همانجا که داده هست. حساب کردن HRV روی خود ساعت ترافیک شبکه را کم و شاخص را بین جلسهها یکدست نگه میدارد، و فاصلهی خام ضربانها و PPG باز هم برای تحلیل بعدی به کنسول میرسند.
- نسخهی تازهی Wear OS. اپ ساعت برای اندروید ۱۶ (API 36) ساخته شده که در آن هر حسگر سلامت مجوز جداگانهی خودش را لازم دارد، و از میان همین تغییرهای پلتفرم عبور کرده است.
ادامهی مسیر
تجربهی کنسول و شبکهی BioVR مستقیم به SyneuraX رسید، پلتفرم توانبخشی واقعیت مجازی که بعد از آن ساخته شد و زیستداده در آن بهعنوان محصول BioVR برنامهریزی شده است.
فناوری
Kotlin و Jetpack Compose برای Wear OS و Samsung Health Sensor SDK روی ساعت Galaxy، Unity 6 با Meta XR SDK و OpenXR و URP روی Meta Quest، داتنت ۹ و WPF برای کنسول و ابزار فهرست ویدیو همراه با FFMpegCore، و یک پروتکل مشترک .NET Standard 2.1 با بستههای JSON روی TCP.