تحدي AgBot 2019
مدرسة إيست الثانوية
خلال فترة دراستي في مدرسة إيست الثانوية في دنفر، كولورادو (2014-2018)، شاركت بنشاط في الأنشطة بعد المدرسة، وكان أكثرها تأثيرًا هو نادي الروبوتات، AngelBotics. لم أنضم إلا في عام Sophomore بسبب تركيزي الأولي على كرة القدم. شارك النادي أساسًا في مسابقة الروبوتات FIRST (FRC)، مما أتاح لي استكشاف الهندسة الميكانيكية والكهربائية، بالإضافة إلى البرمجة. من خلال AngelBotics، تعلمت استخدام أدوات CAD، والطابعات ثلاثية الأبعاد، وغيرها من المعدات الهندسية، واكتسبت معرفة بمفاهيم STEM التي تُحجز عادةً للطلاب الجامعيين. في البداية كنت أطمح لأن أكون فيزيائيًا كميًا، لكن تجاربي في مادة الفيزياء المتقدمة والروبوتات أظهرت لي أنني لست جيدًا في الفيزياء، مما دفعني بعيدًا عن مسار الهندسة الميكانيكية.
بدلاً من ذلك وجدت شغفي في البرمجة، التي بدأت بكتابة كود بايثون لأول Raspberry Pi لي وتم تعزيزها من خلال مشاريع جافا في مادة علوم الحاسوب المتقدمة. رغم صعوبتي في الامتحانات، شجعني معلمي، السيد ناغل، على متابعة تطوير البرمجيات، مؤكدًا على قيمة المشاريع أكثر من درجات الاختبارات. هذا دفعني لاختيار علوم الحاسوب كتخصص جامعي مع حلم أن أصبح مهندس برمجيات وفي النهاية مؤسسًا لشركتي.
على الرغم من أنني لم أكن مشاركًا كثيرًا في AngelBotics بسبب عبء المواد الدراسية ومنحنى التعلم الحاد، إلا أن ذلك أشعل شغفًا دائمًا للروبوتات. لذا عندما بدأت الجامعة، كنت مصممًا على الانضمام إلى نادي روبوتات جامعي وبناء شركة تحل مشاكل العالم الحقيقي باستخدام الروبوتات.
كلية المناجم
بعد التخرج من مدرسة إيست الثانوية، بدأت درجة البكالوريوس في علوم الحاسوب في كلية المناجم بولاية كولورادو (2018-2022). خلال الفصل الدراسي الأول تمامًا، اطلعت على نوادي الروبوتات في المناجم واكتشفت مجموعة روبوتات جديدة تسمى AgBot.
تم تأسيس AgBot كنادي روبوتات جديد بهدف بناء روبوت للمنافسة في مسابقة AgBots Weed and Feed 2019. تضمنت هذه المسابقة تحديين رئيسيين:
- تحديد الآفات والأعشاب الضارة والقضاء عليها
- إنشاء طرق حصاد جديدة عبر الروبوتات
اختارت فريقنا التركيز على التحدي الأول. كانت هذه أول مرة تشارك فيها المناجم في مسابقة AgBot، وكانت أيضًا أول مرة يعمل فيها نادي روبوتات المناجم على أي شيء يتعلق بالزراعة. جعل ذلك التجربة تبدو جديدة ومثيرة.
جذبتني الفكرة على الفور. عائلتي مزارعون في تركيا لأجيال، حتى جيل والدي. لذا شعرني AgBot بالقرب من المنزل وربط شغفي بالروبوتات والبرمجة. فكرة بناء روبوت قد يساعد مزارعين مثل أجدادي كانت مثيرة للغاية.
التطوير
كوني جزءًا من فريق AgBot كان أحد أكثر تجاربي الجامعية التي لا تُنسى. وكان أيضًا أحد أصعب الأشياء التي عملت عليها حتى تلك اللحظة. كان هذا المشروع أول مرة أغوص فيها بعمق في بايثون، أوبونتو، وROS. في FRC، كان كل شيء بجافا، لذا كان هذا كله مجالًا جديدًا بالنسبة لي. كنت قد استخدمت بايثون وأوبونتو من قبل، لكنني لم ألمس ROS أبدًا. كان تعلم كيفية عمل ROS معركة صعبة. لم أكن حتى أعرف ما هو بيئة بايثون آنذاك.
قضيت معظم وقتي أحاول جعل Lidar يرسل بيانات قابلة للاستخدام إلى عقدة ROS كنت أكتبها. كانت مهمتي تنفيذ عقدة ROS تسمى end_detector
يمكنها اكتشاف متى يصل الروبوت إلى نهاية صف المحاصيل باستخدام بيانات Lidar. يبدو الأمر بسيطًا الآن، لكن آنذاك كان يبدو هائلًا.
استغرق الأمر حوالي أسبوعين من تصحيح الأخطاء لجعل Lidar يتواصل مع الكود الخاص بي. كان الكود بالكامل مكتوبًا إما بـ C++ أو بايثون، ومعظمًا بايثون. لذا كان الكود الخاص بي بايثون فقط لهذا العمل. بمجرد أن نجح ذلك، بدأت أختبر المنطق باستخدام قطع عشوائية من النباتات التي وجدتها في الحرم. كنت أمرر الحامل الذي يحمل Lidar فوقها وأرى إذا كان الكود يستطيع تحديد متى وصلنا إلى النهاية. بعد ساعات طويلة من التصحيح، تمكنت في النهاية من تشغيل كل شيء على الأقل في بيئة الاختبار الخاصة بي. كانت قصة مختلفة عندما حاولنا دمج كل شيء معًا.
كان معظم وقتي يُقضى في جعل الأجهزة والبرمجيات تتواصل مع بعضها البعض. جاء المنطق الفعلي لاكتشاف نهايات الصفوف في المرتبة الثانية. لكن كانت تجربة تعلم رائعة. انتقلت من الفهم الضئيل لـ ROS إلى كتابة وتصحيح العقد على لوحة Jetson مع بيانات Lidar حية. كما أنني خلال هذه الفترة انتقلت من الاعتماد الأساسي على جافا كلغة برمجة إلى الاعتماد على بايثون. وحتى عام 2025، لم أستخدم جافا حقًا في أي من مشاريعي أو قواعد الشيفرات المتعلقة بالعمل.
الفريق وتقنية العمل
استخدمنا أوبونتو 16.04 مع ROS Kinetic وPython 2.7 على Nvidia Jetson TX2 الذي كان يتواصل مع Hokuyo URG 04LX UG01 Lidar. كان لدينا Arduino(s) لمدخلات المستشعرات مثل أجهزة قياس المدى بالموجات فوق الصوتية. كان كودنا يتعامل مع الإدراك، الملاحة، التحكم، والرش. يمكنك رؤية المستودع هنا: 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، مشفرات، متحكمات محركات، بطارية، إلخ.
لم يكن لدينا فريق كبير، لكن بعض الأسماء بارزة:
كان تايلر القائد ومؤسس النادي. احترمتُه كثيرًا آنذاك وما زلت أفعله اليوم. كان زاكاري قائد تطوير البرمجيات للنادي وساعدني كثيرًا في تعلم تطوير البرمجيات وROS، وأنا ممتن له حتى اليوم.
كان هناك أعضاء آخرون أيضًا، مثل Kevin Barnard وأميت روتيم. لكن للأسف لا أتذكر أسماء واتصالات جميع الأعضاء الأصليين لأن الأمر مرّ أكثر من خمس سنوات منذ انتهاء النادي.
حدث معظم تطوير الروبوت خلال عطلات نهاية الأسبوع وفي الساعات المتأخرة من الليل بعد انتهاء معظم محاضراتنا. كان العمل على درجة الهندسة وAgBot مرهقًا جدًا، لكننا أصررنا على الاستمرار.
الرحلة والفوضى
جزء من هذه التجربة بأكملها لن أنساه أبدًا هو الرحلة نفسها. أقيمت المسابقة في ويست لافاييت، إنديانا، بالقرب من حرم جامعة بوردو. وكانت المسابقة تُعقد مباشرة بعد انتهاء أسبوع الامتحانات النهائية في المناجم، لذا لم يكن لدينا وقت للتعافي من ذلك الأسبوع الصعب.
سافرنا من غولدن، كولورادو إلى إنديانا باستخدام شاحنة تايلر لنقل الروبوت وكل أدواتنا. الأمر المضحك هو أننا بدأنا القيادة حرفيًا قبل يوم واحد من أسبوع المسابقة. حزمنا كل ما لدينا، الروبوت، الأدوات، البطاريات، الحواسيب، كل شيء، وسافرنا من غولدن إلى ويست لافاييت. هذا يعني رحلة 18 ساعة على الورق. استغرقنا ما يقرب من 20 إلى 22 ساعة مع توقفات للوقود والحمامات.
كان تايلر يقود طوال الوقت، مستمتعًا بمشروبات Coffee Monster. أحد الزملاء، آسف لا أتذكر اسمها لكنها في الصور، تولى القيادة أحيانًا. على الطريق، بدأ المطر يهطل بغزارة. اضطررنا إلى التوقف عند محطة وقود مغلقة عشوائية وإحضار شريط لتغطية الروبوت. كان الأمر متقلبًا، فوضويًا، وهو ما يميز روبوتات الجامعات. ومع ذلك، وصلنا إلى هناك.
عند وصولنا، نصبنا خيمتنا في الميدان ورتبنا جميع أدواتنا. ركزت على إكمال الكود وجعله يعمل. خلال معظم المسابقة، كنا نعمل أساسًا على تصحيح أخطاء الروبوت وجعله يعمل بشكل جيد، بالإضافة إلى الاطلاع على تصاميم الروبوتات الرائعة للفرق الأخرى.
هل فزنا؟
لا
عند النظر إلى الوراء، كنا مجرد مجموعة من الأطفال نحاول بناء شيء يفوق مستوى خبرتنا. الفرق الأخرى كانت على مستوى مختلف تمامًا. بعضها من الشركات الناشئة. بعضها من مختبرات البحث. بعضها يحصل على دعم أكاديمي كامل. كنا مجموعة صغيرة من طلاب البكالوريوس نسهر الليالي، نأمل أن يحول بايثون بيانات Lidar إلى شيء مفيد.
كان روبوتنا معيبًا. كان متقلبًا. وبصراحة، بالكاد كان يعمل عندما وصلنا إلى المسابقة. بدأ بعض أعضاء الفريق ينسحبون عندما أدركوا أننا قد لا ننتهي في الوقت المحدد. بعضهم لم يحضر حتى. انتهت الامتحانات النهائية، الروبوت لم يكن جاهزًا، والمعنويات كانت منخفضة.
لكن عددًا قليلًا منا صمد
لم أستسلم… تايلر لم يستسلم… والأشخاص في الصورة، لم يستسلموا أيضًا!
على الرغم من أننا لم نفز أو نمتلك روبوتًا يعمل بالكامل، لن أبدل تلك التجربة بأي شيء. تعلمت عن ROS، تصحيح الأخطاء في الأجهزة، بناء الأنظمة تحت الضغط، وتعلمت عن الولاء. أدركت مدى أهمية إكمال الأمور حتى النهاية.
التأمل، اعتبارًا من 2025
بعد موسم 2019، أغلق AgBot أبوابه. كان ذلك أساسًا بسبب جائحة كوفيد التي بدأت تقريبًا بعد عام، مما أدى إلى إغلاق جميع الأندية في المناجم لمدة سنة إلى سنتين، وعندما بدأ العالم يعود إلى “الوضع الطبيعي” تخرجت.
It is now 2025, and looking back at AgBot, I see it as the beginning of everything for me. It gave me my first real experience with robotics and taught me how to collaborate with a technical team. It set me on a path that has led me to amazing opportunities.
Since then, I have worked as a backend engineer at eBay, deploying services that ingest millions of metrics across data centers. Founded my first startup that focused on building AI automated cybersecurity penetration testing. Launched Notify Cyber, which reached tens of thousands of visitors. I have written software for Docker, Kubernetes, Postgres, and advanced AI infrastructure.
But AgBot still stands out as one of the best experiences of my life. It was chaotic, stressful, and sometimes felt impossible, but it taught me more than any class or tutorial ever could. I learned that even if you do not have the perfect plan or enough funding or the best hardware, you can still build something, learn a ton, and meet incredible people along the way.
To everyone from the 2019 AgBot team, thank you. To that 2019 road trip, the tarp we grabbed at a closed gas station, and the sleepless nights, thank you. You gave me the grit to pursue big projects with confidence, no matter how impossible they seem.
الموارد والروابط
- الموقع الرئيسي لنادي الروبوتات بمدرسة كولورادو للمناجم
- قاعدة شفرة AgBot 2019
- مقال AgBot بجامعة بوردو
- مقال ملخص بصري بجامعة بوردو
- مقال DTN Progressive Farmer
- حساب AgBot على تويتر/X
- الموقع الرسمي لـ AgBot
- GitHub الخاص بـ Zach
- GitHub الخاص بـ Kevin
- GitHub الخاص بـ Tyler
معرض الصور
فريق AgBot الخاص بي، نحن
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
روبوت AgBot الخاص بنا
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
مقاطع الفيديو/الصور المتحركة
![]() |
![]() |
![]() |
![]() |
![]() |
حقول المسابقة
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
الفرق الأخرى في المسابقات
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
FRC 1339 (2014-2017)
![]() |
![]() |
صور عشوائية أخرى
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |