22. Usar OpenClaw para Controlar el PiCar-X

¿Qué es OpenClaw?

Considéralo como una versión mejorada de ChatGPT. Mientras que los chatbots tradicionales solo pueden hablar (generar texto), OpenClaw puede actuar. Entiende tus instrucciones en lenguaje natural y puede realizar operaciones en tu ordenador, como ejecutar comandos, gestionar archivos y llamar a diversas herramientas.

Aquí tienes algunos escenarios de aplicación fantásticos:

  • Asistente personal todoterreno: Deja que te ayude a gestionar tu agenda, establecer recordatorios y hacer seguimiento de tareas. Solo tienes que decírselo en una app de mensajería (como Telegram, WhatsApp), y él lo recordará y ejecutará.

  • Pegamento de automatización: Puede actuar como aglutinante para tus diversos servicios. Por ejemplo, puedes pedirle que monitorice un sitio web en busca de cambios de precio. Una vez detectada una bajada de precio, puede activar automáticamente un flujo de trabajo n8n para enviarte una notificación por correo electrónico.

  • Asistente de desarrollo dedicado: Pídele que te ayude a gestionar servidores, ejecutar scripts y revisar logs. Puedes simplemente decir: «Comprueba la carga del sistema», y él puede conectarse por SSH a tu servidor, ejecutar el comando y devolver los resultados.

  • Compañero de hardware: Este es un caso de uso muy interesante. Puedes hacer que OpenClaw controle el hardware conectado a una Raspberry Pi. Por ejemplo, un desarrollador lo usó para controlar un aspirador robótico con un brazo mecánico, o incluso para analizar datos de un simulador de carreras y mostrarlos en una pantalla LED. ¡El equipo oficial de Raspberry Pi incluso lo usó para construir un fotomatón automático para una boda, simplemente conversando, sin escribir una sola línea de código!

Importante

La Raspberry Pi Zero 2W tiene solo 512 MB de RAM, mientras que OpenClaw requiere un mínimo de 1 GB. Por lo tanto, no puede funcionar correctamente. Se recomienda una Raspberry Pi 4/5 o superior.

Inicio Rápido de OpenClaw

Si quieres experimentar la potencia de OpenClaw lo más rápido posible, usa este método. Instalará y lanzará automáticamente un asistente de configuración interactivo.

  1. Abre el terminal en tu Raspberry Pi y ejecuta directamente el siguiente comando. Este comando descarga el script de instalación desde el sitio oficial y lo ejecuta:

    curl -fsSL https://openclaw.ai/install.sh | bash
    

    Nota

    Dado que las nuevas versiones se actualizan rápidamente, es normal que los pasos de instalación difieran ligeramente.

  2. El script descargará e instalará automáticamente OpenClaw.

    _images/install_open_claw.png
  3. A continuación verás un aviso de seguridad preguntándote si confías en OpenClaw. Una vez que estés seguro de que es fiable, usa las teclas de flecha para navegar hasta «Yes» y pulsa Enter.

    _images/security_open_claw.png
  4. Selecciona Quick Start, luego pulsa Enter.

    _images/quickstart_open_claw.png
  5. Selecciona tu modelo, luego pulsa Enter. Aquí usamos OpenAI como ejemplo.

    _images/model_provider_open_claw.png
  6. Selecciona OpenAI API Key.

    _images/api_key_open_claw.png
  7. Pega la clave API ahora.

    _images/paste_api_key_open_claw.png
  8. Ve a OpenAI Platform e inicia sesión. En la página API keys, haz clic en Create new secret key.

    _images/llm_openai_create1.png
  9. Rellena los detalles (Owner, Name, Project y permisos si es necesario), luego haz clic en Create secret key.

    _images/llm_openai_create_confirm1.png
  10. Una vez creada la clave, cópiala inmediatamente — no podrás volver a verla. Si la pierdes, tendrás que generar una nueva.

    _images/llm_openai_copy1.png
  11. Pega la clave en la configuración de OpenClaw.

    _images/paste_api_key_enter_open_claw.png
  12. Selecciona el modelo que deseas usar. En este ejemplo, usaremos Keep current.

    _images/model_config_open_claw.png
  13. A continuación viene la selección del canal. Los canales se refieren a los servicios de comunicación soportados por OpenClaw, como Telegram, WhatsApp, Discord y más. Usa la flecha hacia abajo para seleccionar la opción «Skip for now», luego pulsa Enter.

    _images/channel_open_claw.png
  14. A continuación, se te pedirá que configures las habilidades inmediatamente. Selecciona «Yes» y pulsa Enter.

    _images/config_skill_open_claw.png
  15. Instala las habilidades que necesites. En el siguiente ejemplo, seleccionamos la opción «Skip for now» (pulsa la barra espaciadora para seleccionar), luego pulsa Enter.

    _images/install_skill_open_claw.png
  16. Luego vienen los Hooks; marcaremos «command-logger» y «session-memory».

    _images/hooks2_open_claw.png
  17. La instalación está completa. Puedes iniciar OpenClaw seleccionando «Hatch in TUI» y pulsando Enter.

_images/hatch_open_claw.png

Nota

Puedes iniciar OpenClaw introduciendo el siguiente comando:

openclaw tui

Y puedes pulsar ctrl+c dos veces para salir de la interfaz TUI.


Hacer que OpenClaw Controle el PiCar-X

¿Qué es la habilidad PiCar-X?

La habilidad PiCar-X es una extensión para OpenClaw que te permite controlar tu coche robot SunFounder PiCar-X mediante lenguaje natural. En lugar de escribir scripts de Python o memorizar ángulos de servo, puedes simplemente decirle a OpenClaw lo que quieres que haga el PiCar-X — como «avanza», «comprueba qué hay delante» o «gira a la izquierda» — y OpenClaw ejecutará automáticamente el código Python apropiado.

Aquí tienes algunas cosas que puedes hacer con la habilidad PiCar-X:

  • Conducción: Avanzar, retroceder, girar a la izquierda/derecha con control del servo de dirección

  • Cámara orientable: Panorámica izquierda/derecha, inclinación arriba/abajo mediante la cámara de 2 ejes

  • Sensores: Leer distancia ultrasónica, datos del sensor de escala de grises para seguimiento de línea y detección de precipicios

  • Sonido: Reproducir efectos de sonido y música a través del altavoz del coche

  • Visión artificial: Tomar fotos, detectar rostros, seguir colores, reconocer códigos QR, gestos y señales de tráfico


Prerrequisitos

Antes de poder usar la habilidad PiCar-X con OpenClaw, asegúrate de tener:

  1. PiCar-X correctamente montado y conectado a tu Raspberry Pi

  2. OpenClaw instalado y en funcionamiento

  3. Las siguientes bibliotecas de Python instaladas:

    • picarx

    • robot_hat

    • vilib

Puedes verificar la instalación ejecutando:

python3 -c "import picarx"

Si este comando se ejecuta sin errores, estás listo para continuar.


Instalar la Habilidad PiCar-X

Sigue estos pasos para instalar la habilidad PiCar-X para OpenClaw:

  1. Copia los archivos de la habilidad PiCar-X al directorio de habilidades de OpenClaw:

    cp -r ~/picar-x/picarx-control ~/.openclaw/workspace/skills/
    
  2. Verifica la instalación comprobando los archivos de la habilidad:

    ls ~/.openclaw/workspace/skills/picarx-control/
    

    Deberías ver SKILL.md, install.sh, scripts/ y references/ en la salida.

El archivo SKILL.md de la habilidad contiene todas las instrucciones que OpenClaw necesita — reglas de seguridad, plantillas de código para cada capacidad y un mapeo de solicitudes en lenguaje natural a código Python. OpenClaw lee este archivo y lo usa para decidir qué código ejecutar en tu PiCar-X.


Probar la Habilidad PiCar-X desde la CLI

Antes de usar la habilidad con OpenClaw, puede que quieras probar la funcionalidad básica directamente desde el terminal usando la herramienta CLI incluida.

Comprobar la distancia ultrasónica:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py sensor distance

Avanzar:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py move forward --speed 60

Retroceder:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py move backward --speed 60

Girar a la izquierda:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py turn left --angle 30

Girar a la derecha:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py turn right --angle 30

Establecer ángulo de panorámica de la cámara:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py cam pan --angle 30

