إعداد البرامج وبرامج التشغيل
قم بتثبيت برنامج تشغيل USB CDC، ودفق بيانات الضغط ذات 64 عقدة في Python، وتصور خرائط حرارة الاتصال، والتكامل مع خطوط أنابيب تسجيل Orca Hand.
قم بتثبيت حزمة juqiao-glove
يتصل القفاز عبر USB CDC التسلسلي - لا توجد وحدات kernel ولا برامج تشغيل مخصصة. تلتف حزمة بايثون pyserial ويتعامل مع بروتوكول الإطار الثنائي.
التحقق من التثبيت:
الكشف عن منفذ USB
قم بتوصيل القفاز عبر كابل USB-C بطول 1.5 متر. يعدد الجهاز كمنفذ تسلسلي CDC-ACM.
| OS | اسم المنفذ النموذجي | ملحوظات |
|---|---|---|
| لينكس | /dev/ttyACM0 | إضافة مستخدم إلى اتصال المجموعة إذا تم رفض الإذن |
| ماك | /dev/tty.usbmodem* | يستخدم ليرة سورية /dev/tty.usb* للعثور على الاسم الدقيق |
| ويندوز | COM3 (يختلف) | تحقق من إدارة الأجهزة → المنافذ (COM وLPT) |
الكشف التلقائي عن القفاز من بايثون:
أو حدد المنفذ بشكل صريح:
واجهة برمجة تطبيقات تدفق بايثون
يتدفق القفاز بسرعة 200 هرتز. يحتوي كل إطار على مصفوفة ضغط مكونة من 64 عنصرًا (ADC 16 بت، تمت تسويتها من 0.0 إلى 1.0) بالإضافة إلى طابع زمني.
مرجع كائن الإطار
| يصف | يكتب | وصف |
|---|---|---|
| الإطار.الطابع الزمني | يطفو | وقت الاستلام من جانب المضيف (بالثواني، عصر Unix) |
| frame.pressures | np.ndarray (64،) | الضغط الطبيعي لكل عقدة، 0.0 (لا شيء) إلى 1.0 (كحد أقصى) |
| frame.pressures_raw | np.ndarray (64،) | عدد ADC الأولي 16 بت (0–65535) |
| frame.contact_mask | np.ndarray (64,) منطقي | صحيح عندما يتجاوز الضغط العتبة (الافتراضي 0.05) |
| frame.contact_nodes | قائمة [كثافة العمليات] | مؤشرات العقد الموجودة حاليًا على اتصال |
| frame.grasp_region | شارع أو لا شيء | المنطقة الإرشادية: "نخل", "إبهام", "فِهرِس", "وسط", "جرس", "الخنصر", لا أحد |
| frame.sequence | كثافة العمليات | عداد الإطار (يلتف عند 65535)؛ استخدامها للكشف عن الإطارات المسقطة |
تخطيط مستشعر 64 عقدة
تم ترتيب التاكسيلات الـ 64 على شكل مصفوفة من الألياف المنسوجة تغطي راحة اليد وجميع شرائح الأصابع الخمسة. تتبع مؤشرات العقدة ترتيبًا رئيسيًا متسقًا للعرض الظهري.
تصور خريطة الحرارة للضغط
ال [بمعنى] يقوم الإضافي بتثبيت عارض خريطة الحرارة matplotlib المباشر المفيد للمعايرة وتصحيح الأخطاء.
بالنسبة للبيئات بدون رأس أو مراجعة البيانات، احفظ الإطارات كفيديو:
واجهة روس2
ال juqiao_glove_ros2 تنشر الحزمة مخصصًا TactileArray رسالة عند 200 هرتز. متوافق مع ROS2 المتواضع والحديد.
إطلاق عقدة برنامج التشغيل:
المواضيع المنشورة:
| عنوان | نوع الرسالة | معدل | وصف |
|---|---|---|---|
| /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 المدمج
عند استخدام القفاز بجانب 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.