Skip to main content

আচরণ-ভিত্তিক প্রোগ্রামিং

সরল (ডানদিকে) থেকে জটিল (বামদিকে) পর্যন্ত রোবটের বিভিন্ন আচরণের চিত্র চিত্রিত করে। সহজ থেকে জটিল পর্যন্ত আচরণগুলি হল 'স্পিন মোটর', রোবটের হাত নাড়ানো, রোবটের নখ খোলা/বন্ধ করা, রোবটের চাকা নাড়ানো, বস্তু ধরা, ৫ সেকেন্ডের জন্য এগিয়ে যাওয়া, রোবটকে ৯০ ডিগ্রি ঘুরিয়ে দেওয়া, অবস্থানে ভ্রমণ করা এবং বস্তু তোলা, হাসপাতাল জুড়ে ওষুধ সরবরাহ করা এবং স্ব-চালিত যানবাহন চালানো সবচেয়ে জটিল।

রোবোটিক্সে সহজ থেকে জটিল কাজের অগ্রগতি চিত্রিত করে একটি ফ্লোচার্ট। চার্টটি বাম দিকে একটি নীল ডিম্বাকৃতি লেবেলযুক্ত স্পিন মোটর দিয়ে শুরু হয়, যা নীল আয়তক্ষেত্রের দিকে যাওয়ার জন্য চারটি পথে শাখা-প্রশাখা তৈরি করে: রোবট বাহু সরান, রোবটের নখ খুলুন/বন্ধ করুন, রোবটের চাকা সরান এবং কিছুক্ষণ অপেক্ষা করুন। এই নীল আয়তক্ষেত্রগুলি সহজ কাজগুলিকে প্রতিনিধিত্ব করে। প্রবাহটি ডানদিকে চলতে থাকে, বেগুনি আয়তক্ষেত্রে আরও জটিল ক্রিয়া দেখায়, যেমন বস্তু ধরুন, 5 সেকেন্ডের জন্য এগিয়ে যান, রোবটকে 90 ডিগ্রি ঘুরান, এবং অবস্থানে ভ্রমণ করুন এবং বস্তুটি তুলুন। এই ক্রিয়াগুলি ডানদিকে লাল আয়তক্ষেত্রগুলিতে সবচেয়ে জটিল কাজের সাথে আরও সংযুক্ত, "হাসপাতাল জুড়ে ওষুধ সরবরাহ করুন" এবং "স্বয়ংক্রিয় যানবাহন পরিচালনা করুন" লেবেলযুক্ত। পুরো ফ্লোচার্টটি একটি গ্রেডিয়েন্ট তীর দ্বারা আন্ডারলাইন করা হয়েছে, নীল রঙে বাম দিকে Simple এবং লাল রঙে ডানদিকে Complex রয়েছে, যা চিত্রটি জুড়ে যাওয়ার সাথে সাথে কাজের জটিলতা বৃদ্ধির ইঙ্গিত দেয়।

প্রোগ্রামিং জটিলতা

রোবটগুলিকে বিভিন্ন ধরণের কাজ সম্পাদনের জন্য ডিজাইন করা যেতে পারে। এই কাজগুলির মধ্যে কিছু খুব সহজ, যেমন একটি স্বয়ংক্রিয় দরজা খোলা। অন্যগুলো অনেক বেশি জটিল হতে পারে, যেমন একটি স্বায়ত্তশাসিত গাড়ি শহুরে পরিবেশে চলাচল করে। কাজটি যত জটিলই হোক না কেন, এটিকে আরও সহজ কাজে ভাগ করা যেতে পারে। এই কাজগুলিকে আচরণ বলা হয় এবং রোবোটিক্স প্রোগ্রামিংয়ের মূল উপাদান হিসেবে কাজ করে।

আচরণ হল একটি রোবট যেভাবে কাজ করে, এবং রোবটটি কীভাবে তৈরি বা প্রোগ্রাম করা হয়েছে তার উপর নির্ভর করে এটি জটিলতার মধ্যে বিস্তৃত হতে পারে। VEX V5 Speedbot-এর মতো একটি সাধারণ মোবাইল রোবটে মাত্র দুটি মোটর থাকে, যেখানে Clawbot-এ চারটি মোটর থাকে, যার মধ্যে Arm এবং Claw-এর জন্য দুটি অতিরিক্ত মোটর থাকে। উভয় রোবটের আচরণের মধ্যে থাকবে নির্ধারিত লক্ষ্য অর্জনের জন্য সেই মোটরগুলিকে ঘুরিয়ে দেওয়া। আরও ডিজাইন এবং প্রোগ্রামিং এর মাধ্যমে, আপনি এই সহজ আচরণ থেকে শুরু করতে পারেন এবং আরও জটিল আচরণ করতে পারেন।