Establecer ángulo de inclinación de la cámara:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py cam tilt --angle 20

Reproducir un efecto de sonido:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py sound play /path/to/sound.wav --volume 80

Leer datos del sensor de escala de grises (seguimiento de línea):

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py sensor grayscale

Ejecutar calibración de servos:

python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py calibrate

Usar la Habilidad PiCar-X en OpenClaw

Una vez que hayas verificado que la habilidad PiCar-X funciona desde la línea de comandos, puedes empezar a usarla dentro de OpenClaw.

  1. Inicia OpenClaw TUI:

    openclaw tui
    
  2. Envía comandos en lenguaje natural para controlar el PiCar-X. Aquí tienes algunos ejemplos:

    • «Avanza»

    • «Retrocede»

    • «Gira a la izquierda»

    • «Gira a la derecha»

    • «Comprueba si hay algo delante»

    • «Mira a la izquierda»

    • «Mira hacia arriba»

    • «Mira hacia abajo»

    • «Toma una foto»

    • «Detecta rostros»

    • «Encuentra el color rojo»

    • «Sigue la línea»

    • «Comprueba si hay un precipicio delante»

  3. OpenClaw traducirá automáticamente tu solicitud al código Python apropiado y lo ejecutará en el PiCar-X.


Acciones y Comandos Disponibles

Aquí está la lista completa de capacidades soportadas por la habilidad PiCar-X:

Conducción (pc.py move)

Acción

Descripción

forward

Avanzar

backward

Retroceder

Dirección (pc.py turn)

Acción

Descripción

left

Girar a la izquierda ajustando el ángulo de dirección

right

Girar a la derecha ajustando el ángulo de dirección

Cámara orientable (pc.py cam)

Capacidad

Descripción

Panorámica

Rotar la cámara horizontalmente (de -90° a 90°)

Inclinación

Inclinar la cámara verticalmente (de -35° a 65°)

Sensores

Comando

Descripción

sensor distance

Leer el sensor de distancia ultrasónico (devuelve cm)

sensor grayscale

Leer los valores del módulo de escala de grises de 3 canales (para seguimiento de línea y detección de precipicios)

Sonido (pc.py sound)

Comando

Descripción

sound play <archivo>

Reproducir un archivo de efecto de sonido

sound music <archivo>

Reproducir música de fondo

sound volume <0-100>

Establecer el volumen del altavoz

sound stop

Detener la reproducción

Nota

Los archivos de sonido pueden ser cualquier archivo de audio en formato .wav accesible en tu Raspberry Pi. También puedes usar sound music para reproducir archivos de música de fondo.

Cámara y Visión (vía lenguaje natural / exec)

Capacidad

Descripción

Tomar foto

Capturar y guardar una foto en ~/Pictures/

Detección de rostros

Detectar rostros humanos e informar de la posición

Detección de color

Localizar objetos por color (rojo, azul, verde, etc.)

Reconocimiento de gestos

Reconocer gestos de piedra/papel/tijera

Detección de señales de tráfico

Reconocer señales de stop/izquierda/derecha/adelante

Escaneo de códigos QR

Leer datos y posición de códigos QR

Seguimiento de Línea y Detección de Precipicios

Capacidad

Descripción

Seguimiento de línea

Seguir una línea negra sobre una superficie clara usando el sensor de escala de grises de 3 canales

Detección de precipicios

Detectar bordes/caídas usando los valores de umbral del sensor de escala de grises


Solución de Problemas

