تسجيل المظاهرات اللمسية

البيانات اللمسية هي الطريقة المفقودة في معظم مجموعات بيانات تعلم الروبوت. تشرح هذه الصفحة سبب أهميتها، وكيفية تسجيل تدفقات اللمس + الذراع + الكاميرا المتزامنة، وتنسيق مجموعة البيانات الموسعة، وكيفية تدريب السياسات التي تستخدم المدخلات اللمسية.

لماذا تعمل البيانات اللمسية على تحسين تعلم الروبوت

الرؤية تحكي سياسة أين القابض هو. يروي ذلك استقبال الحس العميق إلى أي مدى الأصابع مغلقة. لا يقول ذلك ما إذا كان فهم مستقر. يجب أن تتعلم السياسة التي يتم تدريبها على الرؤية والبيانات المشتركة وحدها كيفية استنتاج جودة الفهم بشكل غير مباشر - من حركة الجسم، أو حدود قوة الذراع، أو التجربة والخطأ أثناء الطرح. توفر إضافة الاستشعار عن طريق اللمس إشرافًا مباشرًا على حالة الاتصال: تستقبل السياسة إشارة الحقيقة الأرضية التي تميز القبضة الآمنة عن تلك المعرضة للانزلاق في كل خطوة زمنية لكل عرض. وهذا يؤثر بشكل خاص على الكائنات القابلة للتشوه أو الشفافة أو ذات الحجم المتغير حيث لا يمكن الاعتماد على تقدير جودة الفهم البصري.

إعداد الأجهزة للتسجيل المتزامن

يتطلب جهاز التسجيل الكامل متعدد الوسائط ثلاث طبقات من الأجهزة، جميعها متزامنة مع ساعة مشتركة:

  1. ذراع الروبوت - يوفر مواضع مشتركة وسرعات ووضعية المؤثر النهائي عند 100-500 هرتز عبر USB أو Ethernet. استخدم واجهة برمجة تطبيقات الطابع الزمني لـ SDK، وليس وقت النظام، للحصول على حالة مشتركة مختومة بالأجهزة.
  2. مستشعر (مستشعرات) Paxini Gen3 - موصول بمحور USB مزود بالطاقة مثبت على معصم الروبوت. يتم وضع طابع زمني على كل إطار بواسطة الكمبيوتر المضيف في وقت مقاطعة USB (دقة النانو ثانية، <0.5 مللي ثانية).
  3. آلة تصوير - كاميرا واحدة مثبتة على المعصم (اختياري: كاميرا علوية واحدة). استخدم كاميرا USB أو GigE مع مزامنة تشغيل الأجهزة، أو كاميرا يتم تشغيلها بواسطة برنامج مع زمن انتقال معروف. سجل بمعدل 30-60 إطارًا في الثانية.

تكتب المصادر الثلاثة طوابع زمنية باستخدام نفس الساعة المضيفة الرتيبة. منصة SDK مسجل متعدد المصادر محاذاة الإطارات في وقت ما بعد المعالجة باستخدام الطابع الزمني.

# Complete synchronized recording session من paxini.sync قم باستيراد MultiSourceRecorder مسجل = MultiSourceRecorder ( الذراع = الذراع_واجهة، الاستشعار = باكسيني. الاستشعار ()، الكاميرا = واجهة الكاميرا، Output_dir = "./demo_recordings/"، الحلقة_بادئة = "grasp_place" ) مسجل.start_episode() # ... perform the manipulation demo ... مسجل.end_episode() # saves episode_000.hdf5

تنسيق مجموعة البيانات - مخطط LeRobot الموسع

يعمل خط أنابيب جمع البيانات Paxini Gen3 على توسيع تنسيق مجموعة بيانات LeRobot HDF5 القياسي مع قنوات لمسية إضافية. تظل أدوات LeRobot الحالية (تحميل البيانات، والتصور، والتدريب على السياسات) متوافقة تمامًا - يتم تجاهل المفاتيح الجديدة ببساطة من خلال خطوط الأنابيب التي لا تستخدمها.

