
Kiai
מערכת Wear OS לזיהוי מכות באימון אומנויות לחימה — זיהוי מאקסלרומטר/ג'יירו ומשוב מיידי בקול ובמגע.
איך בנינו את Kiai: שעון שמזהה מכה אמיתית ברגע שהיא קורית
Kiai הוא פרויקט Wear OS שמנסה לעשות משהו קטן אבל לא טריוויאלי בכלל: לזהות מכות קראטה או אומנויות לחימה דרך שעון, ולהחזיר תגובה מיידית של צליל ורטט.
על הנייר זה נשמע פשוט: קוראים Accelerometer, מזהים תנועה חזקה, מפעילים “בום”. בפועל, גוף אנושי הוא מערכת כאוטית למדי. ילדים מרימים יד, מסובבים מפרק, מניחים יד על שולחן, השעון משנה זווית, והחיישנים מספרים סיפור רועש.
מה הבעיה שהמערכת פותרת?
המוצר צריך להבדיל בין תנועה רגילה לבין Kime — מכה עם עצירה חדה וברורה. לא מספיק למדוד כוח. צריך להבין את הצורה של התנועה: עלייה, Peak, ירידה חדה, ואז Cooldown כדי לא להפעיל שוב בטעות.
זו בעיית Signal Processing בעולם אמיתי: חיישנים קטנים, רעש, ילדים, תנועות לא צפויות, וסוללה מוגבלת.
הארכיטקטורה מתחת למכסה המנוע
הפרויקט בנוי כ־Android/Wear OS עם מודולים נפרדים:
- watch: אפליקציית Wear OS לשימוש בפועל על שעון Samsung Galaxy Watch.
- phone: אפליקציית Android לבדיקות, כיול ושיתוף לוגים.
- shared: מודול Kotlin משותף שמחזיק את אלגוריתם הזיהוי, פרוטוקול, בדיקות ולוגיקה שניתנת לשימוש בשני הצדדים.
החלוקה הזו קריטית: האלגוריתם לא כלוא במסך אחד. אפשר לבדוק אותו, לכייל אותו, להריץ עליו Unit Tests, ולשמור עקביות בין Watch לבין Phone.
האלגוריתם: לא “כוח”, אלא סיפור של תנועה
הזיהוי בנוי מכמה שלבים:
- Motion detection: התחלת מעקב רק כשכוח G עובר Threshold.
- Peak tracking: שמירה של נקודת השיא בתנועה.
- Snap detection: זיהוי ירידה חדה אחרי השיא — סימן לעצירה/מכה.
- Validation: בדיקה שהשיא עבר את סף ה־Kime.
- Cooldown: חלון שקט שמונע טריגרים כפולים.
זוהי דוגמה יפה ל־Edge Cases Optimization: המוצר לא מחפש רק את המקרה האידיאלי, אלא את כל הדרכים שבהן משתמש אמיתי יכול לבלבל אותו.
שכבת כיול ושיפור מתמשך
Kiai כולל יכולת לייצא לוגים ולבנות וריאציות רגישות שונות: Low, Medium ו־High. זה מאפשר לכייל את המערכת לפי גיל, כוח ואופי התנועה של המתאמנים.
בנוסף, נבנו שיפורים סביב:
- זמן השתקה אחרי טריגר, כדי למנוע “בום שני” כשהיד נוחתת על שולחן.
- שימוש בחיישן Gravity כדי להבין מה באמת “למטה”, בלי להניח שהשעון תמיד יושב באותה זווית.
- תכנון דחיית Wrist-flick cheats על בסיס נתונים אמיתיים, במקום לנחש Threshold.
אמינות על שעון היא אתגר בפני עצמו
ב־Wear OS, ביצועים הם לא רק עניין של FPS. צריך לחשוב על סוללה, Wi‑Fi, מצב מסך כבוי, Foreground Service, הרשאות, ויכולת להמשיך לפעול בזמן אימון.
לכן העבודה לא הסתיימה באלגוריתם. היא כללה גם הנחיות בדיקה, Battery Optimization Troubleshooting, בנייה ל־Release, ותהליך מסודר לאיסוף נתוני אמת מהמכשיר.
שאלת SEO נפוצה: למה לא להשתמש רק ב־Accelerometer Threshold?
כי Threshold פשוט מזהה “חזק”, לא “נכון”. מכה אמיתית, הרמת יד ורמאות עם מפרק יכולים לייצר ערכים גבוהים. כדי לזהות תנועה משמעותית צריך להביט על רצף: התחלה, Peak, Deceleration, כיוון, וסינון כפילויות.
במילים אחרות: מוצר טוב לא שואל רק “כמה חזק?”, אלא “איזה סוג תנועה זה היה?”.
לסיכום
Kiai הוא דוגמה למוצר Deep Tech קטן בגודל המסך, אבל גדול בעומק ההנדסי: חיישנים, Wear OS, אלגוריתם זיהוי, כיול, לוגים, סאונד, רטט, ובדיקות סביב התנהגות אמיתית.
זה בדיוק מסוג הפרויקטים שבהם הנדסה טובה לא נמדדת בכמות מסכים, אלא ביכולת לגרום לחיישן קטן להבין רגע פיזי מורכב.