فهرست مطالب:

ایجاد ربات Arduino Self Balancing: B-robot EVO: 8 مرحله
ایجاد ربات Arduino Self Balancing: B-robot EVO: 8 مرحله

تصویری: ایجاد ربات Arduino Self Balancing: B-robot EVO: 8 مرحله

تصویری: ایجاد ربات Arduino Self Balancing: B-robot EVO: 8 مرحله
تصویری: Lesson 10: Conditional Statement in Arduino and Using Array | SunFounder Robojax 2024, نوامبر
Anonim
Image
Image
ایجاد یک ربات کنترل کننده از راه دور Arduino: B-robot EVO
ایجاد یک ربات کنترل کننده از راه دور Arduino: B-robot EVO
ایجاد یک ربات کنترل کننده از راه دور Arduino: B-robot EVO
ایجاد یک ربات کنترل کننده از راه دور Arduino: B-robot EVO

بیشتر توسط نویسنده دنبال کنید:

Pybot: Python + 3D Printed Robotic Arm
Pybot: Python + 3D Printed Robotic Arm
Pybot: Python + 3D Printed Robotic Arm
Pybot: Python + 3D Printed Robotic Arm
صفحه نمایش دوار متحرک ساده (مبتنی بر آردوینو + کنترل شده از تلفن هوشمند شما)
صفحه نمایش دوار متحرک ساده (مبتنی بر آردوینو + کنترل شده از تلفن هوشمند شما)
صفحه نمایش دوار متحرک ساده (مبتنی بر آردوینو + کنترل شده از تلفن هوشمند شما)
صفحه نمایش دوار متحرک ساده (مبتنی بر آردوینو + کنترل شده از تلفن هوشمند شما)
بازوی بازوی روباتیک
بازوی بازوی روباتیک
بازوی بازوی روباتیک
بازوی بازوی روباتیک

درباره: ما عاشق روبات ها ، DIY و علم خنده دار هستیم. هدف JJROBOTS این است که پروژه های روباتیک باز را با ارائه سخت افزار ، مستندات خوب ، دستورالعمل های ساختمان+کد ، نحوه کارکرد اطلاعات بیشتر به مردم نزدیک کند … بیشتر درباره jjrobots »

------------------------------------------------

UPDATE: نسخه جدید و بهبود یافته این ربات در اینجا وجود دارد: B-robot EVO ، با ویژگی های جدید

------------------------------------------------

چگونه کار می کند؟

B-ROBOT EVO یک ربات آردوینو با قابلیت کنترل از راه دور است که با قطعات چاپ سه بعدی ایجاد شده است. B-ROBOT تنها با دو چرخ قادر است تعادل خود را همیشه با استفاده از سنسورهای داخلی خود و حرکت موتورها حفظ کند. می توانید با ارسال دستورات از طریق تلفن هوشمند ، رایانه لوحی یا رایانه در حالی که تعادل خود را حفظ می کند ، ربات خود را کنترل کرده و او را به حرکت و چرخش وادار کنید.

این ربات متعادل کننده سنسورهای اینرسی خود (شتاب سنج ها و ژیروسکوپ های یکپارچه روی تراشه MPU6000) را 200 بار در ثانیه می خواند. او نگرش خود را (زاویه نسبت به افق) محاسبه می کند و این زاویه را با زاویه هدف مقایسه می کند (0 º اگر می خواهد بدون حرکت تعادل را حفظ کند ، یا اگر می خواهد به جلو یا عقب حرکت کند یک زاویه مثبت یا منفی). با استفاده از تفاوت بین زاویه هدف (فرض کنیم 0 درجه) و زاویه واقعی (فرض کنیم 3 درجه) ، او یک سیستم کنترل را هدایت می کند تا دستورات مناسب را برای حفظ تعادل خود به موتورها ارسال کند. دستورات به موتورها شتاب است. به عنوان مثال ، اگر روبات به جلو متمایل باشد (زاویه روبات 3 درجه است) ، سپس فرمان را به موتورها ارسال می کند تا به سمت جلو حرکت کنند تا این زاویه به صفر برسد تا تعادل حفظ شود.