স্পিডবট এবং ক্লবট উভয়ের জন্যই রোবটদের আচরণের সহজ থেকে জটিল রূপ ধারণের একটি তালিকা নিচে দেওয়া হল। বন্ধনীতে, আপনি প্রতিটি সহজ আচরণের গঠন দেখতে পাবেন।

  • একটি নির্দিষ্ট পোর্টে নির্ধারিত মোটর ঘোরান
  • সামনের দিকে গাড়ি চালান (ড্রাইভট্রেন ব্যবহার করে বাম এবং ডান উভয় মোটর ঘোরান)
  • ৫ মিটার ভ্রমণ করুন (এগিয়ে যান, তারপর থামুন)
  • দূরের কোন বস্তু ধরুন (২ মিটার ভ্রমণ করুন, ক্লো মোটরটি ঘোরান যাতে এটি ধরা যায়)
  • একটি বস্তু তুলে একটি উঁচু তাকের উপর রাখুন (দূরের কোনও বস্তু ধরুন, ঘুরে দেখুন, ২ মিটার ভ্রমণ করুন, বাহু এবং নখর মোটর ব্যবহার করে বস্তুটি উপরে তুলুন এবং ছেড়ে দিন)

তুমি দেখতে পারো কিভাবে তুমি যেকোনো জটিল আচরণকে সহজ আচরণে রূপান্তর করতে পারো। এগুলো যেকোনো জটিল কাজের মূল উপাদান হয়ে ওঠে।

শিক্ষক টিপস আইকন শিক্ষকদের টিপস

  • জটিল রোবট আচরণগুলিকে ছোট, সহজ ধাপে ভেঙে ফেলার জন্য শিক্ষার্থীদের নির্দেশ দিন। এই প্রক্রিয়াটি পচন নামে পরিচিত।

  • শিক্ষার্থীদের বুঝিয়ে বলুন যে জটিল আচরণগুলিকে সহজ কাজে বিভক্ত করা (ভাঙ্গা) পরিকল্পনা এবং প্রোগ্রামিংয়ের একটি গুরুত্বপূর্ণ অংশ।

  • পর্যাপ্ত ক্লাস সময় থাকলে শিক্ষার্থীদের তাদের স্বায়ত্তশাসিত প্রকল্পগুলি চালানোর অনুমতি দিন।

আপনার শিক্ষার আইকন প্রসারিত করুন তোমার শেখার পরিধি বাড়াও

এই কার্যকলাপটিকে গণনামূলক চিন্তাভাবনা এবং বিভাজনের সাথে সংযুক্ত করার জন্য, শিক্ষার্থীদেরকে নীচের কার্যকলাপগুলি সম্পন্ন করার জন্য একটি রোবট যে আচরণগত পদক্ষেপগুলি সম্পাদন করবে তার একটি মানচিত্র তৈরি করতে বা তালিকাভুক্ত করতে বলুন:

  • প্রথম কার্যকলাপ: ১ মিটার ভ্রমণ করুন এবং শুরুর স্থানে ফিরে আসুন।

  • কর্মকাণ্ড দুই: রোবটের সামনে ৬০ সেমি দূরে অবস্থিত একটি বাক্স উল্টে দিন।

  • কর্মকাণ্ড তিন: একটি বস্তু তুলে নাড়াও, ৩০ সেমি ভ্রমণ করো, বস্তুটিকে মাটিতে রাখো, এবং শুরুর স্থানে ফিরে যাও।

আলোচনার জন্য উৎসাহিত করার আইকন আলোচনা প্রেরণা দিন

শিক্ষার্থীদের উপরে "আপনার শিক্ষা বৃদ্ধি করুন" থেকে কার্যকলাপের জন্য তালিকাভুক্ত আচরণগত পদক্ষেপগুলি ভাগ করে নেওয়া উচিত। নিচের প্রতিটি প্রশ্ন যেকোনো বা সমস্ত কার্যকলাপের পরে জিজ্ঞাসা করা যেতে পারে।

