B105 Radar Sensor Developments: Software

 

The radar platform developed in B105 Electronic Systems Lab contains a microcontroller which process the I and Q signals adapted from the radar transceiver in order to obtain targets information -speed and distance-. The microcontroller used is a low-power STM32L496 that has a DSP module and enough RAM to perform processing tasks. It runs at 48 MHz and has low-power mode, which allows using our platform in battery-powered Wireless Sensor Networks applications.

The software developed in the microcontroller uses the YetiOS operating system which has also been developed in B105 Electronic Systems Lab and is based on well-known FreeRTOS. The architecture of the radar processing module is composed by two tasks:

  • Acquisition and Generation Task. This task is responsible of taking samples from the ADC and generating signals using the DAC synchronously. Both acquisition and generation is done using DMA, so other tasks -such as processing one- could run while taking samples.
  • Processing Task. This task provides the processed information -speed and distance of targets- to the final user. The acquired signal is filtered so the information in undesired frequency bands is eliminated. Besides, a Fast Fourier Transform (FFT) is performed in order to obtain the signals in the frequency domain. Then an OS-CFAR algorithm is applied to select the frequency peaks corresponding to targets, and the targets are selected based on signal levels and SNR ratio.

We have tested the complete radar system in real scenarios and we can process each 128 samples signal in 15 ms. That means that our radar sensor provides distance and speed information with a rate higher to 60 samples per second.

Finally, we have developed an user interface which allows us testing different configuration and the behaviour of the radar sensor on different scenarios.

 

Radar SW

Certificación y pruebas del proyecto Demotherm

La pasada semana se realizó en las instalaciones de Therman (Gijón) la certificación del proyecto Demotherm ante el CDTI (Centro para el Desarrollo Tecnológico Industrial). Durante esta visita no sólo se realizó la justificación del proyecto, sino que se aprovechó para realizar más pruebas con el robot desarrollado conjuntamente entre Therman, el Grupo de Ingeniería de los Procesos de Fabricación de la Universidad de Oviedo y el B105 Electronic Systems Lab de la Universidad Politécnica de Madrid. 

IMG_0954

Estas pruebas se realizaron con todos los elementos del robot ya integrados (parte mecánica, hardware y software de control y bomba de agua) para evaluar el desempeño en la aplicación final para la que se ha diseñado. Además de las pruebas de corte de hormigón, se aprovechó para comprobar algunos parámetros de funcionamiento, como es la fuerza que ha de ejercer el robot contra las paredes para no caerse. Esto permite establecer los umbrales seguros de funcionamiento que habrá de mantener el robot durante su funcionamiento en los escenarios de uso. 

IMG_0871

Demotherm. Desarrollo software del robot

Una vez concluyeron las primeras pruebas de integración de la parte electrónica-mecánica el robot viajó al B105 en su sede de Teleco-Madrid para continuar con los desarrollos del proyecto Demotherm.

Antes de este momento ya se había avanzado bastante en diferentes módulos tanto de software como de hardware electrónico. Por un lado se habían diseñado, fabricado y soldado varias placas de circuito impreso para probar las comunicaciones CAN entre la unidad central de proceso del robot y los motores y sensores del mismo. Por otro lado estaban ya bastante avanzados los desarrollos de drivers para los motores y sensores y la arquitectura software que iba a seguir el proyecto.

Una vez el robot estuvo con nosotros se pudieron probar estos desarrollos software y hardware con un interacción directa sobre la mecánica del robot. Los desarrollos dieron sus frutos y todo funcionaba como se esperaba. Mientras el robot estuvo en el B105 se realizaron numerosos avances en el software de control. Desde las diferentes capas de control de los motores, potenciómetros, acelerómetros, etc. hasta la parte de comunicaciones remotas.

El robot está basado en un ARM® 32-bit Cortex®-M7 CPU con FPU, y todo su software ha sido desarrollado en lenguaje C, basando su arquitectura en el sistema operativo FreeRTOS.

No hay que perder de vista que este robot se debe controlar de forma remota por un operario, por lo que debemos tener una interfaz de usuario a partir de la cual el operario tenga control total del robot, y además pueda obtener la información que considere necesaria para operar.

Cuando todos estos desarrollos fueron testeados y se llegó a un estado estable de funcionamiento, era momento de volver a Gijón para probar el robot en un entorno real de trabajo, y ver si tanto mecánica como electrónica cumplen con sus especificaciones.