Gemini Robotics ER

Modele Gemini Robotics ER (embodied reasoning) to modele wizualno-językowe (VLM), które umożliwiają robotom postrzeganie świata fizycznego i interakcję z nim. Interpretują dane wizualne, przeprowadzają rozumowanie przestrzenne i czasowe, planują wieloetapowe zadania oraz zarządzają robotami i narzędziami.

Modele

Model Gemini Robotics ER 2 to najnowszy model w Gemini Robotics. To nasz zaktualizowany model rozumowania, który umożliwia robotom dokładne zrozumienie otoczenia. Specjalizuje się w rozumowaniu w świecie fizycznym, np.w orkiestracji agentów robotów (np. za pomocą VLA), rozumieniu filmów z robotami, w tym w rozumieniu postępów i wykrywaniu sukcesów, odczytywaniu wskazań przyrządów, wskazywaniu i rozumowaniu przestrzennym.

Model Gemini Robotics ER 2 wprowadza 2 punkty końcowe modelu:

  • gemini-robotics-er-2-preview: standardowy model ER2. Ulepszona wersja Gemini 3.5 Flash z lepszym rozumowaniem przestrzennym, wyszukiwaniem momentów w filmie, klasyfikacją postępu wideo, koordynacją pracy wielu robotów i wieloetapowym korzystaniem z narzędzi.
  • gemini-robotics-er-2-streaming-preview: zoptymalizowany pod kątem przesyłania strumieniowego w czasie rzeczywistym za pomocą interfejsu Live API. Użyj tego modelu w przypadku robotów o krótkim czasie oczekiwania, które przetwarzają ciągłe dane wejściowe audio i wideo.

Jeśli używasz Gemini Robotics ER 1.6, przejdź na Gemini Robotics ER 2, zastępując w wywołaniach interfejsu API ciąg znaków model="gemini-robotics-er-1.6-preview" ciągiem model="gemini-robotics-er-2-preview" lub model="gemini-robotics-er-2-streaming-preview". Pamiętaj, że model Gemini Robotics ER 1.6 zostanie wyłączony pod koniec sierpnia.

Wypróbuj Gemini Robotics ER 2 w Google AI Studio

Możliwości robotyki

Gemini Robotics ER obsługuje szereg funkcji rozumowania w świecie fizycznym. Wybierz funkcję, aby dowiedzieć się więcej:

Możliwości Opis Przewodnik
rozumowanie przestrzenne, wskazywać obiekty, śledzić je w filmach, wykrywać za pomocą ramek ograniczających i planować trajektorie. Rozumowanie przestrzenne
Agentic Vision Używaj wykonywania kodu, aby zwiększać możliwości innych funkcji, korzystając z narzędzi do manipulowania obrazami. Wizja agentowa
Orkiestracja zadań Łącz rozumowanie przestrzenne z niestandardowymi interfejsami API robotów, aby wykonywać zadania długoterminowe. Orkiestracja zadań
Streaming (tylko punkt końcowy Gemini Robotics ER 2 Streaming) Dwukierunkowe przesyłanie strumieniowe dla robotów w czasie rzeczywistym z krótkim czasem oczekiwania i wywoływaniem funkcji. Streaming dla robotyki
Postępy odtwarzania filmu (tylko Gemini Robotics ER2) Wyszukiwanie momentów i klasyfikowanie postępów na podstawie ciągłych transmisji wideo. Rozumienie filmów

Pierwsze kroki

Ten przykład znajduje obiekty na obrazie i zwraca ich znormalizowane współrzędne 2D oraz etykiety. Możesz przekazać te dane wyjściowe bezpośrednio do interfejsu API robotyki lub modelu VLA, aby wygenerować działania robota.

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)

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"
      }
    }
  }'

Dane wyjściowe będą tablicą JSON zawierającą obiekty, z których każdy będzie miał point (znormalizowane współrzędne [y, x]) i label identyfikujące obiekt.

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"}
]

Na tym obrazie widać, jak mogą być wyświetlane te punkty:

Przykład wyświetlający punkty obiektów na obrazie

Jak to działa

Gemini Robotics ER przyjmuje dane wejściowe w postaci obrazów, filmów lub dźwięków z promptami w języku naturalnym. Identyfikuje obiekty, analizuje kontekst sceny i relacje przestrzenne oraz zwraca uporządkowane dane wyjściowe, takie jak współrzędne lub ramki ograniczające.

Gemini Robotics ER jest też agentem: dzieli złożone zadania na podzadania i wykonuje je, wywołując funkcje robota lub uruchamiając wygenerowany kod. Na przykład „włóż jabłko do miski” staje się sekwencją kroków: zlokalizuj, chwyć i umieść.

Więcej informacji o tym, jak Gemini wykonuje wywołania narzędzi, znajdziesz w sekcji Wywoływanie funkcji.

Bezpieczeństwo

Gemini Robotics ER zostało zaprojektowane z myślą o bezpieczeństwie, ale to Ty odpowiadasz za utrzymanie bezpiecznego środowiska wokół robota. Modele generatywnej AI mogą popełniać błędy, a roboty fizyczne mogą powodować uszkodzenia. Więcej informacji znajdziesz na stronie Google DeepMind poświęconej bezpieczeństwu robotów.

Sprawdzone metody

  1. Używaj prostego, języka naturalnego. Opisz, co ma robić robot, tak jakbyś mówił(-a) do człowieka. Jeśli dane słowo nie działa, wypróbuj popularny synonim.

  2. Optymalizuj dane wizualne. Przed wysłaniem obrazu możesz przyciąć lub powiększyć małe lub niewyraźne obiekty. Oświetlenie i niski kontrast kolorów mogą wpływać na wykrywanie.