প্রশ্ন:এই কার্যকলাপটি সফলভাবে সম্পন্ন করার জন্য প্রতিটি দল কোন পদক্ষেপ বা আচরণ তালিকাভুক্ত করেছে?
উত্তর:শিক্ষার্থীদের রোবটটির ভ্রমণের দৈর্ঘ্য এবং বাহুর নড়াচড়া এবং গতি বিবেচনা করতে হবে, পাশাপাশি কার্যকলাপ বা কাজটি সম্পন্ন করার জন্য প্রয়োজনীয় সহজ রোবট আচরণগুলি তালিকাভুক্ত করতে হবে (সামনে গাড়ি চালানো, বিপরীত দিকে, বাম বা ডানে ঘুরতে)। শিক্ষার্থীদের তাদের আচরণের তালিকা তৈরি করা উচিত যাতে প্রতিটি ধাপ উপস্থাপন করা হয়।

প্রশ্ন:এই কার্যকলাপের সমাধানগুলির (পদক্ষেপের তালিকা) মধ্যে মিল এবং পার্থক্য কী ছিল?
উত্তর:শিক্ষার্থীরা তাদের সমাধানের উপর ভিত্তি করে তুলনা করবে। শিক্ষার্থীদের ভাগ করা পদক্ষেপগুলি সংগঠিত করার জন্য একটি ভেন ডায়াগ্রাম একটি ভালো উপায় হতে পারে। যদি বেশিরভাগ শিক্ষার্থী একটি নির্দিষ্ট ধাপের নাম বলে, তাহলে বৃত্তগুলি যেখানে ওভারল্যাপ করে সেখানে এটিকে কেন্দ্রে যোগ করুন। যদি শুধুমাত্র একজন বা কয়েকজন শিক্ষার্থী একটি নির্দিষ্ট ধাপের নাম বলে, তাহলে এটি একটি বা অন্য বৃত্তে যোগ করুন। সম্পন্ন হলে, কেন্দ্রের ধাপগুলি নির্ভরযোগ্যভাবে সহজ হওয়া উচিত এবং আরও ভাঙা যাবে না যেখানে শুধুমাত্র একটি বৃত্তে তালিকাভুক্ত ধাপগুলি সম্ভবত ততটা সহজ নয় যতটা তারা হতে পারে। তবে, জটিল আচরণগুলিকে সহজতম ধাপে ভাগ করার ক্ষেত্রে শ্রেণীর অভিজ্ঞতার উপর নির্ভর করে এই ধরণটি বিপরীত হতে পারে।

প্রশ্ন:সফল সমাধানগুলির মধ্যে কি কোন মিল ছিল? যদি তাই হয়, তাহলে সেগুলো কী ছিল?
উত্তর:সবচেয়ে সফল সমাধানগুলি ছিল সেইগুলি যেখানে সবচেয়ে বিস্তারিত এবং সুনির্দিষ্টতা অন্তর্ভুক্ত ছিল। রোবটটি এমন একটি ভাষায় প্রোগ্রাম করা হয়েছে যেখানে খুব নির্দিষ্ট আচরণ রয়েছে এবং সেগুলোকে ক্ষুদ্রতম উপাদানে বিভক্ত করা হয়েছে। উদাহরণস্বরূপ, এটা বলা হয়ে থাকে যে একটি রোবট "১ মিটার ভ্রমণ করে এবং শুরুর স্থানে ফিরে আসে" কিন্তু প্রোগ্রামিং করার সময় সেই উচ্চ-স্তরের বর্ণনাটি সহজে অনুবাদ করা যায় না। তোমাকে এটি আরও ভেঙে ফেলতে হবে: ১ মিটার সামনের দিকে গাড়ি চালাও, ১৮০ ডিগ্রি ঘুরো, এবং ১ মিটার সামনের দিকে গাড়ি চালাও। কিন্তু সেটাও যথেষ্ট সুনির্দিষ্ট নাও হতে পারে এবং প্রোগ্রামিং-প্রস্তুত হওয়ার জন্য আপনার এই স্তরের বিশদ প্রয়োজন: ড্রাইভ এবং টার্নিং বেগ 40% এ সেট করুন, 1 মিটার এগিয়ে যান, 3 সেকেন্ড অপেক্ষা করুন, 180 ডিগ্রি বাম দিকে ঘুরুন, 1 সেকেন্ড অপেক্ষা করুন এবং 1 মিটার এগিয়ে যান। জটিল আচরণগুলিকে প্রোগ্রামিং-প্রস্তুত রোবট আচরণে পরিণত করার জন্য আমরা যত বেশি ভেঙে ফেলব, একটি প্রকল্প সম্পূর্ণ করার জন্য আমরা তত বেশি প্রস্তুত হব।