جدول المحتويات:

قم ببناء روبوت Turtlebot الخاص بك: 7 خطوات
قم ببناء روبوت Turtlebot الخاص بك: 7 خطوات

فيديو: قم ببناء روبوت Turtlebot الخاص بك: 7 خطوات

فيديو: قم ببناء روبوت Turtlebot الخاص بك: 7 خطوات
فيديو: ROS Robots Webinar Series - Ep.2 : From Idea to Robotics Product in 3 weeks 2024, شهر نوفمبر
Anonim
بناء الروبوت الخاص بك Turtlebot!
بناء الروبوت الخاص بك Turtlebot!
بناء الروبوت الخاص بك Turtlebot!
بناء الروبوت الخاص بك Turtlebot!
بناء الروبوت الخاص بك Turtlebot!
بناء الروبوت الخاص بك Turtlebot!

تعديل:

يتوفر مزيد من المعلومات المتعلقة بالبرنامج والتحكم على هذا الرابط:

hackaday.io/project/167074-build-your-own-turtlebot-3-backbone

الرابط المباشر للرمز هو:

github.com/MattMgn/foxbot_core

لماذا هذا المشروع؟

Turtlebot 3 هي المنصة المثالية للتعمق في الإلكترونيات والروبوتات وحتى الذكاء الاصطناعي! أقترح عليك بناء turtlebot الخاص بك خطوة بخطوة بمكونات ميسورة التكلفة دون التضحية بالميزات والأداء. مع وضع شيء واحد في الاعتبار: الحفاظ على الأفضل من الروبوت الأولي ، ونمطيته وبساطته والعدد الهائل من الحزم للتنقل المستقل والذكاء الاصطناعي من مجتمع المصادر المفتوحة.

يعد هذا المشروع فرصة للمبتدئين لاكتساب مفاهيم الإلكترونيات والميكانيكا وعلوم الكمبيوتر ، وللأكثر خبرة للحصول على منصة قوية لاختبار وتطوير خوارزميات الذكاء الاصطناعي.

ماذا ستكتشف في هذا المشروع؟

أنت على وشك اكتشاف الأجزاء الميكانيكية والإلكترونية الأساسية التي يجب الاحتفاظ بها من الروبوت الأصلي لضمان التوافق التام.

سيتم تفصيل عملية البناء بأكملها: الانتقال من طباعة الأجزاء ثلاثية الأبعاد والتجميع والمكونات المتعددة ، ولحام الإلكترونيات ودمجها إلى تجميع الكود على Arduino أخيرًا. سينتهي هذا الدليل بمثال "عالم مرحبًا" لتعريفك بـ ROS. إذا بدا أي شيء غير واضح ، فلا تتردد في طرح السؤال!

اللوازم

الإلكترونيات:

1 × كمبيوتر لوحة واحدة لتشغيل ROS ، يمكن أن يكون Raspberry Pi أو Jetson Nano على سبيل المثال

1 × Arduino DUE ، يمكنك أيضًا استخدام UNO أو MEGA

1 x Proto-board الذي يناسب Arduino DUE pin-out متاح هنا

محركات 2 × 12V DC مع أجهزة تشفير (خيار 100 RPM)

1 × سائق محرك L298N

منظم 2 × 5 فولت

1 × بطارية (3S / 4S بطارية LiPo على سبيل المثال)

2 × مفاتيح تشغيل / إيقاف

2 × ليد

2 × 470 كيلو أوم مقاومات

3 × 4 دبابيس موصلات JST

1 × كبل USB (واحد على الأقل بين SBC و Arduino)

المستشعرات:

1 × مستشعر التيار (اختياري)

1 × 9 درجات الحرية IMU (اختياري)

1 × ليدار (اختياري)

الهيكل:

16 × لوحة وحدات Turtlebot (والتي يمكن أيضًا طباعتها ثلاثية الأبعاد)

2 × عجلات قطرها 65 مم (خيار عرض 6 مم)

