২০১৯ অ্যাগবট চ্যালেঞ্জ

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

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

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

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

স্কুল অফ মাইনস

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

AgBot ছিল একটি নতুন রোবোটিক্স ক্লাব যা গঠিত হয়েছিল 2019 agBots Weed and Feed Competition -এ অংশগ্রহণ করার জন্য একটি রোবট তৈরির লক্ষ্য নিয়ে। এই প্রতিযোগিতার দুটি প্রধান চ্যালেঞ্জ ছিল:

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

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

আমি তৎক্ষণাৎ এই প্রকল্পে আকৃষ্ট হলাম। আমার পরিবার প্রজন্মের পর প্রজন্ম ধরে তুরস্কে কৃষিকাজ করেছে, আমার বাবার প্রজন্ম পর্যন্ত। তাই AgBot আমার কাছে বাড়ির কাছাকাছি মনে হল কারণ এতে আমার রোবোটিক্স ও প্রোগ্রামিংয়ের আগ্রহ জড়িয়ে পড়ছিল। এমন একটি রোবট তৈরি করার ধারণা যা আমার দাদাদাদির মতো কৃষকদের সাহায্য করতে পারে, সত্যিই উত্তেজনাপূর্ণ ছিল।

উন্নয়ন

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

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

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

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

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

আমরা Ubuntu 16.04 Xenial চালাতাম ROS Kinetic এবং Python 2.7 সহ একটি Nvidia Jetson TX2 এ যা একটি Hokuyo URG 04LX UG01 Lidar এর সাথে ইন্টারফেস করত। সেন্সর ইনপুটের জন্য আমাদের কাছে Arduino(গুলি) ছিল যেমন আলট্রাসোনিক রেঞ্জ ফাইন্ডার। আমাদের কোড পারসেপশন, নেভিগেশন, কন্ট্রোল, এবং স্প্রেইং হ্যান্ডেল করত। আপনি রিপোজিটরি এখানে দেখতে পারেন: 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
  • ডিসি মোটর, এনকোডার, মোটর কন্ট্রোলার, ব্যাটারি, ইত্যাদি।

আমাদের বড় দল ছিল না, কিন্তু কিছু নাম বিশেষভাবে মনে আছে:

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

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

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

যাত্রা এবং বিশৃঙ্খলা

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

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

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

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

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

না

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

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

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

আমি হাল ছাড়িনি… Tyler হাল ছাড়েননি… এবং ছবিতে থাকা লোকরাও হাল ছাড়েননি!

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

প্রতিফলন, ২০২৫ অনুযায়ী

২০১৯ সিজনের পর, AgBot ক্লাবটি বন্ধ হয়ে যায়। এটা প্রধানত COVID এর কারণে প্রায় ১ বছর পরে শুরু হওয়া বিধিনিষেধের জন্য ছিল, যা Mines-এর সকল ক্লাবকে ১-২ বছরের জন্য বন্ধ করে দিয়েছিল এবং যখন বিশ্বের ব্যাপারগুলো ধীরে ধীরে “সাভাবিক” হতে শুরু করল, আমি স্নাতক হয়ে গিয়েছি।

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

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

কিন্তু 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_6724.gif NEHE1091.gif demo.gif random_demo.gif
rogo_hardware.gif

প্রতিযোগিতার মাঠ

IMG_8848.jpeg IMG_8849.jpeg IMG_8850.jpeg IMG_8851.jpeg
IMG_9042.jpeg IMG_9666.jpeg IMG_9668.png 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 1339 (2014-2017)

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