کل فرآیند شامل دو مرحله است: مونتاژ و برنامه نویسی. برای جمع آوری ربات خوبدانش مکانیک الزامی است برای برنامه ریزی یک ربات برای اعمال خاص، باید زبانی را بدانید که قابل درک باشد مادربردیا بلوک برنامه دانش مدرسه در علوم کامپیوتر در اینجا کافی نیست.

مواد را از کجا تهیه کنیم؟

ابتدا باید تصمیم بگیرید که چگونه می خواهید ربات را مونتاژ کنید: از کیت های آماده یا خودتان مواد را انتخاب کنید. مزیت کیت این است که نیازی نیست به دنبال قطعات جداگانه بگردید. اغلب، چندین دستگاه را می توان از یک مجموعه مونتاژ کرد.

سازه ای که از یک مجموعه آماده مونتاژ نشده باشد نامیده می شود سیستم باز. این همچنین مزایای خود را دارد: ربات شما یک فرد خواهد بود و شما خودتان می توانید طراحی را بهبود بخشید. اما قطعا زمان و تلاش بیشتری را صرف خواهید کرد.

ربات از چه ساخته شده است؟

مسکن - فلز یا پلاستیک "بدن"، که بقیه قطعات به آن وصل شده است. هر ربات دارای یک منبع انرژی است - باتری یا یک باتری. بسته به اینکه ربات چه وظیفه ای را انجام می دهد، حسگرها انتخاب می شوند: آنها می توانند رنگ و نور را تشخیص دهند و به لمس پاسخ دهند.

برای حرکت دادن ربات به موتور نیاز دارید. "سر"از کل مکانیسم - مادربرد یا بلوک برنامه. با کمک آنها، ربات به کامپیوتر متصل می شود و مجموعه ای از وظایف را دریافت می کند.

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

برای اینکه ربات عملی را انجام دهد، باید ایجاد کنید برنامه کامپیوتری. پیچیدگی این مرحله به مونتاژ بستگی دارد. اگر ربات از مجموعه Lego Mindstorms یا mBot مونتاژ شود، حتی کودکان نیز می توانند نرم افزار آنها را مدیریت کنند.

اگر خودتان در حال ساخت ربات هستید، باید اصول برنامه نویسی و زبانی که قرار است برنامه را با آن بنویسید، مانند C ++ را یاد بگیرید.

چرا ربات نمی تواند برنامه را اجرا کند؟

با رسیدن به یک مکان جدید، او می تواند به بیراهه رفته و برنامه را به اشتباه اجرا کند. برای اینکه ربات همه چیز را به درستی انجام دهد، لازم است سنسورها را تنظیم کنید. به عنوان مثال، نور بیش از حد روشن می تواند در تشخیص رنگ کافی اختلال ایجاد کند. بسته به سطحی که ربات روی آن حرکت می کند، قدرت موتورها تنظیم می شود.

آیا می توانم نحوه اسمبل کردن و برنامه نویسی را در مدرسه یاد بگیرم؟

علیرغم این واقعیت که رباتیک در برنامه درسی مدرسه گنجانده نشده است، معلمان فیزیک و علوم کامپیوتر می توانند به کودک نحوه مونتاژ و برنامه ریزی را آموزش دهند. در بلگورود، برخی از مدارس دایره هایی دارند که در آن ربات می سازند.

«بعد از درس هایی که با معلمان فیزیک و علوم کامپیوتر داشتیم، برنامه نویسی را یاد می گیریم. ما قبلاً می دانیم که چگونه در LegoMindstorms و Robolab کار کنیم ( نرم افزاربرای روبات ها - تقریبا ویرایش). دانش‌آموزان مدرسه شبانه روزی جوانان مهندسی بلگورود و شرکت‌کنندگان RoboFest-2018 می‌گویند که ما گاهی اوقات یاد می‌گیریم که چگونه از قطعات نقاشی‌های سه بعدی بسازیم. آنتون پرشینو دیمیتری چرنوف.

به جز مدرسه، کجا می توان رباتیک شد؟

دانشکده مهندسی BelSU کلاسی دارد که در آن نحوه مونتاژ و برنامه ریزی روبات ها را آموزش می دهند. در سال 2017، Quantorium در بلگورود افتتاح شد، جایی که دانش آموزان مدرسه از سن 9 سالگی رباتیک آموزش می بینند.