4 × فواصل من النايلون 30 مم (اختياري)

20 × M3 إدراج (اختياري)

آحرون:

الأسلاك

مسامير وإدراج M2.5 و M3

طابعة ثلاثية الأبعاد أو شخص يمكنه طباعة الأجزاء لك

تمرين يدوي مع مجموعة مثقاب مثل هذه

الخطوة 1: الوصف

وصف
وصف
وصف
وصف

هذا الروبوت عبارة عن محرك تفاضلي بسيط يستخدم عجلتين مركبتين مباشرة على محركهما وعجلة دوارة موضوعة في الخلف لمنع الروبوت من السقوط. ينقسم الروبوت إلى طبقتين:

الطبقة السفلية: مع مجموعة الدفع (البطارية ، وحدة التحكم في المحرك والمحركات) ، والإلكترونيات "منخفضة المستوى": متحكم Arduino ، منظم الجهد ، مفاتيح …

الطبقة العليا: ذات المستوى العالي الإلكتروني وهي الكمبيوتر ذو اللوحة الواحدة و LIDAR

ترتبط هذه الطبقات بأجزاء ومسامير مطبوعة لضمان متانة الهيكل.

التخطيطي الإلكترونية

قد يبدو التخطيطي فوضويًا بعض الشيء. إنه رسم تخطيطي ولا يمثل جميع الأسلاك والموصلات واللوحة الأولية ولكن يمكن قراءتها على النحو التالي:

تعمل بطارية 3S Litihum Ion Polymer بسعة 3000 مللي أمبير في الساعة على تشغيل الدائرة الأولى ، وهي تعمل على تشغيل كل من لوحة التحكم في المحرك (L298N) وأول منظم 5 فولت لمشفرات المحرك و Arduino. يتم تمكين هذه الدائرة من خلال مفتاح بمصباح LED يشير إلى حالة التشغيل / الإيقاف.

تعمل نفس البطارية على تشغيل دائرة ثانية ، ويتم تحويل جهد الدخل إلى 5 فولت لتشغيل الكمبيوتر ذي اللوحة الواحدة. هنا أيضًا ، يتم تمكين الدائرة من خلال مفتاح كهربائي ومصباح LED.

يمكن بعد ذلك إضافة مستشعرات إضافية مثل LIDAR أو الكاميرا مباشرة على Raspberry Pi من خلال USB أو منفذ CSI.

تصميم ميكانيكي

يتكون إطار الروبوت من 16 جزءًا متطابقًا مكونًا من طبقتين مربعتين (عرض 28 سم). تسمح الثقوب العديدة بتركيب أجزاء إضافية أينما احتجت إليها وتوفر تصميمًا معياريًا كاملًا. بالنسبة لهذا المشروع ، قررت الحصول على لوحات TurtleBot3 الأصلية ولكن يمكنك أيضًا طباعتها ثلاثية الأبعاد لأن تصميمها مفتوح المصدر.

الخطوة 2: تجميع كتلة المحرك

تجميع كتلة المحرك
تجميع كتلة المحرك
تجميع كتلة المحرك
تجميع كتلة المحرك
تجميع كتلة المحرك
تجميع كتلة المحرك

إعداد المحرك

تتمثل الخطوة الأولى في إضافة شريط رغوي بسمك 1 مم حول كل محرك لمنع الاهتزازات والضوضاء عند دوران المحرك.

الأجزاء المطبوعة

ينتج عن حامل المحرك جزأين يمسكان المحرك مثل الرذيلة. تم تحقيق 4 براغي لإحكام ربط المحرك في الحامل.

يتكون كل حامل من عدة ثقوب تستضيف إدخالات M3 ليتم تثبيتها على الهيكل. هناك ثقوب أكثر مما هو مطلوب بالفعل ، ويمكن استخدام الثقوب الإضافية لتركيب جزء إضافي.

