Робот Gemini Robotics ER 2 может отслеживать ход выполнения задачи по непрерывной видеопотоковой информации, используя две возможности:
- Определение момента события: установление точной временной метки, когда произошло ключевое событие.
- Классификация прогресса: каждому видеоролику присваивается один из пяти уровней завершения (0–20%, 20–40%, 40–60%, 60–80%, 80–100%).
Поиск момента
Определение момента события позволяет точно определить кадр видео, в котором происходит критическое событие — например, когда чашка наполняется или завязывается узел. Роботы используют это для проверки успешности выполнения, определения последовательности действий и запуска корректировок.
В следующем примере подсказка просит модель определить момент завершения выполнения заданной задачи в видеоролике:
from google import genai
from google.genai import types
client = genai.Client()
with open("task_video.mp4", "rb") as f:
video_bytes = f.read()
prompt = """
At what timestamp (in seconds) does the task reach successful completion?
Return a JSON object: {"completion_time_seconds": <float>}.
If the task is not completed, return {"completion_time_seconds": null}.
"""
response = client.models.generate_content(
model="gemini-robotics-er-2-preview",
contents=[
types.Part.from_bytes(data=video_bytes, mime_type="video/mp4"),
prompt,
],
)
print(response.text)
Ниже приведены примеры кадров из видеозаписи поиска момента, при этом модель определяет временную метку завершения задачи:

Классификация прогресса
Классификация прогресса присваивает видео одну из пяти категорий завершения: 0–20%, 20–40%, 40–60%, 60–80% или 80–100%. Это обеспечивает роботам ситуационную осведомленность в режиме реального времени, позволяя им корректировать действия или повторять неудачные шаги без перезапуска всего рабочего процесса.
В следующем примере подсказка просит модель классифицировать текущий уровень прогресса по видео:
from google import genai
from google.genai import types
client = genai.Client()
with open("task_video.mp4", "rb") as f:
video_bytes = f.read()
prompt = """
Watch this video and classify the task progress level at the final frame.
Return a JSON object with the progress bracket:
{"progress_level": "0-20" | "20-40" | "40-60" | "60-80" | "80-100"}.
"""
response = client.models.generate_content(
model="gemini-robotics-er-2-preview",
contents=[
types.Part.from_bytes(data=video_bytes, mime_type="video/mp4"),
prompt,
],
)
print(response.text)
Ниже приведены примеры кадров из видео, демонстрирующего классификацию прогресса, с указанием моделью присвоенного диапазона прогресса:

Примеры
Полные рабочие примеры, включая отслеживание выполнения многоэтапных задач, см. в руководстве по робототехнике .
Что дальше?
- API в реальном времени для робототехники — двусторонняя потоковая передача данных в реальном времени.
- Организация задач — решение долгосрочных задач с использованием пространственного мышления.
- Обзор робота-ассистента Gemini Robotics — сравнение моделей и его возможности.