Тема
Лабораторні роботи
П'ять робіт, які складаються в одну систему: від ПІД-регулятора одного апарата до рою, що обстежує майданчик і доповідає результат метриками місії. Кожна завершується не «працює на моєму ноутбуці», а таблицею вимірювань і висновком про те, що саме ви довели.
Бригада — три особи. У кожній роботі ролі розписані окремо: учасник A, B і C відповідають за свої підсистеми, мають власний результат і захищають його персонально. Спільними лишаються інтеграційний крок і підсумковий висновок. У порядку виконання кожен крок позначено відповідальним — [A], [B], [C] або [разом].
Роботи послідовні за кодом. Кожна спирається на середовище й код попередньої. Хто пропустив ранню роботу — наздоганяє з подвійними витратами.
Здається один Jupyter-ноутбук. Код кожного учасника у своїх комірках із короткими коментарями там, де це доречно, а всередині — схеми, графіки, таблиці вимірювань і висновки. Ноутбук має виконуватися від початку до кінця без ручних правок: Kernel → Restart & Run All не повинен давати помилок. У першій комірці вказано, хто з учасників за які комірки відповідав.
Середовище. Python 3.12, NumPy, Matplotlib, Gymnasium, Stable-Baselines3, gym-pybullet-drones — усе встановлюється з PyPI і GitHub. Відеокарта не потрібна: запуски навчання розраховані на процесор звичайного ноутбука, межа — 30 хвилин на один запуск. Єдина тонкість: pybullet не має готових збірок під Python 3.12 і компілюється з джерел, тому потрібен компілятор C++ (build-essential на Ubuntu, інструменти командного рядка Xcode на macOS).
Завантажити всі п'ять однією текою · Шаблон ноутбука
1 · Симулятор мультикоптера та ПІД-керування висінням
Симулятор мультикоптера й ПІД-регулятор каналу висоти: від першого стійкого висіння до вимірювання якості керування. Студент сам добирає коефіцієнти й показує, як кожен із них впливає на перерегулювання, швидкодію та сталу похибку.
Ролі: A — середовище і модель апарата · B — регулятор · C — вимірювання й аналіз.
2 · Перша політика навчання з підкріпленням для висіння
Та сама задача висіння, але розв'язана навчанням: постановка як задача RL, навчання PPO, чесне оцінювання політики й порівняння з ПІД-регулятором із роботи 1. Окремо — що змінюється від зерна до зерна: навчання повторюють щонайменше на п'яти зернах, як вимагає чек-лист відтворюваності.
Ролі: A — середовище навчання · B — навчання політики · C — оцінювання й порівняння.
Найкорисніший момент роботи — побачити, що висока віддача сумісна з низькою часткою успішних епізодів, і зрозуміти чому.
3 · Проєктування функції винагороди та політ до заданої точки
Винагорода як постановка задачі: складена функція з кількох доданків, абляція кожного з них і навмисно зіпсована винагорода, на якій видно, як політика експлуатує неточне формулювання.
Ролі: A — середовище і винагорода · B — абляція · C — зіпсована винагорода.
4 · Рій із кількох апаратів: уникнення зіткнень
Перехід від одного апарата до рою: спостереження з блоком сусідів, агрегатор, інваріантний до їх порядку й кількості, спільна політика без зіткнень і перенос навченої політики на більший рій без перенавчання.
Ролі: A — середовище рою · B — інваріантний кодувальник · C — навчання й перенос.
Висновок «перенос коштує деградації в три рази» — повноцінний результат, якщо підкріплений числами.
5 · Покриття території роєм і метрики місії
Місія обстеження майданчика: винагорода за покриття, опорна евристика для порівняння, метрики місії замість однієї винагороди й поведінка рою за обмеженого заряду. Окремо — діагностика двох типових патологій.
Ролі: A — сітка й облік покриття · B — евристика і винагорода · C — навчання, метрики й заряд.
Що оцінюється
| Критерій | Що це означає на захисті |
|---|---|
| Внесок кожного видно | у ноутбуці видно, хто які комірки писав |
| Робота виконана | ноутбук виконується від початку до кінця без ручних правок |
| Результат виміряно | таблиця чисел, а не опис вражень |
| Висновок обґрунтований | сказано, що саме доведено і з якою похибкою |
| Межі названі | бригада сама перелічує, чого рішення не покриває |
Другий рядок відсікає роботи, зібрані з кусків в останній вечір: ноутбук, який не проходить Restart & Run All, не приймається. На захисті питання ставляться персонально — кожен учасник відповідає за свої комірки.
Оцінювання
Розподіл балів за силабусом дисципліни:
| Метод оцінювання | Кількість | Мінімум (допуск) | Максимум | Усього |
|---|---|---|---|---|
| Виконання та захист лабораторних робіт | 5 | 5 за кожну | 10 за кожну | 50 |
| Модульна контрольна робота | 1 | 0 | 30 | 30 |
| Максимальний стартовий рейтинг | 80 | |||
| Залікова контрольна робота | 1 | 0 | 20 | 20 |
| Загальний підсумковий рейтинг | 100 |
Умова допуску до заліку — успішний захист усіх п'яти робіт і стартовий рейтинг не менше 36 балів.
Чек-лист відтворюваності
Вимагається як частина ноутбука з кожної роботи; готовий розділ уже є в шаблоні. Дев'ять пунктів: середовище й версія, зерна, кількість запусків (не менше п'яти), повна таблиця гіперпараметрів, однаковий бюджет пошуку для всіх порівнюваних, протокол оцінювання, що є лінією і що затіненням на графіку, базова лінія, обчислювальні витрати.
Найчастіші порушення у звітах, у порядку частоти:
- одна крива з одного запуску подана як результат;
- на осі абсцис епізоди замість кроків взаємодії;
- смуга на графіку без пояснення, що це —
чи похибка середнього; - різний бюджет пошуку гіперпараметрів у порівнянні.
Перші три ловляться за секунди й повертаються на доопрацювання без обговорення.