إعدادات الطابعة ثلاثية الأبعاد: تتم طباعة جميع الأجزاء بالمعلمات التالية

  • فوهة قطرها 0.4 مم
  • 15٪ مواد حشو
  • طبقة ارتفاع 0.2 مم

عجلة

العجلات المختارة مغطاة بالمطاط لزيادة الالتصاق وضمان حالة دحرجة خالية من الانزلاق. يحافظ المسمار اللولبي على العجلة المثبتة على عمود المحرك. يجب أن يكون قطر العجلة كبيرًا بما يكفي لعبور خطوة بسيطة وعدم انتظام الأرض (يبلغ قطر هذه العجلات 65 مم).

تثبيت

عندما تنتهي من كتلة محرك واحدة ، كرر العمليات السابقة ثم قم ببساطة بتثبيتها في الطبقة باستخدام مسامير M3.

الخطوة 3: المفاتيح وإعداد الكابلات

المفاتيح وإعداد الكابلات
المفاتيح وإعداد الكابلات
المفاتيح وإعداد الكابلات
المفاتيح وإعداد الكابلات
المفاتيح وإعداد الكابلات
المفاتيح وإعداد الكابلات

إعداد كابل المحرك

بشكل عام ، يأتي مشفر المحرك مزودًا بكابل يشتمل على موصل 6pin على جانب واحد يربط الجزء الخلفي من المشفر PCB والأسلاك المجردة على الجانب الآخر.

لديك إمكانية لحامها مباشرة على اللوحة الأولية الخاصة بك أو حتى Arduino ، لكنني أوصيك باستخدام رؤوس دبوس أنثى وموصلات JST-XH بدلاً من ذلك. وبالتالي يمكنك توصيلها / فصلها عن اللوحة الأولية وتجعل التجميع أسهل.

نصائح: يمكنك إضافة جديلة قابلة للتوسيع حول الأسلاك وقطع أنبوب الانكماش بالقرب من الموصلات ، وبذلك تحصل على كابل "نظيف".

التبديل والصمام

لتمكين دائرتي الطاقة ، قم بإعداد كبلتي LED ومفاتيح التبديل: في البداية ، قم بتوصيل المقاوم 470 كيلو أوم على أحد دبوس LED ، ثم قم بتوصيل مؤشر LED على أحد دبوس التبديل. هنا أيضًا ، يمكنك استخدام قطعة من أنبوب الانكماش لإخفاء المقاوم بالداخل. كن حذرا في لحام الصمام في الاتجاه الصحيح! كرر هذه العملية للحصول على اثنين من كابلات التبديل / الصمام.

المجسم

قم بتجميع الكابلات المصنوعة مسبقًا على الجزء المطبوع ثلاثي الأبعاد المقابل. استخدم الجوز للحفاظ على المفتاح ، لا تتطلب مصابيح LED الغراء ، فقط القوة الكافية لتناسبها في الفتحة.

الخطوة 4: لوحات الأسلاك الإلكترونية

لوحات الأسلاك الإلكترونية
لوحات الأسلاك الإلكترونية
لوحات الأسلاك الإلكترونية
لوحات الأسلاك الإلكترونية
لوحات الأسلاك الإلكترونية
لوحات الأسلاك الإلكترونية

تخطيط المجالس

يتم استخدام لوحة أولية مناسبة لتخطيط لوحة Arduino لتقليل عدد الأسلاك. في الجزء العلوي من اللوحة الأولية ، تم تكديس L298N برأس أنثى من نوع Dupont (دوبونت عبارة عن رؤوس مثل Arduino).

إعداد L298N

في الأصل ، لا تأتي لوحة L298N مع رأس Dupont الذكر المقابل ، فأنت بحاجة إلى إضافة صف 9 دبابيس أسفل اللوحة. أنت بحاجة إلى تحقيق 9 ثقوب بقطر 1 مم من مثقاب الحفر بالتوازي مع الثقوب الموجودة كما ترون في الصورة. ثم اربط المسامير المقابلة للصفين بمواد لحام وأسلاك قصيرة.