برای تبدیل شدن به یک روباتیک واقعی، می توانید وارد دانشکده رباتیک شوید. هنوز چنین افرادی در بلگورود وجود ندارند، اما در BSTU im. شوخوف دارای بخش سایبرنتیک فنی است. شاگردان او در مسابقات روسی در رشته رباتیک جوایزی کسب می کنند.

آیا می توانید خودتان یاد بگیرید؟

آره. منابع زیادی در اینترنت وجود دارد که می توانید یاد بگیرید که چه چیزی بسازید و چگونه یک ربات را برنامه ریزی کنید.

آیا ربات مفید خواهد بود؟

می توان آن را برای کارهای روزمره تطبیق داد و در خانه دستیار ساخت. نمونه های زیادی در اینترنت وجود دارد که نشان می دهد مخترعان خانگی چگونه ربات هایی را برای پختن پنکیک یا نظافت یک آپارتمان می سازند.

چگونه موفقیت خود را در ایجاد ربات تایید کنیم؟

در مسابقاتی مانند RoboFest شرکت کنید. بسته به سن و کارگردانی نامزدهای مختلفی وجود دارد. اساساً، هر نوع ربات دارای مسیری است که بر روی آن وظایفی را انجام می دهد: گرفتن یک مکعب یا کشیدن یک خط. همچنین سیستم های استاتیکی وجود دارد که در آن داوران ارائه پروژه و عملکرد مکانیزم ها را ارزیابی می کنند.

به عنوان یک قاعده، شرکت کنندگان به مسابقات می آیند با مونتاژ شده توسط روبات هاو در آماده سازی فقط برای کالیبراسیون سنسورها و تنظیم برنامه وقت می گذارند.

ویراستاران از کمک در ایجاد مطالب شرکت کنندگان RoboFest-2018 سپاسگزار هستند. دیمیتری آگافونوف, دیمیتری چرنوف, آنتون پرشینو دانیلا میگرینا.

ناتالیا مالیهینا

وظیفه معلم این است که این مسیر را با دانش آموز طی کند، نه اینکه از شکست ها بیمه شود، بلکه از ناامیدی ناشی از آن جلوگیری کند. مشکلات احتمالی. بسیار مهم است که کلاس ها را به گونه ای سازماندهی کنید که کودکان از طریق فعالیت های معنادار چیزهای جدیدی را برای خود کشف کنند.
چگونه یک ربات به یادگیری علوم کامپیوتر کمک می کند؟ من فقط به چند موضوع از انفورماتیک اشاره می کنم که رباتیک بر آن استوار است.
موضوع "فایل ها و سیستم فایل".
دانش آموز یک میکرو کامپیوتر LEGO®NXT از کیت آموزشی دریافت کرد LEGO Mindstormsآموزش NXT. کنترلش کن سیستم فایلبا دستورات استاندارد اتفاق می افتد، اما از آنجایی که مقدار حافظه زیاد نیست، کنترل لازم و غیر ضروری باید دائماً تحت نظر باشد. به منظور صداگذاری اقدامات ربات، نمایش تصویر، پر کردن کتابخانه برنامه های کاری، لازم است با مفاهیم اولیه علوم کامپیوتر کار کنید: فایل، نوع فایل، مسیر فایل، منو، پوشه.
موضوع "فرایندهای اطلاعاتی"، "کدگذاری اطلاعات".
کیت رباتیک مجهز به حسگرهایی است که اطلاعات صدا، لمس و ویدئو را ثبت می کند. پس از دیجیتالی شدن، اطلاعات می توانند بر روی صفحه نمایش نمایش داده شوند. عملکرد ویژه میکرو کامپیوتر امکان آزمایش با سنسورها، موتورها را با استفاده از برنامه های آماده برای اجرا فراهم می کند. پس از یک سری آزمایشات با سنسورها، این درک به وجود می آید: چرا یک سنسور فاصله اولتراسونیک کندتر از یک سنسور نور مادون قرمز است، چگونه صدا به یک کد دیجیتال تبدیل می شود و غیره. مطالعه فرآیندهای اطلاعاتی و اصول کدگذاری اطلاعات درک عمیق تری از ماهیت فناوری اطلاعات به دست می دهد.

