২০১৯ AgBot চ্যালেঞ্জ

ইস্ট হাই স্কুল

কলোরাডোর ডেনভারে ইস্ট হাই স্কুল‑এ (২০১৪-২০১৮) আমার সময়কালে, আমি স্কুল-পরবর্তী কার্যকলাপে ব্যাপকভাবে যুক্ত ছিলাম, যার মধ্যে সবচেয়ে প্রভাবশালী ছিল রোবোটিক্স ক্লাব, AngelBotics. আমি প্রথমদিকে সকারে মনোযোগ দেওয়ার কারণে যোগ দিই সোপোমোর বছরে। ক্লাবটি মূলত FIRST Robotics Competition (FRC)-এ অংশ নিত, যা আমাকে যান্ত্রিক ও বৈদ্যুতিক প্রকৌশল, পাশাপাশি প্রোগ্রামিং অন্বেষণ করার সুযোগ দেয়। AngelBotics-এর মাধ্যমে, আমি CAD টুল, 3D প্রিন্টার, এবং অন্যান্য প্রকৌশল সরঞ্জাম ব্যবহার করতে শিখি, যার ফলে কলেজ শিক্ষার্থীদের জন্য সাধারণত সংরক্ষিত STEM ধারণার সাথে পরিচিত হই। শুরুতে আমি কোয়ান্টাম পদার্থবিজ্ঞানী হতে চেয়েছিলাম, কিন্তু AP Physics এবং রোবোটিক্সে আমার অভিজ্ঞতা আমাকে দেখায় যে আমি পদার্থবিজ্ঞানে ততটা ভালো নই এবং ফলে আমাকে যান্ত্রিক প্রকৌশলের পথ থেকে সরিয়ে দেয়।

তার বদলে, আমি প্রোগ্রামিংয়ে আমার নিজস্ব ক্ষেত্র খুঁজে পাই, যা শুরু হয় আমার প্রথম Raspberry Pi-এর জন্য Python কোড লেখা দিয়ে এবং AP Computer Science-এ Java প্রকল্পের মাধ্যমে তা আরও দৃঢ় হয়। পরীক্ষায় সংগ্রাম করা সত্ত্বেও, আমার শিক্ষক মি. Nagel আমাকে সফটওয়্যার ডেভেলপমেন্টে এগিয়ে যেতে উৎসাহিত করেন, পরীক্ষার নম্বরের চেয়ে প্রকল্পের গুরুত্বকে জোর দিয়ে। এর ফলে আমি কলেজে আমার ডিগ্রি হিসেবে কম্পিউটার সায়েন্সে মনোযোগ দিই, এই স্বপ্ন নিয়ে যে আমি সফটওয়্যার ইঞ্জিনিয়ার হব এবং শেষ পর্যন্ত আমার ক্যারিয়ারে একজন প্রতিষ্ঠাতা হব।

যদিও আমার কঠোর পাঠ্যক্রম এবং শেখার উচ্চ বক্রতার কারণে আমি AngelBotics-এ ততটা যুক্ত ছিলাম না, তবুও এটি রোবোটিক্সের প্রতি আজীবন আবেগ জাগিয়ে তোলে। তাই যখন আমি কলেজে শুরু করি, আমি দৃঢ়প্রতিজ্ঞ ছিলাম একটি কলেজ রোবোটিক্স ক্লাবে যোগ দিতে এবং একদিন এমন একটি কোম্পানি গড়তে, যা রোবোটিক্স দিয়ে বাস্তব বিশ্বের সমস্যার সমাধান করবে।

মাইনস স্কুল

ইস্ট হাই স্কুল থেকে স্নাতক হওয়ার পর, আমি Colorado School of Mines‑এ (২০১৮-২০২২) কম্পিউটার সায়েন্সে আমার স্নাতক ডিগ্রি শুরু করি। আমার একেবারে প্রথম সেমিস্টারেই, আমি Mines robotics clubs দেখে একটি একদম নতুন রোবোটিক্স গ্রুপ খুঁজে পাই, যার নাম AgBot।

