XiaoMu con Python: acceder a la cámara y al micrófono

El ejemplo de XiaoMu permite capturar imagen y sonido en el robot. Qué debes preparar, por qué no muestra vídeo remoto y cómo separar captura de reconocimiento.

·Redacción Robotica.es
4 min de lectura
Fotografía oficial de dos robots XiaoMu, azul y crema, con las pantallas encendidas y un brazo levantado sobre una mesa.

Timu XiaoMu Programming Edition permite acceder desde Python a su cámara y micrófono para preparar un proyecto propio de visión o audio. El ejemplo oficial captura los datos dentro del robot: ejecutarlo mediante una conexión SSH no convierte automáticamente el portátil en un monitor remoto. Esa diferencia determina cuánto trabajo falta para construir una aplicación que vea o escuche.

Esta guía documental examina el código publicado por Timu, sin una prueba física del robot. Complementa la presentación de XiaoMu y sus interfaces de programación con una tarea concreta: entender y preparar la captura antes de añadir reconocimiento o transmisión.

El ejemplo abre dispositivos, pero no envía vídeo

El archivo hardware_raw_demo.py de Timu [en] utiliza OpenCV para abrir la cámara y leer imágenes. En el punto donde podría codificarlas y enviarlas a otro equipo solo hay un comentario con trabajo pendiente. Tampoco incorpora una ventana de previsualización ni un servidor al que conectarse desde el navegador.

Por eso, que el programa siga abierto sin enseñar una imagen no demuestra que la cámara falle. La documentación de OpenCV [en] separa expresamente abrir la captura, leer un fotograma y mostrarlo. La visualización exige una operación adicional. Una primera ampliación razonable sería guardar una imagen de prueba en el robot y comprobar el archivo antes de desarrollar un flujo continuo.

El audio sigue la misma lógica. La función que recibe los bloques del micrófono no los guarda ni los manda a otro ordenador. Capturar sonido proporciona muestras para procesar; por sí solo, ese acceso no transcribe palabras ni identifica quién habla.

Preparar una sesión sin competir con los servicios del robot

La práctica requiere la edición programable, acceso a su Linux y las bibliotecas que importa el archivo: OpenCV, sounddevice y PyAudio, además de módulos de Python. El ordenador puede servir como terminal SSH; el código debe ejecutarse en XiaoMu si se quiere utilizar su hardware.

Antes de empezar, conviene seguir este orden:

  1. Localiza la dirección IP del robot en el router y entra mediante el procedimiento SSH del repositorio de ejemplos [en]. Comprueba que estás en el robot, no en la terminal local del portátil.
  2. Guarda cualquier trabajo y revisa las instrucciones iniciales del archivo. Timu pide detener robot_listener, robot_speaker y robot_eye para evitar que sus servicios habituales compitan por los dispositivos. Durante la prueba se interrumpen esas funciones.
  3. Revisa los índices de cámara y entrada de audio y la ruta del WAV de prueba. El ejemplo selecciona el dispositivo 0; no explora automáticamente todas las entradas disponibles.
  4. Ejecuta la demostración con los permisos indicados por el fabricante y observa los mensajes de cada componente por separado. Termina con Ctrl+C y comprueba después la recuperación de las funciones habituales.

El archivo también intenta reproducir un WAV. Un error al abrir ese fichero debe investigarse aparte del acceso al micrófono. Mantener separados los tres resultados evita confundir un recurso de audio ausente con un fallo general del robot.

Añadir procesamiento sin bloquear la entrada

Para desarrollar una reacción al sonido, la biblioteca python-sounddevice [en] aporta una condición que el ejemplo no desarrolla: la función que recibe audio debe terminar a tiempo. Su documentación desaconseja escribir archivos o realizar operaciones bloqueantes dentro de esa llamada.

Una arquitectura más adecuada separaría la recepción de muestras del trabajo lento, como guardar una grabación o consultar un modelo. Es una propuesta de desarrollo, no una función ya resuelta en la demostración. También hay que implementar el transporte si se desea procesar en el portátil; el README aclara que no incluye transmisión por red.

El alcance local de este archivo tampoco demuestra que todos los servicios de compañía de XiaoMu funcionen igual. Aquí se inspecciona una captura de hardware, independiente de las conversaciones del producto. Dentro de los robots de escritorio, su utilidad está en ofrecer un cuerpo con sensores sobre el que construir ese circuito propio.

La tienda internacional de Timu [en] ofrece Programming Edition, color Cream, por 380 dólares estadounidenses, con robot, base magnética, cable USB-C y manual. La ficha anuncia impuestos incluidos y envío gratuito, mientras la política de transporte [en] sigue indicando portes de pago. Para un pedido a España conviene confirmar destino y total con Timu antes de pagar; su oferta de envío mundial no garantiza una entrega concreta. Quien ya tenga la edición programable puede empezar por comprobar la captura, sin contratar una API de reconocimiento.

Fuentes

Sigue explorando

Robots relacionados

Descubre sus fichas y todo lo que hemos contado sobre ellos.

Ver toda la categoría
Dos robots físicos XiaoMu en azul y crema sobre un escritorio

XiaoMu

Timu Technology

Fotografía oficial de Reachy Mini Wireless blanco visto de frente, con sus dos antenas negras y la base completa sobre un fondo gris claro.

Reachy Mini

Pollen Robotics

Fotografía oficial de Palmimo DevKit levantando una pata sobre una mesa mientras una persona le saluda junto a un portátil.

Palmimo DevKit

Jizai

Fotografía oficial de EMO con ojos azules en su pantalla y un disfraz de vaca blanco y negro, sobre fondo claro.

EMO

LivingAI

Varios robots Eilik conectados por sus bases y moviendo los brazos, en un fotograma del vídeo oficial de Energize Lab.

Eilik

Energize Lab

Fotograma oficial de un LOOI negro sobre una mesa blanca, con un teléfono en horizontal que muestra dos ojos azules.

LOOI

TangibleFuture

Render promocional oficial de Cozmo 2.0, robot blanco con orugas y pantalla facial.

Cozmo

Anki

Fotografía oficial de Vector sobre un mueble, con ojos verdes y una animación de lluvia en la pantalla, junto a un paragüero.

Vector

Anki