Собери робота с ChatGPT за $100: пошаговый гайд | AiManual
AiManual Logo Ai / Manual.
05 Июл 2026 Гайд

Как собрать робота с ChatGPT за 100$: пошаговое руководство по созданию физического тела для ИИ

Пошаговое руководство по сборке дешевого робота с интеграцией ChatGPT. Компоненты менее $100, управление сервами, голосовой интерфейс. Полный DIY проект.

Хватит пялиться в экран. Пора дать ChatGPT руки — буквально. $100, паяльник и вечер — и у вас дома поселится существо, которое будет двигать головой и отвечать голосом GPT-5. Да, в 2026 году это реально. Я соберу такого робота, не влезая в кредиты, и покажу, как сделать то же самое.

Мы привыкли, что ChatGPT живёт в браузере. Но что, если дать ему тело? Не экзоскелет за миллион, а дешёвую платформу, которая может кивать, поворачивать «голову» и разговаривать. Это не просто игрушка — это первый шаг к embodied AI. И вам не нужно быть инженером из MIT.

💡
Проект вдохновлён концепцией Growbot — минималистичного робота, который «вырастает» вместе с вашими навыками. Не хватает детали? Замени на картон. Нет 3D-принтера? Используй конструктор.

Что идёт не так у большинства 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А.

🔧
Готовые файлы для лазерной резки корпуса и 3D-модели можно найти в сообществе Growbot на Thingiverse. Мы используем минималистичный дизайн «цилиндр на цилиндре» — не красиво, но дёшево.

Ошибки, которые сосут деньги и время

Перечислю типичные грабли, на которые наступил сам.

  • Блок питания 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. Через год этот робот будет скучать по вам, если вы отключите питание. Шутка. Или нет?

Подписаться на канал