AgBot ছিল একটি নতুন রোবোটিক্স ক্লাব, যার লক্ষ্য ছিল ২০১৯ agBots Weed and Feed Competition-এ প্রতিযোগিতার জন্য একটি রোবট তৈরি করা। এই প্রতিযোগিতার দুটি প্রধান চ্যালেঞ্জ ছিল:

  1. কীটপতঙ্গ ও আগাছা শনাক্তকরণ এবং নির্মূল
  2. রোবোটিক্সের মাধ্যমে নতুন ফসল সংগ্রহ পদ্ধতি তৈরি করা

আমাদের দল প্রথম চ্যালেঞ্জটির ওপর মনোযোগ দেওয়ার সিদ্ধান্ত নেয়। AgBot প্রতিযোগিতায় Mines-এর জন্য এটি ছিল প্রথম অংশগ্রহণ, এবং এটি ছিল প্রথমবার যখন Mines-এর কোনো রোবোটিক্স ক্লাব কৃষি-সম্পর্কিত কোনো কিছুর ওপর কাজ করেছিল। এতে পুরো বিষয়টি নতুন ও সতেজ মনে হয়।

প্রকল্পটি আমাকে সঙ্গে সঙ্গেই টেনে নেয়। প্রজন্মের পর প্রজন্ম ধরে, আমার পরিবারের মানুষজন তুরস্কে কৃষক ছিলেন, আমার বাবার প্রজন্ম পর্যন্ত। তাই AgBot বাড়ির খুব কাছের মতো মনে হয়েছিল, আর একই সঙ্গে রোবোটিক্স ও প্রোগ্রামিংয়ের প্রতি আমার আগ্রহের সঙ্গে সুন্দরভাবে মিলেও গিয়েছিল। আমার দাদা-দাদী/নানাজান-নানিজানদের মতো কৃষকদের সাহায্য করতে পারে এমন একটি রোবট বানানোর ভাবনাটি সত্যিই রোমাঞ্চকর ছিল।

উন্নয়ন

AgBot দলের অংশ হওয়া আমার কলেজ জীবনের সবচেয়ে স্মরণীয় অভিজ্ঞতাগুলোর একটি। এটিই ছিল সেই সময় পর্যন্ত আমার কাজ করা সবচেয়ে কঠিন বিষয়গুলোর একটি। এই প্রকল্পেই আমি সত্যিকার অর্থে Python, Ubuntu, এবং ROS-এ ডুব দিই। FRC-তে সবকিছুই ছিল Java-তে, তাই এটি আমার জন্য একদম নতুন ক্ষেত্র ছিল। অতীতে আমি Python ও Ubuntu ব্যবহার করেছি, কিন্তু ROS কখনও স্পর্শ করিনি। ROS কীভাবে কাজ করে তা শেখা ছিল কঠিন সংগ্রাম। তখন আমি এমনকি Python environment কী, সেটাই জানতাম না।

আমি আমার বেশিরভাগ সময় কাটিয়েছি একটি Lidar থেকে এমন ব্যবহারযোগ্য ডেটা পাওয়ার চেষ্টা করে, যা আমি লেখা একটি ROS node-এ পাঠানো যায়। আমার কাজ ছিল end_detector নামের একটি ROS Node বাস্তবায়ন করা, যা Lidar ডেটা ব্যবহার করে রোবটটি ফসলের সারির শেষ প্রান্তে পৌঁছেছে কি না তা শনাক্ত করতে পারত। এখন এটি সহজ শোনায়, কিন্তু তখন এটি বিশাল ব্যাপার মনে হয়েছিল।

Lidar-কে আমার কোডের সঙ্গে কথা বলাতে আমার প্রায় দুই সপ্তাহ ডিবাগিং করতে হয়েছে। পুরো কোডটি C++ অথবা Python-এ লেখা ছিল, মূলত Python-এ। তাই, এই কাজের জন্য আমার কোড ছিল কেবল Python। এটি কাজ করতে শুরু করলে, আমি ক্যাম্পাসে পাওয়া উদ্ভিদের এলোমেলো অংশ ব্যবহার করে লজিক পরীক্ষা করা শুরু করি। আমি Lidar লাগানো একটি স্ট্যান্ড তাদের পাশ দিয়ে ঠেলে দিতাম এবং দেখতাম কোডটি বুঝতে পারছে কি না আমরা সারির শেষ প্রান্তে পৌঁছেছি। বহু ঘণ্টা এবং ডিবাগিংয়ের পর, শেষ পর্যন্ত আমার টেস্ট পরিবেশে অন্তত সবকিছু কাজ করাতে সক্ষম হই। তবে সবকিছু একসঙ্গে যুক্ত করার সময় গল্পটি ছিল ভিন্ন।

