روبوت R-D6 يعمل بشريحة Arduino Uno ويوصّل الشحنات في مدينة متصفّح بمحاكاة فيزيائية ومشاة
PinPort هي مختبر عبر الإنترنت تقوم فيه ببناء دائرة في المتصفح، وكتابة سكريبت لـ Arduino، ورؤية النتيجة على محاكي. هذه المرة وسّع المطورون المنصة بإضافة مدينة افتراضية بها سيارات وإشارات مرور ومشاة، وأرسلوا إليها روبوتًا سداسي العجلات باسم R-D6 ينقل الشحنات من النقطة A إلى النقطة B. لا يُشغَّل الروبوت بلغة JavaScript، بل بسكريبت Arduino Uno عادي، يُترجَم على الخادم عبر arduino-cli ويُنفَّذ على محاكي ATmega328P. يعمل المحاكي بتردد 16 ميغاهرتز، ومتزامن مع محرك الفيزياء Rapier (بخطوة 2 ميلي ثانية). الليدار ووحدة الملاحة متصلان عبر I2C، والمستشعرات مُنفَّذة كسجلات، والتحكم بالمحركات عبر تضمين عرض النبضة (PWM) ومشغّل L298N. • **المدينة**: شبكة 3×3 بخطوة 32 مترًا، طرق بعرض 8 أمتار في كل اتجاه، أرصفة بعرض 3 أمتار، 5 إشارات مرور (دورة 50 ثانية: 20 ثانية أخضر، 3 ثوانٍ أصفر، 2 ثانية توقف تام لجميع الاتجاهات) • **الديناميكية**: 12 سيارة تسير على المسارات، و20 من المشاة يمشون على الأرصفة ويعبرون الطريق باحتمال 0.4، ويفسحون الطريق للروبوت عند اقترابه لمسافة أقل من 1.7 متر • **الموثوقية**: حتمية عبر خوارزمية mulberry32، سكريبت واحد ينتج نتيجة واحدة، ويعمل بنفس الطريقة على أجهزة كمبيوتر مختلفة
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
PinPort هي مختبر عبر الإنترنت لتعليم الروبوتات، حيث تكتب في المتصفح سكريبتات Arduino وترى النتيجة على محاكي. أنشأ المطورون مدينة ثلاثية الأبعاد بها سيارات وإشارات مرور ومشاة، يتجول فيها روبوت سداسي العجلات باسم R-D6. يُشغَّل الروبوت بسكريبت Arduino Uno حقيقي، يُترجَم على الخادم عبر arduino-cli ويُنفَّذ على محاكي ATmega328P. يجب على الروبوت توصيل الطلب من النقطة A إلى النقطة B مع الالتزام بقواعد المرور.
البنية: ثلاث طبقات متزامنة
يتكوّن النظام من ثلاثة أجزاء تتحرك بإيقاع موحد: محاكي AVR (16 ميغاهرتز، PWM، I2C، UART)، ومحرك الفيزياء Rapier (بخطوة 2 ميلي ثانية)، والمدينة بمنطق إشارات المرور والمشاة. تعمل اللوحة والفيزياء بالتناوب: ميلي ثانيتان من المحاكاة، ثم خطوة فيزيائية.
تُنفَّذ المستشعرات كسجلات I2C. يُصدر الليدار (العنوان 0×52) 36 قطاعًا بزاوية 10° لكل منها، بمعدل 10 مرات في الثانية، ومدى 20 مترًا. تُحدَّث وحدة الملاحة (0×53) 50 مرة في الثانية وتُصدر الموقع والاتجاه والزاوية نحو الهدف والمسافات. يتكوّن الليدار من ثلاثة أشعة في كل قطاع (−3°، 0°، +3°)، ويُؤخذ أقرب ارتطام. يتم التحكم بالمحركات عبر PWM على مخرجي ENA/ENB ومستويات مشغّل L298N. تقرأ مكتبة RD6.h المدمجة مسح الليدار (72 بايت) على ثلاث دفعات من 24 بايت لكل منها، لأن حجم مخزن Wire المؤقت هو 32 بايت فقط.
المدينة وسكانها
المخطط عبارة عن شبكة 3×3 بخطوة 32 مترًا، وعرض الطريق 8 أمتار في كل اتجاه، والأرصفة بعرض 3 أمتار. خمس إشارات مرور عند التقاطعات (دورة 50 ثانية: 20 ثانية أخضر، 3 ثوانٍ أصفر، 2 ثانية توقف تام لجميع الاتجاهات). تسير اثنتا عشرة سيارة على المسارات، وتحافظ على مسافة بينها، وعند التقاطع تختار الانعطاف عشوائيًا. الانعطافات: يمينًا (نصف قطر 2 متر)، ويسارًا (6 أمتار).
يمشي عشرون من المشاة في حلقات على طول الأرصفة. عند ممر المشاة، يقررون العبور باحتمال 0.4، ويبدؤون العبور عند الضوء الأخضر، ولا يبدؤون عند الضوء الوامض. يفسح المشاة الطريق للروبوت: إذا اقترب منهم لمسافة أقل من 1.7 متر، يتوقف الشخص ثم يتراجع بعد 0.6 ثانية. السيارات والمشاة أجسام فيزيائية في Rapier، لذلك يراها الليدار كما يرى المباني، والاصطدامات هي تلامسات حقيقية داخل المحرك.
يُبنى المسار بخوارزمية ديكسترا على رسم بياني. لا تُصدر وحدة الملاحة الاتجاه نحو النقطة التالية مباشرة، بل نحو "جزرة" — موقع يبعد 2.5 متر إلى الأمام (أسلوب pure pursuit الكلاسيكي). بدون هذا، كان الروبوت سيقطع الطريق مختصرًا نحو نقاط بعيدة، وينحرف نحو الرصيف، ويتوقف أمام الأشجار (التي تنمو كل 8 أمتار). مع الجزرة، يحافظ الروبوت على منتصف الرصيف ومركز ممر المشاة. تُرسم نوافذ الواجهات كل 2.6 متر أفقيًا و3 أمتار عموديًا. يُسجَّل الوصول عندما يقترب مركز الروبوت من النقطة B لمسافة أقل من 1.5 متر.
الحتمية وقابلية التكرار
صُمم النظام بالكامل من أجل نتيجة واحدة سواء على حاسوب محمول ضعيف أو حاسوب قوي. ثلاث قواعد: العشوائية تأتي فقط من mulberry32 ببذرة ثابتة، والزمن يُحسب بخطوات الفيزياء (دون استخدام Date.now())، وتُتخذ قرارات السيارات والمشاة كل 20 ميلي ثانية على شبكة ثابتة.
التحقق: يُشغَّل البرنامج الثابت مرتين بتقطيع زمني مختلف (2 و7.3 ميلي ثانية لكل استدعاء)، وتُقارَن قيمة تجزئة (hash) حالة العالم — وتتطابق. في ساحة المنافسة، يُشغِّل الخادم برنامج المشارك الثابت على Node.js باستخدام نفس الوحدات التي يستخدمها المتصفح، وتتطابق قيم التجزئة حتى آخر رمز.
اجتاز الطيار الآلي المكوّن من خمس قواعد جميع التركيبات الاثنتي عشرة من "المسار × الحالة" دون أي مخالفات. يستغرق التوصيل بين 65 و135 ثانية من الزمن النموذجي. التوسعات: الليل (حوالي 45% من النوافذ مضاءة بناءً على تجزئة الطابق والمدخل)، وساعة الذروة مع 40 من المشاة، وأعمال صيانة الرصيف. يتم العرض بمحرك WebGL خاص دون الاعتماد على محركات جاهزة: المباني عبارة عن صناديق، والنوافذ يرسمها shader التجزئة (fragment shader). تتبع الكاميرا الروبوت وترتفع إذا حجبه مبنى. لا تُرسم أغصان الأشجار الواقعة على خط الرؤية. يتوفر عرض علوي على Canvas 2D لأغراض التصحيح: يُظهر المسار وإشارات جميع إشارات المرور وأشعة الليدار.
أسئلة وأجوبة حول الخبر
ما أبرز التفاصيل حول البنية: ثلاث طبقات متزامنة؟
يتكوّن النظام من ثلاثة أجزاء تتحرك بإيقاع موحد: محاكي AVR (16 ميغاهرتز، PWM، I2C، UART)، ومحرك الفيزياء Rapier (بخطوة 2 ميلي ثانية)، والمدينة بمنطق إشارات المرور والمشاة. تعمل اللوحة والفيزياء بالتناوب: ميلي ثانيتان من المحاكاة، ثم خطوة فيزيائية. تُنفَّذ المستشعرات كسجلات I2C. يُصدر الليدار (العنوان 0×52) 36 قطاعًا بزاوية 10° لكل منها، بمعدل 10 مرات في الثانية، ومدى 20 مترًا. تُحدَّث وحدة الملاحة (0×53) 50 مرة في الثانية وتُصدر الموقع والاتجاه والزاوية نحو الهدف والمسافات. يتكوّن الليدار من ثلاثة أشعة في كل قطاع (−3°، 0°، +3°)، ويُؤخذ أقرب ارتطام. يتم التحكم بالمحركات عبر P
ما أبرز التفاصيل حول المدينة وسكانها؟
المخطط عبارة عن شبكة 3×3 بخطوة 32 مترًا، وعرض الطريق 8 أمتار في كل اتجاه، والأرصفة بعرض 3 أمتار. خمس إشارات مرور عند التقاطعات (دورة 50 ثانية: 20 ثانية أخضر، 3 ثوانٍ أصفر، 2 ثانية توقف تام لجميع الاتجاهات). تسير اثنتا عشرة سيارة على المسارات، وتحافظ على مسافة بينها، وعند التقاطع تختار الانعطاف عشوائيًا. الانعطافات: يمينًا (نصف قطر 2 متر)، ويسارًا (6 أمتار). يمشي عشرون من المشاة في حلقات على طول الأرصفة. عند ممر المشاة، يقررون العبور باحتمال 0.4، ويبدؤون العبور عند الضوء الأخضر، ولا يبدؤون عند الضوء الوامض. يفسح المشاة الطريق للروبوت: إذا اقترب منهم لمسافة أقل من 1.7 متر، يت
ما أبرز التفاصيل حول الحتمية وقابلية التكرار؟
صُمم النظام بالكامل من أجل نتيجة واحدة سواء على حاسوب محمول ضعيف أو حاسوب قوي. ثلاث قواعد: العشوائية تأتي فقط من mulberry32 ببذرة ثابتة، والزمن يُحسب بخطوات الفيزياء (دون استخدام Date.now())، وتُتخذ قرارات السيارات والمشاة كل 20 ميلي ثانية على شبكة ثابتة. التحقق: يُشغَّل البرنامج الثابت مرتين بتقطيع زمني مختلف (2 و7.3 ميلي ثانية لكل استدعاء)، وتُقارَن قيمة تجزئة (hash) حالة العالم — وتتطابق. في ساحة المنافسة، يُشغِّل الخادم برنامج المشارك الثابت على Node.js باستخدام نفس الوحدات التي يستخدمها المتصفح، وتتطابق قيم التجزئة حتى آخر رمز. اجتاز الطيار الآلي المكوّن من خمس قواعد ج
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.