Gemini Robotics ER

مدل‌های Gemini Robotics ER (استدلال تجسمی) مدل‌های زبان-دیداری (VLMs) هستند که به روبات‌ها امکان می‌دهند دنیای فیزیکی را درک کنند و با آن تعامل داشته باشند. این ربات‌ها داده‌های دیداری را تفسیر می‌کنند، استدلال فضایی و زمانی انجام می‌دهند، تکالیف چندمرحله‌ای را برنامه‌ریزی می‌کنند، و ربات‌ها و ابزارها را هماهنگ می‌کنند.

مدل‌ها

مدل Gemini Robotics ER 2 جدیدترین مدل در Gemini Robotics است. این مدل استدلالی به‌روزشده ما است که به روبات‌ها امکان می‌دهد محیط اطرافشان را به‌دقت درک کنند. این مدل در قابلیت‌های استدلال تجسمی، مثل هماهنگی عاملان روبات‌ها (برای نمونه، بااستفاده از VLAs)، درک ویدیو روبات شامل درک پیشرفت و تشخیص موفقیت، خواندن ابزار، اشاره کردن، و استدلال فضایی تخصص دارد.

مدل Gemini Robotics ER 2 دو نقطه پایانی مدل را معرفی می‌کند:

  • ‫gemini-robotics-er-2-preview: مدل استاندارد ER 2. برپایه Gemini 3.5 Flash با استدلال فضایی بهبودیافته، یافتن لحظات ویدیو، طبقه‌بندی پیشرفت ویدیو، هماهنگی چندروباتی، و استفاده از ابزار چندمرحله‌ای.
  • gemini-robotics-er-2-streaming-preview: بهینه‌سازی‌شده برای جاری‌سازی هم‌زمان بااستفاده از Live API. از این مدل برای عامل‌های روبات با تأخیر کم استفاده کنید که ورودی صوتی و ویدیویی پیوسته را پردازش می‌کنند.

‫Gemini Robotics ER 1.6 در ۳۱ اوت ۲۰۲۶ منسوخ شد. اگر هنوز از Gemini Robotics ER 1.6 استفاده می‌کنید، با جایگزین کردن model="gemini-robotics-er-1.6-preview" با model="gemini-robotics-er-2-preview" یا model="gemini-robotics-er-2-streaming-preview" در فراخوانی‌های API، به Gemini Robotics ER 2 ارتقا دهید.

امتحان کردن Gemini Robotics ER 2 در Google AI Studio

قابلیت‌های روباتیک

‫Gemini Robotics ER از طیف وسیعی از قابلیت‌های استدلال تجسمی پشتیبانی می‌کند. برای کسب اطلاعات بیشتر، قابلیتی را انتخاب کنید:

قابلیت شرح راهنما
استدلال فضایی به اشیا اشاره کنید، آن‌ها را در ویدیو ردیابی کنید، با چارگوش‌های محدودکننده تشخیص دهید، مسیرها را برنامه‌ریزی کنید. استدلال فضایی
بینایی عامل‌گرا با بهره‌گیری از ابزارهای دستکاری تصویر، از اجرای کد برای بهبود قابلیت‌های دیگر استفاده کنید. بینش عامل‌گرا
هماهنگ‌سازی تکلیف برای انجام تکالیف بلندمدت، استدلال فضایی را با میاناهای برنامه‌سازی کاربردی روبات سفارشی ترکیب کنید. هماهنگی تکلیف
جاری‌سازی (فقط نقطه پایانی جاری‌سازی Gemini Robotics ER 2) جاری‌سازی دوطرفه برای کارگزاران روبات هم‌زمان با تأخیر کم فراخوانی تابع. جاری‌سازی برای روباتیک
پیشرفت ویدیو (فقط Gemini Robotics ER 2) یافتن لحظه و طبقه‌بندی پیشرفت از فیدهای ویدیو پیوسته. درک ویدیو

قبل‌از شروع

مدل‌های Gemini Robotics ER ازطریق Gemini Developer API دردسترس هستند. برای شروع، از Google AI Studio یا کنسول Google Cloud، کلید Gemini API ایجاد کنید و محیطتان را راه‌اندازی کنید.

برای جزئیات مربوط به انواع کلید، امنیت، و نحوه پیکربندی کلید در Python،‏ JavaScript، و زبان‌های دیگر، به استفاده از کلیدهای میانای برنامه‌سازی کاربردی Gemini مراجعه کنید.

درحال شروع کردن