L298N pin-out

يتكون الموديل L298N من قناتين يسمحان بالتحكم في السرعة والاتجاه:

الاتجاه من خلال مخرجات رقمية ، تسمى IN1 و IN2 للقناة الأولى و IN3 و IN4 للثانية

السرعة من خلال 1 مخرجات رقمية ، تسمى ENA للقناة الأولى و ENB للثانية

اخترت دبوس التدريجي التالي مع Arduino:

المحرك الأيسر: IN1 على السن 3 ، IN2 على السن 4 ، ENA على السن 2

المحرك الأيمن: IN3 على السن 5 ، IN4 على السن 6 ، ENB على السن 7

5V منظم

حتى إذا كان l298N قادرًا على توفير 5 فولت ، ما زلت أضيف منظمًا صغيرًا. يقوم بتشغيل Arduino من خلال منفذ VIN والمشفرات 2 على المحركات. يمكنك تخطي هذه الخطوة مباشرة باستخدام منظم L298N 5V المدمج.

موصلات JST و Encoder pin-out

استخدم 4 دبابيس محولات موصل JST-XH أنثى ، ثم يتم ربط كل موصل بـ:

  • 5V من المنظم
  • (أ) الأرض
  • منفذا إدخال رقمي (على سبيل المثال: 34 و 38 لجهاز التشفير الأيمن و 26 و 30 للمنفذ الأيسر)

إضافي I2C

كما لاحظت ، يوجد موصل JST 4pin إضافي على اللوحة الأولية. يتم استخدامه لتوصيل جهاز I2C مثل IMU ، يمكنك فعل الشيء نفسه وحتى إضافة المنفذ الخاص بك.

الخطوة 5: مجموعة المحركات والأردوينو على الطبقة السفلية

مجموعة المحركات واردوينو على الطبقة السفلية
مجموعة المحركات واردوينو على الطبقة السفلية
مجموعة المحركات واردوينو على الطبقة السفلية
مجموعة المحركات واردوينو على الطبقة السفلية
مجموعة المحركات واردوينو على الطبقة السفلية
مجموعة المحركات واردوينو على الطبقة السفلية

تثبيت الكتل الحركية

بمجرد تجميع الطبقة السفلية مع 8 لوحات Turtlebot ، ما عليك سوى استخدام 4 براغي M3 مباشرة في الملحقات للحفاظ على كتل المحرك. بعد ذلك ، يمكنك توصيل أسلاك طاقة المحرك بمخرجات L298N والكابلات المصنوعة مسبقًا بموصلات JST ذات اللوحة الأولية.

توزيع الطاقة

يتم تحقيق توزيع الطاقة ببساطة من خلال كتلة طرفية حاجز. على جانب واحد من الحاجز ، يتم ربط كابل بمقبس أنثوي XT60 لتوصيله ببطارية LiPo. على الجانب الآخر ، فإن كابلي LED / التبديل الذي تم لحامهما سابقًا مشدودان. وبالتالي يمكن تمكين كل دائرة (Motor و Arduino) بمفتاحها الخاص ومصباح LED الأخضر المقابل.

إدارة الكابلات

بسرعة سوف تضطر إلى التعامل مع الكثير من الكابلات! لتقليل الجانب الفوضوي ، يمكنك استخدام "الجدول" الذي سبق طباعته ثلاثية الأبعاد. على المنضدة ، حافظ على اللوحات الإلكترونية بشريط لاصق مزدوج الجوانب ، وتحت الطاولة ، اترك الأسلاك تتدفق بحرية.

صيانة البطارية

لتجنب خروج البطارية عند قيادة الروبوت ، يمكنك ببساطة استخدام رباط شعر مرن.

عجلة دوارة

ليست في الحقيقة عجلة دوارة ولكن نصف كروي بسيط مثبت بأربعة براغي في الطبقة السفلية. يكفي لضمان استقرار الروبوت.

