{
  "format": "rubrick-lesson",
  "formatVersion": 1,
  "exportedAt": "2026-11-06T20:21:11.216Z",
  "source": {
    "lessonId": "00000000-0000-4000-8001-cc44250dcda2",
    "courseId": "00000000-0000-4000-8000-f42087059b37",
    "courseTitle": "Робот видит",
    "ordering": 4,
    "updatedAt": "2026-09-27T10:47:15.604957+00:00"
  },
  "lessonTask": null,
  "lessonTaskSchemaVersion": null,
  "lesson": {
    "schemaVersion": 3,
    "id": "vision-04-approach",
    "courseId": "vision",
    "order": 4,
    "title": "Повернись и подъедь",
    "summary": "Робот сам разворачивается к предмету и подъезжает к нему",
    "duration": 35,
    "mode": "blocks",
    "attachments": [],
    "sections": [
      {
        "kind": "intro",
        "body": "Робот сам разворачивается к предмету и подъезжает к нему\n\n### Чему научишься\n- Повернуться к предмету\n- Подъехать на заданное расстояние\n- Обработать неудачу\n\n### Новое\n- Робот может двигаться по тому, что видит, а не по заранее заданным числам\n- У поворота и подъезда есть предел ожидания: предмет могли убрать\n- Обе команды сообщают, получилось ли — и это надо проверять",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "task",
        "body": "Поставь предмет сбоку от робота и запусти программу: робот должен сам повернуться к нему и подъехать на 20 сантиметров.\n\n### Результат\n- Робот сам поворачивается к предмету\n- Робот подъезжает и останавливается\n- Если предмета нет — робот честно об этом сообщает",
        "attachments": [],
        "steps": [
          {
            "id": "s1",
            "title": "Повернись",
            "body": "Блок «повернуться к предмету» ищет его и ставит в центр кадра.",
            "attachments": []
          },
          {
            "id": "s2",
            "title": "Проверь результат",
            "body": "Если не нашёл — скажи об этом и не едь вслепую.",
            "attachments": []
          },
          {
            "id": "s3",
            "title": "Подъедь",
            "body": "Блок «подъехать к предмету» на 20 см.",
            "attachments": []
          },
          {
            "id": "s4",
            "title": "Испытай",
            "body": "Ставь предмет в разные стороны и проверяй.",
            "attachments": []
          }
        ],
        "hints": [
          "Робот крутится и не находит? Значит, предмет не узнаётся — проверь его сначала уроком «Что видит робот»."
        ]
      },
      {
        "kind": "assembly",
        "body": "### Понадобится\n- Настоящий робот с двумя моторами\n- Узнаваемый предмет\n- Свободное место\n\nБазовая платформа: левое колесо в D, правое в C. Камера вперёд.",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "connection",
        "body": "",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "example",
        "body": "### Что должно получиться\n- Нужен настоящий робот: движение по камере на виртуальном не моделируется",
        "attachments": [],
        "steps": [],
        "program": {
          "mode": "blocks",
          "python": "robot.configure_drive(wheel_diameter_mm=43.2, track_width_mm=120, left_motor=1, right_motor=2)\nпредмет = \"мяч\"\n\nrobot.say(\"Ищу\")\nif robot.turn_to(предмет):\n    robot.say(\"Нашёл, еду\")\n    if robot.approach(предмет, cm=20):\n        robot.face(\"happy\")\n        robot.say(\"Приехал\")\n    else:\n        robot.say(\"Потерял по дороге\")\nelse:\n    robot.face(\"sad\")\n    robot.say(\"Не вижу предмет\")\n\nrobot.stop()\n"
        }
      },
      {
        "kind": "next",
        "body": "",
        "attachments": [],
        "steps": []
      }
    ],
    "category": "Зрение",
    "colour": "#FFF200"
  }
}