مجتمع دامياو AGV والأسئلة الشائعة
الأسئلة المتداولة حول بروتوكول DBUS والتنقل واستكشاف الأخطاء وإصلاحها والتعامل مع الأجهزة المحمولة باستخدام OpenArm. روابط المنتدى والدعم.
الأسئلة المتداولة
ما هي إعدادات المنفذ التسلسلي الدقيقة لـ Damiao AGV؟
يستمع البرنامج الثابت AGV إلى UART5 (دبوس PD2، RX) على 100000 باود مع 8 بتات بيانات، وتكافؤ متساوي، وبتتي توقف (8E2). في pyserial، افتح المنفذ باستخدام:
serial.Serial(
port='/dev/ttyUSB0',
baudrate=100000,
bytesize=serial.EIGHTBITS,
parity=serial.PARITY_EVEN,
stopbits=serial.STOPBITS_TWO
)
من الأخطاء الشائعة جدًا استخدام 8N1 (بدون تكافؤ، بتة توقف واحدة). سيظهر AGV متصلاً ولكنه سيتجاهل جميع الإطارات أو يخطئ في توزيعها بصمت. استخدم دائما PARITY_EVEN و STOPBITS_TWO.
كيف يقوم إطار DBUS ذو 18 بايت بتشفير السرعة؟
يحزم إطار DBUS أربع قيم قناة 11 بت (ch0 – ch3) في البايتات 0 – 5 باستخدام تعبئة البتات ذات النهاية الصغيرة. تتراوح كل قناة من 0 إلى 2047 مع 1024 كمركز (محايد/توقف). رسم خرائط السرعة هو: ch3 = 1024 + vx × amp (إلى الأمام)، ch2 = 1024 + vy × amp (جانبي)، ch0 = 1024 + (−vw) × amp (تناوب). البايتات من 6 إلى 15 هي حقول الماوس/لوحة المفاتيح التي تم تحديدها بصفر. البايتات 16-17 تحتوي على ch4، ثابتة عند 1024. انظر المواصفات للحصول على جدول خريطة القناة الكامل.
يتحرك AGV لفترة وجيزة ثم يتوقف – ماذا يحدث؟
هذه هي ميزة أمان مهلة الأمر التي يتم تشغيلها. إذا لم يتم استلام أمر التحرك أو الإيقاف بالداخل --cmd-timeout-ms (افتراضي 300 مللي ثانية)، يقوم الوكيل تلقائيًا بتصفية جميع قنوات السرعة ويتوقف AGV. ويعني هذا عادةً أن النظام الأساسي لا يرسل الأوامر بالسرعة الكافية، أو أن هناك زمن استجابة للشبكة يسبب ثغرات. الحلول: (1) الزيادة --cmd-timeout-ms 500 بالنسبة للاتصالات ذات زمن الوصول العالي، (2) تأكد من أن لوحة الاتصال الهاتفي للمتصفح تقوم بإرسال رسائل متكررة بشكل نشط move الأوامر عند ~ 10 هرتز أثناء الضغط باستمرار على زر الاتجاه، (3) تحقق من RTT لشبكتك على النظام الأساسي.
يتحرك AGV في الاتجاه الخاطئ – كيف يمكنني إصلاحه؟
استخدم علامات انعكاس المحور على الوكيل - لا يلزم إجراء تغييرات على البرامج الثابتة:
# Flip forward/backward python3 dami_agent.py --session RC-XXXX --serial-port /dev/ttyUSB0 --invert-x # Flip lateral (left/right) python3 dami_agent.py ... --invert-y # Flip rotation direction python3 dami_agent.py ... --invert-z
اختبر كل محور على حدة (على سبيل المثال، أرسل أمر X فقط، ولاحظ الحركة) لتحديد العلامات المطلوبة لاتجاه التثبيت الفعلي.
هل يمكنني الاختبار بدون AGV الفعلي؟
نعم. يمر --mock عند الإطلاق dami_agent.py. في الوضع الوهمي، لا يتم فتح المنفذ التسلسلي مطلقًا. لا تزال حلقة التحكم تقوم بتشفير إطارات DBUS (المخزنة في الذاكرة)، ويتم إعادة توجيه القياس عن بعد إلى النظام الأساسي WebSocket، ويعمل تحليل الأوامر بالكامل بشكل مماثل. يتيح لك ذلك التحقق من مسار WebSocket الكامل، واختبار واجهة مستخدم النظام الأساسي، والتكامل في CI بدون أجهزة:
python3 dami_agent.py --session RC-XXXX-XXXX --mock
أحصل على pyserial.SerialException عند التشغيل - ما الذي يجب علي التحقق منه؟
أولاً: ls /dev/ttyUSB* لتأكيد ظهور المحول. إذا لم يحدث ذلك، فقد لا يتم تحميل برنامج تشغيل محول USB إلى TTL (جرب منفذ USB مختلف). إذا ظهر المنفذ ولكن حصلت على خطأ في الإذن، أضف المستخدم الخاص بك إلى مجموعة الطلب:
sudo usermod -aG dialout $USER
# Log out and back in, then retry
إذا ظهر المنفذ في قائمة الأجهزة ولكن لا يزال الوكيل غير قادر على فتحه، فقد تقوم عملية أخرى بفتحه (على سبيل المثال، مثيل وكيل سابق أو شاشة تسلسلية). أغلق كافة العمليات الأخرى باستخدام المنفذ.
يتصل الوكيل ولكن النظام الأساسي لا يظهر أي قياس عن بعد — ما المشكلة؟
قم بتأكيد معرف الجلسة الذي تم تمريره إليه --session لا يزال نشطًا في واجهة مستخدم النظام الأساسي. يمكن أن تنتهي الجلسات إذا كانت غير نشطة. تحقق من المخرجات الطرفية للوكيل لمعرفة استجابة المصافحة للتسجيل - إذا قام بطباعة "فشلت المصافحة" أو لم يطبع "جاهز"، فقد تكون الجلسة قد انتهت صلاحيتها. أنشئ جلسة جديدة في المنصة وقم بتمرير المعرف الجديد إلى الوكيل. التحقق من ذلك أيضا --backend يشير إلى عنوان URL الصحيح لنظام WebSocket.
كيف يمكنني ضبط سرعة AGV؟
ضبط --amp المعلمة. يؤدي هذا إلى تعيين إزاحة القناة من المركز (1024) الذي يمثل أمر الحركة. القيمة الافتراضية هي 660، مما يوفر 64% تقريبًا من السرعة القصوى. من أجل تشغيل أبطأ وأكثر تحكمًا أثناء مهام المعالجة المثبتة على الذراع، استخدم --amp 400. للحصول على أقصى سرعة على الأرض المفتوحة، استخدم ما يصل إلى --amp 900. لاحظ أن العجلات الميكانيكية تفقد بعض الكفاءة الجانبية عند السرعات العالية جدًا - احتفظ بها --amp أقل من 800 للمناورات الجانبية.
نصائح للتكامل مع OpenArm
خطط لتوجيه الكابل قبل تركيب الذراع
قم بتوجيه كابلات CAN/USB الخاصة بالذراع من خلال قناة إدارة الكابلات الداخلية الخاصة بـ AGV قبل تثبيت الذراع. بمجرد تركيب الذراع، يكون من الصعب إعادة توجيه الكابلات دون إزالتها. اترك 20-30 سم من الكابل الإضافي مرتخيًا عند المعصم — وتمتد مساحة عمل الذراع إلى الجانبين والخلف، حيث يمكن أن يخلق شد الكابل مقاومة غير متوقعة على مسارات المفاصل.
استخدم --amp أقل عندما يكون الذراع مثبتًا ومتحركًا
تعمل ذراع الروبوت الموجودة على AGV على رفع مركز الكتلة. يمكن أن يؤدي التسارع الجانبي السريع إلى اهتزاز المنصة، مما يؤدي إلى حدوث اضطرابات في مسار الذراع — خاصة في مواضع الوصول الممتدة. ابدأ بـ --amp 400 للحركة الأساسية أثناء عملية الذراع وتزيد فقط إذا لزم الأمر. بالنسبة لجمع بيانات التشغيل عن بعد، تنتج الحركة الأساسية البطيئة المتسقة بيانات تدريب أكثر وضوحًا من الحركات السريعة والمتشنجة.
قم بتسجيل كلا الوكلاء بقيم --node-id مميزة
عند تشغيل وكيل AGV ووكيل الذراع في نفس الوقت في نفس جلسة النظام الأساسي، قم بمنح كل منهما علامة مميزة --node-id. يضمن ذلك أن يعرض النظام الأساسي تدفقات قياس عن بعد منفصلة وأن يقوم أرشيف JSONL للحلقة بتسمية بيانات كل عقدة بشكل مستقل. اصطلاح التسمية الموصى به: damiao-base ل AGV و openarm-right / openarm-left لعقد الذراع.
تنسيق حركة القاعدة وحركة الذراع في التقريب
في لوحة Fearless Platform teleop، تظهر كلا العقدتين في وقت واحد. نمط التشغيل عن بعد المفيد هو: إيقاف القاعدة، وتحريك الذراع للإمساك بها، وتحريك القاعدة لإعادة وضعها، والتكرار. يلتقط أرشيف حلقات JSONL القياس عن بعد لجميع العقد بشكل متزامن من خلال الطابع الزمني، لذلك يمكن للسياسات النهائية التعلم من مسار المعالجة الكامل للهاتف المحمول. فكر في استخدام علامات التسجيل الخاصة بالمنصة لتوضيح مكان انتقال الحركة الأساسية إلى حركة الذراع داخل كل حلقة.
أضف مستشعر Paxini GEN3 لمعالجة بيانات الهاتف المحمول الغنية باتصالات الهاتف
جبل باكسيني PX-6AX GEN3 أجهزة استشعار تعمل باللمس على أطراف أصابع OpenArm أو المستجيب النهائي. قم بتسجيل جسر المستشعر كعقدة ثالثة في نفس الجلسة. تسجل المنصة تدفقات السرعة اللمسية ومفاصل الذراع والسرعة الأساسية بشكل متزامن - مما يؤدي إلى إنشاء مجموعات بيانات غنية لمعالجة الأجهزة المحمولة لاستنساخ السلوك والتعلم المعزز.
الوثائق والأجهزة ذات الصلة
المنتدى والدعم
هل لديك سؤال لم تتم الإجابة عليه هنا؟ اسأل مجتمع SVRC أو اتصل بدعم الأجهزة.
انتقل إلى المنتدى → اتصل بالدعم →