الخطوة 6: كمبيوتر ذو لوحة واحدة وأجهزة استشعار على الطبقة العليا

كمبيوتر ذو لوحة واحدة وأجهزة استشعار على الطبقة العليا
كمبيوتر ذو لوحة واحدة وأجهزة استشعار على الطبقة العليا
كمبيوتر ذو لوحة واحدة وأجهزة استشعار على الطبقة العليا
كمبيوتر ذو لوحة واحدة وأجهزة استشعار على الطبقة العليا
كمبيوتر ذو لوحة واحدة وأجهزة استشعار على الطبقة العليا
كمبيوتر ذو لوحة واحدة وأجهزة استشعار على الطبقة العليا

أي كمبيوتر لوحة واحدة تختار؟

لست بحاجة إلى تقديم Raspberry Pi الشهير ، حيث يتجاوز عدد حالات استخدامه مجال الروبوتات إلى حد كبير. ولكن هناك منافس أقوى بكثير لـ Raspberry Pi قد تتجاهله. في الواقع ، يشتمل Jetson Nano من Nvidia على بطاقة رسومية قوية من 128 نواة بالإضافة إلى معالجها. تم تطوير هذه البطاقة الرسومية الخاصة لتسريع المهام الحسابية الباهظة مثل معالجة الصور أو استدلال الشبكة العصبية.

بالنسبة لهذا المشروع ، اخترت Jetson Nano ويمكنك العثور على الجزء ثلاثي الأبعاد المقابل بين الملفات المرفقة ، ولكن إذا كنت تريد استخدام Raspberry Pi ، فهناك العديد من الحالات القابلة للطباعة هنا.

5V منظم

مهما كانت اللوحة التي قررت إحضارها على الروبوت الخاص بك ، فأنت بحاجة إلى منظم 5V. يتطلب أحدث إصدار من Raspberry Pi 4 1.25A كحد أقصى ، لكن Jetson Nano تتطلب ما يصل إلى 3 أمبير في حالة الإجهاد ، لذلك اخترت أن يكون لدى Pololu 5V 6A احتياطي طاقة للمكونات المستقبلية (أجهزة الاستشعار ، الأضواء ، السائر …) ، ولكن أي 5V 2A رخيصة يجب أن تفعل العمل. يستخدم Jetson برميلًا بتيار مستمر مقاس 5.5 مم و Pi USB صغير ، يمسك الكبل المقابل ويلحمه بإخراج المنظم.

تخطيط ليدار

LIDAR المستخدم هنا هو LDS-01 ، وهناك العديد من 2D LIDAR التي يمكن استخدامها مثل RPLidar A1 / A2 / A3 ، YDLidar X4 / G4 أو حتى Hokuyo LIDARs. الشرط الوحيد هو أنه يجب توصيله عبر USB ووضعه في المنتصف فوق الهيكل. في الواقع ، إذا لم يتم توسيط LIDAR جيدًا ، فقد تحول الخريطة التي تم إنشاؤها بواسطة خوارزمية SLAM الموقع المقدر للجدران والعقبات من موقعها الحقيقي. وأيضًا إذا عبرت أي عوائق من الروبوت شعاع الليزر ، فسيؤدي ذلك إلى تقليل النطاق ومجال الرؤية.

تركيب LIDAR

يتم تثبيت LIDAR على جزء مطبوع ثلاثي الأبعاد يتبع شكله ، والجزء نفسه مثبت على لوحة مستطيلة (في الواقع من الخشب الرقائقي على الصورة ولكن يمكن طباعتها ثلاثية الأبعاد أيضًا). ثم يسمح جزء المحول بتثبيت المجموعة على لوحة السلحفاة العلوية باستخدام فواصل من النايلون.

الكاميرا كمستشعر إضافي أو بديل ليدار

