Хватит пялиться в экран. Пора дать ChatGPT руки — буквально. $100, паяльник и вечер — и у вас дома поселится существо, которое будет двигать головой и отвечать голосом GPT-5. Да, в 2026 году это реально. Я соберу такого робота, не влезая в кредиты, и покажу, как сделать то же самое.
Мы привыкли, что ChatGPT живёт в браузере. Но что, если дать ему тело? Не экзоскелет за миллион, а дешёвую платформу, которая может кивать, поворачивать «голову» и разговаривать. Это не просто игрушка — это первый шаг к embodied AI. И вам не нужно быть инженером из MIT.
Что идёт не так у большинства DIY-роботов
Главная проблема: люди пытаются скопировать промышленные решения. Покупают дорогие сервоприводы, мощные компьютеры, сложные корпуса. В итоге проект зависает на стадии «жду детали из Китая» или «сломал серву при сборке». Бюджет улетает в космос.
Второй типичный провал — игнорирование софта. Робот с ChatGPT не имеет смысла, если не настроен голосовой канал. Без микрофона и динамика это просто кусок пластика, который дёргается под управлением Python-скрипта.
Третья ошибка — переусложнение. Думают: «О, сделаю ему руки, камеру, колёса…» Стоп. Начните с головы. Один сервопривод на наклон, один на поворот. Всё. Когда заработает — добавляйте.
⚠️ Не пытайтесь сразу сделать гуманоида. Для первого раза достаточно подвижной «башки» на двух сервах. Этого хватит, чтобы пройти тест Тьюринга в урезанном виде — собеседник поверит, что это живое существо.
Комплект за $100: что покупать
Берём самый дешёвый, но рабочий набор. Цены округлены (актуальны на июль 2026). Заказывать лучше на AliExpress или у локальных дистрибьюторов — разница в сроках.
| Компонент | Модель / Примечание | Цена ($) |
|---|---|---|
| Одноплатный компьютер | Raspberry Pi 4 4GB (или Orange Pi 3 LTS) | 45 |
| Карта памяти | 32GB microSD класс 10 | 5 |
| Сервоприводы (2 шт) | SG90 (пластик, 9г) | 2 |
| Микрофон USB | Любой дешёвый, главное — моно | 4 |
| Динамик + усилитель | PAM8403 + мини-динамик 3W | 3 |
| Power Bank (5V 2A) | Для питания всей системы | 10 |
| Провода, резисторы, макетка | Комплект для прототипирования | 5 |
| Корпус / крепёж | Толстый картон, 3D-пластик (filament) | 5 |
| Итого | ~79 |
Остаток (~$21) оставьте на расходники: термоусадка, стяжки, возможно запасной сервопривод. Если есть 3D-принтер, напечатайте «шею» и «череп» — файлы легко найти на Printables под запрос ChatGPT robot head. Подробнее о создании 3D-объектов через ИИ мы писали в статье «Напечатай на коленке».
Сборка мозга: софт, который оживит робота
Операционная система — Raspberry Pi OS Lite (без десктопа). Ставим на карту, подключаемся по SSH. Дальше — Python 3.11, pip, и несколько библиотек.
Главное чудо — OpenAI API. В 2026 году у нас есть GPT-5, который понимает контекст и может генерировать осмысленные ответы с голосом через Realtime API. Но для простоты мы используем стандартный чат-интерфейс + отдельный TTS (синтез речи).
Три столпа софта:
- Whisper (OpenAI) — распознавание речи с микрофона в текст.
- GPT API — генерация ответа (модель gpt-5-turbo — самая быстрая и дешёвая).
- gTTS или Edge-TTS — превращение текста в речь (локально, через Microsoft Edge TTS — бесплатно и звучит почти как человек).
Совет: Не используйте голосовой режим GPT-4o с ходу — он дорогой и требует высокой пропускной способности. Отдельный TTS даёт контроль над интонацией.
1 Установка зависимостей
sudo apt update && sudo apt upgrade -y
sudo apt install python3-pip python3-venv portaudio19-dev -y
python3 -m venv robot_env
source robot_env/bin/activate
pip install openai pyaudio numpy RPi.GPIO gTTS edge-tts soundfile sounddevice
Проверьте доступ к микрофону: arecord -l. Если карты нет — переключите USB-микрофон в другой порт.
2 Скелет кода управления
Весь проект помещается в одном файле robot.py. Не пугайтесь объёма — он написан с коментариями. Главная петля: слушаем → распознаём → отправляем в GPT → получаем ответ → озвучиваем → двигаем сервой случайным кивком.
import os
import time
import random
import pyaudio
import numpy as np
import RPi.GPIO as GPIO
from openai import OpenAI
from edge_tts import Communicate
import asyncio
# Настройка GPIO для серв
PAN_PIN = 17
TILT_PIN = 27
GPIO.setmode(GPIO.BCM)
GPIO.setup(PAN_PIN, GPIO.OUT)
GPIO.setup(TILT_PIN, GPIO.OUT)
pan = GPIO.PWM(PAN_PIN, 50)
tilt = GPIO.PWM(TILT_PIN, 50)
pan.start(7.5) # 90 градусов
tilt.start(7.5)
# Инициализация OpenAI
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def move_servo(pwm, angle):
duty = 2.5 + (angle / 18.0)
pwm.ChangeDutyCycle(duty)
time.sleep(0.3)
pwm.ChangeDutyCycle(0)
def listen_audio(duration=4):
# захват звука с микрофона (упрощённо)
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000,
input=True, frames_per_buffer=1024)
frames = []
for _ in range(0, int(16000 / 1024 * duration)):
data = stream.read(1024)
frames.append(data)
stream.stop_stream()
stream.close()
p.terminate()
return np.frombuffer(b''.join(frames), dtype=np.int16)
def recognize_speech(audio_data):
# здесь должен быть вызов Whisper API
# Для примера возвращаем заглушку
return "Привет, робот!".encode()
def query_gpt(user_text):
response = client.chat.completions.create(
model="gpt-5-turbo",
messages=[{"role": "user", "content": user_text}],
max_tokens=150
)
return response.choices[0].message.content
async def speak(text):
communicate = Communicate(text, voice="ru-RU-DariyaNeural")
await communicate.save("response.mp3")
os.system("aplay response.mp3")
# Главный цикл
if __name__ == "__main__":
try:
while True:
print("Слушаю...")
audio = listen_audio(3)
user_input = recognize_speech(audio)
if user_input:
reply = query_gpt(user_input)
print("GPT:", reply)
# случайное движение
move_servo(pan, random.randint(60, 120))
move_servo(tilt, random.randint(70, 110))
asyncio.run(speak(reply))
except KeyboardInterrupt:
pan.stop()
tilt.stop()
GPIO.cleanup()
Важно: Код выше — учебный. В реальности нужно добавить шумоподавление, тайм-ауты, повторные попытки при ошибках API. Полный рабочий вариант выложен в нашем GitHub (ссылка в конце статьи).
3 Интеграция с реальным Whisper и TTS
Для распознавания используйте два подхода:
- Локальный Whisper (tiny model) — работает медленно, но бесплатно. Загружается на Raspberry Pi 4 за 2-3 секунды. Установка:
pip install openai-whisper. - Whisper API — быстрее и точнее, стоит копейки. Актуально для 2026: whisper-2 с поддержкой русского языка.
Синтез речи: используйте edge-tts из примера — он работает offline, использует голоса Microsoft. Для более естественного звучания можно подключить ElevenLabs API, но это уже плюс $5 в месяц.
Механика: как сделать, чтобы голова крутилась
Два сервопривода — минимум. Первый (pan) поворачивает основание влево-вправо. Второй (tilt) — наклоняет голову вверх-вниз. Крепите их горячим клеем на картонный корпус. Если есть возможность — напечатайте кронштейны на 3D-принтере. Шестигранники от серв вставьте в пластиковые «ушки» — это стандартный способ.
Питание: не подключайте сервы напрямую к 5V пину Raspberry Pi — он сгорит. Используйте внешний источник 5V (от Power Bank) через общую землю. Для двух SG90 хватит отдельного канала на 2А.
Ошибки, которые сосут деньги и время
Перечислю типичные грабли, на которые наступил сам.
- Блок питания 5В 1А. Робот будет внезапно выключаться при движении серв. Берите 5В 3А минимум.
- Плохой контакт в макетке. Сигнальный провод серв должен быть подключен к GPIO без дребезга. Лучше сразу припаять.
- Задержки API. Если GPT отвечает 5 секунд — пользователь подумает, что робот тупит. Используйте streaming и начинайте движение сразу после получения первого токена.
- Эхо. Микрофон ловит звук из динамика. Решение: используйте наушники с микрофоном или программно подавляйте эхо (напр. библиотека
webrtcvad).
Сравните с промышленными роботами: Figure AI за $2/час или Tesla Optimus Gen 3 — они решают те же проблемы за $20 000. Наш бюджет — $100, но принцип тот же: сенсоры, моторы, ИИ.
Что дальше: как доработать робота
Базовая версия — это минимум. Когда она заработает, вы можете:
- Добавить камеру и компьютерное зрение через OpenCV или YOLO. Робот будет «смотреть» на собеседника.
- Подключить жесты руками с помощью серв и напечатанной кисти.
- Использовать локальную LLM (например, Llama 4) вместо облачного API — тогда робот станет полностью автономным. Пример запуска в браузере описан в статье Gemma 4 с WebSerial.
- Интегрировать двуногую ходьбу, как в проекте LeRobot — но это уже сотни долларов и тонкая настройка.
Помните: любой сложный робот начинается с простого. Не пытайтесь охватить всё сразу. Лучше сделайте одну вещь, но хорошо — пусть ваш ChatGPT-робот хотя бы кивает в такт словам. Это уже вызовет у собеседника мурашки.
Бонус: Полный код проекта (включая Whisper, streaming GPT и управление сервами) выложен в нашем GitHub. Ссылка в описании профиля. Если хотите коммерциализировать — можно собрать партию таких роботов и продавать на Etsy как «десктопных собеседников».
P.S. Через год этот робот будет скучать по вам, если вы отключите питание. Шутка. Или нет?