دليل إعداد VLAI L1
أكمل الإعداد خطوة بخطوة لـ VLAI L1 — بدءًا من فتح العلبة وحتى معايرة الذراع المزدوجة، والتنقل بقاعدة الهاتف المحمول، وجمع البيانات.
التجميع والتفتيش
فتح القائمة المرجعية
- افحص كلا ذراعي 7-DOF للتأكد من عدم وجود تلف في الشحن - تحقق من أن جميع المفاصل تتحرك بحرية باليد
- تحقق من تثبيت المقابض 8Nm المطورة ذاتيًا بشكل آمن
- افحص العجلات الأساسية المتحركة - يجب أن تدور كلتا العجلتين الدافعتين بحرية دون ربط
- تحقق من شرائح عمود الرفع بسلاسة عبر النطاق الكامل (106-162 سم)
- تأكد من وجود كابل Ethernet ومحول الطاقة في الصندوق
- اقرأ دليل السلامة VLAI L1 المتضمن في حزمة الوثائق
متطلبات مساحة العمل
- الحد الأدنى لمساحة الأرضية: 2 م × 2 م سطح واضح ومستو
- بصمة الروبوت: 46 سم عرض × 60 سم طول - يسمح بالخلوص من جميع الجوانب
- وصول الذراع: 63 سم لكل ذراع - تأكد من عدم وجود عوائق في متناول اليد عند مد الذراعين
- قوة: منفذ قياسي 110 فولت/220 فولت في حدود 2 متر
تثبيت SDK وإعداد الشبكة
متطلبات
- بايثون 3.10+ (3.11 مستحسن)
- طبقة المطورين أو أعلى (لا تتضمن طبقة الشباب إمكانية الوصول إلى SDK)
- L1 قيد التشغيل ومتصل بنفس الشبكة المحلية (Ethernet أو Wi-Fi بسرعة 5 جيجا هرتز)
قم بتثبيت SDK
pip install roboticscenter
قم بتوصيل وفتح لوحة teleop للمتصفح
rc connect --device l1 # Terminal prints: Session ready → https://platform.roboticscenter.ai/session/RC-XXXX-XXXX # Open the URL in any browser to access the full teleop panel
دفق البيانات المشتركة عبر بايثون
from roboticscenter import L1Robot
robot = L1Robot.connect()
print(robot.session_url)
for frame in robot.stream():
joints = frame.data['joints']
print(f"Left: {joints['left_arm']}")
print(f"Right: {joints['right_arm']}")
print(f"Base: {frame.data['base']}")
rc connect --device l1 --mock لبدء جلسة محاكاة L1 بالكامل. تعمل جميع أساليب SDK ولوحة الاتصال المباشر للمتصفح وتسجيل البيانات بشكل مماثل في الوضع الوهمي - وهو مفيد لخطوط أنابيب CI والنماذج الأولية لسير العمل قبل شحن وحدتك.
معايرة الذراع المزدوج
تستخدم أذرع L1 بروتوكول المحرك MIT مع ردود فعل التشفير المزدوج والتحكم في FOC. تقوم المعايرة بتعيين المواضع الرئيسية والتحقق من مواصفات الدقة الكاملة التي تبلغ ±0.02 مم.
تحقق من حالات ROS2 المشتركة
ros2 topic list
ros2 topic echo /joint_states # verify all 16 DOF are publishing
قم بتشغيل MoveIt2 لتخطيط الحركة
ros2 launch l1_moveit l1_moveit.launch.py
# Opens RViz with full dual-arm URDF, collision checking, and Cartesian planning
معايرة موضع المنزل
- في لوحة MoveIt2 RViz، انتقل إلى تخطيط فاتورة غير مدفوعة
- حدد بيت الهدف المسمى لكلا الذراعين
- انقر التخطيط والتنفيذ — يجب أن تتحرك الأسلحة إلى الوضع الممتد المحايد
- تحقق من تطابق الحالات المشتركة مع تكوين المنزل المتوقع في الجهاز
معايرة القابض
# Open grippers fully ros2 topic pub /left_gripper/cmd std_msgs/Float32 "{data: 0.0}" ros2 topic pub /right_gripper/cmd std_msgs/Float32 "{data: 0.0}" # Close to 50% — verify 8Nm grippers engage smoothly ros2 topic pub /left_gripper/cmd std_msgs/Float32 "{data: 0.5}" ros2 topic pub /right_gripper/cmd std_msgs/Float32 "{data: 0.5}"
الملاحة قاعدة المحمول
اختبار محرك لوحة المفاتيح WASD
افتح لوحة teleop للمتصفح واستخدم مفاتيح WASD لقيادة القاعدة التفاضلية. يمكن ضبط مقياس السرعة عبر شريط تمرير اللوحة (10%، 50%، 100%).
# Or command directly via ROS2 Twist ros2 topic pub /base/cmd_vel geometry_msgs/Twist \ "{linear: {x: 0.3, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}" # Stop ros2 topic pub /base/cmd_vel geometry_msgs/Twist \ "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
اختبار نطاق الرفع
استخدم شريط التمرير العمودي في لوحة teleop للمتصفح لاختبار نطاق الرفع الكامل (106-162 سم) بسرعة 30 مم/ثانية. تحقق من الحركة السلسة في جميع أنحاء النطاق بدون ربط أو طحن.
# Monitor lift height ros2 topic echo /lift/state # current height in meters
مهمة التلاعب الأولى
ضوابط لوحة teleop للمتصفح
- عرض الذراع المزدوج: تصور ثلاثي الأبعاد في الوقت الحقيقي لكلا ذراعي 7-DOF - زوايا المفصل، ووضعية المؤثر النهائي (6D)، وحالة القابض بمعدل تحديث أقل من 10 مللي ثانية
- محدد وضع المؤثر النهائي: قم بالتبديل لكل ذراع بشكل مستقل: المقبض (افتراضي 8 نيوتن متر)، أو اليد الماهرة، أو كوب الشفط
- خلاصات الكاميرا: كاميرا الصدر (المطور+)، كاميرات المعصم يسار/يمين (المطور ماكس)
انتقاء ومكان بسيط عبر MoveIt2
from roboticscenter import L1Robot robot = L1Robot.connect() # Move left arm to approach pose robot.left_arm.move_to(x=0.45, y=0.15, z=0.30, roll=0, pitch=90, yaw=0) # Open left gripper robot.left_arm.gripper.open() # Move down to grasp robot.left_arm.move_to(x=0.45, y=0.15, z=0.05, roll=0, pitch=90, yaw=0) # Close gripper to grasp robot.left_arm.gripper.close(force=0.6) # Lift robot.left_arm.move_to(x=0.45, y=0.15, z=0.35, roll=0, pitch=90, yaw=0)
التشغيل عن بعد للواقع الافتراضي (Developer Pro وMax)
قم بتوصيل سماعة الرأس المتوافقة مع OpenXR وتشغيلها rc vr --session RC-XXXX-XXXX لرسم خريطة لوضعية وحدة التحكم اليدوية مباشرةً على المؤثر النهائي لكل ذراع في الفضاء الديكارتي، مع ردود فعل لمسية تتناسب مع قوة الاتصال المقدرة.
جمع البيانات وخط الأنابيب بنقرة واحدة
كل rc connect الجلسة عبارة عن وحدة جمع بيانات مسماة. يتم تحميل الجلسات تلقائيًا إلى مساحة عمل Fearless Platform عند الإغلاق - لا يلزم إجراء خطوة تصدير يدوية.
ما يتم التقاطه في كل إطار
- البيانات المشتركة - الموقع والسرعة والجهد لجميع 16 DOF عند ~ 500 هرتز مع طوابع زمنية بالميكروثانية
- تيارات الكاميرا - Chest RGB (Developer+)، المعصم RGB (Developer Max) - طابع زمني ومزامنته مع بيانات المفصل خلال ±1 مللي ثانية
- القوة / الاتصال - تقدير قوة الفك القابض من تيار المحرك
- الحالة الأساسية — قياس مسافة العجلة، السرعة الخطية/الزاوية، ارتفاع الرفع
- إجراءات المشغل - دفق أوامر teleop الخام للتعلم بالتقليد
وضع العلامات على الحلقة أثناء التجميع
- يضعط فضاء في لوحة المتصفح لتحديد حدود الحلقة
- يضعط L لتعليق الإطار الحالي بسلسلة تسمية مخصصة
وكيل ROS2 للجسر السحابي
# Run on the L1's onboard computer to bridge topics to the platform
python l1_robot_agent.py \
--backend wss://platform.roboticscenter.ai \
--session RC-XXXX-XXXX \
--ros2
تنسيقات تصدير مجموعة البيانات
يتم تصدير الجلسات المنظفة والمشروحة بتنسيق LeRobot (بيان HDF5 + JSON)، أو RLDS، أو JSONL + MP4 الخام. استخدم بيانات علامة التبويب في النظام الأساسي لتكوين التصدير والتنزيل.