مفتاح HDF5 شكل مصدر
مراقبة.حالة(ت، 7)مواضع مفصل الذراع + عرض القابض
Observation.images.wrist(ت، ح، ث، 3)كاميرا المعصم (uint8 RGB)
فعل(ت، 7)مواقع المفاصل المستهدفة + أمر القابض
مراقبة.tactile.pressure_map(ت، 8، 8)مجموعة الضغط Paxini Gen3 (كيلو باسكال، float32)
الملاحظة.tactile.total_force_n(ت،)إجمالي القوة العادية لكل إطار (نيوتن)
الملاحظة.tactile.in_contact(ت،)علامة اتصال منطقية لكل إطار
مراقبة.tactile.contact_centroid(ت، 2)الاتصال بالنقطه الوسطى (الصف، العمود) لكل إطار
التعريف / الطوابع الزمنية_ns(ت،)الطوابع الزمنية بالنانو ثانية لجميع القنوات

يتم تسليط الضوء على مفاتيح اللمس الجديدة. تتبع جميع المفاتيح الأخرى مخطط LeRobot القياسي.

قائمة مراجعة الجودة للبيانات اللمسية

تشغيل معايرة خط الأساس قبل كل جلسة يتصل sensor.calibrate() مع القابض مفتوحة وتفريغها. يؤدي هذا إلى التخلص من الاتصال الذاتي بالإصبع وضغط الكابل. أعد المعايرة إذا تم تغيير موضع الذراع بشكل ملحوظ.
التحقق من توافق أحداث الاتصال مع الفيديو قم بمراجعة 5 حلقات في مصور البيانات قبل جمع مجموعة البيانات الكاملة. ال in_contact يجب أن تتزامن الحافة الصاعدة مع اللحظة المرئية للتلامس مع كائن الإصبع في تغذية الكاميرا. يشير التأخر الذي يزيد عن 20 مللي ثانية إلى وجود مشكلة في محاذاة الطابع الزمني.
تغطية نطاق القوة الكامل في المظاهرات الخاصة بك تهدف إلى تسجيل القبضات على مستويات القبضة الخفيفة والمتوسطة والثابتة. إذا كانت جميع عروضك التوضيحية تستخدم الحد الأقصى من قوة الإمساك، فلن تتعلم السياسة كيفية تعديل ضغط الاتصال. تختلف وزن الكائن والامتثال عبر الحلقات.
قم بوضع علامة على أحداث الانزلاق واستبعادها من بيانات التدريب تحتوي الحلقات التي ينزلق فيها الكائن في منتصف الإمساك ولكن العرض التجريبي يصل إلى نتيجة ناجحة على إشارة إدارة متضاربة. استخدم أدوات تطوير البرامج (SDK). paxini.annotate.flag_slip_events(episode) لوضع علامة عليها تلقائيًا للمراجعة.
تحقق من تشبع المستشعر لو pressure_map.max() يصل إلى 600 كيلو باسكال في أي حلقة، ويكون المستشعر مشبعًا. قلل من قوة القابض أو استخدم متغير راحة اليد (ذروة ضغط أقل لكل تاكسل) من أجل قبضات أثقل.

التدريب على السياسات باستخدام المدخلات اللمسية

لإضافة اللمس كطريقة مراقبة في ACT أو سياسة الانتشار، قم بتوسيع تكوين المراقبة ليشمل خريطة الضغط أو العددية المجمعة (Total_force_n). توفر خريطة الضغط معلومات مكانية كاملة ولكنها تضيف 64 عوامة لكل إطار لكل مستشعر؛ العددية أسهل في التكامل وكافية لمهام جودة الفهم الثنائي.

# ACT config snippet — add tactile to observation space مفاتيح_المراقبة: - الملاحظة.الدولة # joint positions - الملاحظة. الصور. المعصم # camera - الملاحظة.tactile.total_force_n # scalar - مراقبة.tactile.pressure_map # optional: full map # Normalize tactile observations التطبيع اللمسي: Total_force_n: {المتوسط: 2.5، القياس القياسي: 1.8} خريطة_الضغط: {المتوسط: 12.0، المعياري: 45.0} # kPa statistics from your dataset

للحصول على الإرشادات التدريبية الكاملة - بما في ذلك كيفية حساب إحصائيات التسوية من مجموعة البيانات المسجلة الخاصة بك وتقييمها مقابل خط أساس للرؤية فقط - راجع مسار التعلم الوحدة 5.

للحصول على سياق أوسع حول استراتيجيات جمع البيانات اليدوية، راجع دليل الأيدي الحاذقة.