إذا كنت لا ترغب في إنفاق الكثير من المال على LIDAR (الذي يكلف حوالي 100 دولار) ، فانتقل إلى الكاميرا: توجد أيضًا خوارزميات SLAM التي تعمل فقط باستخدام كاميرا RGB أحادية. يقبل كلاهما SBC كاميرا USB أو CSI.

علاوة على ذلك ، ستتيح لك الكاميرا تشغيل البرامج النصية الخاصة برؤية الكمبيوتر واكتشاف الكائنات!

المجسم

قبل إغلاق الروبوت ، مرر الكابلات من خلال الفتحات الأكبر في اللوحة العلوية:

  • الكبل المقابل من منظم 5V إلى SBC الخاص بك
  • كبل USB من منفذ البرمجة في Arduino DUE (الأقرب إلى برميل DC) إلى منفذ USB في SBC الخاص بك

ثم ثبت اللوحة العلوية في موضعها باستخدام عشرات البراغي. الروبوت الخاص بك جاهز الآن للبرمجة ، حسنًا!

الخطوة 7: اجعلها تتحرك

تجميع اردوينو

افتح Arduino IDE المفضل لديك ، وقم باستيراد مجلد المشروع المسمى own_turtlebot_core ، ثم حدد اللوحة الخاصة بك والمنفذ المقابل ، يمكنك الرجوع إلى هذا البرنامج التعليمي الممتاز.

اضبط الإعدادات الأساسية

يتكون المشروع من ملفين ، ويحتاج أحدهما إلى التكيف مع الروبوت الخاص بك. لذلك دعونا نفتح own_turtlebot_config.h ، واكتشف الخطوط التي تتطلب انتباهنا:

#define ARDUINO_DUE // ** علق على هذا السطر إذا كنت لا تستخدم DUE **

يجب استخدامه فقط مع Arduino DUE ، إذا لم يكن التعليق على السطر.

#define RATE_CONTROLLER_KP 130.0 // ** ضبط هذه القيمة **

#define RATE_CONTROLLER_KD 5000000000000.0 // ** ضبط هذه القيمة ** # تعريف RATE_CONTROLLER_KI 0.00005 // ** ضبط هذه القيمة **

تتوافق هذه المعلمات الثلاثة مع مكاسب التحكم في المعدل التي يستخدمها PID للحفاظ على السرعة المطلوبة. اعتمادًا على جهد البطارية وكتلة الروبوت وقطر العجلة والعتاد الميكانيكي لمحركك ، ستحتاج إلى تكييف قيمها. PID عبارة عن وحدة تحكم كلاسيكية ولن يتم تفصيلك هنا ولكن يجب أن يمنحك هذا الرابط مدخلات كافية لضبط إدخالاتك الخاصة.

/ * تحديد دبابيس * /

// المحرك A (يمين) const بايت motorRightEncoderPinA = 38 ؛ // ** تعديل باستخدام رقم التعريف الشخصي الخاص بك NB ** const بايت motorRightEncoderPinB = 34 ؛ // ** تعديل باستخدام رقم التعريف الشخصي الخاص بك NB ** const بايت enMotorRight = 2 ؛ // ** تعديل باستخدام رقم التعريف الشخصي الخاص بك NB ** const بايت in1MotorRight = 4 ؛ // ** تعديل باستخدام رقم التعريف الشخصي الخاص بك NB ** const بايت in2MotorRight = 3 ؛ // ** تعديل باستخدام رقم التعريف الشخصي NB ** // motor B (يسار) const بايت motorLeftEncoderPinA = 26 ؛ // ** تعديل باستخدام رقم التعريف الشخصي الخاص بك NB ** const بايت motorLeftEncoderPinB = 30 ؛ // ** تعديل باستخدام رقم التعريف الشخصي الخاص بك NB ** const بايت enMotorLeft = 7 ؛ // ** تعديل باستخدام رقم التعريف الشخصي الخاص بك NB ** const بايت in1MotorLeft = 6 ؛ // ** تعديل باستخدام رقم التعريف الشخصي الخاص بك NB ** const بايت in2MotorLeft = 5 ؛ // ** تعديل باستخدام رقم التعريف الشخصي NB **