আমার বেশিরভাগ সময় কেটেছে হার্ডওয়্যার ও সফটওয়্যারকে পরস্পরের সঙ্গে কথা বলাতে। সারির শেষ প্রান্ত শনাক্ত করার প্রকৃত লজিক ছিল দ্বিতীয় পর্যায়ের বিষয়। কিন্তু এটি ছিল দারুণ শেখার অভিজ্ঞতা। আমি ROS প্রায় না বোঝা অবস্থা থেকে Jetson বোর্ডে লাইভ Lidar ডেটা নিয়ে node লেখা ও ডিবাগ করার পর্যায়ে পৌঁছে যাই। এই সময়েই আমি প্রোগ্রামিং ভাষা হিসেবে প্রধানত Java-র ওপর নির্ভর করা থেকে Python-কে ডিফল্ট হিসেবে গ্রহণ করি। আর ২০২৫ সাল পর্যন্ত, আমি আমার কোনো প্রকল্প বা কাজ-সংক্রান্ত code base-এ সত্যিকার অর্থে Java খুব বেশি ব্যবহার করিনি।

দল এবং টেক স্ট্যাক

আমরা Nvidia Jetson TX2-এ Ubuntu 16.04, ROS Kinetic, এবং Python 2.7 চালাতাম, যা Hokuyo URG 04LX UG01 Lidar-এর সঙ্গে ইন্টারফেস করত। আল্ট্রাসনিক রেঞ্জ ফাইন্ডারের মতো সেন্সর ইনপুটের জন্য আমাদের Arduino(s) ছিল। আমাদের কোড perception, navigation, control, এবং spraying সামলাত। আপনি এখানে repository দেখতে পারেন: GitHub Repo. আমি যে নির্দিষ্ট কোড লিখেছিলাম তা end_detector.py-এ পাওয়া যাবে। এখানে রোবটটিকে গঠনকারী বেশিরভাগ উপাদানের তালিকা দেওয়া হলো:

  • Ubuntu 16.04 Xenial
  • ROS Kinetic Kame
  • Python 2.7
  • Nvidia Jetson TX2
  • Hokuyo URG-04LX-UG01 Lidar
  • Arduino Uno & Mega
  • DC Motors, Encoders, Motor Controllers, Battery, etc.

আমাদের দল খুব বড় ছিল না, তবে কয়েকটি নাম আলাদা হয়ে ওঠে:

Tyler ছিলেন ক্লাবের নেতা এবং প্রতিষ্ঠাতা। তখন আমি তাকে অনেক সম্মান করতাম, আর আজও করি। Zachary ছিলেন ক্লাবের সফটওয়্যার ডেভেলপমেন্টের নেতৃত্বে এবং আমাকে সফটওয়্যার ডেভেলপমেন্ট ও ROS সম্পর্কে অনেক কিছু শেখাতে সাহায্য করেছিলেন, যার জন্য আমি আজও কৃতজ্ঞ।

অন্য সদস্যরাও ছিলেন, যেমন Kevin Barnard এবং Amit Rotem। কিন্তু দুঃখজনকভাবে আমি সব মূল সদস্যের নাম ও যোগাযোগ তথ্য মনে রাখতে পারি না, কারণ ক্লাবটি বন্ধ হয়ে যাওয়ার পর থেকে ৫ বছরেরও বেশি সময় কেটে গেছে।

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

সফর এবং বিশৃঙ্খলা

