أجيليكس بايبر
المواصفات الفنية
مواصفات الأجهزة الكاملة، ومرجع موضوعات ROS2، وملخص واجهة برمجة تطبيقات Piper_sdk، ودليل استكشاف الأخطاء وإصلاحها.
المواصفات الميكانيكية
| المواصفات | قيمة |
|---|---|
| درجات الحرية | 6 DOF + القابض الاختياري |
| يصل | ~600 ملم |
| الحمولة القصوى | ~1.5 كجم |
| التكرار | ± 0.1 ملم |
| عامل الشكل | سطح الطاولة / سطح المكتب المدمج |
| متعدد الذراع | ذراع رئيسي وعبد مزدوج عبر واجهات CAN منفصلة |
| الشركة المصنعة | أجيليكس الروبوتات |
الكهرباء والاتصالات
| المواصفات | قيمة |
|---|---|
| مزود الطاقة | 24 فولت تيار مستمر |
| تواصل | ناقل CAN - 1,000,000 بت في الثانية (1 ميجابت في الثانية) |
| واجهة المضيف | محول USB إلى CAN (على سبيل المثال، CANable، GS_USB) |
| واجهة لينكس | المقبس (can0, can1, …) |
البرمجيات والتحكم
| المواصفات | قيمة |
|---|---|
| أوضاع التحكم | وضعية المفصل، وضعية المؤثر النهائي، القابض |
| بايثون SDK | pip3 install piper_sdk — agilexrobotics/piper_sdk |
| حزمة روس | agilexrobotics/piper_ros (روس نوتيك + موف إيت) |
| محاكاة | شرفة المراقبة بعيدا piper_gazebo.launch |
| URDF | piper_description.urdf (البرامج الثابتة ≥ S-V1.6-3) |
| دعم نظام التشغيل | أوبونتو 18.04، 20.04، 22.04 |
| نسخة بايثون | بايثون 3.6+ |
الحدود المشتركة
| مشترك | بلدي (أنت) | ماكس (أنت) |
|---|---|---|
| مشترك 1 | −175 | +175 |
| المشترك 2 | −90 | +135 |
| مشترك 3 | −150 | +80 |
| مشترك 4 | −175 | +175 |
| مشترك 5 | −90 | +90 |
| مشترك 6 | −175 | +175 |
موضوعات وخدمات ROS
المواضيع والخدمات القياسية التي كشف عنها piper_ros بعد الإطلاق start_single_piper.launch.
| الموضوع / الخدمة | يكتب | اتجاه | وصف |
|---|---|---|---|
/joint_states |
Sensor_msgs/JointState | فرعي (إرسال الأوامر) | أوامر الوضع المشترك — الاشتراك لإرسال الأهداف المتحركة إلى الذراع |
/arm_status |
Pipe_msgs/ArmStatus | حانة (تعليقات) | ردود فعل حالة الذراع: ممكّن/معطل، علامات الخطأ، مواضع المفصل الحالية |
/end_pose |
Geometry_msgs/Pose | حانة (تعليقات) | المؤثر النهائي يشكل ردود فعل في الفضاء الديكارتي (الموضع + الكواترنيون) |
/enable_srv |
std_srvs/SetBool | خدمة | يُمكَِن (true) أو تعطيل (false) جميع مفاصل الذراع |
/go_zero_srv |
std_srvs/Trigger | خدمة | أمر الذراع بالانتقال إلى وضع الصفر/المنزل |
/gripper_srv |
Pipe_msgs/GripperCmd | خدمة | ضبط موضع المقبض (0 = مفتوح، الحد الأقصى = مغلق بالكامل) |
/stop_srv |
std_srvs/Trigger | خدمة | إيقاف جميع حركات المفاصل فورًا (التوقف الطارئ عبر ROS) |
/reset_srv |
std_srvs/Trigger | خدمة | إعادة ضبط أخطاء الذراع وإعادة التمكين بعد حدوث حالة خطأ |
مرجع APIr_sdk
الأساليب الرئيسية على C_PiperInterface فصل. التهيئة باستخدام piper = C_PiperInterface("can0").
| طريقة | وصف |
|---|---|
ConnectPort() |
افتح واجهة CAN وابدأ سلسلة الاتصال |
EnableArm(7) |
تمكين كافة المفاصل الستة والقابض (القناع النقطي؛ 7 = الكل) |
DisableArm(7) |
قم بتعطيل كافة الوصلات — اتصل دائمًا عند الانتهاء أو قبل قطع الاتصال |
EmergencyStop() |
وقف جميع الحركات المشتركة على الفور |
MotionCtrl_2(j1, j2, j3, j4, j5, j6) |
إرسال أمر الوضع المشترك 6-DOF (الزوايا بالدرجات) |
GetArmJointMsgs() |
قراءة المواقف المشتركة الحالية، والسرعات، وعزم الدوران |
GetArmEndPoseMsgs() |
اقرأ الوضعية الديكارتية للمؤثر النهائي الحالية |
GripperCtrl(position, speed) |
ضبط موضع القابض (0 = مفتوح) والسرعة |
GetArmGripperMsgs() |
قراءة حالة القابض الحالية وردود الفعل على الموقف |
استكشاف الأخطاء وإصلاحها
| أعراض | السبب المحتمل | يصلح |
|---|---|---|
OSError: [Errno 19] No such device |
واجهة CAN لا تصل | يجري sudo ip link set can0 up والتحقق مع ifconfig can0 |
| الذراع لا تستجيب للأوامر | الذراع ليس في وضع العبد أو غير ممكّن | يتصل piper.EnableArm(7) بعد الاتصال. تأكد من ضبط وضع القافز بشكل صحيح على الذراع. |
| ردود الفعل المشتركة تقرأ جميع الأصفار | عدم تطابق معدل البت | تأكد من أن معدل البت لواجهة CAN هو 1000000 بالضبط. أعد التشغيل ip link set can0 type can bitrate 1000000. |
can.CanError: Failed to transmit |
لم يتم إنهاء حافلة CAN | تأكد من وجود مقاومات إنهاء 120 أوم على طرفي ناقل CAN. قم بتمكين أداة الإنهاء الداخلية لـ Piper عبر مفتاح DIP. |
| نموذج الروبوت URDF غير صحيح في RViz | عدم تطابق البرامج الثابتة | البرامج الثابتة <S-V1.6-3: الاستخدام piper_description_old.urdf. أحدث البرامج الثابتة: الاستخدام piper_description.urdf. |
| تم رفض الإذن على can0 | المستخدم ليس في dialout مجموعة |
يتطلب المقبس CAN الجذر أو الأذونات المناسبة. تشغيل الأوامر باستخدام sudo أو تكوين قواعد udev. |
| VR teleop: يتجاوز الذراع / يصل إلى الحدود | scaleFactor عالية جدا في الوحدة |
يقلل scaleFactor في تطبيق Unity وأعد الاختبار تدريجيًا. مساحة عمل Piper أصغر من xArm. |
مستودعات جيثب
| مستودع | وصف |
|---|---|
| agilexrobotics/piper_sdk | بايثون SDK الرسمية. ثَبَّتَ: pip3 install piper_sdk. يتضمن العروض التوضيحية ومواصفات الواجهة (INTERFACE_V2.MD)، ودليل ثنائي الذراع. |
| agilexrobotics/piper_ros | حزمة ROS Noetic مع MoveIt ومحاكاة Gazebo وURDF وموضوعات/خدمات ROS القياسية. |