موضوع "فناوری های ارتباطی".
میکرو کامپیوتر LEGO®NXT از فناوری پشتیبانی می کند ارتباطات بی سیم. با استفاده از عملکرد بلوتوث، می توانید تنظیم کنید اتصال بیسیمبین میکرو کامپیوتر NXT و سایر دستگاه هایی که دارای دستگاه بلوتوث هستند، مانند سایر NXT ها، با تلفن های همراهیا با کامپیوتر با تنظیم اتصال بلوتوث, شاید: دانلود برنامه ها از کامپیوتر از راه دور. ارسال برنامه ها از دستگاه های دیگر (نه از رایانه)، از جمله NXT. برنامه ها را هم به NXT های فردی و هم به گروه های آنها ارسال کنید. این فناوری امکان کنترل ربات را با استفاده از تلفن همراه فراهم می کند.

موضوعات "الگوریتم ها. مجری الگوریتم ها، “محیط برنامه نویسی”.
برای آشنایی اولیه با ربات، می توانید مستقیماً واحد NXT را بدون دسترسی به رایانه برنامه ریزی کنید. به طور مستقیم بر روی صفحه نمایش، با توجه به یک الگوی پنج فرمان، می توانید آهنگسازی کنید یک برنامه سادهو آن را حلقه کنید. با این حال، نمی توان بدون دانش ساختارهای الگوریتمی اولیه و توسعه محیط برنامه نویسی انجام داد. این توانایی برنامه ریزی ربات است که آن را به یک مجری جهانی تبدیل می کند که قادر به حل انواع وظایف است. شروع به تسلط بر فناوری برنامه نویسی باید با محیط های برنامه نویسی بصری باشد، سپس به سمت محیط های قدرتمندتر و مدرن تر و مبتنی بر رویداد حرکت کنید.
بنابراین، رباتیک به دانش اولیه علوم کامپیوتر نیاز دارد، و تمایل پایان ناپذیر دانش آموز برای تبدیل ربات خود به "بهترین" او را به تسلط بر دانش جدید سوق می دهد.
چرا می توان ربات را یک ابزار یادگیری ایده آل نامید؟ زیرا این ابزار امکان ایجاد یک محیط یادگیری را فراهم می کند که آرزوهای طبیعی کودک را برای بازی، ایجاد، برقراری ارتباط با همسالان بازیابی کند. بنابراین، می‌توانیم مزایای رباتیک را به عنوان ابزار آموزشی برجسته کنیم:
. جذب دانش در طول بازی اتفاق می افتد.
. ساخت ربات آزادی خلاقانه را ارائه می دهد.
. تمایل به بهبود کار خود اکثریت دانش آموزان است.

به عنوان مثال، می‌خواهم مدلی از «ربات ارسال غذای رایگان» که توسط دانش‌آموز کلاس ششم به عنوان بخشی از دوره «برنامه‌نویسی توسط ربات» در فعالیت‌های فوق برنامه ایجاد شده است را ارائه دهم. این ربات از مجموعه LEGO MINDSTORMS NXT Education 9797 با استفاده از مدل استاندارد Alfarex 1.0 ساخته شده است و با یک سنسور رنگی برای نشان دادن وضعیت ربات و یک سینی غذا تکمیل شده است.
هدف از کار پیاده سازی مدل راه رفتن انسان تا حد امکان با منابع موجود است. حرکت هر پا توسط یک موتور و یک مجموعه مکانیکی از چرخ دنده ها و اهرم ها کنترل می شود. یک اهرم پا را بالا و پایین می برد و دیگری آن را به جلو می برد. در این حالت، بدن به سمت پای نگهدارنده منحرف می شود و به همین دلیل ربات تعادل را حفظ می کند. این راه رفتن را "در هم زدن" می نامند.
یک موتور جداگانه سنسور فاصله و بازوهای اهرمی را که حسگر لمسی و سنسور رنگ را نگه می دارند کنترل می کند. سینی خوراکی ها بدون حرکت ثابت است.
این ربات به گونه ای برنامه ریزی شده است که نقش یک دستفروش را انجام دهد، به عنوان مثال، غذاهای رایگان را طبق الگوریتم رفتار زیر انجام دهد. این ربات حرکت خود را در یک خط مستقیم با این عبارت همراه می کند: "من یک ربات آلفاکس هستم، من شما را رایگان درمان می کنم!" فردی که مایل به برقراری تماس با ربات است می تواند با یک اشاره جلوی آن را بگیرد. ربات پس از توقف این عبارت را می گوید: "به خودتان کمک کنید و دکمه را فشار دهید!". با گرفتن یک آب نبات، یک شخص به نشانه قدردانی باید یک بار دکمه را فشار دهد. سه ثانیه پس از توقف، ربات به حرکت خود ادامه می دهد. وقتی غذاها تمام شد (روبات برای مقدار خاصی از شیرینی روی سینی برنامه ریزی شده است)، ربات خداحافظی می کند، نشانگر قرمز روشن می شود، ربات متوقف می شود.

