منصات البرمجة
Java + Android Studio
الخيار الرسمي والأكثر قوة.
- تطوير متكامل ومرن
- وصول كامل لمكتبات FTC SDK
- الخيار الأفضل للفرق المتقدمة
- أدوات تصحيح (debugging) احترافية
Blocks Programming
برمجة مرئية بالسحب والإفلات.
- مثالية للمبتدئين تماماً
- لا تحتاج خبرة برمجية سابقة
- سريعة للنماذج الأولية
- محدودة للمشاريع المعقدة
Kotlin
لغة حديثة مدعومة جزئياً.
- بناء جملة أنظف من Java
- تتطلب خبرة برمجية
- الدعم أقل من Java
- خيار للفرق ذات الخبرة
OpModes — أوضاع التشغيل
OpModes هي البرامج التي تشغل الروبوت. هناك نوعان رئيسيان:
Autonomous — المرحلة المستقلة
الروبوت يعمل بالكود فقط لمدة 30 ثانية في بداية المباراة.
- التنقل التلقائي — حركة مبرمجة مسبقاً
- استخدام الحساسات — IMU، الكاميرات، حساسات المسافة
- الرؤية الحاسوبية — التعرف على الأشياء
- تسجيل نقاط مبكرة — الأداء الجيد هنا يمنح أفضلية كبيرة!
TeleOp — المرحلة المتحكم بها
السائقون يقودون الروبوت يدوياً لمدة 120 ثانية.
- ربط الأزرار بالمحركات — تحكم في الحركة
- التحكم في الآليات — أذرع، قبضات، منطلقات
- سرعة استجابة عالية — تحديث سريع (60 مرة في الثانية)
- تحسين تجربة السائق — تحكم سلس وسهل
المواضيع الأساسية
1. التحكم في الحركة
أساس أي روبوت — تشغيل المحركات والتحكم في السرعة.
- DcMotor — المحركات الرئيسية (Drivetrain)
- Servo — المحركات الدقيقة (الأذرع والقبضات)
- Power — التحكم في السرعة (-1.0 إلى 1.0)
- Encoder — قياس المسافة المقطوعة
2. الحساسات (Sensors)
الحساسات هي حواس الروبوت — تساعده على فهم البيئة المحيطة.
- IMU (وحدة القياس بالقصور الذاتي) — قياس الاتجاه والدوران
- Distance Sensor — قياس المسافة إلى الأشياء
- Color Sensor — التعرف على الألوان
- Touch Sensor — معرفة اللمس والتصادم
- Camera (Webcam) — الرؤية الحاسوبية باستخدام EasyOpenCV
3. PID Control — التحكم الدقيق
PID Controller هو خوارزمية تجعل المحركات تعمل بدقة عالية.
- P (Proportional) — التصحيح حسب حجم الخطأ
- I (Integral) — تجميع الأخطاء السابقة
- D (Derivative) — التنبؤ بالتغيير المستقبلي
- يستخدم في الحركة الدقيقة والتوازن
4. الرؤية الحاسوبية (Computer Vision)
استخدام الكاميرا للتعرف على الأشياء وتحديد المواقع.
- EasyOpenCV — مكتبة بسيطة للرؤية
- AprilTags — علامات مرئية للتعرف على المواقع
- TensorFlow — تعلم آلي متقدم (اختياري)
- مفيد جداً في المرحلة المستقلة!
نصائح للمبتدئين
ابدأ بسيطاً
اكتب TeleOp بسيط أولاً: ربط الأزرار بالمحركات فقط. تأكد أن الروبوت يتحرك قبل إضافة أي شيء معقد.
اختبر باستمرار
اختبر الكود مبكراً وباستمرار على الروبوت الفعلي. لا تنتظر حتى تنتهي من كل شيء — الاختبار المتكرر يوفر الوقت!
نظّم الكود
استخدم Functions وClasses لتنظيم الكود. الكود المنظم أسهل في الفهم والصيانة والمشاركة مع الفريق.
قاعدة ذهبية
الكود الأبسط والأكثر استقراراً دائماً أفضل من الكود المعقد والمتعطل.
لا تحاول كتابة كود خارق من اليوم الأول. ابدأ بالأساسيات، أتقنها، ثم أضف ميزات جديدة تدريجياً. الموثوقية أهم من التعقيد!
موارد مفيدة
قنوات يوتيوب
- FTC Tutorials — دروس عملية
- REV Robotics — شروحات رسمية
- FTC Teams Channels — تجارب الفرق الأخرى