এই পুরো অভিজ্ঞতার একটি অংশ, যা আমি কখনও ভুলব না, তা ছিল সফরটি নিজেই। প্রতিযোগিতাটি ইন্ডিয়ানার West Lafayette-এ অনুষ্ঠিত হয়েছিল, Purdue University’s ক্যাম্পাসের কাছে। আর পুরো প্রতিযোগিতাটি Mines-এ ফাইনাল সপ্তাহ শেষ হওয়ার ঠিক পরেই হয়েছিল, তাই সেই ভয়ানক সপ্তাহ থেকে সেরে ওঠার কোনো সময় আমাদের ছিল না।

আমরা Tyler-এর ট্রাক ব্যবহার করে Golden Colorado থেকে Indiana-তে গিয়েছিলাম, পাশাপাশি রোবট আর আমাদের সব যন্ত্রপাতি বহন করার জন্যও। মজার ব্যাপার হলো, আমরা আক্ষরিক অর্থেই প্রতিযোগিতা সপ্তাহের ঠিক এক দিন আগে যাত্রা শুরু করি। আমাদের যা কিছু ছিল—রোবট, যন্ত্রপাতি, ব্যাটারি, কম্পিউটার, সবকিছু—প্যাক করে Golden Colorado থেকে West Lafayette Indiana-তে গাড়ি চালিয়ে যাই। কাগজে-কলমে এটি ১৮ ঘণ্টার ড্রাইভ। গ্যাস ও টয়লেট বিরতিসহ আমাদের লাগল প্রায় ২০ বা ২২ ঘণ্টা।

Tyler পুরো সময় ড্রাইভ করেছিলেন, Coffee Monster পানীয় খেয়ে টিকে ছিলেন। আরেকজন সতীর্থ, দুঃখিত, তার নাম ভুলে গেছি, তবে তিনি ছবিগুলোতে আছেন, কখনও কখনও তার বদলে ড্রাইভ করতেন। পথে, প্রচণ্ড বৃষ্টি শুরু হয়। আমাদের একটি আকস্মিক বন্ধ গ্যাস স্টেশনে থামতে হয় এবং রোবটটি রক্ষার জন্য একটি ত্রিপল নিয়ে আসতে হয়। এটি ছিল অগোছালো, এটি ছিল বিশৃঙ্খলা, এটি ছিল কলেজ রোবোটিক্স। কোনোভাবে, আমরা পৌঁছে গিয়েছিলাম।

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

তাহলে কি আমরা জিতেছিলাম?

না

পেছন ফিরে দেখলে, আমরা কেবল কয়েকজন বাচ্চা ছিলাম, যারা এমন কিছু বানানোর চেষ্টা করছিলাম যা আমাদের অভিজ্ঞতার স্তরের অনেক বাইরে ছিল। অন্য দলগুলো ছিল সম্পূর্ণ অন্য স্তরের। কিছু ছিল স্টার্টআপ থেকে। কিছু ছিল গবেষণাগার থেকে। কিছু দলের পূর্ণাঙ্গ একাডেমিক সমর্থন ছিল। আমরা ছিলাম একদল ছোট আকারের স্নাতক শিক্ষার্থী, যারা রাত জেগে কাজ করছিলাম, এই আশায় যে Python Lidar ডেটাকে কোনো দরকারি জিনিসে রূপান্তর করবে।

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

কিন্তু আমাদের কয়েকজন লেগে ছিল

আমি হাল ছাড়িনি… Tyler হাল ছাড়েননি… আর ছবির মানুষরাও, তারাও হাল ছাড়েননি!

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

প্রতিফলন, ২০২৫ সালের হিসাবে

২০১৯ মৌসুমের পর, AgBot কার্যক্রম বন্ধ করে দেয়। এর প্রধান কারণ ছিল COVID প্রায় ১ বছর পরে শুরু হওয়া, যার ফলে Mines-এর সব ক্লাব ১-২ বছরের জন্য বন্ধ হয়ে যায়, এবং পৃথিবী আবার “স্বাভাবিক” হয়ে উঠতে শুরু করার সময় আমি স্নাতক হয়ে যাই।

এখন ২০২৫, এবং AgBot-এর দিকে ফিরে তাকালে, আমি এটিকে আমার জন্য সবকিছুর শুরু হিসেবে দেখি। এটি আমাকে রোবোটিক্সের সঙ্গে আমার প্রথম সত্যিকারের অভিজ্ঞতা দিয়েছিল এবং আমাকে শিখিয়েছিল কীভাবে একটি প্রযুক্তিগত দলের সঙ্গে সহযোগিতা করতে হয়। এটি আমাকে এমন এক পথে স্থাপন করেছিল যা আমাকে অসাধারণ সুযোগের দিকে নিয়ে গেছে।

