# 馃 `vlm_robot_agent`
### Author: Edison Bejarano
Library designed to use VLMs in the context of robotics actions for planning and interactions
Un **agente rob贸tico inteligente** basado en modelos de lenguaje visual (VLM), que puede percibir el entorno desde una imagen, planificar acciones y decidir entre **navegar** o **interactuar con personas** para alcanzar un objetivo dado (como entrar en una habitaci贸n, buscar un ba帽o, etc).
---
## 馃殌 Caracter铆sticas
- 馃摲 **Percepci贸n visual** usando un VLM de OpenAI
- 馃 **Razonamiento basado en objetivos** (macro y micro-goals)
- 馃Л Acciones de **navegaci贸n**:
- `forward`, `left`, `right`, `forward_left`, `forward_right`
- 馃檵 Acciones de **interacci贸n**:
- Conversar con una persona que bloquea el paso
- Hacer gestos para pedir que se mueva
- 馃捑 **Memoria de interacciones** y lectura/ejecuci贸n de prompts desde un folder
---
## 馃摝 Instalaci贸n
```bash
pip install vlm_robot_agent
```
---
## 馃洜 Uso b谩sico
```python
from vlm_robot_agent import VLMRobotAgent
agent = VLMRobotAgent(prompt_folder="./prompts")
image = obtener_imagen_de_tu_robot()
goal = "entrar a la oficina 3"
# Loop de ejecuci贸n
while True:
action = agent.step(image, goal)
ejecutar_action_en_robot(action)
if objetivo_cumplido():
break
```
---
## 馃搧 Estructura de prompts
Los prompts se almacenan como archivos `.json` dentro del folder configurado, y puedes cargarlos con:
```python
prompts = agent.load_prompts()
```
---
## 馃З Integraci贸n con robots
- Puede usarse en sistemas ROS, simuladores como Gazebo, o cualquier entorno de robots.
- El agente necesita:
- Imagen actual del entorno (`image`)
- Objetivo a cumplir (`goal`)
- Una funci贸n que ejecute la acci贸n devuelta (`Navigate`, `Interact`)
---
## 馃摎 Ejemplo de acciones
```python
from vlm_robot_agent import Navigate, Interact
# Navegar hacia adelante
Navigate(direction="forward")
# Pedir a una persona que se mueva
Interact(strategy="ask_to_move")
```
---
## 馃搫 Licencia
MIT
---
## 馃 Futuras mejoras
- Seguimiento de progreso con `StateTracker`
- Manejo de m煤ltiples agentes o flujos conversacionales
- Soporte para entrada multimodal (texto + imagen)
Raw data
{
"_id": null,
"home_page": "https://gitlab.iri.upc.edu/mobile_robotics/moonshot_project/vlm/vlm_inference",
"name": "vlm-robot-agent",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "robotics, vlm, openai, navigation, interaction",
"author": "Edison Bejarano",
"author_email": "Tu Nombre <tunombre@ejemplo.com>",
"download_url": "https://files.pythonhosted.org/packages/6c/91/a12efc8e1f08e5a1732c4bb79d7c8286e8035934a3e9d1a56e3e9a7b8d1f/vlm_robot_agent-0.1.0.tar.gz",
"platform": null,
"description": "# \ud83e\udd16 `vlm_robot_agent`\n\n### Author: Edison Bejarano\n\n\nLibrary designed to use VLMs in the context of robotics actions for planning and interactions\n\n\nUn **agente rob\u00f3tico inteligente** basado en modelos de lenguaje visual (VLM), que puede percibir el entorno desde una imagen, planificar acciones y decidir entre **navegar** o **interactuar con personas** para alcanzar un objetivo dado (como entrar en una habitaci\u00f3n, buscar un ba\u00f1o, etc).\n\n---\n\n## \ud83d\ude80 Caracter\u00edsticas\n\n- \ud83d\udcf7 **Percepci\u00f3n visual** usando un VLM de OpenAI\n- \ud83e\udde0 **Razonamiento basado en objetivos** (macro y micro-goals)\n- \ud83e\udded Acciones de **navegaci\u00f3n**:\n - `forward`, `left`, `right`, `forward_left`, `forward_right`\n- \ud83d\ude4b Acciones de **interacci\u00f3n**:\n - Conversar con una persona que bloquea el paso\n - Hacer gestos para pedir que se mueva\n- \ud83d\udcbe **Memoria de interacciones** y lectura/ejecuci\u00f3n de prompts desde un folder\n\n---\n\n## \ud83d\udce6 Instalaci\u00f3n\n\n```bash\npip install vlm_robot_agent\n```\n\n---\n\n## \ud83d\udee0 Uso b\u00e1sico\n\n```python\nfrom vlm_robot_agent import VLMRobotAgent\n\nagent = VLMRobotAgent(prompt_folder=\"./prompts\")\n\nimage = obtener_imagen_de_tu_robot()\ngoal = \"entrar a la oficina 3\"\n\n# Loop de ejecuci\u00f3n\nwhile True:\n action = agent.step(image, goal)\n ejecutar_action_en_robot(action)\n if objetivo_cumplido():\n break\n```\n\n---\n\n## \ud83d\udcc1 Estructura de prompts\nLos prompts se almacenan como archivos `.json` dentro del folder configurado, y puedes cargarlos con:\n\n```python\nprompts = agent.load_prompts()\n```\n\n---\n\n## \ud83e\udde9 Integraci\u00f3n con robots\n- Puede usarse en sistemas ROS, simuladores como Gazebo, o cualquier entorno de robots.\n- El agente necesita:\n - Imagen actual del entorno (`image`)\n - Objetivo a cumplir (`goal`)\n - Una funci\u00f3n que ejecute la acci\u00f3n devuelta (`Navigate`, `Interact`)\n\n---\n\n## \ud83d\udcda Ejemplo de acciones\n```python\nfrom vlm_robot_agent import Navigate, Interact\n\n# Navegar hacia adelante\nNavigate(direction=\"forward\")\n\n# Pedir a una persona que se mueva\nInteract(strategy=\"ask_to_move\")\n```\n\n---\n\n## \ud83d\udcc4 Licencia\nMIT\n\n---\n\n## \ud83e\udde0 Futuras mejoras\n- Seguimiento de progreso con `StateTracker`\n- Manejo de m\u00faltiples agentes o flujos conversacionales\n- Soporte para entrada multimodal (texto + imagen)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Agente rob\u00f3tico basado en VLM que navega e interact\u00faa con personas seg\u00fan objetivos visuales",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/EjbejaranosAI/vlm_robot_agent",
"Repository": "https://github.com/EjbejaranosAI/vlm_robot_agent"
},
"split_keywords": [
"robotics",
" vlm",
" openai",
" navigation",
" interaction"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "890f8e7c3c655f1fcbaeaf189fccf84af585bab3617cb208208fb8a9d25776b3",
"md5": "393e67bba705b5ed00bcc62d6a823c0e",
"sha256": "0773fdf84f5609d15b1968ed349afe350df4bae36681f0fe7027fa2d13ca5ead"
},
"downloads": -1,
"filename": "vlm_robot_agent-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "393e67bba705b5ed00bcc62d6a823c0e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 3305,
"upload_time": "2025-07-12T21:17:11",
"upload_time_iso_8601": "2025-07-12T21:17:11.312658Z",
"url": "https://files.pythonhosted.org/packages/89/0f/8e7c3c655f1fcbaeaf189fccf84af585bab3617cb208208fb8a9d25776b3/vlm_robot_agent-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6c91a12efc8e1f08e5a1732c4bb79d7c8286e8035934a3e9d1a56e3e9a7b8d1f",
"md5": "be6012dd380692b36717b8b2442994da",
"sha256": "b2157c53f91f10b1aa5ffee2fedc25d226080f11c11c641c816f24bb12e22f98"
},
"downloads": -1,
"filename": "vlm_robot_agent-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "be6012dd380692b36717b8b2442994da",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 3585,
"upload_time": "2025-07-12T21:17:12",
"upload_time_iso_8601": "2025-07-12T21:17:12.703207Z",
"url": "https://files.pythonhosted.org/packages/6c/91/a12efc8e1f08e5a1732c4bb79d7c8286e8035934a3e9d1a56e3e9a7b8d1f/vlm_robot_agent-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-12 21:17:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "EjbejaranosAI",
"github_project": "vlm_robot_agent",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "vlm-robot-agent"
}