Problemas con OpenClaw

  1. Durante la instalación, obtengo el error Error: systemctl is-enabled unavailable: Command failed: systemctl --user is-enabled openclaw-gateway.service. ¿Qué debo hacer?

    Puedes ignorarlo por ahora, pero podrías encontrar problemas en los siguientes pasos. Por favor, consúltalos uno por uno en ese momento.

  1. Cuando ejecuto openclaw tui, obtengo el error -bash: openclaw: command not found. ¿Qué debo hacer?

    Ejecuta el siguiente comando:

    echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    

    Ahora deberías poder iniciar la interfaz TUI con openclaw tui.

  1. En openclaw tui, me encuentro con not connected to gateway message not sent o el mensaje gateway disconnected: closed.

    Esto se debe a que tu servicio OpenClaw Gateway no está iniciado. Abre otro terminal y ejecuta el siguiente comando para iniciar el OpenClaw Gateway:

    openclaw gateway
    

    Luego reinicia openclaw tui, y podrás usarlo directamente.

  1. Quiero configurar el servicio OpenClaw Gateway para que se ejecute en segundo plano / se inicie automáticamente al arrancar. ¿Cómo lo hago?

    Normalmente, tu servicio OpenClaw Gateway debería iniciarse automáticamente al arrancar. Si no lo hace, puedes iniciarlo manualmente con el siguiente comando.

    1. Crea el directorio ~/.config/systemd/user:

    mkdir -p ~/.config/systemd/user
    
    1. Crea el archivo openclaw-gateway.service:

    cat > ~/.config/systemd/user/openclaw-gateway.service << EOF
    [Unit]
    Description=OpenClaw Gateway
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=$HOME/.npm-global/bin/openclaw gateway run
    Restart=on-failure
    RestartSec=10
    Environment="PATH=$HOME/.npm-global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin"
    Environment="NODE_ENV=production"
    
    [Install]
    WantedBy=default.target
    EOF
    
    1. Luego recarga la configuración de systemd:

    systemctl --user daemon-reload
    
    1. Inicia el servicio:

    systemctl --user start openclaw-gateway
    

    En este punto, reinicia openclaw tui, y podrás usarlo directamente.

    1. Actívalo para que se inicie al arrancar:

    systemctl --user enable openclaw-gateway
    
  1. Mi OpenClaw no puede interactuar con el sistema, ¿qué debo hacer?

    Un OpenClaw recién instalado puede no tener permiso para interactuar con tu sistema Raspberry Pi por defecto; solo puede chatear. Necesitamos configurar manualmente los permisos.

    1. Abre el archivo de configuración de OpenClaw:

    nano ~/.openclaw/openclaw.json
    
    1. Encuentra la opción tools y modifica profile y exec como se muestra.

    "tools": {
        "profile": "coding",
        "exec": {
            "secrity": "full"
        }
    },
    
    1. Guarda y sale.

    2. Introduce el siguiente comando en el terminal para reiniciar el OpenClaw Gateway:

    openclaw gateway restart
    

    Ahora, OpenClaw debería tener permisos de lectura y escritura y poder interactuar con tu sistema Raspberry Pi.

Problemas con el PiCar-X

  1. El PiCar-X no responde a los comandos. ¿Qué debo hacer?

    Primero, verifica que el PiCar-X esté correctamente conectado y encendido. Luego prueba la funcionalidad básica:

    python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py sensor distance
    

    Si esto falla, asegúrate de que las bibliotecas Python requeridas estén instaladas:

    python3 -c "import picarx; import robot_hat; import vilib"
    
  1. La prueba import picarx falla.

    Esto significa que la biblioteca Python de PiCar-X no está instalada correctamente. Consulta la guía oficial de instalación de PiCar-X para instalar las bibliotecas necesarias. También puedes ejecutar el script de instalación incluido:

    bash ~/.openclaw/workspace/skills/picarx-control/install.sh
    
  1. OpenClaw no reconoce la habilidad PiCar-X.

    Recuerda a OpenClaw que sincronice las habilidades diciendo en el TUI: «Please rsync my skills» o reinicia el OpenClaw Gateway:

    openclaw gateway restart
    
  1. Los movimientos del PiCar-X parecen bruscos o la dirección está descentrada.

    Esto suele deberse a valores de calibración de los servos incorrectos. Ejecuta el script de calibración para ajustar el servo de dirección y la cámara orientable:

    python3 ~/.openclaw/workspace/skills/picarx-control/scripts/pc.py calibrate
    

    También puedes ajustar el parámetro de velocidad (por ejemplo, usa --speed 40) para un movimiento más suave, o añadir pausas cortas entre comandos consecutivos.

  1. El seguimiento de línea o la escala de grises no funciona correctamente.

    Asegúrate de que el módulo de escala de grises esté correctamente calibrado para tu superficie. Puedes establecer los valores de referencia de línea usando la configuración. Consulta la documentación principal de PiCar-X para los procedimientos de calibración de escala de grises.