הגדרת תוכנה ומנהלי התקנים
התקן את מנהל ההתקן של USB CDC, הזרם נתוני לחץ של 64 צמתים ב-Python, הדמיית מפות חום של אנשי קשר, ושילוב עם צינורות הקלטת Orca Hand.
התקן את חבילת juqiao-glove
הכפפה מתקשרת באמצעות USB CDC טורית - ללא מודולי ליבה, ללא מנהלי התקנים מותאמים אישית. חבילת Python עוטפת פיסיריאל ומטפל בפרוטוקול המסגרת הבינארית.
אמת את ההתקנה:
זיהוי יציאת ה-USB
חבר את הכפפה באמצעות כבל USB-C באורך 1.5 מ'. ההתקן מונה כיציאה טורית CDC-ACM.
| OS | שם יציאה טיפוסי | הערות |
|---|---|---|
| לינוקס | /dev/ttyACM0 | הוסף משתמש ל חיוג קבוצה אם הרשות נדחתה |
| macOS | /dev/tty.usbmodem* | לְהִשְׁתַמֵשׁ ls /dev/tty.usb* כדי למצוא שם מדויק |
| חלונות | COM3 (משתנה) | בדוק את מנהל ההתקנים ← יציאות (COM ו-LPT) |
זיהוי אוטומטי של הכפפה מ-Python:
או ציין את היציאה במפורש:
Python Streaming API
הכפפה זורמת ב-200 הרץ. כל מסגרת מכילה מערך לחץ של 64 אלמנטים (16 סיביות ADC, מנורמל 0.0-1.0) בתוספת חותמת זמן.
הפניה לאובייקט מסגרת
| תְכוּנָה | סוּג | תֵאוּר |
|---|---|---|
| frame.timestamp | לָצוּף | זמן קליטה בצד המארח (שניות, עידן יוניקס) |
| מסגרת.לחצים | np.ndarray (64,) | לחץ מנורמל לצומת, 0.0 (ללא) עד 1.0 (מקסימום) |
| frame.pressures_raw | np.ndarray (64,) | ספירת ADC גולמית של 16 סיביות (0–65535) |
| frame.contact_mask | np.ndarray (64,) bool | נכון כאשר הלחץ עולה על הסף (ברירת מחדל 0.05) |
| frame.contact_nodes | רשימה[int] | מדדים של צמתים שנמצאים כעת בקשר |
| frame.grasp_region | str או None | אזור היוריסטי: "כַּף הַיָד", "אֲגוּדָל", "מַדָד", "אֶמצַע", "טַבַּעַת", "זרת", אַף לֹא אֶחָד |
| frame.sequence | int | מונה מסגרת (עוטף ב-65535); השתמש כדי לזהות פריימים שנשרו |
פריסת חיישן 64 צמתים
64 הטקסלים מסודרים כמטריצת סיבים ארוגים המכסה את כף היד ואת כל חמשת מקטעי האצבעות. מדדי הצומת עוקבים אחר סדר עיקרי של השורה בנוף הגבי.
הדמיית מפת חום בלחץ
ה [דְהַינוּ] extra מתקין מעבד מפות חום חי matplotlib שימושי לכיול וניפוי באגים.
עבור סביבות חסרות ראש או סקירת נתונים, שמור פריימים כסרטון:
ממשק ROS2
ה juqiao_glove_ros2 החבילה מפרסמת מותאם אישית מערך מישוש הודעה בתדר 200 הרץ. תואם עם ROS2 Humble ו-Iron.
הפעל את צומת מנהל ההתקן:
נושאים שפורסמו:
| נוֹשֵׂא | סוג הודעה | קֶצֶב | תֵאוּר |
|---|---|---|---|
| /juqiao_glove/tactile_array | juqiao_glove_ros2/TactileArray | 200 הרץ | מערך לחץ מלא של 64 צמתים |
| /juqiao_glove/contact_mask | std_msgs/UInt8MultiArray | 200 הרץ | איש קשר בינארי לכל צומת (0 או 1) |
| /juqiao_glove/grasp_region | std_msgs/String | 200 הרץ | היוריסטית אזור פעיל או מחרוזת ריקה |
| /juqiao_glove/status | diagnostic_msgs/DiagnosticStatus | 1 הרץ | גרסת קושחה, קצב ירידת פריים |
משולבת Orca Hand + Glove Launch
בעת שימוש בכפפה לצד Orca Hand להקלטה מסונכרנת:
כיול קו בסיס
הכפפה נשלחת עם כיול מפעל. כיול מחדש אם אתה מבחין בסחיפה של קו הבסיס (צמתים קוראים ללא אפס בזמן מנוחה) או לאחר אחסון ממושך.
טען כיול בזמן ריצה:
כוונון סף
סף ברירת המחדל למגע הוא 0.05 (5% מקנה המידה המלא). התאם לכל משימה:
בעיות נפוצות
sudo usermod -aG dialout $USER לאחר מכן צא והיכנס חזרה. לחלופין: sudo chmod 666 /dev/ttyACM0 (מתאפס בניתוק).dmesg | tail -20 (לינוקס) או ls /dev/tty.usb* (macOS) כדי לוודא שמערכת ההפעלה מונה את המכשיר. נסה יציאת USB או כבל אחר (המחבר הוא USB-C אך חייב להיות כבל נתונים, לא לטעינה בלבד).glove.info() כדי לאשר שהקושחה מגיבה. אם כן, בדוק שקובץ הכיול אינו מופחת יתר על המידה. לִמְחוֹק ~/.juqiao_glove_cal.json ולכייל מחדש כשהכפפה שוכבת שטוחה.glove.calibrate_baseline(). יכול להתרחש לאחר שינויי טמפרטורה או אחסון ממושך. אם נסחף מעל 0.4 עם כפפה שטוחה, ייתכן שיהיה צורך בהחלפה של בד החישה (צור קשר עם תמיכת Juqiao).on_frame התקשרות חוזרת חוזרת במהירות - בצע עיבוד כבד בשרשור נפרד.ros2 launch juqiao_glove_ros2 glove.launch.py port:=/dev/ttyACM0. בדוק את יומני הצומת: ros2 node info /juqiao_glove_driver. להבטיח את dialout תיקון הקבוצה הוחל על המשתמש המריץ את הצומת ROS2.