vlm-robot-agent


Namevlm-robot-agent JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryAgente rob贸tico basado en VLM que navega e interact煤a con personas seg煤n objetivos visuales
upload_time2025-07-23 14:37:53
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords robotics vlm openai navigation interaction
VCS
bugtrack_url
requirements pyttsx3 openai-whisper sounddevice soundfile numpy resources
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 馃 `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)


<p align="center">
  <img src="img/edison-bejarano.png" alt="Edison Bejarano" width="300"/>
</p>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vlm-robot-agent",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "robotics, vlm, openai, navigation, interaction",
    "author": null,
    "author_email": "Edison Bejarano <edison.bejarano@upc.edu>",
    "download_url": "https://files.pythonhosted.org/packages/cc/c7/fd298fdb4c57919d6e91663e021f7d47724023959372f4bb57daecae2021/vlm_robot_agent-0.3.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\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\n\n<p align=\"center\">\n  <img src=\"img/edison-bejarano.png\" alt=\"Edison Bejarano\" width=\"300\"/>\n</p>\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.3.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": "a503ccfe46220363a2596fe8ab56d35f58c6b43f5bd386d61097be5255cde9a0",
                "md5": "4ae7474b1aeee8b2e029481d33f07b1c",
                "sha256": "b4c089768f5c1e62d4319ef025d7db095c90e9691899a91c4f02fa30d99ef650"
            },
            "downloads": -1,
            "filename": "vlm_robot_agent-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4ae7474b1aeee8b2e029481d33f07b1c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 26122,
            "upload_time": "2025-07-23T14:37:52",
            "upload_time_iso_8601": "2025-07-23T14:37:52.042058Z",
            "url": "https://files.pythonhosted.org/packages/a5/03/ccfe46220363a2596fe8ab56d35f58c6b43f5bd386d61097be5255cde9a0/vlm_robot_agent-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ccc7fd298fdb4c57919d6e91663e021f7d47724023959372f4bb57daecae2021",
                "md5": "b55904d8ffc4c5beed5133018156e0ab",
                "sha256": "7c578a59ecc4a823926cd01237033bd1206cb264da025539bb47df810706ca62"
            },
            "downloads": -1,
            "filename": "vlm_robot_agent-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b55904d8ffc4c5beed5133018156e0ab",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 22059,
            "upload_time": "2025-07-23T14:37:53",
            "upload_time_iso_8601": "2025-07-23T14:37:53.471862Z",
            "url": "https://files.pythonhosted.org/packages/cc/c7/fd298fdb4c57919d6e91663e021f7d47724023959372f4bb57daecae2021/vlm_robot_agent-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-23 14:37:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "EjbejaranosAI",
    "github_project": "vlm_robot_agent",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "pyttsx3",
            "specs": []
        },
        {
            "name": "openai-whisper",
            "specs": []
        },
        {
            "name": "sounddevice",
            "specs": []
        },
        {
            "name": "soundfile",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "resources",
            "specs": []
        }
    ],
    "lcname": "vlm-robot-agent"
}
        
Elapsed time: 1.81456s