তার পর থেকে, আমি eBay-এ একজন ব্যাকএন্ড ইঞ্জিনিয়ার হিসেবে কাজ করেছি, ডেটা সেন্টার জুড়ে লক্ষ লক্ষ মেট্রিক গ্রহণকারী সেবাসমূহ স্থাপন করেছি। আমার প্রথম স্টার্টআপ প্রতিষ্ঠা করেছি, যা এআই-নির্ভর স্বয়ংক্রিয় সাইবারসিকিউরিটি পেনিট্রেশন টেস্টিং তৈরির ওপর কেন্দ্রীভূত ছিল। Notify Cyber চালু করেছি, যা কয়েক দশ হাজার ভিজিটর পেয়েছিল। আমি Docker, Kubernetes, Postgres, এবং উন্নত এআই অবকাঠামোর জন্য সফটওয়্যার লিখেছি।

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

২০১৯ সালের AgBot দলের সকলকে, ধন্যবাদ। সেই ২০১৯ সালের সড়কযাত্রা, বন্ধ হয়ে যাওয়া একটি গ্যাস স্টেশন থেকে আমরা যে ত্রিপল তুলে নিয়েছিলাম, এবং নির্ঘুম রাতগুলোর জন্য, ধন্যবাদ। আপনারা আমাকে বড় প্রকল্পগুলো আত্মবিশ্বাসের সঙ্গে অনুসরণ করার দৃঢ়তা দিয়েছেন, সেগুলো যতই অসম্ভব মনে হোক না কেন।

সম্পদ এবং লিঙ্কসমূহ

ফটো গ্যালারি

মাইনের AgBot টিম, আমরা

GetStoredImage-1.jpeg GetStoredImage.jpeg IMG_9005.jpeg IMG_9006.jpeg
IMG_9663.jpeg IMG_9684.jpeg IMG_9685.jpeg IMG_9686.jpeg
IMG_9687.jpeg IMG_9688.jpeg IMG_9691.jpeg

আমাদের AgBot রোবট

IMG_8854.jpeg IMG_8855.jpeg IMG_8856.jpeg IMG_8867.jpeg
IMG_8976.jpeg IMG_8977.jpeg IMG_9007.jpeg IMG_9008.jpeg
IMG_9037.jpeg IMG_9038.jpeg IMG_9039.jpeg IMG_9040.jpeg
IMG_9695.jpeg r1.jpeg r3.jpeg r5.jpeg
r6.jpeg r7.jpeg r9.jpeg

ভিডিও/জিআইএফ

প্রতিযোগিতার মাঠসমূহ

IMG_8848.jpeg IMG_8849.jpeg IMG_8850.jpeg IMG_8851.jpeg
IMG_9042.jpeg IMG_9666.jpeg IMG_9668.jpg land.jpeg

প্রতিযোগিতাগুলিতে অন্যান্য দলসমূহ

IMG_8827.jpeg IMG_8828.jpeg IMG_8857.jpeg IMG_8858.jpeg
IMG_8880.jpeg IMG_9651.jpeg IMG_9669.jpeg IMG_9671.jpeg
IMG_9672.jpeg IMG_9673.jpeg IMG_9674.jpeg IMG_9675.jpeg
IMG_9677.jpeg IMG_9678.jpeg IMG_9679.jpeg IMG_9696.jpeg
IMG_9697.jpeg gpage_2019.jpeg robot.jpeg

FRC ১৩৩৯ (২০১৪-২০১৭)

IMG_9629.jpeg IMG_9630.jpeg

অন্যান্য এলোমেলো ছবি

IMG_8825.jpeg IMG_8826.jpeg IMG_8852.jpeg IMG_8853.jpeg
IMG_8980.jpeg IMG_8981.jpeg IMG_9002.jpeg IMG_9003.jpeg
IMG_9043.jpeg mines_logo.png