Разработчик собрал для дочери говорящего робота на Raspberry Pi 5 с локальным ИИ и аниме-лицом
Энтузиаст создал для своей дочери робота-помощника, который работает полностью офлайн и способен вести диалог. В основе устройства — одноплатный компьютер Raspberry Pi 5, четыре языковые модели и самодельная анимация лица в стиле аниме. Проект демонстрирует, как современные открытые технологии позволяют собрать персонализированного голосового ассистента в домашних условиях.
Разработчик под ником (имя не указано) решил сделать для своей дочери робота, который помогал бы ей в учёбе и при этом не отвлекал, а увлекал. Идея заключалась в создании собеседника, способного поддерживать разговор без подключения к интернету. Вместо типичной «умной колонки» с чёрным экраном и синими индикаторами он задумал персонажа с анимированным лицом, которое можно менять по желанию. Первый прототип лица был создан на ПК, и когда дочь увидела его, она попросила сделать аниме-кошечку. С этого момента проект превратился в создание индивидуального персонажа с проработкой деталей внешности. Автор расспрашивал дочь, что именно ей нравится: глаза, причёска, одежда, выражение лица. Выяснилось, что недостаточно просто приделать ушки к экрану — в итоге появились два подробных эскиза образа. Один — с тёмными волосами и розовым кимоно, другой — в более светлых цветах, который по цветовой гамме понравился ей больше. Так вместо абстрактного робота получился маленький собеседник для конкретного ребёнка.
Для реализации задуманного автор начал с программной части, не требующей железа. На Python с использованием Tkinter он написал приложение, отображающее лицо с глазами, зрачками, бровями и ртом. Анимация включала моргание, улыбку и несколько выражений. Важной задачей стало синхронизировать движение рта с произносимым звуком, чтобы робот не выглядел «сломанным» во время пауз. Были добавлены состояния «слушаю», «думаю» и спокойная мимика. Отрисовка лица была отделена от обработки голоса и генерации ответа, чтобы ожидание сети или модели не прерывало анимацию. Позже это разделение пригодилось и для управления движением головы. Первые, более простые варианты лица тоже сохранились — их можно менять в настройках, что даёт гибкость и позволяет адаптировать персонажа под настроение или запросы ребёнка.
Параллельно встал вопрос о вычислительной платформе. Arduino не подходила для запуска языковой модели, поэтому автор выбрал Raspberry Pi 5 с 8 ГБ оперативной памяти, приобретя его на вторичном рынке — на Авито по адекватной цене. Он протестировал около двадцати LLM-кандидатов, отсеяв те, что плохо держали характер или путались в ответах. Для оставшихся собрал набор проверок: арифметика, объяснения, связная речь, следование инструкции. Самый «умный» ответ в отдельном тесте не был победой, ведь ребёнку ещё надо дождаться его вслух. В финале остались четыре GGUF-модели. Основной на Pi 5 стала Qwen3-4B-Instruct-2507, показавшая лучший баланс качества и скорости. Gemma_4_E2B отвечала быстрее и подходила для коротких реплик, Gemma_4_E4B давала более развёрнутые объяснения, но работала медленнее. Qwen3.5_9B_DeepSeek_Distill осталась запасным экспериментом из-за длительных ответов. Замеры показали скорость генерации примерно 4,3 токена в секунду у Qwen3 4B и 7,1 токена в секунду у Gemma E2B, что для ребёнка означает более быстрое получение ответа. Автор подчёркивает, что это измерения его набора задач и настроек, а не универсальный рейтинг моделей.
Речевые функции также реализованы локально: распознавание речи выполняет Vosk, а синтез — Piper. Базовый голос «Ирина» был изменён для придания мультяшного звучания: в пресете 'anime_kawaii' применяются коэффициенты изменения высоты 1,38 и замедления 1,30. Это позволило добиться приемлемого звучания без обучения отдельной голосовой модели. Автор подбирал параметры на слух: слишком высокий голос превращался в писк, слишком медленный утомлял. Для взаимодействия с окружением он добавил камеру на IMX708 с автофокусом и два сервопривода MG90S и MG996R для поворота головы. Управление сервоприводами осуществляется через драйвер PCA9685. Экран — сенсорный Waveshare 3.5-inch DSI LCD (H) с разрешением 480×800. Звуковая цепочка включает цифровой микрофон ICS-43434, подключённый по I²S, USB-звуковую карту и усилитель с динамиками. Для опоры шеи заказаны подшипники 6901, чтобы избежать люфта. Идея поворота головы возникла из простого вопроса: как персонаж поймёт, где находится человек, и не будет ли ребёнок ждать внимания? Так появилась камера и поиск лица.
В процессе сборки возникли трудности с питанием драйвера PCA9685: на силовом контакте сервоприводов отсутствовало напряжение, хотя на клеммнике было 5 В. Проблема решилась подачей питания через боковой вход V+. Автор отмечает, что использовал временный стенд с камерой от 3D-принтера и микрофоном компьютера, чтобы отладить алгоритмы слежения за лицом и управления сервоприводами. Проект демонстрирует, что даже при отсутствии готовых решений можно создать персонализированного робота-компаньона, используя доступные компоненты и открытые технологии. В перспективе автор планирует улучшить движение головы и, возможно, добавить новые функции, однако окончательная сборка ещё не завершена. Сравнивая с альтернативами, можно отметить, что большинство готовых голосовых ассистентов требуют подключения к интернету и не позволяют менять внешность. Самодельный робот на Raspberry Pi 5 с открытыми моделями даёт полный контроль над данными и настройками, но требует технических навыков и времени на сборку.
Этот проект показателен для российского рынка: он подтверждает, что энтузиасты могут самостоятельно собирать устройства с локальным ИИ, не полагаясь на облачные сервисы. В условиях ограниченного доступа к некоторым зарубежным платформам такие решения становятся особенно актуальными. Опыт автора может быть полезен другим разработчикам, интересующимся робототехникой и встраиваемыми системами. Кроме того, история иллюстрирует тренд на персонализацию гаджетов: вместо универсальных колонок пользователи всё чаще хотят видеть уникальных персонажей, адаптированных под конкретного человека. В данном случае дочь стала соавтором образа, что повышает вовлечённость и мотивацию к использованию робота в учёбе. Открытыми остаются вопросы энергопотребления, долговечности сервоприводов и удобства использования в повседневной жизни. Тем не менее проект уже сейчас демонстрирует, что локальный ИИ может быть не только функциональным, но и эмоционально привлекательным для детей, а также показывает путь к созданию доступных персонализированных ассистентов без зависимости от внешних серверов.