مرحله 1: کمی بیشتر در عمق…

کمی بیشتر در عمق…
کمی بیشتر در عمق…
کمی بیشتر در عمق…
کمی بیشتر در عمق…
کمی بیشتر در عمق…
کمی بیشتر در عمق…

مشکل فیزیکی که B-ROBOT حل می کند آونگ معکوس نامیده می شود. این همان مکانیزمی است که برای تعادل چتر بالای دست خود نیاز دارید. نقطه محوری زیر مرکز جرم جسم است. اطلاعات بیشتر در مورد پاندول معکوس را اینجا ببینید. راه حل ریاضی برای این مسئله آسان نیست ، اما برای حل مسئله تعادل ربات خود نیازی به درک آن نداریم. آنچه باید بدانیم این است که چگونه باید تعادل روبات را بازیابی کنیم تا بتوانیم الگوریتم کنترل را برای حل مشکل پیاده سازی کنیم.

سیستم کنترل در رباتیک (اتوماسیون صنعتی) بسیار مفید است. اساساً این یک کد است که اطلاعات را از سنسورها و دستورات هدف به عنوان ورودی دریافت می کند و در نتیجه ، سیگنال های خروجی ایجاد می کند تا محرک های ربات (موتورهای مثال ما) را برای تنظیم سیستم هدایت کند. ما از کنترلر PID (Proportional + مشتق + انتگرال) استفاده می کنیم. این نوع کنترل دارای 3 ثابت برای تنظیم kP ، kD ، kI است. از ویکی پدیا: "یک کنترل کننده PID مقدار" خطا "را به عنوان تفاوت بین اندازه گیری [ورودی] اندازه گیری شده و نقطه تنظیم مورد نظر محاسبه می کند. کنترل کننده سعی می کند با تنظیم [یک خروجی] خطا را به حداقل برساند. " بنابراین ، شما به PID می گویید چه چیزی را اندازه گیری کند ("ورودی") ، جایی که می خواهید اندازه گیری آن ("نقطه تنظیم" ،) باشد و متغیری را که می خواهید برای تحقق آن تنظیم کنید ("خروجی").

سپس PID خروجی را تنظیم می کند تا ورودی با نقطه تنظیم برابر شود. برای مرجع ، یک مخزن آب که می خواهیم تا یک سطح پر کنیم ، ورودی ، نقطه تنظیم و خروجی ، سطح مطابق سنسور سطح آب ، سطح آب مورد نظر و آب پمپ شده به مخزن است. kP بخش متناسب است و قسمت اصلی کنترل است ، این قسمت متناسب با خطا است. kD بخش مشتق است و بر مشتق خطا اعمال می شود. این قسمت به پویایی سیستم بستگی دارد (بستگی به ربات ، موتورهای وزنی ، اینرسی ها …). آخرین مورد ، kI بر روی انتگرال خطا اعمال می شود و برای کاهش خطاهای ثابت استفاده می شود ، مانند یک ترمینال در خروجی نهایی است (در دکمه های تریم فرمان RC ماشین فکر کنید ماشین کاملاً مستقیم حرکت کند ، kI جبران بین هدف مورد نیاز و مقدار واقعی را حذف می کند).

در B-ROBOT فرمان فرمان کاربر به خروجی موتورها اضافه می شود (یک موتور با علامت مثبت و دیگری با علامت منفی). به عنوان مثال ، اگر کاربر فرمان فرمان 6 را برای گردش به راست (از -10 تا 10) ارسال کند ، باید 6 را به مقدار موتور چپ اضافه کرده و 6 را از موتور راست کم کنیم. اگر ربات به جلو یا عقب حرکت نمی کند ، نتیجه فرمان فرمان چرخش ربات است

مرحله 2: در مورد کنترل از راه دور چطور؟

"loading =" تنبل"

توصیه شده: