جدول المحتويات:
- الخطوة 1: تم تغيير موقع البرنامج التعليمي
- الخطوة الثانية: قم ببناء روبوت القيادة التفاضلية SnappyXO
- الخطوة 3: قم بتوصيل الإلكترونيات
- الخطوة 4: قم بتثبيت مكتبة PreciseMovement Arduino
- الخطوة 5: الكود
- الخطوة 6: كيف يعمل
فيديو: SnappyXO Precise Mover Robot: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
اجعل روبوت Arduino الخاص بك يتحرك مباشرة لمسافة محددة أو قم باللف إلى زاوية محددة باستخدام مكتبة PreciseMovement Arduino.
يحتاج الروبوت إلى عجلة دوارة أو ما يعادلها لتقليل الاحتكاك أثناء الالتواء.
www.pololu.com/product/954
يمكنك إخبار الروبوت أن يتقدم لمسافة محددة أو يلتف إلى زاوية محددة. يحدد البرنامج موقعه باستخدام الحساب الميت. نظرًا لأن تقديرات الموضع تعتمد فقط على سرعة العجلة ، فإن الانزلاق سيؤدي إلى حدوث خطأ كبير. يجب أن يكون مصمم الروبوت حريصًا على تقليل مخاطر الانزلاق.
تم اختبار هذا للعمل مع الروبوت SnappyXO.
الخطوة 1: تم تغيير موقع البرنامج التعليمي
تم نقل البرنامج التعليمي إلى الصفحة أدناه. لم يعد يتم الحفاظ على هذا البرنامج التعليمي.
sites.google.com/stonybrook.edu/premo
الخطوة الثانية: قم ببناء روبوت القيادة التفاضلية SnappyXO
مكتبة PreciseMovement التي سنستخدمها متوافقة فقط مع روبوتات القيادة التفاضلية. يمكنك اختيار استخدام روبوتات أخرى ذات دفع ثنائي.
الخطوة 3: قم بتوصيل الإلكترونيات
بالنسبة لجهاز التشفير البصري SnappyXO القياسي:
D0 (خرج المشفر) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
قوة المحرك واردوينو:
يجب أن يكون مصدر طاقة المحرك مناسبًا للمحركات التي تستخدمها. بالنسبة لمجموعة SnappyXO ، تُستخدم بطاريات 4AA لقوة المحرك وبطارية 9 فولت لطاقة Arduino. تأكد من أن لديهم جميعًا GND مشترك.
الخطوة 4: قم بتثبيت مكتبة PreciseMovement Arduino
تحميل:
github.com/jaean123/PreciseMovement-library/releases
كيفية تثبيت مكتبة Arduino:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
الخطوة 5: الكود
كود اردوينو:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
هذه المعلمات تتطلب التعديل. يمكن تعديل المعلمات الأخرى الموصوفة في الكود للحصول على أداء أفضل.
- افحص واضبط دبابيس المحرك أسفل دبابيس ARDUINO.
-
اضبط الطول والراديوس.
- LENGTH هي المسافة من العجلة اليسرى إلى العجلة اليمنى.
- RADIUS هو نصف قطر العجلة.
-
قم بتعيين PULSES_PER_REV ، وهو عدد النبضات التي يخرجها المشفر لثورة عجلة واحدة.
- لاحظ أن هذا يختلف عن عدد النبضات التي يخرجها المشفر لثورة عمود محرك واحد ما لم تكن المشفرات متصلة بالقراءة مباشرة من عمود العجلة.
- PULSES_PER_REV = (نبضات لكل ثورة في عمود المحرك) × (نسبة التروس)
-
عيّن STOP_LENGTH إذا رأيت أن الروبوت يتجاوز السرعة بعد الحركة إلى الأمام.
سيتوقف الروبوت بمجرد أن يكون الموضع المقدر على بعد STOP_LENGTH من الهدف. وبالتالي ، فإن STOP_LENGTH ، هي المسافة التقريبية المطلوبة حتى يتوقف الروبوت
-
معلمات PID
KP_FW: هذا هو المكون النسبي للحركة الأمامية. قم بزيادة هذا حتى يتحرك الروبوت في خط مستقيم. إذا لم تتمكن من تشغيله مباشرة من خلال ضبط هذا ، فمن المحتمل أن يكون الجهاز على خطأ. (على سبيل المثال ، محاذاة العجلات الخاطئة ، إلخ)
KP_TW: هذا هو المكون النسبي لحركة التواء PID. ابدأ ببساطة من قيمة منخفضة وقم بزيادة هذا حتى تصبح سرعة الالتواء ، أو السرعة الزاوية للروبوت أثناء التواء ، سريعة بدرجة كافية ، ولكنها لا تسبب التجاوز. لإجراء الملاحظات ، يمكنك جعل الروبوت البديل من 0 إلى 90 والعكس عن طريق إدخال ما يلي في وظيفة الحلقة
ضع هذا في حلقة لضبط KP_FW:
المحرك إلى الأمام (99999) ؛
ضع هذا في حلقة للتبديل من 0 إلى 90 لضبط KP_TW:
mover.twist (90) ؛ // تويست 90 سي دبليو
تأخير (2000) ؛
mover.twist (-90) // تويست 90 CCW
تأخير (2000) ؛
لاحظ أنه من أجل تحريف السرعة الزاوية فعليًا عند TARGET_TWIST_OMEGA ، يجب أيضًا ضبط KI_TW نظرًا لأن وحدة التحكم النسبية لن تستقر أبدًا على الهدف المحدد. ومع ذلك ، ليس من الضروري الالتواء بهذه السرعة الزاوية بالضبط. يجب أن تكون السرعة الزاوية بطيئة بدرجة كافية.
الخطوة 6: كيف يعمل
إذا كنت مهتمًا بكيفية عملها ، فاقرأ.
يتم الحفاظ على الحركة إلى الأمام مستقيمة باستخدام خوارزمية السعي الخالص على مسار خط مستقيم.
يحاول جهاز التحكم الملتوي PID الحفاظ على السرعة الزاوية عند TARGET_TWIST_OMEGA. لاحظ أن هذه السرعة الزاوية هي السرعة الزاوية للروبوت بأكمله وليس العجلات. يتم استخدام وحدة تحكم PID واحدة والإخراج هو سرعة كتابة PWM لكل من المحركات اليمنى واليسرى. الحساب الميت يتم لحساب الزاوية. بمجرد أن تصل الزاوية إلى حد الخطأ ، يتوقف الروبوت.
موصى به:
DIY Spot Like Quadruped Robot (مبنى Log V2): 9 خطوات
DIY Spot Like Quadruped Robot (بناء Log V2): هذا سجل بناء يحتوي على إرشادات مفصلة حول كيفية إنشاء https://www.instructables.com/DIY-Spot-Like-Quadru… robot dog v2. اتبع Robolab youtube موقع لمزيد من المعلومات. https://www.youtube.com/robolab19 هذا هو أول روبوت لدي ولدي
لعبة Knight Rider Lunchbox Robot: 8 خطوات (بالصور)
Knight Rider Lunchbox Robot: حسنًا ، إنه لا يتحدث ، إنه ليس أسود وليس به ذكاء اصطناعي. لكنها تحتوي على مصابيح LED الحمراء الفاخرة في المقدمة. لقد صنعت روبوتًا يمكن التحكم فيه عبر WiFi والذي يتكون من Raspberry Pi مع محول WiFi و Arduino Uno. يمكنك استخدام SSH في Raspberry Pi a
هيكل HUNIE-Robot للأعمال المنزلية الخارجية: 6 خطوات
هيكل HUNIE-Robot للأعمال المنزلية الخارجية: أعلاه هو أول بناء لي من الروبوت. أنا مفيد جدًا في مجال الإلكترونيات ، وقد قمت ببعض برمجة الكمبيوتر منذ ثلاثة عقود وأبحث عن هواية جديدة لأن RC Airplanes لم يعد يناسب نمط حياتي (بعيدًا جدًا عن المجال). أنا أبني
Chasis De Robot Con Orugas Impresas En 3D: 7 خطوات (بالصور)
Chasis De Robot Con Orugas Impresas En 3D: 3D Printed Robot Tank Chasis. (يمكنك العثور على الإرشادات باللغة الإنجليزية أدناه) لا يزال قيد العمل ، انضم إلى المناقشة https: //www.twitch.tv/bmtdtEste es el primer paso para la construcción de un robot tanque (por las orugas ، no tiene armas). دي ديسينيو
Ev3 Lego Gripper / Finder Robot: 7 خطوات
Ev3 Lego Gripper / Finder Robot: مرحبًا! GrabBot هو روبوت متعدد الأغراض يحب التدحرج … عندما يتعثر على جسم صغير ، يلتقطه ويعيده إلى موضع البداية