برنامه کنترل ربات در محیط NXT Programming 2.0 نوشته شده است.

ربات اجرا کننده در یک میدان مستطیل شکل وجود دارد که به سلول هایی تقسیم شده است که بین آنها دیوارهایی وجود دارد و کاملاً در یک سلول قرار می گیرد. ربات می تواند در اطراف زمین حرکت کند، روی سلول ها نقاشی کند، دما و تشعشع را اندازه گیری کند. ربات نمی تواند از دیوارها عبور کند، اما می تواند بررسی کند که آیا دیواری در کنار آن وجود دارد یا خیر.

سیستم فرمان مجری "ربات" شامل موارد زیر است:

  • 5 دستوری که باعث اعمال روبات می شود (چپ، راست، بالا، پایین، رنگ کردن روی)
  • 10 دستور بررسی شرایط:
  • 8 دستور مانند [چپ/راست/پایین/بالا] [دیوار/رایگان]
  • 2 فرمان مانند cage [shaded/clean]
  • 2 دستور اندازه گیری (دما، تابش)

دستورات عمل

دستورات را بررسی کنید

تیم شرح
ورود به سیستم آزاد باقی مانده است اگر ربات بتواند به سمت چپ حرکت کند، بله را برمی‌گرداند، در غیر این صورت خیر.
ورود به سیستم در سمت راست رایگان است اگر ربات بتواند به سمت راست حرکت کند، بله را برمی‌گرداند، در غیر این صورت خیر.
ورود به سیستم رایگان اگر ربات بتواند به سمت بالا حرکت کند، بله را برمی‌گرداند، در غیر این صورت خیر.
آزادانه وارد زیر شوید اگر ربات بتواند پایین بیاید، بله را برمی‌گرداند، در غیر این صورت خیر.
دیوار چپ چوب اگر دیواری در سمت چپ ربات وجود داشته باشد، بله را برمی‌گرداند، در غیر این صورت خیر.
ورود به سیستم دیوار سمت راست اگر دیواری در سمت راست ربات وجود داشته باشد، بله را برمی‌گرداند، در غیر این صورت خیر.
دیوار بالای چوب اگر دیواری بالای ربات وجود داشته باشد بله برمی‌گرداند، در غیر این صورت خیر.
دیوار پایین تنه اگر دیواری در زیر ربات وجود داشته باشد بله برمی‌گرداند، در غیر این صورت خیر.
سلول ورود به سیستم سایه دار است اگر سلول پر شود، بله و اگر سلول پر نشود، خیر را برمی‌گرداند.
ورود سلول تمیز اگر سلول پر شود، خیر و اگر سلول پر نشده باشد، بله را برمی‌گرداند.

دستورات اندازه گیری

اجازه دهید لازم باشد از سلول سمت چپ دیوار به سلول سمت راست دیوار منتقل شود:

الگوریتم ممکن است به شکل زیر باشد:

از ربات استفاده کنید
alg مثال 1
زود
. راه پایین
. درست
. بالا
باهم

اگر سعی کنید ربات را از دیوار عبور دهید، شکست رخ می دهد. ربات به دیوار برخورد می کند و دیگر نمی تواند دستورات بیشتری را دنبال کند.


بیایید یک الگوریتم برای ربات بنویسیم که پیچ و خم را از نقطه A به B عبور دهد:

از ربات استفاده کنید
alg از A تا B
زود
. درست

. بالا بالا درست ؛ راه پایین ؛ راه پایین ؛ درست
. بالا بالا درست ؛ راه پایین ؛ راه پایین ؛ درست
باهم

دستورات برای عبور هر بخش را می توان در یک خط گروه بندی کرد - این رکورد الگوریتم را کوتاه می کند و آن را قابل درک تر می کند. برای نوشتن دستورات در یک خط، باید با نقطه ویرگول از هم جدا شوند.

آنها یاد گرفتند که آن را برای کارهای بعدی تنظیم کنند. حالا بیایید مستقیماً با استفاده از دستورات ساده به سراغ کامپایل الگوریتم‌های ربات برویم.

اگر اطلاعاتی را در قالب آموزش تصویری ترجیح می دهید، سایت دارای یک آموزش تصویری است

هر اجرا کننده باید یک سیستم فرمان داشته باشد ( اسکیسیستم فرماندهی مجری). سیستم فرماندهی مجری- مجموعه تمام دستوراتی که اجرا کننده می تواند اجرا کند. به عنوان مثال، یک سگ آموزش دیده را در نظر بگیرید. او می داند که چگونه برخی از دستورات را اجرا کند - "بنشین"، "دراز بکش"، "بعدی"، و غیره. این سیستم فرمان او است.

دستورات ربات ساده

ربات ما همچنین دارای یک سیستم فرمان است. امروز نگاه خواهیم کرد دستورات ساده ربات. در کل 5 عدد وجود دارد:

  • بالا
  • به سمت چپ
  • درست
  • رنگ کردن

نتیجه اجرای این دستورات از نام آنها مشخص است:

  1. بالا- ربات را یک سلول به بالا ببرید
  2. راه پایین- ربات را یک سلول به پایین ببرید
  3. به سمت چپ- ربات را یک سلول به سمت چپ حرکت دهید
  4. درست- ربات یک سلول را به سمت راست حرکت دهید
  5. رنگ کردن- روی سلول فعلی (سلولی که ربات در آن قرار دارد) نقاشی کنید.

این دستورات را می توان از صفحه کلید نوشت یا می توانید از کلیدهای داغ استفاده کنید (با فشار دادن آنها دستورات به طور خودکار وارد می شوند):

  • بالا - فرار، بالا (فلش بالا)
  • پایین - فرار، پایین (فلش پایین)
  • چپ - فرار، چپ (پیکان چپ)
  • راست - فرار، راست (پیکان سمت راست)
  • رنگ کردن - فرار، فضا (فضا)

لطفاً توجه داشته باشید که باید ترکیب مورد نظر از کلیدهای داغ را شماره گیری کنید نه به روش معمول!ما عادت داریم که کلیدها را همزمان فشار دهیم، اما در اینجا به آنها نیاز است به صورت متوالی فشار دهید. به عنوان مثال، برای وارد کردن دستور up، باید Escape را فشار دهید، آن را رها کنید و سپس فلش رو به بالا را فشار دهید. این را باید به خاطر داشت.

اکنون آماده نوشتن اولین الگوریتم برای Robot هستیم. من پیشنهاد می کنم با یک ساده شروع کنید - یک مربع با ضلع 3 سلول بکشید. برو!

ما Idol را راه اندازی می کنیم. آیا می توانم شروع به نوشتن برنامه کنم؟ البته که نه! ما نیستیم! بیایید آن را انجام دهیم. پیشنهاد میکنم از این یکی استفاده کنید:

حالا همه چیز آماده است. بیایید شروع به نوشتن برنامه کنیم. تا زمانی که او اینگونه به نظر می رسد

حذف نماد "|" و الگوریتم ما را "مربع" بنامیم

من پیشنهاد می کنم یک مربع بکشید که در جهت عقربه های ساعت حرکت می کند. ابتدا با دادن دستور روی سلول فعلی رنگ کنید رنگ کردن. سپس یک قدم به سمت راست برمی داریم و دوباره روی سلول نقاشی می کنیم. و یک بار دیگر به سمت راست بروید و رنگ کنید.

