Descripción general de Gemini Robotics ER 2

Gemini Robotics ER es un modelo de lenguaje de visión (VLM) que aporta un razonamiento avanzado sobre el mundo físico a la robótica. El modelo interpreta datos visuales, realiza razonamientos espaciales y temporales, planifica tareas de varios pasos y organiza robots y herramientas.

Modelos

Gemini Robotics ER 2 es una actualización de nuestro modelo de razonamiento que ofrece un razonamiento preciso sobre el entorno físico de un robot. Se especializa en capacidades de razonamiento incorporado, como la organización de agentes de robots (por ejemplo, con modelos de visión, lenguaje y acción [VLA]), la comprensión de videos de robots (incluida la comprensión del progreso y la detección de éxito), la lectura de instrumentos, la señalización y el razonamiento espacial.

El siguiente modelo está disponible en versión preliminar:

  • gemini-robotics-er-2-preview: Se basa en Gemini 3.5 Flash con un razonamiento espacial mejorado, búsqueda de momentos en videos, clasificación del progreso de videos, organización de varios robots y uso de herramientas de varios pasos. Para conocer las especificaciones técnicas, los límites de tokens y cuotas, las capacidades admitidas, la disponibilidad regional y los precios, consulta la página Información del modelo Gemini Robotics ER 2.

En esta guía, se usa el SDK de IA generativa de Google con Gemini Enterprise Agent Platform. Cada ejemplo inicializa el cliente con enterprise=True y se autentica con las credenciales de Google Cloud, para que puedas llamar al modelo con tu propio proyecto de Google Cloud .

Capacidades de robótica

En la siguiente tabla, se resumen las capacidades principales de Gemini Robotics ER 2:

Función Descripción Guía
Razonamiento espacial Señala objetos, haz un seguimiento de ellos en videos, detecta con cuadros delimitadores y planifica trayectorias. Razonamiento espacial
Ejecución de código de agentes Usa la ejecución de código para acercar o recortar imágenes, leer instrumentos y anotar escenas. Capacidades de agente
Organización de tareas Combina el razonamiento espacial con APIs de robots personalizadas para completar tareas de largo horizonte. Organización de tareas
Comprensión de videos Búsqueda de momentos y clasificación del progreso a partir de feeds de video continuos Comprensión de videos

Antes de comenzar

Agent Platform se autentica con credenciales de Google Cloud, no con una clave de API de Gemini. Completa la siguiente configuración antes de ejecutar los ejemplos:

  1. Instala el SDK de IA generativa de Google.

    pip install --upgrade google-genai
    
  2. Habilita la API en tu proyecto de Google Cloud y asegúrate de tener un ID del proyecto. Puedes usar un proyecto existente o crear uno nuevo.

  3. Autentica con las credenciales predeterminadas de la aplicación (ADC). Para el desarrollo local, ejecuta lo siguiente:

    gcloud auth application-default login
    
  4. Inicializa el cliente con el backend de Agent Platform. Todos los ejemplos de Python de esta página usan el siguiente cliente, por lo que debes establecer tu propio ID del proyecto:

    from google import genai
    
    client = genai.Client(
        enterprise=True,
        project="your-project-id",
        location="global",
    )
    

    Como alternativa, puedes establecer la variable de entorno GOOGLE_GENAI_USE_ENTERPRISE=True en lugar de pasar enterprise=True al cliente.

Comenzar

En el siguiente ejemplo, se encuentran objetos en una imagen y se devuelven sus etiquetas y coordenadas 2D normalizadas. Puedes pasar este resultado directamente a una API de robótica o a un modelo de visión, lenguaje y acción (VLA) para generar acciones de robots.

Python

from google import genai
from google.genai import types

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(
    enterprise=True,
    project="your-project-id",
    location="global",
)

# Load your image
with open("my-image.png", 'rb') as f:
    image_bytes = f.read()

image_response = client.models.generate_content(
    model="gemini-robotics-er-2-preview",
    contents=[
        types.Part.from_bytes(
            data=image_bytes,
            mime_type='image/png',
        ),
        PROMPT
    ],
    config = types.GenerateContentConfig(
        temperature=1.0,
        thinking_config=types.ThinkingConfig(
            thinking_level=types.ThinkingLevel.HIGH
        ),
    )
)

print(image_response.text)

REST

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

# Set your Google Cloud project and location.
export PROJECT_ID="your-project-id"
export LOCATION="global"
export MODEL="gemini-robotics-er-2-preview"

# For the "global" location, use the aiplatform.googleapis.com host.
# For a regional location, prefix the host with the region, for example:
# https://us-central1-aiplatform.googleapis.com

curl -X POST \
  "https://aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL}:generateContent" \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "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."
          }
        ]
      }
    ],
    "generationConfig": {
      "temperature": 1.0,
      "thinkingConfig": {
        "thinkingLevel": "HIGH"
      }
    }
  }'

