প্রোগ্রামিং জটিলতা
রোবটগুলি বিস্তৃত পরিসরের কাজ সম্পাদন করার জন্য ডিজাইন করা যেতে পারে। এর মধ্যে কিছু কাজ খুবই সহজ, যেমন একটি স্বয়ংক্রিয় দরজা খোলা। অন্যগুলো অনেক বেশি জটিল হতে পারে, যেমন একটি স্বায়ত্তশাসিত গাড়ি শহুরে পরিবেশে চলাচল করে। কাজটি যতই জটিল হোক না কেন, এটিকে সহজ কাজগুলিতে ভাগ করা যেতে পারে। এই কাজগুলি আচরণ হিসাবে পরিচিত এবং রোবোটিক্স প্রোগ্রামিং এর বিল্ডিং ব্লক।
একটি আচরণ হল এমন একটি উপায় যা একটি রোবট কাজ করে এবং রোবটটি কীভাবে তৈরি বা প্রোগ্রাম করা হয়েছে তার উপর নির্ভর করে জটিলতা হতে পারে। VEX V5 Speedbot-এর মতো একটি সাধারণ মোবাইল রোবটে শুধুমাত্র দুটি মোটর রয়েছে, যখন Clawbot-এর চারটি মোটর রয়েছে, যার মধ্যে আর্ম এবং ক্লের জন্য দুটি অতিরিক্ত মোটর রয়েছে। উভয় রোবটের আচরণের সাথে নির্ধারিত লক্ষ্যগুলি অর্জনের জন্য সেই মোটরগুলিকে পরিণত করা জড়িত। আরও ডিজাইন এবং প্রোগ্রামিংয়ের মাধ্যমে, আপনি এই সাধারণ আচরণ থেকে শুরু করতে পারেন এবং আরও জটিল আচরণ করতে পারেন।
নীচে স্পিডবট এবং ক্লববট উভয়ের জন্য রোবট আচরণের একটি তালিকা রয়েছে যা সহজ থেকে জটিল পর্যন্ত বৃদ্ধি পাচ্ছে। বন্ধনীতে, আপনি সহজ আচরণগুলি দেখতে পারেন যা প্রতিটি রচনা করে।
-
একটি নির্দিষ্ট পোর্টে নির্ধারিত একটি মোটর ঘোরান
-
এগিয়ে যান (ড্রাইভট্রেন ব্যবহার করে বাম এবং ডান উভয় মোটর ঘোরান)
-
5 মিটার ভ্রমণ করুন (এগিয়ে যান, তারপর থামুন)
-
একটি দূরবর্তী বস্তু ধরুন (2 মিটার ভ্রমণ করুন, এটি ধরতে ক্ল মোটর ঘোরান)
-
একটি বস্তু পুনরুদ্ধার করুন এবং এটি একটি উচ্চ শেলফে রাখুন (একটি দূরবর্তী বস্তু ধরুন, ঘুরুন, 2 মিটার ভ্রমণ করুন, বস্তুটি বাড়াতে এবং ছেড়ে দিতে বাহু এবং নখর মোটর ব্যবহার করুন)
আপনি দেখতে পাচ্ছেন কিভাবে আপনি যেকোন জটিল আচরণকে সহজ আচরণে বিনির্মাণ করতে পারেন। এগুলি যে কোনও জটিল কাজের বিল্ডিং ব্লক হয়ে ওঠে।
শিক্ষক টিপস
-
জটিল রোবট আচরণগুলিকে ছোট, সহজ ধাপে বিভক্ত করতে ছাত্রদের নির্দেশ দিন। এই প্রক্রিয়াটি পচন হিসাবে পরিচিত।
-
ছাত্রদের বুঝিয়ে বলুন যে জটিল আচরণগুলিকে সহজ কাজগুলিতে পরিণত করা পরিকল্পনা এবং প্রোগ্রামিংয়ের একটি গুরুত্বপূর্ণ অংশ।
-
পর্যাপ্ত ক্লাস সময় থাকলে শিক্ষার্থীদের তাদের স্বায়ত্তশাসিত প্রকল্পগুলি চালানোর অনুমতি দিন।
আপনার শেখার প্রসারিত
এই ক্রিয়াকলাপটিকে গণনামূলক চিন্তাভাবনা এবং পচনশীলতার সাথে সংযুক্ত করতে, শিক্ষার্থীদের ম্যাপ আউট করতে বলুন, বা তালিকাভুক্ত করতে বলুন, একটি রোবট নীচের কার্যকলাপগুলি সম্পন্ন করার জন্য যে আচরণগত পদক্ষেপগুলি বহন করবে:
-
ক্রিয়াকলাপ এক: 1 মিটার ভ্রমণ করুন এবং শুরুর জায়গায় ফিরে আসুন।
-
ক্রিয়াকলাপ দুই: রোবটের সামনে 60 সেমি অবস্থিত একটি বাক্স উল্টান।
-
ক্রিয়াকলাপ তিন: একটি বস্তু নিন, এটি ঝাঁকান, 30 সেমি ভ্রমণ করুন, বস্তুটিকে মাটিতে রাখুন এবং প্রারম্ভিক বিন্দুতে ফিরে আসুন।
অনুপ্রাণিত আলোচনা
ছাত্রদের উচিত আচরণগত পদক্ষেপগুলি শেয়ার করা যা তারা উপরে Extend Your Learning থেকে কার্যকলাপের জন্য তালিকাভুক্ত করেছে। নিচের প্রতিটি প্রশ্ন যেকোনো বা সমস্ত কার্যক্রমের পরে জিজ্ঞাসা করা যেতে পারে।
প্রশ্ন: প্রতিটি গ্রুপ এই কার্যকলাপটি সফলভাবে সম্পন্ন করার জন্য কোন পদক্ষেপ বা আচরণ তালিকাভুক্ত করেছে?
A: ক্রিয়াকলাপ বা কাজটি সম্পূর্ণ করার জন্য প্রয়োজনীয় সাধারণ রোবট আচরণগুলি তালিকাভুক্ত করার পাশাপাশি, শিক্ষার্থীদের রোবটটিকে যে দৈর্ঘ্য ভ্রমণ করতে হবে এবং বাহুর নড়াচড়া এবং গতি বিবেচনা করতে হবে (সামনে গাড়ি চালিয়ে, বিপরীতে, বাম দিকে ঘুরতে হবে) অথবা ঠিক). ছাত্রদের তাদের আচরণের তালিকা তৈরি করা উচিত যাতে প্রতিটি পদক্ষেপের প্রতিনিধিত্ব করা হয়।
প্রশ্ন: এই কার্যকলাপের জন্য সমাধানের (পদক্ষেপের তালিকা) মধ্যে মিল এবং পার্থক্য কি ছিল?
A: শিক্ষার্থীরা তাদের সমাধানের উপর ভিত্তি করে তুলনা করবে। একটি ভেন ডায়াগ্রাম ছাত্রদের ভাগ করা পদক্ষেপগুলি সংগঠিত করার একটি ভাল উপায় হতে পারে। যদি অধিকাংশ শিক্ষার্থী একটি নির্দিষ্ট ধাপের নাম দেয়, তাহলে এটিকে কেন্দ্রে যোগ করুন যেখানে চেনাশোনাগুলি ওভারল্যাপ হয়। যদি শুধুমাত্র এক বা কয়েকজন ছাত্র একটি নির্দিষ্ট ধাপের নাম দেয়, তাহলে এটিকে একটি চেনাশোনা বা অন্য বৃত্তে যোগ করুন। সম্পন্ন হলে, কেন্দ্রের ধাপগুলি নির্ভরযোগ্যভাবে সহজ এবং আরও ভাঙতে অক্ষম হওয়া উচিত যেখানে শুধুমাত্র একটি বৃত্তে তালিকাভুক্ত পদক্ষেপগুলি সম্ভবত ততটা সহজ নয় যতটা তারা হতে পারে। যাইহোক, এই প্যাটার্নটি উল্টে যেতে পারে ক্লাসের অভিজ্ঞতার উপর নির্ভর করে জটিল আচরণগুলিকে তাদের সহজতম ধাপে ভাঙ্গার।
প্রশ্ন: সফল সমাধানগুলির সাথে কি মিল ছিল? যদি তাই হয়, তারা কি ছিল?
A: সবচেয়ে সফল সমাধানগুলি ছিল সেইগুলি যেগুলির মধ্যে সবচেয়ে বিস্তারিত এবং নির্দিষ্টতা অন্তর্ভুক্ত ছিল৷ রোবটটি খুব নির্দিষ্ট আচরণের সাথে একটি ভাষায় প্রোগ্রাম করা হয়েছে যা তাদের ক্ষুদ্রতম উপাদানগুলিতে বিভক্ত করা হয়েছে। উদাহরণস্বরূপ, এটি একটি রোবট বলা সাধারণ হতে পারে "1 মিটার ভ্রমণ করে এবং শুরুর স্থানে ফিরে আসে" কিন্তু প্রোগ্রামিং করার সময় সেই উচ্চ-স্তরের বর্ণনা সহজে অনুবাদ হয় না। আপনাকে এটিকে আরও ভেঙে ফেলতে হবে: 1 মিটারের জন্য এগিয়ে যান, 180 ডিগ্রি ঘুরান এবং 1 মিটারের জন্য এগিয়ে যান। কিন্তু তাও যথেষ্ট সুনির্দিষ্ট নাও হতে পারে এবং প্রোগ্রামিং-এর জন্য প্রস্তুত হওয়ার জন্য আপনার এই স্তরের বিশদ প্রয়োজন: ড্রাইভ এবং বাঁক বেগ 40% সেট করুন, 1 মিটার এগিয়ে যান, 3 সেকেন্ড অপেক্ষা করুন, 180 ডিগ্রি বাম দিকে ঘুরুন, 1 সেকেন্ড অপেক্ষা করুন , এবং 1 মিটারের জন্য এগিয়ে যান। প্রোগ্রামিং-প্রস্তুত রোবট আচরণ করার জন্য আমরা যত জটিল আচরণ ভেঙে ফেলি, একটি প্রকল্প সম্পূর্ণ করার জন্য আমরা তত ভালোভাবে প্রস্তুত হব।