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.
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.
El script descargará e instalará automáticamente OpenClaw.
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.
Selecciona Quick Start, luego pulsa Enter.
Selecciona tu modelo, luego pulsa Enter. Aquí usamos OpenAI como ejemplo.
Selecciona OpenAI API Key.
Pega la clave API ahora.
Ve a OpenAI Platform e inicia sesión. En la página API keys, haz clic en Create new secret key.
Rellena los detalles (Owner, Name, Project y permisos si es necesario), luego haz clic en Create secret key.
Una vez creada la clave, cópiala inmediatamente — no podrás volver a verla. Si la pierdes, tendrás que generar una nueva.
Pega la clave en la configuración de OpenClaw.
Selecciona el modelo que deseas usar. En este ejemplo, usaremos Keep current.
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.
A continuación, se te pedirá que configures las habilidades inmediatamente. Selecciona «Yes» y pulsa Enter.
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.
Luego vienen los Hooks; marcaremos «command-logger» y «session-memory».
La instalación está completa. Puedes iniciar OpenClaw seleccionando «Hatch in TUI» y pulsando Enter.
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:
PiCar-X correctamente montado y conectado a tu Raspberry Pi
OpenClaw instalado y en funcionamiento
Las siguientes bibliotecas de Python instaladas:
picarxrobot_hatvilib
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:
Copia los archivos de la habilidad PiCar-X al directorio de habilidades de OpenClaw:
cp -r ~/picar-x/picarx-control ~/.openclaw/workspace/skills/
Verifica la instalación comprobando los archivos de la habilidad:
ls ~/.openclaw/workspace/skills/picarx-control/Deberías ver
SKILL.md,install.sh,scripts/yreferences/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.
Inicia OpenClaw TUI:
openclaw tuiEnví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»
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 |
|---|---|
|
Avanzar |
|
Retroceder |
Dirección (pc.py turn)
Acción |
Descripción |
|---|---|
|
Girar a la izquierda ajustando el ángulo de dirección |
|
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 |
|---|---|
|
Leer el sensor de distancia ultrasónico (devuelve cm) |
|
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 |
|---|---|
|
Reproducir un archivo de efecto de sonido |
|
Reproducir música de fondo |
|
Establecer el volumen del altavoz |
|
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 |
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
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.
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.
En
openclaw tui, me encuentro connot connected to gateway — message not sento el mensajegateway 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 gatewayLuego reinicia
openclaw tui, y podrás usarlo directamente.
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.
Crea el directorio
~/.config/systemd/user:
mkdir -p ~/.config/systemd/user
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
Luego recarga la configuración de systemd:
systemctl --user daemon-reload
Inicia el servicio:
systemctl --user start openclaw-gateway
En este punto, reinicia
openclaw tui, y podrás usarlo directamente.Actívalo para que se inicie al arrancar:
systemctl --user enable openclaw-gateway
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.
Abre el archivo de configuración de OpenClaw:
nano ~/.openclaw/openclaw.jsonEncuentra la opción
toolsy modificaprofileyexeccomo se muestra.
"tools": { "profile": "coding", "exec": { "secrity": "full" } },
Guarda y sale.
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
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"
La prueba
import picarxfalla.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
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
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.
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.