مرجع تثبيت SDK الكامل موجود في الأجهزة/dk1/البرمجيات. تغطي هذه الوحدة خطوات التكوين الخاصة بكلتا اليدين والتي تتجاوز تثبيت SDK أحادي الذراع الذي ربما تكون قد قمت به لـ OpenArm.
قم بتثبيت DK1 SDK
DK1 SDK منفصل عن OpenArm SDK. لا تحاول تشغيل أذرع DK1 مع حزمة OpenArm - يختلف بروتوكول البرنامج الثابت.
قم بتكوين إقران القائد/التابع
يقرأ SDK ملف تكوين YAML الذي يخبره بالجهاز التسلسلي الذي هو الرائد وأي الأجهزة هي الذراعين التابعين. يجب عليك تحديد مسارات الجهاز بالترتيب الصحيح — لا يكتشف SDK تعيين الدور تلقائيًا.
الحقول الرئيسية في dk1-config.yaml:
/dev/ttyUSBN يعتمد على ترتيب منفذ USB، والذي يمكن أن يتغير بين عمليات إعادة التشغيل. لإنشاء أسماء مستعارة مستقرة، استخدم udev القواعد المرتبطة بالرقم التسلسلي للجهاز. يجري udevadm info /dev/ttyUSB0 للعثور على المسلسل لكل ذراع وإنشاء القواعد فيه /etc/udev/rules.d/99-dk1.rules. يتم تناول هذا بالتفصيل في الأجهزة/dk1/البرمجيات.
اختبار اتصال بايثون – كلا الذراعين
بعد تحرير التكوين، قم بإجراء اختبار اتصال يقوم بتشغيل الأجهزة الثلاثة في وقت واحد:
يؤدي التشغيل الناجح إلى طباعة 10 أزواج من صفائف الحالة المشتركة بقيم ثابتة ومتسقة. إذا رأيت قيم NaN، أو خطأ مهلة، أو أقل من 6 قيم مشتركة لكل ذراع، فتحقق من تعيينات مسار الجهاز في ملف التكوين الخاص بك.
التحقق من المزامنة
أهم فحص في هذه الوحدة هو التحقق من أن حركة القائد تنتج استجابة متزامنة للتابع دون أي تأخير ملموس:
حرك الذراع القائد ببطء عبر قوس بزاوية 30 درجة على مفصل واحد. يجب أن يتحرك كلا الذراعين التابعين في انسجام تام دون أي تأخير واضح. إذا تأخر أحد المتابعين عن الآخر بأكثر من نصف ثانية، فتحقق من ذلك latency_tolerance_ms الإعداد والتحقق من اتصال USB للذراع البطيء.
الأخطاء والإصلاحات الشائعة
| خطأ | سبب | يصلح |
|---|---|---|
SerialException: device not found |
مسار الجهاز خاطئ في التكوين، أو USB غير متصل | يجري ls /dev/ttyUSB* وتحديث مسارات التكوين. تحقق من اتصالات USB الفعلية. |
SyncTimeoutError: follower_right |
ذراع المتابع الأيمن لا يستجيب في حدود تسامح الكمون | يزيد latency_tolerance_ms إلى 10، أو حاول استخدام منفذ USB مختلف. تحقق من الكابل بحثًا عن التلف. |
| المشترك ينص على جميع الأصفار بعد الاتصال | لم يتم تمكين الماكينات — الذراع في وضع الاستعداد | يتصل robot.enable_servos() قبل قراءة الحالات المشتركة، أو تمكينها عبر واجهة مستخدم الويب أولاً. |
| أحد المرايا التابعة والآخر ثابت | يتم إقران القائد بمتابع واحد فقط في التكوين | التحقق من كليهما follower_left و follower_right تم تعيينها في تكوين YAML. |
اكتملت الوحدة الثانية عندما...
تم تثبيت DK1 SDK و dk1.__version__ إرجاع 0.4.0 أو أعلى. يطبع اختبار الاتصال قيم الحالة المشتركة المستقرة لكلا الذراعين عند 50 هرتز. عندما تبدأ جلسة القائد/التابع وتحريك ذراع القائد، فإن ذراعي التابع يعكسان الحركة دون أي تأخير ملحوظ. لقد قمت بالتحقق من ذلك من خلال 3 حركات مشتركة مختلفة على الأقل على الذراع القائد.