مثال زیر اشیای موجود در تصویر را پیدا می‌کند و مختصات و برچسب‌های دوبعدی عادی‌سازی‌شده آن‌ها را برمی‌گرداند. می‌توانید این برونداد را مستقیماً به میانای برنامه‌سازی کاربردی روباتیک یا مدل VLA منتقل کنید تا کنش‌های روبات را تولید کند.

Python

from google import genai

PROMPT = """
          Point to no more than 10 items in the image. The label returned
          should be an identifying name for the object detected.
          The answer should follow the json format: [{"point": <point>,
          "label": <label1>}, ...]. The points are in [y, x] format
          normalized to 0-1000.
        """
client = genai.Client()

uploaded_file = client.files.upload(file="my-image.png")

image_response = client.interactions.create(
    model="gemini-robotics-er-2-preview",
    input=[
        {
            "type": "image",
            "uri": uploaded_file.uri,
            "mime_type": uploaded_file.mime_type
        },
        {"type": "text", "text": PROMPT}
    ],
    generation_config={"thinking_level": "high"},
)

print(image_response.output_text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const PROMPT = `
  Point to no more than 10 items in the image. The label returned
  should be an identifying name for the object detected.
  The answer should follow the json format: [{"point": <point>,
  "label": <label1>}, ...]. The points are in [y, x] format
  normalized to 0-1000.
`;
const client = new GoogleGenAI();

const uploadedFile = await client.files.upload({ file: "my-image.png" });

const imageResponse = await client.interactions.create({
  model: "gemini-robotics-er-2-preview",
  input: [
    {
      type: "image",
      uri: uploadedFile.uri,
      mime_type: uploadedFile.mimeType,
    },
    { type: "text", text: PROMPT },
  ],
  generation_config: { thinking_level: "high" },
});

console.log(imageResponse.output_text);

جاوا

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.Content;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.GenerationConfig;
import com.google.genai.gaos.models.interactions.ImageContent;
import com.google.genai.gaos.models.interactions.ImageContentMimeType;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.TextContent;
import com.google.genai.gaos.models.interactions.ThinkingLevel;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import com.google.genai.types.File;
import com.google.genai.types.UploadFileConfig;
import java.util.List;

Client client = new Client();

String prompt =
    "Point to no more than 10 items in the image. The label returned "
        + "should be an identifying name for the object detected. "
        + "The answer should follow the json format: [{\"point\": <point>, "
        + "\"label\": <label1>}, ...]. The points are in [y, x] format "
        + "normalized to 0-1000.";

File uploadedFile =
    client.files.upload(
        new java.io.File("my-image.png"),
        UploadFileConfig.builder().mimeType("image/png").build());

Content imageContent =
    ImageContent.builder()
        .uri(uploadedFile.uri().orElse(""))
        .mimeType(ImageContentMimeType.of(uploadedFile.mimeType().orElse("image/png")))
        .build();
Content textContent = TextContent.builder().text(prompt).build();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model(Model.of("gemini-robotics-er-2-preview"))
        .input(InteractionsInput.ofContent(List.of(imageContent, textContent)))
        .generationConfig(
            GenerationConfig.builder().thinkingLevel(ThinkingLevel.HIGH).build())
        .build();

Interaction imageResponse =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(imageResponse.outputText().orElse(""));

رفتن

package main

import (
    "context"
    "fmt"
    "log"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/interactions"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    prompt := `Point to no more than 10 items in the image. The label returned
should be an identifying name for the object detected.
The answer should follow the json format: [{"point": <point>,
"label": <label1>}, ...]. The points are in [y, x] format
normalized to 0-1000.`

    uploadedFile, err := client.Files.UploadFromPath(ctx, "my-image.png", &genai.UploadFileConfig{
        MIMEType: "image/png",
    })
    if err != nil {
        log.Fatal(err)
    }

    res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
        Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
            Model: interactions.Model("gemini-robotics-er-2-preview"),
            Input: interactions.NewInteractionsInput([]interactions.Content{
                interactions.NewContent(interactions.ImageContent{
                    URI:      genai.Ptr(uploadedFile.URI),
                    MimeType: genai.Ptr(interactions.ImageMimeTypeImagePng),
                }),
                interactions.NewContent(interactions.TextContent{
                    Text: prompt,
                }),
            }),
            GenerationConfig: &interactions.GenerationConfig{
                ThinkingLevel: interactions.ThinkingLevelHigh.ToPointer(),
            },
        }),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.Interaction.OutputText != nil {
        fmt.Println(*res.Interaction.OutputText)
    }
}

REST

# First, ensure you have the image file locally.
# Encode the image to base64
IMAGE_BASE64=$(base64 -w 0 my-image.png)

curl -X POST \
  "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-robotics-er-2-preview",
    "input": {
      "parts": [
        {
          "inlineData": {
            "mimeType": "image/png",
            "data": "'"${IMAGE_BASE64}"'"
          }
        },
        {
          "text": "Point to no more than 10 items in the image. The label returned should be an identifying name for the object detected. The answer should follow the json format: [{\"point\": [y, x], \"label\": <label1>}, ...]. The points are in [y, x] format normalized to 0-1000."
        }
      ]
    },
    "generation_config": {
      "thinking_config": {
        "thinking_level": "high"
      }
    }
  }'

برونداد آرایه JSON حاوی اشیایی خواهد بود که هرکدام دارای point (مختصات [y, x] عادی‌سازی‌شده) و label شناسایی‌کننده شیء است.

(قالب) JSON

[
  {"point": [376, 508], "label": "small banana"},
  {"point": [287, 609], "label": "larger banana"},
  {"point": [223, 303], "label": "pink starfruit"},
  {"point": [435, 172], "label": "paper bag"},
  {"point": [270, 786], "label": "green plastic bowl"},
  {"point": [488, 775], "label": "metal measuring cup"},
  {"point": [673, 580], "label": "dark blue bowl"},
  {"point": [471, 353], "label": "light blue bowl"},
  {"point": [492, 497], "label": "bread"},
  {"point": [525, 429], "label": "lime"}
]

تصویر زیر نمونه‌ای از نحوه نمایش این نقاط است:

مثالی که نقاط اشیا را در تصویر نشان می‌دهد

روش کار

‫Gemini Robotics ER با پیام‌واره‌های زبان طبیعی ورودی تصویر، ویدیو، یا صدا را دریافت می‌کند. این ویژگی اشیا را شناسایی می‌کند، درباره بافت صحنه و روابط فضایی استدلال می‌کند، و برونداد ساختاریافته‌ای مثل مختصات یا چارگوش‌های محدودکننده برمی‌گرداند.

‫Gemini Robotics ER همچنین عامل است: این مدل تکالیف پیچیده را به تکالیف فرعی تقسیم می‌کند و با فراخوانی کردن عملکردهای ربات شما یا اجرای کد تولیدشده، آن‌ها را اجرا می‌کند. برای مثال، «سیب را در کاسه بگذار» به توالی مراحل مکان‌یابی، گرفتن، و قرار دادن تبدیل می‌شود.

برای جزئیات نحوه اجرای تماس‌های ابزار توسط Gemini، فراخوانی تابع را ببینید.

ایمنی

اگرچه Gemini Robotics ER با درنظر گرفتن ایمنی ساخته شده است، اما مسئولیت شما است که محیطی ایمن در اطراف ربات حفظ کنید. مدل‌های هوش مصنوعی زایا ممکن است اشتباه کنند و روبات‌های فیزیکی ممکن است آسیب برسانند. برای کسب اطلاعات بیشتر، به صفحه ایمنی «روباتیک Gemini» مراجعه کنید.

روال‌های مطلوب

  1. از زبان ساده و طبیعی استفاده کنید. کاری را که می‌خواهید روبات انجام دهد همان‌طور که به یک شخص می‌گویید توصیف کنید. اگر اصطلاحی کار نمی‌کند، مترادف رایجی را امتحان کنید.

  2. ورودی دیداری را بهینه کنید. پیش‌از ارسال تصویر، اشیای کوچک یا نامشخص را برش دهید یا زوم‌پیش کنید. نور و کنتراست رنگ پایین می‌تواند روی تشخیص تأثیر بگذارد.

  3. تکالیف پیچیده را به مراحل تقسیم کنید. هر مرحله را به‌عنوان پیام‌واره جداگانه‌ای ارسال کنید تا مدل متمرکز بماند و دقت بهبود یابد.

  4. برای کارهای با دقت بالا، چندین بار پُرسمان کنید و نتایج را میانگین بگیرید. این رویکرد اجماعی باعث کاهش تغییرات در بروندادهای فضایی می‌شود.

محدودیت‌ها

هنگام توسعه با Gemini Robotics ER، محدودیت‌های زیر را درنظر بگیرید:

  • محدودیت‌های کلید API: «میانای برنامه‌سازی کاربردی Gemini» درخواست‌های کلیدهای API بدون محدودیت را نمی‌پذیرد و خطای 403 Forbidden برمی‌گرداند. با افزودن محدودیت‌ها در AI Studio، کلید API خود را ایمن کنید. برای جزئیات، کلیدهای API نامحدود ایمن را ببینید.
  • تأخیر دربرابر عملکرد: پُرسمان‌های پیچیده، ورودی‌های با وضوح بالا، یا سطوح بالای تفکر می‌تواند منجر به افزایش زمان پردازش شود. برای سطح تفکر از متوسط برای ایجاد تعادل خوب بین تأخیر و عملکرد استفاده کنید.
  • توهمات: مانند همه مدل‌های زبانی بزرگ، مدل‌های Gemini Robotics ER گاهی اوقات می‌توانند «توهم» داشته باشند یا اطلاعات نادرست ارائه دهند، به‌ویژه برای پیام‌واره‌های مبهم یا ورودی‌های خارج از توزیع.
  • وابستگی به کیفیت پیام‌واره: کیفیت برونداد به وضوح پیام‌واره ورودی بستگی دارد. از پیام‌واره‌های مشخص و خوش‌ساخت استفاده کنید.
  • هزینه محاسباتی: اجرای مدل، به‌ویژه با ورودی‌های ویدیویی یا thinking_budget بالا، منابع محاسباتی را مصرف می‌کند و هزینه‌هایی را به‌همراه دارد. برای جزئیات بیشتر، صفحه تفکر را ببینید.
  • انواع ورودی: برای جزئیات مربوط به محدودیت‌های هر حالت، موضوعات زیر را ببینید.

اعلامیه حریم خصوصی

تصدیق می‌کنید که مدل‌های ارجاع‌شده در این سند («مدل‌های رباتیک») از داده‌های ویدیویی و صوتی برای عملکرد و حرکت سخت‌افزار شما مطابق با دستورالعمل‌هایتان استفاده می‌کنند. بنابراین ممکن است «مدل‌های رباتیک» را به‌گونه‌ای به‌کار ببرید که داده‌های افراد قابل‌شناسایی، مثل صدا، تصاویر، و داده‌های شباهت («داده‌های شخصی») توسط «مدل‌های رباتیک» جمع‌آوری شود. اگر انتخاب کنید «مدل‌های رباتیک» را به روشی که «داده‌های شخصی» را جمع‌آوری می‌کند اداره کنید، موافقت می‌کنید که به هیچ فرد قابل‌شناسایی اجازه ندهید با «مدل‌های رباتیک» تعامل داشته باشد یا در اطراف آن حضور داشته باشد، مگر اینکه و تا زمانی که به این افراد قابل‌شناسایی به‌اندازه کافی اطلاع داده شود و آن‌ها موافقت کنند که «داده‌های شخصی» آن‌ها ممکن است طبق آنچه در «شرایط خدمات تکمیلی Gemini API» در https://ai.google.dev/gemini-api/terms (این «شرایط») آمده است، ازجمله مطابق با بخش با عنوان «Google چگونه از داده‌های شما استفاده می‌کند»، به Google ارائه شود و Google از آن استفاده کند. تضمین می‌کنید که چنین اعلامیه‌ای اجازه جمع‌آوری و استفاده از «داده‌های شخصی» را همان‌گونه که در «شرایط» ذکر شده است می‌دهد، و تا حد امکان از تلاش‌های تجاری معقولی برای به‌حداقل رساندن جمع‌آوری و توزیع «داده‌های شخصی» بااستفاده از فنونی مانند محو کردن چهره و به‌کارگیری «مدل‌های رباتیک» در مناطقی که حاوی افراد قابل‌شناسایی نیستند استفاده خواهید کرد.

قیمت‌گذاری

برای اطلاعات دقیق درباره قیمت‌گذاری و مناطق دردسترس، به صفحه قیمت‌گذاری مراجعه کنید.

نقطه‌های پایان مدل

پیش‌نمایش Gemini Robotics ER 2

دارایی شرح
کد مدل gemini-robotics-er-2-preview
انواع داده‌های پشتیبانی‌شده برای

ورودی‌ها

نوشتار، تصاویر، ویدیو، صدا

برونداد

نوشتار

محدودیت‌های نشان[*]

محدودیت داده‌واحد ورودی

۱۳۱٬۰۷۲

محدودیت داده‌واحد برونداد

۶۵۵۳۶

‫قابلیت‌ها

تولید صدا

پشتیبانی نمی‌شود

ذخیره در حافظه نهان

پشتیبانی‌شده

اجرای کد

پشتیبانی‌شده

استفاده از رایانه

پشتیبانی‌شده

جستجوی فایل

پشتیبانی‌شده

فراخوانی تابع

پشتیبانی‌شده

پایه‌مندسازی با Google Maps

پشتیبانی‌شده

تولید تصویر

پشتیبانی نمی‌شود

Live API

پشتیبانی نمی‌شود

زمینه‌سازی جستجو

پشتیبانی‌شده

بروندادهای ساختاریافته

پشتیبانی‌شده

درحال فکر کردن

پشتیبانی‌شده

بافت نشانی وب

پشتیبانی‌شده

‫گزینه‌های مصرف

Batch API

پشتیبانی‌شده

استنتاج انعطاف‌پذیر

پشتیبانی نمی‌شود

استنباط اولویت

پشتیبانی نمی‌شود

نسخه
برای جزئیات بیشتر، الگوهای نسخه مدل را بخوانید.
  • پیش‌نمایش: gemini-robotics-er-2-preview
آخرین به‌روزرسانی ژوئیه ۲۰۲۶
کارت مدل کارت مدل

پیش‌نمایش جاری‌سازی Gemini Robotics ER 2

دارایی شرح
کد مدل gemini-robotics-er-2-streaming-preview
انواع داده‌های پشتیبانی‌شده برای

ورودی‌ها

نوشتار، تصاویر، ویدیو، صدا

برونداد

نوشتار

محدودیت‌های نشان[*]

محدودیت داده‌واحد ورودی

۱۳۱٬۰۷۲

محدودیت داده‌واحد برونداد

۶۵۵۳۶

‫قابلیت‌ها

تولید صدا

پشتیبانی نمی‌شود

ذخیره در حافظه نهان

پشتیبانی نمی‌شود

اجرای کد

پشتیبانی نمی‌شود

استفاده از رایانه

پشتیبانی نمی‌شود

جستجوی فایل

پشتیبانی نمی‌شود

فراخوانی تابع

پشتیبانی‌شده

پایه‌مندسازی با Google Maps

پشتیبانی نمی‌شود

تولید تصویر

پشتیبانی نمی‌شود

Live API

پشتیبانی‌شده

زمینه‌سازی جستجو

پشتیبانی‌شده

بروندادهای ساختاریافته

پشتیبانی نمی‌شود

درحال فکر کردن

پشتیبانی‌شده

بافت نشانی وب

پشتیبانی نمی‌شود

‫گزینه‌های مصرف

Batch API

پشتیبانی نمی‌شود

استنتاج انعطاف‌پذیر

پشتیبانی نمی‌شود

استنباط اولویت

پشتیبانی نمی‌شود

نسخه
برای جزئیات بیشتر، الگوهای نسخه مدل را بخوانید.
  • پیش‌نمایش: gemini-robotics-er-2-streaming-preview
آخرین به‌روزرسانی ژوئیه ۲۰۲۶
کارت مدل کارت مدل

پیش‌نمایش Gemini Robotics ER 1.6

دارایی شرح
کد مدل gemini-robotics-er-1.6-preview
انواع داده‌های پشتیبانی‌شده برای

ورودی‌ها

نوشتار، تصاویر، ویدیو، صدا

برونداد

نوشتار

محدودیت‌های نشان[*]

محدودیت داده‌واحد ورودی

۱۳۱٬۰۷۲

محدودیت داده‌واحد برونداد

۶۵۵۳۶

‫قابلیت‌ها

تولید صدا

پشتیبانی نمی‌شود

ذخیره در حافظه نهان

پشتیبانی‌شده

اجرای کد

پشتیبانی‌شده

استفاده از رایانه

پشتیبانی‌شده

جستجوی فایل

پشتیبانی‌شده

فراخوانی تابع

پشتیبانی‌شده

پایه‌مندسازی با Google Maps

پشتیبانی‌شده

تولید تصویر

پشتیبانی نمی‌شود

Live API

پشتیبانی نمی‌شود

زمینه‌سازی جستجو

پشتیبانی‌شده

بروندادهای ساختاریافته

پشتیبانی‌شده

درحال فکر کردن

پشتیبانی‌شده

بافت نشانی وب

پشتیبانی‌شده

‫گزینه‌های مصرف

Batch API

پشتیبانی‌شده

استنتاج انعطاف‌پذیر

پشتیبانی نمی‌شود

استنباط اولویت

پشتیبانی نمی‌شود

نسخه
برای جزئیات بیشتر، الگوهای نسخه مدل را بخوانید.
  • پیش‌نمایش: gemini-robotics-er-1.6-preview
آخرین به‌روزرسانی دسامبر ۲۰۲۵
تاریخ برش دانش ژانویه ۲۰۲۵

قدم بعدی چیست