بیایید سعی کنیم برنامه را اجرا کنیم و ببینیم چه اتفاقی می افتد. برای راه اندازی فشار دهید F9یا دکمه روی نوار ابزار

در نتیجه باید چیزی شبیه به این را ببینیم

اگر چنین پنجره رباتی ندارید، روی نوار ابزار کلیک کنید " نمایش پنجره رباتیا در منوی Robot مورد را انتخاب کنید نمایش پنجره ربات". ادامه می دهیم.

اکنون به سمت پایین حرکت می کنیم و سمت راست مربع را رنگ می کنیم:

راه پایین

رنگ کردن

راه پایین

رنگ کردن

سپس به سمت چپ برویم و حاشیه پایین مربع را رنگ کنیم

به سمت چپ

رنگ کردن

به سمت چپ

رنگ کردن

یک سلول رنگ نشده باقی مانده است. بیایید روی آن نقاشی کنیم

بالا

رنگ کردن

همه چیز آماده است! در نتیجه، برنامه ما به شکل زیر است:

از ربات استفاده کنید

alg مربع

زود

رنگ کردن

درست

رنگ کردن

درست

رنگ کردن

راه پایین

رنگ کردن

راه پایین

رنگ کردن




سیستم فرمان ربات اجرا کننده برای انجام دهنده دستورات حرکت ربات: بالا، پایین، چپ، راست ربات یک سلول را به بالا، پایین، چپ، راست حرکت می دهد. دستور نقاشی روی - روی سلولی که ربات در آن ایستاده است نقاشی می کند. بررسی اعتبار شرط: آزاد در بالا، آزاد در پایین، آزاد در سمت چپ، آزاد در سمت راست ربات صحت شرایط عدم وجود دیوار در سلولی که ربات در آن قرار دارد را بررسی می کند. می توانید از رکورد شرایط مرکب تشکیل شده استفاده کنید عملیات منطقیو، یا، نه.




ویرایش مستقیم محیط Performer Robot تمام دستورات ویرایش محیط با استفاده از ماوس انجام می شود: قرار دادن/حذف دیوار - کلیک بر روی مرز بین سلول ها، رنگ کردن/پاک کردن سلول - کلیک بر روی سلول، حرکت ربات - کشیدن ماوس به سلول مورد نظر .


دستورات منوی Robot Executor Robot نمایش فیلد Robot پنجره مانیتورینگ Robot را قابل مشاهده می کند. محیط چاپ فایلی را در آن ایجاد می کند فرمت PDF، وضعیت فعلی را به صورت رنگی یا سیاه و سفید نشان می دهد. ذخیره محیط برای ایجاد فایل فایل متنیبا تشریح وضعیت در قالب *.fil داخلی. این فایل می تواند بعداً به عنوان یک محیط شروع (فرمان تغییر محیط شروع) یا هنگام ویرایش محیط شروع (فرمان ویرایش محیط شروع باز کردن ویندوز) بارگذاری شود. تغییر به عنوان محیط شروع یک نام فایل محیط شروع جدید را تنظیم می کند (با استفاده از گفتگوی استاندارد) و یک محیط شروع جدید را بارگیری می کند. بازگشت به محیط شروع، محیط شروع را جاری می کند.


تصویر ربات مجری از وضعیت فعلی در پنجره مشاهده تصویر وضعیت فعلی همیشه به طور کامل در قسمت کاری پنجره مشاهده برای ربات قرار می گیرد. پس زمینه زمین کار سبز است. سلول های سایه دار خاکستری هستند. خطوط سیاه و نازکی بین سلول ها وجود دارد. دیوارها به صورت خطوط زرد ضخیم نشان داده می شوند. در سلول میدان کاری پنجره مشاهده، ربات به صورت لوزی به تصویر کشیده شده است.


ربات اجراکننده مثال 1. بیایید الگوریتمی به نام "حرکت شوالیه" ایجاد کنیم تا ربات را از نقطه A به نقطه B برسانیم (شکل 3). الگوریتم شکل (شکل 4.) دارد. پس از اجرای آن، ربات به نقطه مورد نظر حرکت می کند (شکل 5). الگوریتمی که به زبان اجراکننده نوشته می شود برنامه نامیده می شود. Fig.3Fig.4 Fig.5