Gemini Robotics ER 2 può monitorare l'avanzamento delle attività dai feed video continui utilizzando due funzionalità:
- Ricerca di momenti: identifica il timestamp preciso in cui si verifica un evento chiave.
- Classificazione dell'avanzamento: assegna a ogni video una delle cinque fasce di completamento (0-20%, 20-40%, 40-60%, 60-80%, 80-100%).
Ricerca di momenti
La ricerca di momenti identifica il frame video esatto in cui si verifica un evento critico, ad esempio quando una tazza è piena o viene fatto un nodo. I robot lo utilizzano per verificare il successo, sequenziare i passaggi e attivare le correzioni.
Il seguente prompt di esempio chiede al modello di identificare il momento di completamento di una determinata attività in un video:
from google import genai
client = genai.Client()
uploaded_file = client.files.upload(file="task_video.mp4")
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}.
"""
interaction = client.interactions.create(
model="gemini-robotics-er-2-preview",
input=[
{
"type": "video",
"uri": uploaded_file.uri,
"mime_type": uploaded_file.mime_type
},
{"type": "text", "text": prompt}
],
)
print(interaction.output_text)
Di seguito sono riportati esempi di frame di un video di ricerca di momenti, con il modello che identifica il timestamp di completamento dell'attività:
Classificazione dell'avanzamento
La classificazione dell'avanzamento assegna un video a una delle cinque fasce di completamento: 0-20%, 20-40%, 40-60%, 60-80% o 80-100%. In questo modo, i robot hanno una consapevolezza situazionale in tempo reale, in modo da poter regolare le azioni o riprovare i passaggi non riusciti senza riavviare un intero flusso di lavoro.
Il seguente prompt di esempio chiede al modello di classificare il livello di avanzamento corrente di un video:
from google import genai
client = genai.Client()
uploaded_file = client.files.upload(file="task_video.mp4")
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"}.
"""
interaction = client.interactions.create(
model="gemini-robotics-er-2-preview",
input=[
{
"type": "video",
"uri": uploaded_file.uri,
"mime_type": uploaded_file.mime_type
},
{"type": "text", "text": prompt}
],
)
print(interaction.output_text)
Di seguito sono riportati esempi di frame di un video di classificazione dell'avanzamento, con il modello che assegna una fascia di avanzamento:
Esempi
Per esempi eseguibili completi, incluso il monitoraggio delle attività in più passaggi, consulta il ricettario di robotica.
Passaggi successivi
- API Live per la robotica: streaming bidirezionale in tempo reale.
- Orchestrazione delle attività: attività a lungo termine con ragionamento spaziale.
- Panoramica di Gemini Robotics ER: confronto e funzionalità dei modelli.