Estimación de Masa para Manipuladores usando el Observador de Modo Deslizante

Este proyecto es desarrollado en el contexto de la competencia Robocup@Home. Proponemos estimar la masa de un objeto manipulado utilizando técnicas de reconstrucción de fallas. Considerando el peso del objeto como una perturbación que causa un comportamiento defectuoso, dicho peso se puede estimar utilizando un observador de modo deslizante. La estimación de la masa del objeto manipulado se puede utilizar para mejorar las tareas de manipulación cuando la información visual no es suficiente para identificar correctamente un objeto (por ejemplo, una lata vacía y una lata llena).

El sistema general fue diseñado y probado usando Simulink Toolboxes, este repositorio contiene los archivos e instrucciones para reproducir los resultados obtenidos usando dos manipuladores diferentes: Katana (https://github.com/uos/katana_driver) y el brazo izquierdo de Justina (robot desarrollado en el Laboratorio de Biorobotica, UNAM https://biorobotics.fi-p.unam.mx/robot-justina/).

Para obtener detalles técnicos, consulte http://arxiv.org/abs/2010.06116.

Repositorio de GitHub: https://github.com/RobotJustina/RCF-MathWorks-2020-14

MathWorks File Exchange: https://www.mathworks.com/matlabcentral/fileexchange/81543-mass-estimation-for-manipulators-using-sliding-mode-observer

Resumen del sistema

El sistema propuesto está compuesto por los siguientes módulos principales:

  • Manipulador: un módulo para simular la dinámica del sistema (para ser reemplazado por un manipulador real).
  • SMO: un observador de modo deslizante para reconstruir la señal de falla (utilizado para estimar el peso del objeto).
  • EKF: un filtro de Kalman extendido que se utiliza para estimar las velocidades de las articulaciones con fines de control.
  • ControlPD: Un control PD más compensación de gravedad.

La siguiente figura muestra la interconexión de estos cuatro módulos:

Ejecutando el manipulador de Justina usando Simulink

Posiciones de las Articulaciones.

Estimación de masa.

Ejecutando el manipulador de Justina con nodos de ROS independientes

RViz mostrando el manipulador de Justina.

Una GUI que permite establecer la posición objetivo, la masa simulada del objeto manipulado y ver la posición actual y la masa estimada actual.

Ejecutando el manipulador Katana usando Simulink

Posiciones de las Articulaciones.

Estimación de masa.