تحدد هذه الكتلة pinout بين L298N و Arduino ، ما عليك سوى تعديل رقم التعريف الشخصي ليناسب رقمك. عندما تنتهي من ملف التكوين ، قم بتجميع الكود وتحميله!

قم بتثبيت وتكوين ROS

بمجرد الوصول إلى هذه الخطوة ، تكون التعليمات هي نفسها تمامًا تلك الواردة في دليل TurtleBot3 الممتاز ، عليك اتباعها بدقة

أحسنت صنع TurtleBot 3 الآن ويمكنك تشغيل جميع الحزم والبرامج التعليمية الحالية باستخدام ROS.

طيب ولكن ما هو ROS؟

ROS تعني نظام تشغيل الروبوتات ، قد يبدو معقدًا جدًا في البداية ولكنه ليس كذلك ، فقط تخيل طريقة اتصال بين الأجهزة (أجهزة الاستشعار والمشغلات) والبرامج (خوارزميات للملاحة والتحكم ورؤية الكمبيوتر …). على سبيل المثال ، يمكنك بسهولة تبديل LIDAR الحالي بطراز آخر دون انقطاع الإعداد ، لأن كل LIDAR تنشر نفس رسالة LaserScan. يستخدم ROS على نطاق واسع في الروبوتات ،

قم بتشغيل المثال الأول الخاص بك

يتمثل مكافئ "عالم الترحيب" لـ ROS في تشغيل الروبوت عن بُعد من خلال الكمبيوتر البعيد. ما تريد القيام به هو إرسال أوامر السرعة لجعل المحركات تدور ، تتبع الأوامر هذا الأنبوب:

  • عقدة turtlebot_teleop ، تعمل على الكمبيوتر البعيد ، تنشر موضوع "/ cmd_vel" بما في ذلك رسالة Twist
  • يتم إعادة توجيه هذه الرسالة عبر شبكة رسائل ROS إلى SBC
  • تسمح العقدة التسلسلية باستلام "/ cmd_vel" على Arduino
  • يقرأ Arduino الرسالة ويضبط المعدل الزاوي على كل محرك ليطابق السرعة الخطية والزاوية المرغوبة للروبوت

هذه العملية بسيطة ويمكن تحقيقها عن طريق تشغيل سطور الأوامر المذكورة أعلاه! إذا كنت تريد المزيد من المعلومات التفصيلية فقط شاهد الفيديو.

[SBC]

روزكور

[SBC]

rosrun rosserial_python serial_node.py _port: = / dev / ttyACM0 _baud: = 115200

[حاسب يستخدم عن بعد]

تصدير TURTLEBOT3_MODEL = $ {TB3_MODEL}

إطلاق turtlebot3_teleop turtlebot3_teleop_key.launch

المضي قدما

تحتاج إلى معرفة آخر شيء قبل تجربة جميع الأمثلة الرسمية ، في الدليل في كل مرة تواجه فيها هذا الأمر:

roslaunch turtlebot3_bringup turtlebot3_robot

تحتاج إلى تشغيل هذا الأمر على SBC الخاص بك بدلاً من ذلك:

rosrun rosserial_python serial_node.py _port: = / dev / ttyACM0 _baud: = 115200

وإذا كان لديك LIDAR ، فقم بتشغيل الأمر المرتبط على SBC الخاص بك ، وفي حالتي أقوم بتشغيل LDS01 مع السطر أدناه:

roslaunch hls_lfcd_lds_driver hlds_laser.la إطلاق

وهذا كل شيء ، لقد قمت بالتأكيد ببناء turtlebot الخاص بك:) أنت مستعد لاكتشاف القدرات الرائعة لـ ROS ، ولرؤية الكود وخوارزميات التعلم الآلي.

موصى به: