جمع البيانات

يختلف تسجيل بيانات المعالجة البارعة باستخدام Orca Hand بشكل أساسي عن جمع بيانات المقبض البسيط - حيث تتطلب 17 مفصلًا للإصبع، وتدفقات اللمس الاختيارية، والتشغيل عن بعد بالقفازات، مزامنة دقيقة. يغطي هذا الدليل سير العمل بالكامل.

قبل التسجيل

إعداد الأجهزة لجمع البيانات الحاذقة

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

🕐

Orca Hand (USB تسلسلي)

17- حالة الإصبع DOF بتردد يصل إلى 100 هرتز. يؤكد: python -c "from orca_core import OrcaHand; h=OrcaHand('/dev/ttyUSB0'); h.connect(); print(h.get_positions())"

🤸

جهاز التشغيل عن بعد

Juqiao Glove (مستحسن) أو تتبع اليد بتقنية الواقع الافتراضي. يضع إصبع مشغل الخرائط على أهداف Orca Hand المشتركة في الوقت الفعلي.

📷

كاميرا الكف / المعصم

كاميرا USB صغيرة داخل راحة اليد تشير إلى أطراف الأصابع والجسم. ضروري للمهام الغنية بالاتصال حيث يحدد الاتصال بأطراف الأصابع نجاح الفهم.

📈

أجهزة الاستشعار اللمسية (اختياري)

Paxini أو أجهزة استشعار الإصبع المتوافقة. اتصال USB منفصل. أضف تدفق قوة الاتصال إلى مجموعة البيانات الخاصة بك للتدريب على السياسات الموجهة بجهة الاتصال.

تسجيل سير العمل

سير عمل التسجيل خطوة بخطوة

1

رفع الذراع + اليد + القفاز

# Terminal 1: Arm (if using OpenArm)
source ~/openarm_ws/install/setup.bash
ros2 launch openarm_ros2 openarm.launch.py use_fake_hardware:=false can_interface:=can0

# Terminal 2: Orca Hand
source ~/orca_ws/install/setup.bash
ros2 launch orca_ros2 orca_hand.launch.py port:=/dev/ttyUSB0 handedness:=right

# Terminal 3: Juqiao Glove (see Juqiao Glove software page)
python -m juqiao_glove.stream --port /dev/ttyUSB1
2

التحقق من أن جميع التدفقات مباشرة

# Check finger joint states
ros2 topic hz /orca_hand/joint_states   # expect ~100 Hz

# Check glove stream
ros2 topic hz /juqiao_glove/finger_angles   # expect ~100 Hz

# Check camera
python -c "import cv2; cap=cv2.VideoCapture(0); print('Camera OK:', cap.isOpened())"
3

معايرة رسم الخرائط من القفازات إلى اليد

قم بتشغيل معايرة القفازات لتعيين أبعاد إصبعك إلى نطاق مفاصل Orca Hand. تضمن هذه الخطوة إجراء عملية عن بعد طبيعية - يدك المفتوحة = Orca مفتوحة، قبضة يدك = قبضة Orca.

python -m orca_core.scripts.calibrate_teleop \
  --hand_port /dev/ttyUSB0 \
  --glove_port /dev/ttyUSB1 \
  --handedness right
4

قم بإعداد مشهد المهمة

ضع الأشياء في مواضع بداية ثابتة. يعد الإمساك الحاذق حساسًا للغاية لوضعية الجسم — استخدم أدوات التثبيت (الشريط والمعجون) للحفاظ على وضع الجسم بشكل ثابت عبر الحلقات.

5

ابدأ جلسة التسجيل

python -m orca_core.scripts.record_episodes \
  --hand_port /dev/ttyUSB0 \
  --glove_port /dev/ttyUSB1 \
  --camera_id 0 \
  --fps 30 \
  --output_dir ~/datasets/orca-grasp-v1 \
  --num_episodes 50 \
  --task "Pick up the pen using a precision pinch grasp"

يحفظ المُسجل مواضع مفاصل الأصابع المتزامنة، وزوايا القفازات، وإطارات الكاميرا، وقراءات اللمس (إذا كانت متصلة) في مجموعة بيانات باركيه.

6

مراجعة جودة الفهم

إعادة تشغيل كل حلقة. ابحث عن: أحداث الانزلاق (القفزات المفاجئة في الوضع)، والقبضات غير المكتملة، وتشبع الوتر (المفصل عند الحد الصعب أثناء الإمساك)، ومسارات الاقتراب غير المتسقة.

python -m orca_core.scripts.visualize_episode \
  --dataset_dir ~/datasets/orca-grasp-v1 \
  --episode_index 0
7

ادفع إلى HuggingFace Hub

python -m orca_core.scripts.push_dataset \
  --dataset_dir ~/datasets/orca-grasp-v1 \
  --repo_id your-username/orca-grasp-v1
تنسيق مجموعة البيانات

مخطط مجموعة بيانات Orca Hand

يعمل تنسيق مجموعة بيانات Orca Hand على توسيع مخطط LeRobot القياسي مع تدفقات إضافية خاصة بالإصبع وملموسة.

الحقول في كل حلقة ملف الباركيه
مراقبة.hand_state تعويم32[17] جميع مواضع مفصل الأصابع الـ 17 بالدرجات
مراقبة.hand_velocity تعويم32[17] سرعات مفصل الإصبع بالدرجة/الثانية
الملاحظة. اللمس تعويم32[5] قوة التلامس لكل طرف إصبع في N (في حالة توصيل أجهزة استشعار اللمس)
الملاحظة.الصور.* مسار الفيديو إطارات الكاميرا — عرض كف اليد، عرض المعصم، عرض مساحة العمل
فعل تعويم32[17] استهدف مواضع مفاصل الأصابع من خلال التشغيل عن بعد بالقفاز
فهم_نوع خيط تسمية للفهم البدائي المستخدم (على سبيل المثال، "precision_pinch"، "power_grasp")
الطابع الزمني float64 الطابع الزمني لنظام Unix بالثواني
next.done منطقي صحيح في الإطار الأخير من كل حلقة
ضمان الجودة

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

تحتوي بيانات المعالجة الحاذقة على أوضاع فشل أكثر من مجرد الانتقاء والمكان. قم بتشغيل هذا قبل الدفع إلى المحور.

  • 1
    جميع المفاصل الـ 17 لها قراءات صحيحة للموقع طوال الحلقة تشير NaN أو القيم العالقة إلى تسرب مؤازر. فحص observation.hand_state للقيم الثابتة في أي مفصل عبر جميع الإطارات.
  • 2
    زمن الوصول من القفازات إلى اليد أقل من 20 مللي ثانية تحقق من محاذاة الطابع الزمني بين action (من القفازات) و observation.hand_state. يؤدي الكمون العالي إلى تعلم السياسة من الأزواج غير المتناسقة سببيًا.
  • 3
    نوع الفهم متسق داخل المهمة لن يتم تعميم سياسة الضغط الدقيق إذا استخدمت بعض المظاهرات أدوات الإمساك بالقوة. احتفظ بكل مجموعة بيانات ضمن استراتيجية فهم أساسية واحدة، أو قم بتسميتها حسب نوع الفهم.
  • 4
    أحداث الاتصال مرئية في المواقف المشتركة عندما تتلامس اليد مع شيء ما، يجب أن تظهر مفاصل الأصابع تباطؤًا واضحًا وانحرافًا مطاوعًا. قد تكون الحلقات التي تنجذب فيها الأصابع إلى موضعها دون تشوه الاتصال قد فقدت القدرة على الإمساك بها.
  • 5
    تُظهر كاميرا النخيل الكائن أثناء مرحلة المعالجة بأكملها يجب أن يكون الكائن مرئيًا في كاميرا راحة اليد من الاقتراب إلى التحرير. تأكد من عدم اصطدام حامل الكاميرا وأن مجال الرؤية يغطي مساحة عمل المهمة.
  • 6
    تحتوي التدفقات اللمسية على أحداث اتصال حيثما كان متوقعًا أثناء الإمساك بالقرص، يجب أن يُظهر اللمس بالإبهام والسبابة زيادة في القوة. تشير إشارات القوة المفقودة أثناء الاتصال المؤكد إلى وجود مستشعر منفصل أو تمت معايرته بشكل خاطئ.

مجموعة البيانات جاهزة؟ ابدأ التدريب.

ادفع مجموعة بيانات المعالجة البارعة الخاصة بك إلى HuggingFace واستكشف النماذج المتوافقة.