El resultado será un array JSON que contendrá objetos, cada uno con un point (coordenadas [y, x] normalizadas) y un label que identificará el objeto.

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

En la siguiente imagen, se muestra un ejemplo de cómo se pueden mostrar estos puntos:

Un ejemplo que muestra los puntos de los objetos en una imagen

Cómo funciona

Gemini Robotics ER 2 toma entradas de imagen, video o audio con instrucciones en lenguaje natural. Identifica objetos, razona sobre el contexto de la escena y las relaciones espaciales, y devuelve un resultado estructurado, como coordenadas o cuadros delimitadores.

También es agéntico: desglosa tareas complejas en subtareas y las ejecuta llamando a tus funciones de robot o ejecutando el código generado. Por ejemplo, "coloca la manzana en el tazón" se convierte en una secuencia de pasos de ubicación, agarre y colocación.

Obtén más información sobre cómo funciona la llamada a funciones con Gemini en la página Llamada a funciones.

Seguridad

Gemini Robotics ER 2 se diseñó pensando en la seguridad, pero es tu responsabilidad mantener un entorno seguro alrededor del robot. Los modelos de IA generativa pueden cometer errores, y los robots físicos pueden causar daños. La seguridad es una prioridad, y hacer que los modelos de IA generativa sean seguros cuando se usan con robótica del mundo real es un área activa y fundamental de nuestra investigación. Para obtener más información, visita la página de seguridad de la robótica de Google DeepMind.

Prácticas recomendadas

Sigue estas prácticas recomendadas para obtener los mejores resultados de Gemini Robotics ER 2:

  1. Usa un lenguaje sencillo y natural. Describe lo que quieres que haga el robot como lo harías con una persona. Si un término no funciona, prueba con un sinónimo común.

  2. Optimizar la entrada visual Recorta o acerca los objetos pequeños o poco claros antes de enviar la imagen. La iluminación y el contraste de color bajo pueden afectar la detección.

  3. Divide las tareas complejas en pasos. Envía cada paso como una instrucción independiente para mejorar la precisión en cada subtarea.

  4. Realiza consultas varias veces y promedia los resultados para las tareas de alta precisión. Este enfoque de consenso reduce la varianza en los resultados espaciales.

Limitaciones

Ten en cuenta las siguientes limitaciones cuando desarrolles con Gemini Robotics ER 2:

  • Latencia frente a rendimiento: Las consultas complejas, las entradas de alta resolución o thinking_level.HIGH pueden aumentar los tiempos de procesamiento. Usa thinking_level.MEDIUM para lograr un buen equilibrio entre la latencia y el rendimiento.
  • Alucinaciones: Al igual que todos los modelos de lenguaje grandes, Gemini Robotics ER 2 puede, en ocasiones, "alucinar" o proporcionar información incorrecta, en especial en el caso de instrucciones ambiguas o entradas fuera de distribución.
  • Dependencia de la calidad de la instrucción: La calidad del resultado del modelo depende en gran medida de la claridad y especificidad de la instrucción de entrada. Las instrucciones vagas o mal estructuradas pueden generar resultados deficientes.
  • Recursos de procesamiento: Ejecutar el modelo, en especial con entradas de video o thinking_level.HIGH, consume recursos de procesamiento adicionales. Consulta la página Pensamiento para obtener más detalles.
  • Tipos de entrada: Consulta los siguientes temas para obtener detalles sobre las limitaciones de cada modalidad:

Aviso de privacidad

Reconoces que los modelos a los que se hace referencia en este documento (los "Modelos de Robótica") aprovechan los datos de video y audio para operar y mover tu hardware de acuerdo con tus instrucciones. Por lo tanto, puedes operar los Modelos de Robótica de modo que los datos de personas identificables, como los datos de voz, imágenes y semejanza ("Datos Personales"), se recopilen con los Modelos de Robótica. Si decides operar los Modelos de Robótica de una manera que recopile Datos Personales, aceptas que no permitirás que ninguna persona identificable interactúe con los Modelos de Robótica ni esté presente en el área circundante, a menos que esas personas identificables hayan recibido una notificación suficiente y hayan dado su consentimiento para la recopilación y el uso de sus Datos Personales, como se describe en las condiciones del servicio aplicables de la Plataforma de Agentes. Te asegurarás de que dicho aviso permita la recopilación y el uso de Datos Personales, tal como se describe en esas condiciones, y realizarás esfuerzos comercialmente razonables para minimizar la recopilación y distribución de Datos Personales mediante el uso de técnicas como el desenfoque de rostros y el funcionamiento de los Modelos de Robótica en áreas que no contengan personas identificables en la medida de lo posible.

¿Qué sigue?

Para obtener más información sobre Gemini Robotics ER 2, consulta los siguientes recursos: