Está en la página 1de 76

DEPARTAMENTO DE ELECTRÓNICA Y

ELECTRICIDAD

Mecatrónica Industrial

Proyecto: Teleoperación de un Brazo Robot de 6-DOF para Manipulación de


Productos Radiofármacos

VI Ciclo

Proyectos Mecatrónicos

Integrantes:

Castillo Olaya, Israel

Narciso Yanavilca, Ysael

Asesor:

Miguel Ángel Chávez Luna

2020-I
ÍNDICE DE CONTENIDOS

RESUMEN…………………………………………………………………………………………….4

1. PLANTEAMIENTO Y DELIMITACIÓN DEL PROBLEMA………………………………5

1.1. Formulación del problema……………………………………………………………………5

1.2. Importancia y justificación del proyecto……………………………………………………...6

1.3. Delimitación y especificaciones del proyecto………………………………………………...8

2. OBJETIVOS………………………………………………………………………………….11

2.1. Objetivo General……………………………………………………………………………..11

2.2. Objetivos Específicos………………………………………………………………………...11

3. FUNDAMENTO TÉCNICO………………………………………………………………...12

3.1. Posibles soluciones…………………………………………………………………………..12

3.2. Sustento técnico de la solución. ……………………………………………………………..23

4. DESARROLLO DE LA SOLUCIÓN……………………………………………………….28

4.1. Diagrama de bloques………………………………………………………………………...28

4.2. Diagrama P&ID……………………………………………………………………………...29

4.3. Diagrama de ubicación del proceso………………………………………………………….30

4.4. Arquitectura del sistema de control………………………………………………………….30

4.5. Equipos e instrumentos.……………………………………………………………………...31

4.6. Filosofía de Control………………………………………………………………………….32

4.7. Lógica de control…………………………………………………………………………….33

4.8. Interfaz humano máquina (HMI)…………………………………………………………….35

5. EVALUACIÓN DE RESULTADOS.………………………………………………………..36

5.1. Resultados de las pruebas……………………………………………………………………36

5.2. Beneficios obtenidos………………………………………………………………………....41

1
5.3. Evaluación económica y financiera.………………………………………………………....43

6. CONCLUSIONES.…………………………………………………………………………..45

7. RECOMENDACIONES.…………………………………………………………………....46

REFERENCIAS BIBLIOGRÁFICAS……………………………………………………………….47

ANEXOS……………………………………………………………………………………………..48

ÍNDICE DE FIGURAS

Figura 1. Central Nuclear RACSO……………………………………………………………………..5

Figura 2. Robot teleoperado para desactivación de bombas…………………………………………...6

Figura 3. Diagrama de Ishikawa…………………………………...………………………………….8

Figura 4. Diagrama de Gantt…………………………………………………..………………………11

Figura 5. Pinza Universal Remota………………………………………………….…………………12

Figura 6. Brazos robóticos industriales………………………………………..……………………....13

Figura 7. Brazo Robot Schunk Powerball………………………………………..……………………17

Figura 8. Brazo robot KUKA Iwaa…………………………………………….……………………...17

Figura 9. Brazo robot UR5…………………………………………………………...………………..18

Figura 10. Brazo robot UR3…………………………………………………..……………………….19

Figura 11. Joystick………………………………………………………………..…………………...20

Figura 12. Phantom Omni Geomagic Touch…………………………………………….……………20

Figura 13. Gripper Schunk WSG 50………………………………………………….……………….22

Figura 14. Relación de links entre brazo robot y dispositivo………………………………………….24

Figura 15. Formato radioisótopos y radiofármacos…………………………………………………...27

Figura 16. Diagrama de Bloques………………………………………………………………….…...29

Figura 17. Diagrama P&ID Schunk Powerball y Phantom Omni…………………………………….29

Figura 18. Arquitectura de Control Teleoperación Maestro-Esclavo en ROS………………………...31

Figura 19. Control bilateral Maestro Esclavo………………………………………………………...32

2
Figura 20. Sistema Operativo ROS……………………………………………………………………33

Figura 21. Arquitectura de Control ROS……………………………………………………………...35

Figura 22. Diagrama de Flujo de HMI………………………………………………………………..36

Figura 23. Variable del proceso(azul) y Set Point(rojo) de cada motor del robot…………………….37

Figura 24. Test Home Position………………………………………………………………………..39

Figura 25. Test Posición 0…………………………………………………………………………….40

Figura 26. Test Posición 1…………………………………………………………………………….40

Figura 27. Test Posición 2…………………………………………………………………………….40

Figura 28. Posición de Phantom Omni y Schunk Powerball………………………………………….41

Figura 29. Intervenciones del personal en el recinto de producción de radiofármacos……………….42

Figura 30. Exposición a la radiación persona…………………………………………………………42

ÍNDICE DE TABLAS

Tabla 1. Evaluación ponderada de alternativas para manipulación de radiofármacos………..……13

Tabla 2. Evaluación ponderada de alternativas para métodos de control……………………….….14

Tabla 3. Evaluación ponderada de la arquitectura de teleoperación…………………………….….15

Tabla 4. Evaluación ponderada de la unidad esclavo……………………………………………....18

Tabla 5. Evaluación Ponderada de la unidad maestro……………………………………………...21

Tabla 6. Evaluación ponderada de cámara de percepción remota………………………………….23

Tabla 7. Parámetros D-H Schunk Powerball……………………………………………………….27

Tabla 8. Lista de equipos y materiales para el proyecto…………………………………………...31

Tabla 9. Sintonización PID de los controladores…………………………………………………...37

Tabla 10. Ángulos de articulaciones en posición 0…………………………………………….......38

3
Tabla 11. Ángulos de articulaciones en posición 1…………………………………………….......38

Tabla 12. Ángulos de articulaciones en posición 2………………………………………...……....39

Tabla 13. Retraso en respuesta del brazo robot Schunk……………………………………...….....41

Tabla 14. Costo de Implementación del Proyecto……………………………………………….....42

Tabla 15. Activos Tangibles……………………………………………………………………......43

Tabla 16. Activos Intangibles………………………………………………………………………44

Tabla 17. Análisis del VAN Y TIR………………………………………………………………...45

Tabla 18. Análisis del PAYBACK…………………………………………………………………45

ÍNDICE DE ANEXOS

Anexo N°1. Workspace del brazo robot……………………………………………………………48


Anexo Nº 2. Interfaz Gráfica del Operador en LabView…………………………………………..49
Anexo Nº 3. Presupuesto de Implementación…………………………... ………………………...50
Anexo Nº 4. Presupuesto operativo proyectado …………………………………………………...50
Anexo Nº 5. Flujo de caja económico……………………………………………………………...50
Anexo N° 6. URDF Robot Schunk Powerball……………………………………………………..55
Anexo N°7. URDF Phantom Omni………………………………………………………………...65

4
RESUMEN

El siguiente proyecto es una propuesta académica al Instituto Peruano de Energía


Nuclear (IPEN) sede “El Huarangal” ubicado en el distrito de Carabayllo. Se basó en
desarrollar un sistema mediante el cual un operador humano puede manipular un
brazo robot de 6 grados de libertad desde una sala de control ubicada a 30 metros del
lugar. El brazo robot fue colocado de manera estratégica dentro de un recinto donde se
manipulan productos de radiofarmacia para evitar el contacto directo con estos.

El objetivo principal fue el de disminuir la dosis de radiación que recibe el personal


por cada intervención que se realiza dentro del recinto de producción de productos
radiofármacos. El motivo radica en fomentar una cultura de prevención de riesgos, los
cuales se generan con el paso del tiempo en el organismo de cada trabajador
involucrado, ya que se sabe que la exposición a zonas donde existen fuentes de
energía ionizante es perjudicial a la salud.

El mando remoto se desarrolló mediante el uso de un dispositivo háptico de 6 grados


de libertad al igual que el brazo robot, y que además brindó facilidad y flexibilidad al
operador para poder realizar las distintas operaciones de manipulación dentro del
recinto como la marcación, dispensación y calibración de los productos. Este
dispositivo junto con el sistema operativo ROS (Robot Operating System) y una
interfaz de monitoreo remoto permitieron la teleoperación del brazo robot. ROS es
actualmente muy empleado en todos los ámbitos de robótica ya que promueve el uso
de componentes open-source y añade funcionalidades como interfaces de
controladores que ayudan a comunicarnos con los robots tan sólo con tener sus drivers
de configuración.

Con la integración de este sistema teleoperado se logró disminuir en un 55% el


número de intervenciones mensuales del personal dentro del recinto, lo que a su vez
conllevó a reducir la dosis de radiación personal recibida en un 60%. Para concluir,
con la inserción del brazo robot y el dispositivo háptico los operadores pueden
fácilmente manipular el producto de manera precisa y rápida sin tener que perder
mucho tiempo en aprender el manejo.

5
1. PLANTEAMIENTO Y DELIMITACIÓN DEL PROBLEMA

1.1. Formulación del problema

La radiación es un factor con el que convivimos de manera cotidiana, ya que vivimos en un


mundo en donde la radiación está presente en todos lados. El calor y las reacciones nucleares
son esenciales para nuestra existencia. Existen materiales radiactivos naturales en el ambiente
e incluso en nuestro propio cuerpo, como el carbono-14, potasio-40 y polonio-210; por lo que
toda la vida en la tierra está envuelta en la presencia de radiación.

Desde el descubrimiento del Rayo-x, hemos encontrado maneras de producir materiales


radiactivos artificiales. Desde entonces se han desarrollado muchas aplicaciones con
radiación. Es así como nacen los radiofármacos, con un uso principal destinado al tratamiento
de pacientes con cáncer.

En el Perú, contamos con el Instituto Peruano de Energía Nuclear (IPEN) el cual es un


organismo público fundado el 04 de Febrero de 1975. Su sede principal de investigación es la
central nuclear Óscar Miró Quesada (RACSO), más conocida como “El Huarangal” y se
encuentra ubicada a una hora del Centro Histórico de Lima, en el distrito de Carabayllo. El
objetivo de esta organización es la producción de radioisótopos y radiofármacos, lo cual le
permite al país entrar en una fase de desarrollo creciente en tecnología nuclear.

Figura 1. Central Nuclear RACSO

Fuente: IPEN

6
Este centro nuclear cuenta con el reactor nuclear llamado RP-10 en el que se lleva a cabo las
reacciones en cadena para convertir los elementos en radioisótopos. Esta fuente de energía al
estar encendida emite una gran cantidad de radiación que puede ser absorbida por los
trabajadores que intervienen en los recintos aledaños donde se producen y manipulan los
radiofármacos para su procesamiento químico, añadiendo también el riesgo de emisión del
propio producto Como ciudadanos debemos ser más conscientes de los impactos en la salud
de las dosis de radiación ionizante en los trabajadores en la industria nuclear y se deben
evaluar con rigurosidad debido al alto riesgo de enfermedades que se pueden desarrollar con
el transcurrir del tiempo. Por ese motivo hemos identificado una oportunidad de mejora en la
seguridad del personal además de ahorrar futuros costos a la empresa al disminuir la cantidad
de intervenciones que realiza el personal dentro del recinto empleando la teleoperación
robótica,

1.2. Importancia y justificación del proyecto

De acuerdo con la Asociación Mundial Nuclear, la exposición anual promedio de los


trabajadores en plantas nucleares no debe poder alcanzar los 20 mSv. En el año 2018 se
registró la exposición ocupacional promedio de cada persona monitoreada en diferentes
sectores de trabajo. Los resultados se pueden observar en la siguiente imagen, los cuales
evidencian que el sector con mayor exposición a los trabajadores es el sector nuclear.

Figura 2. Dosis anual en los trabajadores por sector

Fuente: World Nuclear Association

Esto nos lleva a dirigir la atención en este campo, debido que a diferencia de otras industrias
en las que de igual manera se trabaja con radiación, el área nuclear es la más vulnerable y a la
que debemos dirigir nuestros esfuerzos para proteger y prevenir al personal.

7
En el IPEN el personal más vulnerable es el que se dedica a la intervención dentro de los
recintos de producción de radioisótopos y radiofármacos, los cuales circunstancialmente debe
ingresar a este entorno para realizar tareas de manipulación del producto, calibración,
marcación, dispensación, entros otros. Cabe resaltar que la dosis que reciben ellos por mes es
inferior a la máxima permitida; sin embargo, con el proyecto queremos aumentar la seguridad
de saber que no se corren riesgos futuros en ningún trabajador. Por ese motivo decidimos que
los principales beneficiarios del desarrollo de esta propuesta será el personal encargado de las
intervenciones. De manera indirecta se beneficiará el empleador debido a que mantiene a sus
trabajadores libres de futuras demandas por futuras enfermedades laborales desarrolladas.

1.2.1. Justificación Teleoperación Robótica

En el ámbito de la energía nuclear se consideran otros factores para la integración de un robot


diferentes a las aplicaciones industriales en las que realizar tareas repetitivas son la prioridad.
Los sectores de la energía nuclear, la investigación, la atención sanitaria, la fabricación y la
defensa utilizan fuentes artificiales de radiación. Hay aproximadamente 800.000 trabajadores
de la industria nuclear en todo el mundo, y más de dos millones de trabajadores de la salud
están expuestos a la radiación. Por tal motivo una de las principales motivaciones económicas
de utilizar robots en las plantas nucleares es el potencial para reducir la exposición a la
radiación ocupacional del personal de la planta.

Figura 3. Open Doors Robot para Industria Nuclear

Fuente: Universidad de Texas

En el año 2001, en Corea el investigador Seungho Kim desarrolló un robot móvil teledirigido
para la prevención mantenimiento e inspección a distancia de las plantas de energía nuclear,
tales como la trabajos de mantenimiento en el sistema de refrigeración del reactor en PWR e

8
inspección de la presión tubos. La plataforma móvil permite a los ojos humanos mirar la cara
del reactor a plena potencia de operación de la planta.

El CERN (Organización Europea para la Investigación Nuclear) desarrolló un sistema de


teleoperación Maestro Esclavo con retroalimentación de fuerza y dispositivos hápticos para
realizar mantenimiento en algunas zonas que están contaminadas por radiactividad debido a
la emisión de rayos por parte del acelerador, el cual al estar encendido inhabilita el ingreso de
técnicos en la zona.

Estos son algunos de los ejemplos del empleo de la robótica y la teleoperación dentro de la
energía nuclear, y nos permiten entender que los fines de uso de estas tecnologías es con el
fin de incrementar la prevención de riesgos.

1.2.2. Diagrama de Ishikawa

En esta sección analizamos las causas que conllevan al problema planteado. Para esto
realizamos un Diagrama de Ishikawa en el que se muestran los factores más importantes y
que nos llevan a la solución propuesta.

Figura 3. Diagrama de Ishikawa

Fuente: Elaboración Propia

1.3. Delimitación y especificaciones del proyecto

Para llevar a cabo el proyecto hemos propuesto alcanzar algunas características que requiere
el sistema, definir algunos documentos, establecer una programación de tiempos por etapas,
realizar una simulación con software del robot real con la cual podamos realizar pruebas, y

9
por último evaluar el presupuesto, VAN y TIR para verificar que el modelo de negocio sea
rentable.

1.3.1. Entregables

● Informe del Proyecto con la siguiente información:


Diagrama de Bloques Interfaz Usuario
Diagrama Eléctrico Alimentación del Robot
Diagrama Workspace Robot
Plano de Ubicación Robot
Diagrama P&ID
● Simulación de Teleoperación
Guía de Instalación ROS
Guía Instalación Paquetes Robot
Guía Simulación en Gazebo
● Presupuesto, VAN, TIR
Presupuesto Total
Flujo de Caja
Análisis VAN, TIR y PAYBACK

1.3.2. Delimitación

Para alcanzar el objetivo se plantea la teleoperación de un brazo robot de 6 grados de libertad


a una distancia de hasta 25 metros desde la sala de control. Dicho robot se podrá controlar
mediante otro equipo de escritorio tipo joystick que ofrezca facilidad de uso y se pueda
comunicar con la PC de control. La comunicación entre el brazo robot y el dispositivo de
telemanipulación tendrá un tiempo de respuesta o retraso de menos de 1 segundo para no
perder precisión. El brazo robot debe ofrecer un radio de alcance de 600 mm para poder
alcanzar la posición de los radiofármacos y poder manipularlos con facilidad y precisión. Los
productos radiofármacos a manipular son: AMD, DMSA, DTPA, RENTEC y MIOTEC.
Estos productos vienen en formato de envase de plomo que aísla los rayos beta y gamma.
Con respecto al sistema de control, se plantea utilizar el uso de control por computadora
usando un software open-source para una mejor integración del sistema y nos permita
comunicar y controlar al robot mediante otro dispositivo sin restricciones de fabricante. Por
último, las temperaturas normales de trabajo a las que estará sometido el robot serán entre
25° y 40° C y las presiones son negativas para evitar la volatilización de algunas sustancias
dentro del recinto.

1.3.3. Especificaciones del Proyecto

10
En esta parte del informe describiremos de manera concisa algunos de los componentes
principales que se requieren para llevar a cabo la ejecución de este proyecto. En primer lugar
se muestran algunas características del brazo robot usado el cual viene a ser el modelo
Powerball LWA 4p de la marca alemana Schunk. Por otro lado, también se agrega
información del dispositivo Geomagic Touch (Phantom Omni) y del marco de trabajo ROS
para la comunicación de los equipos previamente nombrados.

1.3.3.1. Brazo Robot Schunk Powerball LWA4P

El modelo Powerball LWA 4p (Figura 4.) es un robot manipulador de 6DOF que destaca por
su ligereza y versatilidad en el entorno de trabajo. El robot requiere de una alimentación de
tensión continua de 24VDC. Lo particular del manipulador es que cuenta con módulos de
accionamiento llamados ERB (Figura 4.) con 2 servomotores en cada uno de ellos. Estas
esferas incorporan una etapa de potencia y un controlador, lo que diferencia a este equipo de
los robots industriales convencionales al no requerir de un armario de alimentación con
inversor. A continuación, se presentan las especificaciones técnicas del robot.

● Carga nominal: 6 Kg
● Voltaje nominal: 24 VDC
● Corriente nominal: 3A
● Peso: 12.5 Kg (brazo de construcción ligera)
● Alcance: 540 mm
● Grado de Protección: IP54
● Repetibilidad: ±0.06mm
● Protocolo de Comunicación: CAN
● Rango de temperatura: 0-45° C
● Sensores: Encoders incrementales en cada joint
● Radiation Proof

Figura 4. Schunk Powerball LWA4P y ERB Balls

11
Fuente: Robotnik

1.3.3.2. Geomagic Touch Phantom Omni

Es un dispositivo háptico de 6DOF que incorpora sensores tipo encoder en cada articulación.
Gracias a estos sensores se puede tener lectura de la posición del robot cada vez que se
manipulan sus articulaciones. Mediante un software del propio fabricante se puede obtener la
posición del efector final en el workspace del equipo. A continuación, mostraremos algunas
especificaciones técnicas de este dispositivo.

● Voltaje nominal: 220 VAC


● Corriente nominal: 2A
● Peso: 1.8 Kg
● Alcance: 160x120x70mm
● Repetibilidad: ±0.055mm
● Protocolo de comunicación: USB 3.0
● Rango de temperatura: 0-27° C
● Sensores: Potenciómetros lineales

Figura 5. Geomagic Touch Phantom Omni

12
Fuente: Geomagic

1.3.3.3. ROS Industrial (Robot Operating System)

ROS es un conjunto de programas, librerías y software que interactúan mediante mensajes y


servicios para desarrollar proyectos de robótica. Actualmente, el número de desarrolladores
en ROS está en aumento, lo que permite que exista cada vez mayor información y facilidad
de encontrar solución a las dudas que tengamos. Lo más importante de ROS es que agrega
una capa (caja negra) que conecta al hardware, como sensores o actuadores, con el software
de una manera que facilita y expande las funcionalidades que podemos realizar como
programadores.

Figura 6. ROS Industrial

Fuente: rosindustrial.org

1.3.4 Cronograma de Actividades

La programación de actividades se organiza en un Diagrama de Gantt realizado en el


software MS Project. En esta se detallan las etapas de todo el proceso que involucra llevar a

13
cabo el proyecto, y además la duración de cada una de ellas. Estas se dividen en las siguientes
etapas:

● Ingeniería Básica
● Ingeniería de Detalle
● Estudio de Riesgos HAZOP
● Simulación del Proyecto
● Pruebas

Figura 7. Diagrama de Gantt

Fuente: Elaboración Propia

2. OBJETIVOS

2.1. Objetivo General

- Reducir la cantidad de intervenciones del personal en el recinto de producción de


radiofármacos de la central nuclear RACSO en un 55% mediante la integración de un
brazo robot teleoperado.

2.2. Objetivos Específicos

- Investigar el estado del arte de la teleoperación robótica en los centros nucleares.


- Calcular las magnitudes físicas y eléctricas que requiere el sistema para un buen
rendimiento dentro del lugar de trabajo.
- Identificar los componentes del sistema que mejor se adecuan al lugar y cumplen con
las normativas.
- Realizar el modelamiento cinemático del brazo robot.

14
- Documentar los diagramas mecánicos y eléctricos del sistema.
- Simular y controlar los movimientos del brazo robot mediante un software
especializado.
- Desarrollar una interfaz gráfica básica para la operación del sistema.
- Evaluar la viabilidad financiera del proyecto mediante un flujo caja.
- Analizar los valores del VAN y TIR.

3. FUNDAMENTO TÉCNICO

3.1. Posibles Soluciones

En esta etapa del informe vamos a identificar y evaluar algunas alternativas tecnológicas de
solución para el problema de la manipulación de productos radiofarmacéuticos. También se
van a seleccionar la arquitectura de teleoperación, opciones de los equipos para el módulo
maestro y módulo esclavo, los grippers y estrategias de control.

3.1.1. Manipulación de Radiofármacos

Se han identificado dos alternativas para la manipulación de los radiofármacos:

Opción A: Pinzas Remotas

Se puede utilizar en la investigación, así como en la producción de diagnóstico o terapia para


el manejo de sustancias radiactivas. Las pinzas de troncos generalmente se instalan en
tapones apantallados y bujes de bolas.

Figura 8. Pinza Universal Remota

Fuente: Wallisch Miller

15
Opción B: Brazos robot industriales

El uso de los brazos robot para proteger trabajadores en zonas de alta radiación no es un
concepto nuevo. Estos revolucionan el trabajo mecánico al incluir controladores y actuadores
que automatizan el movimiento, quitando el esfuerzo físico implicado por parte de los
operadores.

Figura 9. Brazos robots industriales

Fuente: Georgia Tech

Matriz de Selección

En la Tabla 1. se muestra la evaluación ponderada de las dos alternativas propuestas. De


acuerdo a esta tabla, la alternativa con mayor puntaje será la seleccionada.

Tabla 1. Evaluación ponderada de alternativas para manipulación de radiofármacos,

Ponderación Alternativas
Criterio
A B

1 Costo Inicial 20% 4 2

2 Flexibilidad 30% 3 5

3 Agilidad en el trabajo 30% 3 5

4 Funcionalidad 20% 3 5

Total 100% 3.2 4.4


Fuente: Elab. Propia

16
De acuerdo a la Tabla 1. podemos ver que la opción B, correspondiente a los brazos robot es
la opción elegida ya que muestra un mayor desempeño, hace mucho más fácil el trabajo que
las pinzas remotas, y puede ser flexible a usarse de acuerdo a lo que se requiera.

3.1.2. Arquitecturas de Teleoperación

En esta parte veremos las cuatro opciones de arquitecturas de teleoperación, las cuales
difieren en cuanto al tipo de información que se intercambia entre el maestro y esclavo.

Opción A: Esquema Posición-Posición

El maestro y el esclavo determina la posición de ambos. No se emplea el uso de sensores de


fuerza.

Opción B: Esquema Fuerza-Posición

La posición del esclavo se determinar por la posición del maestro, y además las fuerzas que
aparecen en el esclavo se transmiten a los motores del maestro. Sólo el esclavo cuenta con
sensor de fuerza.

Opción C: Esquema Fuerza-Fuerza

Las trayectorias del maestro y el esclavo se determinarán por las fuerzas en ambos.

Opción D: Esquema cuatro canales

En este último caso la retroalimentación es tanto de posición como de fuerza, por lo que el
trabajo es mucho más eficiente, pero mucho más complejo en la parte teórica.

Matriz de Selección

En la Tabla 2. se muestra la evaluación ponderada de las dos alternativas propuestas. De acuerdo a


esta tabla, la alternativa con mayor puntaje será la seleccionada.

Tabla 2. Evaluación ponderada de la arquitectura de teleoperación

Ponderación Alternativas
Criterio
A B C D

1 Facilidad de implementación 30% 5 2 2 1

2 Robustez 10% 3 3 3 4

17
3 Funcionalidad 20% 4 4 4 5

4 Estabilidad 20% 4 3 3 3

5 Precisión 20% 3 4 4 5

Total 100% 4 3.1 3.1 3.3


Fuente: Elaboración Propia

En la Tabla 2. se puede observar que la opción elegida es la A, que corresponde al Esquema


Posición-Posición ya que es una arquitectura sencilla de implementar mediante el método de
Denavit Hartenberg y la cinemática Inversa, mientras que los otros métodos incluyen una
retroalimentación por medio de un sensor de fuerza, lo cual los hace más complejos y con
una mayor exposición al ruido eléctrico.

3.1.3. Unidad Esclavo

Para la manipulación de los objetos se usará un brazo robótico. La elección del brazo robótico
está limitado por su tamaño, peso y consumo de energía. La mayoría de los brazos robot
industriales son grandes y están hechos de metal, lo que los hace demasiado pesados para su
facilidad de transporte y dinamismo en este ambiente de trabajo. Otro de los factores que se
desea obtener es que el robot pueda ser programado libremente ya que no se usará un PLC.

Opción A: Schunk Powerball LWA4P

Previamente se hizo una introducción a este componente, por lo que sólo se realizará la
matriz indicando debido a que factores se eligió el equipo.

Opción B: KUKA LBR iiwa

El avanzado robot colaborativo KUKA LBR IIWA 14 R820 presenta una carga útil de 14 kg,
un alcance de 820 mm y clasificación de clase de protección IP54. El LBR IIWA 14 R820 ha
incorporado sensores y bordes suaves que lo hacen seguro para la colaboración humana y la
capacidad de detectar movimientos y tocar todo. El KUKA LBR IIWA 14 es ideal para
aplicaciones de recubrimiento, mecanizado, paletizado, fijación, medición y otras
aplicaciones de manejo de materiales.

Figura 10. Brazo robot KUKA Iwaa

18
Fuente: KUKA

Opción C: UR 5

Universal Robots UR5 es un robot industrial de peso ligero. Permite automatizar las tareas
repetitivas y peligrosas con cargas útiles de hasta 5 kg.Puede abarcar un radio de hasta 500
mm y tiene 6 grados de libertad. Su precio es de $55000.

Figura 11. Brazo robot UR5

Fuente: Universal Robots

Matriz de Selección

Para la selección del brazo robot se realiza la siguiente matriz que determina el equipo de
acuerdo al total de los puntajes de cada criterio de evaluación. El equipo seleccionado será el

19
que tenga un puntaje total mayor (5). Este mismo criterio se aplica para las siguientes
matrices.

Tabla 3. Evaluación ponderada de la unidad esclavo

Ponderación Alternativas
Criterio
A B C

1 Costo inicial 30% 3 2 4

2 Facilidad de mantenimiento 10% 4 2 3

3 Flexibilidad 20% 5 5 3

4 Soporte del Proveedor 20% 4 2 5

5 Modelo sencillo 20% 4 4 1

Total 100% 3.9 3 3.3


Fuente: Elaboración Propia

En la Tabla 3. se puede observar que la opción elegida es la A, correspondiente al brazo


robot Schunk Powerball. Este robot fue elegido porque su modelo es sencillo, lo que lo hace
ideal para realizar el control por teleoperación. Además su costo es la mitad que las otras dos
opciones.

3.1.4. Unidad Maestro

Se han identificado tres opciones como dispositivos controladores de la unidad esclavo y son
las siguientes:

Opción A: UR3

Universal Robotics UR3 es un robot industrial de peso ligero. Puede lograr levantar hasta 3
Kg y su peso total es de 11 Kg. Puede abarcar un radio de hasta 500 mm y tiene 6 grados de
libertad. Su precio es de $23000.

Figura 12. Brazo robot UR3

20
Fuente: Universal Robots

Opción B: Joystick

Un joystick es un dispositivo de entrada que se puede utilizar para controlar el movimiento


del cursor o un puntero en un dispositivo informático. El movimiento del puntero / cursor se
controla maniobrando una palanca en el joystick. El dispositivo de entrada se usa
principalmente para aplicaciones de juegos y, a veces, en aplicaciones gráficas.

Figura 13. Joystick

Fuente: Amazon

Opción C: Dispositivo Háptico Phantom Omni

De igual manera, este equipo fue previamente en el capítulo de Especificaciones del


Proyecto. Por tal, se analizará en una matriz de selección los criterios por los que fue elegido.

Matriz de Selección

21
En la Tabla 4. se muestra la evaluación ponderada de las dos alternativas propuestas. De acuerdo a
esta tabla, la alternativa con mayor puntaje será la seleccionada.

Tabla 4. Evaluación Ponderada de la unidad maestro

Ponderación Alternativas
Criterio
A B C

1 Costo inicial 20% 2 4 4

2 Facilidad de mantenimiento 10% 3 2 4

3 Flexibilidad 15% 5 3 5

4 Soporte del Proveedor 10% 3 2 4

5 Funcionalidad 15% 4 2 4

6 Adecuado radio de Alcance 20% 4 4 4

7 Costos de repuestos 10% 2 2 3

Total 100% 2.2 2.7 4


Fuente: Elaboración Propia

Como se muestra en la Tabla 4. la opción elegida es la C que corresponde al dispositivo Phantom


Omni, y es debido a que presenta mayores ventajas de uso. En el caso del joystick, el control de un
brazo robot con este dispositivo es limitado ya que no proporciona los grados de libertad necesarios
para mover al brazo de una manera fácil. Por otro lado, otro brazo robot industrial como el UR3 haría
el proyecto mucho más caro. Mientras que el Phantom Omni es un equipo que cuenta con la misma
cantidad de grados de libertad que la unidad esclavo y además, tiene un precio mucho más bajo que
un brazo robot industrial.

3.1.5. Mordaza del brazo robot

Opción A: Gripper Schunk WSG 50

Este gripper ha sido diseñado para la manipulación precisa de productos delicados. Algunas
características físicas se listan a continuación:

- Carrera de mordaza: 42.5 mm


- Fuerza de agarre mín: 5 N
- Fuerza de agarre máx: 80

Figura 14. Gripper Schunk WSG 50

22
Fuente: Schunk

3.1.6. Percepción Visual del entorno remoto

La manipulación del robot desde un punto de control remoto requiere de una cámara que
permita al operador observar el entorno en el que opera el robot. Esta cámara puede estar
ubicada en el techo o una de las paredes de la sala donde se encuentra el brazo robot. Existen
diferentes tipos de cámaras, las cuales son clasificadas por su forma o por su tecnología. En
este caso analizaremos este equipo de acuerdo a su tecnología.

Opción 1: Cámara Analógica

Son de las más antiguas y que aún se siguen usando. “La imagen sale de la cámara de
seguridad de manera analógica, Poseen una salida con impedancia de 75 ohms, es por eso
que se requiere el uso de cable Coaxial o UTP con adaptadores de impedancia
(Baluns).”[SMART Seguridad Electrónica, 2020].

Figura 15. Cámara Analógica de video

Opción 2: Cámaras HD TVI/CVI/AHD

23
Es una tecnología que se ha visto empleada actualmente en muchos lugares ya que ofrece una
mayor resolución de imagen y disminuye la complejidad de la tecnología análoga.

Figura 16. Cámara CCTV Digital

Opción 3: Cámaras IP

“Una cámara de red, también llamada cámara IP, puede describirse como una cámara y un
ordenador combinados para formar una única unidad. Los componentes principales que
integran este tipo de cámaras de red incluyen una lente, un sensor de imagen, uno o más
procesadores y memoria.” [Wikipedia, 2020].

Figura 17. Cámara IP de inspección

Matriz de Selección

En la Tabla 5. se muestra la evaluación ponderada de las dos alternativas propuestas. De


acuerdo a esta tabla, la alternativa con mayor puntaje será la seleccionada.

Tabla 5. Evaluación ponderada de cámara de percepción remota

Ponderación Alternativas
Criterio
A B C

24
1 Costo inicial 25% 2 4 4

2 Facilidad de mantenimiento 25% 3 2 4

3 Resolución 25% 3 5 3

4 Confiabilidad 25% 3 2 4

Total 100% 2.2 2.7 4


Fuente: Elaboración Propia

En la Tabla 5. se puede observar que la opción elegida es la C que corresponde a una cámara
IP porque se usa ampliamente en entornos industriales, ofrece facilidad de uso, no requiere
mucho mantenimiento como una cámara analógica y puede ofrecer una amplia variedad de
soluciones.

3.1.7. Cámara de Inspección en extremo del robot

Para lograr una mayor precisión en la manipulación se agregará una cámara ubicada en el
extremo del brazo robot. Esta cámara además permitirá agregar funciones al robot tales como
inspección en el caso de que se requiera. En este caso la opción elegida es una cámara
equipada con iluminación LED integrada y funciones de cámara ampliadas, ideal para
inspección en entornos nucleares. Su diseño extremadamente compacto permite inspecciones
en tuberías y áreas de difícil acceso.

Figura 18. Cámara de inspección VT 44 FZL

Fuente: Dekra

3.1.8. Bus de Comunicación

La teleoperación robótica depende mucho de la velocidad en la que se transmiten los datos de


posición y esfuerzos de los joints de la unidad maestro a la unidad esclavo. La velocidad de
transmisión de datos está muy relacionada con el bus de comunicación que utiliza el sistema.

25
En la selección del robot que vimos analizamos previamente, se determinó el uso de un robot
de la marca Schunk. Esta marca trabaja con el protocolo CAN, y tiene una tasa de baudios de
hasta 1 mbps con una distancia máxima de transmisión correspondiente a 40 metros.

Figura 19. Cable CAN Bus

3.1.9. Software de Simulación

Hoy en día existen algunos softwares para diseño y simulación. Sin embargo, son escasos
aquellos orientados a las aplicaciones de robótica. Entre las herramientas que se ofertan se
encuentran Inventor, V-REP (CoppeliaSim) y Labview que permite generar interfaces
gráficas sencillas.

Opción A: Gazebo

Es un software de simulación gratuito basado en un conjunto de paquetes y librerías


open-source que destaca por la posibilidad de simular robots con bastante precisión en
entornos complejos. Está integrado en ROS, lo que lo hace compatible para poder usar todos
los paquetes de programas desarrollados por otras personas y acoplarlas a nuestro proyecto.
Añade componentes físicos y eléctricos al robot como colisiones, fricción, sensores e incluso
motores físicos que permiten modificar el comportamiento del robot ante ciertos eventos que
presentemos.

Figura 20. Software para robótica Gazebo

Opción B: Autodesk Inventor

26
Pertenece a la empresa Autodesk. Es un software que proporciona herramientas para el
diseño 2D y 3D de piezas y permite el ensamble para posteriormente realizar una simulación
con pruebas de resistencia mecánica llamada elementos finitos. En lo que respecta al tema
eléctrico, el software no proporciona ningún plugin como herramienta.

Figura 21. Software de diseño CAD Inventor

Opción C: Matlab

Matlab es un software dedicado al trabajo con matrices y cumple funciones especializadas de


cálculo empleando su propio lenguaje M de alto nivel. Para el modelamiento de robots,
Matlab añade una librería proporcionada por el Ingeniero Peter Corke, y que actualmente aún
guarda vigencia y presenta actualizaciones, Sin embargo, la deficiencia de esta herramienta se
ve reflejada en la simulación de movimientos y respuestas a un entorno.

Figura 22. Software Matlab

Matriz de Selección

En la Tabla 6. se muestra la evaluación ponderada de las tres alternativas propuestas. De


acuerdo a esta tabla, la alternativa con mayor puntaje será la seleccionada.

Tabla 6. Evaluación ponderada de cámara de percepción remota

Ponderación Alternativas
Criterio
A B C

1 Costo 20% 5 3 3

2 Funcionalidades Robótica 20% 5 2 3

27
3 Extensión 20% 4 2 5

4 Multiplataforma 20% 5 2 2

5 Comunicación con otros software 20% 5 2 4

Total 100% 4.8 2.2 3.4


Fuente: Elaboración Propia

En la Tabla 6. se puede observar que la opción elegida es la A, que corresponde al software


de simulación Gazebo. La razón es por las grandes posibilidades de uso que proporciona al
momento de simular el brazo robot. Este permite agregar motores, masas, fricción entre
componentes y colisiones. Un software ideal para tener una visión más cercana del
comportamiento del robot en el entorno real.

3.1.10. DRA 480

Es una fuente de alimentación recomendable para el robot de acuerdo con los cálculos
eléctricos realizados en la sección de Sustento Técnico. Esta fuente de alimentación se
seleccionó debido a que tiene un montaje en carril DIN, que proporciona 20A, 480W.
Además, está diseñada para sistemas de control industrial que requieren tensión DC
estabilizada, protección contra cortocircuitos, filtro de entrada interno, su alta eficiencia y
robustez.

Figura 23. Fuente Alimentación DRA-480

28
El cable que se va utilizar para la conexión de la fuente de alimentación con el robot es del
tipo Nº 24 AWG.

3.2. Sustento Técnico de la Solución

3.2.1. Telemapping basado en la posición de joints

El componente más importante de un controlador maestro-esclavo es el mapeo entre el


movimiento de los dos robots. El mapeo debe hacerse entre los end-effectors de los dos
robots. Cuando el end-effector del maestro mueve al esclavo, se debería reflejar su
movimiento.

El control del brazo robótico basado en la velocidad se vuelve peligroso. Si por ejemplo la
conexión se cae de repente, el robot podría seguir el último comando y se dañe a sí mismo.
Por tal motivo se decidió realizar la arquitectura de posición en lugar de las velocidades de
los dos efectores finales.

Si usamos el mismo robot en el lado del maestro y del esclavo durante la teleoperación el
telemapping se hace un poco más fácil. La posición de las articulaciones del robot
simplemente se refleja entre los robots. Durante este proyecto se usaron dos robots diferentes,
sin embargo, ya que elegimos al robot y al dispositivo con los mismos grados de libertad,
podemos relacionar cada link uno con el otro como veremos a continuación.

Figura 24. Relación de links entre brazo robot y dispositivo háptico

Fuente: Elaboración Propia

3.2.2. Posición de End-Effectors

Para ubicar la posición de los efectores finales, primero se debe localizar el efector final del
robot Schunk Powerball en coordenadas cartesianas. La herramienta para lograr esto se llama
Cinemática Directa.

29
La cinemática directa calcula la posición del efector final basado en el conocimiento de las
posiciones de cada joint del robot. En el caso de una cadena robótica en serie como viene a
ser un brazo industrial, la cinemática directa se puede calcular de manera recursiva dado el
conocimiento de las posiciones de los joints. El mapeo es lineal, y puede hacerse
multiplicando las matrices de transformación de los links del robot.

El problema de la cinemática directa:

𝑥 = 𝑓(𝑞)

Donde:
𝑛
● 𝑥ϵℜ la posición del end-effector
𝑚 𝑛
● 𝑓ϵℜ → ℜ el mapeo lineal entre el espacio cartesiano y el espacio de joints
𝑚
● 𝑞ϵℜ la coordenada del joint

En el caso de una cadena cinemática en serie que cuenta con joints de tipo rotacionales la
solución sería:

0 4𝑥4
𝑇𝑛ϵℜ : matriz de transformación entre la base y el end-effector.

𝑖−1 4𝑥4
𝑇𝑖(𝑞𝑖)ϵℜ : matriz de transformación entre los marcos de referencia del i-1 y los
sistemas de coordenadas del joint i-ésimo.

Dado que el robot Schunk Powerball está compuesto de una serie de 6 joints, la ecuación que
modela al robot sería:

El robot esclavo recibe las coordenadas del end-effector del maestro en el marco cartesiano.
De estas coordenadas cartesianas, las posiciones de los joints del robot esclavo tienen que ser
calculadas. Este es un problema inverso llamado cinemática inversa. Esta es una herramienta
de cálculo que nos permite encontrar las correspondientes coordenadas de los joints para un
determinado marco cartesiano. Existe una cinemática inversa para la velocidad y la posición.
En este proyecto, la cinemática inversa para la posición del Schunk Powerball debe ser
resuelta.

El problema de la cinemática inversa:


−1
𝑞 = 𝑓 (𝑥)

30
𝑛
● 𝑥ϵℜ la posición del end-effector
−1 𝑛 𝑚
● 𝑓 ϵℜ → ℜ el mapeo no lineal entre el espacio cartesiano y el espacio de joints.
𝑚
● 𝑞ϵℜ la coordenada del joint

3.2.3. Grados de Libertad de los robots

De la ecuación anterior, podemos decir que “n” equivale al número de joints o grados de
libertad del esclavo y “m” al número de joints del maestro.

➢ Si n>m, el sistema está sobredeterminado, no existe ninguna solución.


➢ Si n=m, el problema está bien planteado.
➢ Si n<m, bajo un sistema determinado, existe un número infinito de soluciones

En nuestro caso, m=n ya que ambos robots cuentan con 6 DOF. Este es un factor que
determinó la cantidad de joints en ambos robots, ya que convierte al problema de la
cinemática inversa en un problema bien planteado.

3.2.4. Descripción del Robot

Hay muchas formas diferentes de describir un brazo robótico. La más general es usar su
modelo CAD. Sin embargo, los modelos no incluyen la cinemática del brazo del robot. Pero
usando un software como Autodesk Inventor se podría incluir algunas propiedades
cinemáticas y dinámicas y hacer algunas pruebas. Sin embargo, para describir eficientemente
el movimiento de las cadenas cinemáticas, una forma numérica simplificada como los
parámetros de Denavit-Hartenberg, es suficiente.

3.2.4.1. Denavit Hartenberg

Los parámetros Denavit-Hartenberg crean una convención para fijar marcos de coordenadas a
las juntas de las cadenas cinemáticas. La convención fue creada por Jacques Denavit y
Richard Hartenberg en 1955. La gran ventaja del método es que la cadena cinemática puede
formularse joint a joint de forma secuencial, lo que hace que la formulación sea bastante
simple.

Para colocar los marcos de referencia, hay que seguir estas instrucciones:

❖ En el caso de los joints de rotación, el eje z es el eje de rotación del joint.


❖ El eje X es paralelo a la normal común.
❖ El eje Y está orientado según la regla de la mano derecha con respecto a los ejes Z y
X

31
Cada sistema de coordenadas puede ser descrito por los 4 parámetros DH:

d: Distancia a lo largo del eje Z anterior a la normal común

θ: Ángulo alrededor del Z anterior desde el anterior al nuevo eje X

a: Será la distancia de la normal común

α: Ángulo alrededor de la normal común desde el anterior al nuevo eje Z

Una vez obtenidos estos parámetros podemos aplicar la siguiente transformada para cada
joint del robot, y posteriormente se procede a multiplicar por cada uno de las transformadas
de los otros joints, obteniendo así el vector de posición y orientación del en-effector.

Los parámetros D-H del robot Schunk Powerball se pueden ver en la Tabla 7.

Tabla 7. Parámetros D-H Schunk Powerball

Link θ a α d

1 θ1 0 -π/2 0.205 m

2 θ2 0.350 m π 0

3 θ3 0 -π/2 0

4 θ4 0 π/2 0.305 m

5 θ5 0 -π/2 0

6 θ6 0 0 0.075 m
Fuente: Elaboración Propia

32
3.2.6. Dimensionamiento de Mordaza de Manipulación

Para la selección del gripper o mordaza que se va a emplear debemos tener en cuenta que el
producto que se va a manipular viene encapsulado en la siguiente presentación al momento
de su retiro del recinto:

Figura 25. Formato radioisótopos y radiofármacos

. Fuente: IPEN

Las dimensiones del cilindro que protege al recipiente de cristal que contiene el producto son
70 mm de diámetro por 100 mm de alto. Ya que los radiofármacos producidos son isótopos
que emiten radiación Beta y algunos radiación Gamma, el material del que están compuestas
los blindajes del envase es plomo.

3.2.7 Fuerza de agarre mínima

El cálculo de la fuerza de agarre mínima que debe aplicar la pinza del robot incluirá la masa
de la pieza que se debe mover, el coeficiente de fricción entre el material del gripper y el
material de la pieza y la constante de aceleración gravitacional.

𝑊(𝑝𝑒𝑠𝑜) = 𝑚𝑎𝑠𝑎 𝑥 9. 82 𝑁/𝐾𝑔 (I)

La masa del envase junto con el recipiente de cristal equivale a 600 gramos, por lo que su
peso equivalente es de 58.92 N.

La fuerza con la que el gripper sujeta el envase debe ser mayor a esta ya que de no hacerlo el
producto caería por efecto de la gravedad. Esta vendría a ser la fuerza mínima de agarre del
gripper.

𝐹 > 𝑚 (𝑔 + 𝑎) / 𝑢 * (𝑓𝑎𝑐𝑡𝑜𝑟 𝑑𝑒 𝑠𝑒𝑔𝑢𝑟𝑖𝑑𝑎𝑑) (II)

Donde:

33
F: Fuerza de agarre [N]

u : Coeficiente de fricción estática

m: Masa de la pieza [kg]

g: Aceleración gravitacional [9.81 m / s ^ 2]

a: Aceleración (si es significativa)

Entonces:

𝐹 > 0. 6𝑥(9. 82 + 10) / (0. 95𝑥1)

𝐹 >12.51N

Considerando que el gripper se mueve con una aceleración adicional de 10 m/s se obtuvo una
fuerza mínima de 12.51 N. Ya que esta es la fuerza que se aplica en cada dedo del gripper, si
el gripper tiene dos dedos, la fuerza mínima de agarre debe ser A igual a 25 N. Por este
motivo se eligió el gripper WSG 50 ya que este cuenta con un mínimo de hasta 5 N de fuerza.

3.2.8. Dimensión de Fuente de Alimentación

Luego de seleccionar el brazo robot y gripper que se va utilizar en el presente proyecto. Se


tiene que seleccionar el tipo de fuente de alimentación para el robot de acuerdo a las
especificaciones y parámetros que se necesitan.

De acuerdo a las especificaciones del robot Schunk se necesita una fuente de alimentación de
24 V DC / avg. 3 A / máx. 12 A.

Para la alimentación del robot se ha encontrado una fuente que proporcione la potencia
necesaria para su funcionamiento correcto y que soporte la corriente maxima y minima a un
voltaje de 24V

𝑑𝑤 𝑑𝑤 𝑑𝑞
𝑃= 𝑑𝑡
= 𝑑𝑞
· 𝑑𝑡
= 𝑉 · 𝐼 [𝑤]

De acuerdo a la especificación del robot Schunk se necesita 24V y una intensidad de


corriente de 12A. Entonces con la fórmula obtendremos la potencia que se requiere para el
robot

𝑃𝑚 = 𝑉𝑐𝑐 · 𝐼𝑚𝑎𝑥 𝑖𝑛𝑠𝑡 = 24 [𝑉] · 12[𝐴] = 288 [𝑊]

4. DESARROLLO DE LA SOLUCIÓN

4.1. Diagrama de bloques

En la Figura 26. se muestra el diagrama de bloques de la teleoperación del robot Schunk.


Desde el lado izquierdo de la imagen podemos observar al operador humano, el cual

34
manipuló al dispositivo háptico Phantom Omni. La posición del end-effector del dispositivo
se ingresa a la computadora y se calcula por medio de la cinemática inversa los joints para
que el robot Schunk pueda encontrar la posición correcta. Del lado derecho extremo de la
imagen vemos que el robot Schunk interactúa con los productos radiofármacos producidos en
el recinto.

Figura 26. Diagrama de Bloques

Fuente: Elaboración Propia

4.2. Diagrama P&ID

Los diagramas P&ID son esenciales para representar los equipos junto con la instrumentación
que harán funcionar el proyecto. En este caso, podemos ver por un lado tenemos en el recinto
de producción, los 6 servomotores con los que cuenta el robot Schunk Powerball, los cuales
se controlan mediante sensores tipo encoder, en el gráfico se representan con ZE, que según
la Norma ISA 5.1. equivale a un sensor de posición. Adicional a esto, se proyecta instalar un
sensor de fuerza en el end-effector para mejorar la manipulación del robot el cual vendría
representado como WC que equivale a un controlador de fuerza. Por el momento sólo
tenemos como instrumento a los encoders del propio robot. En la sala de control se cuenta
con la PC en la que a su vez funcionará como HMI y además, vemos a un símbolo M que
representa al dispositivo Phantom en conjunto, el cual cuenta con 6 sensores de posición
analógicos tipo potenciómetro, los cuales vienen representados por el símbolo ZE.

Figura 27. Diagrama P&ID Schunk Powerball y Phantom Omni

35
Fuente: Elaboración Propia

4.3. Diagrama de ubicación del proceso

Dentro del recinto el robot debe cubrir un diámetro de aproximadamente 1 ½ metros para
lograr alcanzar las dos secciones de manipulación en donde se encuentran los productos. En
la imagen de abajo, se representa el área de trabajo del brazo robot como una circunferencia
mientras que las áreas de trabajo son rectangulares ubicadas a 90° una de la otra.

Figura 28. Diagrama de Ubicación del Robot en el Recinto

36
Fuente: Elab. Propia

4.4. Arquitectura del sistema de control

Este método de control permite que un brazo robot industrial pueda ser controlado mediante
otro brazo robot ubicado de manera remota respecto al primero. Se transfieren los
movimientos de los motores del robot Maestro al robot esclavo mediante un solucionador de
Cinemática Inversa y un Servidor que nos permita comunicar ambos robots mediante un
protocolo.

El dispositivo háptico Phantom Omni cuenta con 6 juntas rotativas (6DOF) y el brazo esclavo
cuenta con 3 juntas con dos grados de libertad cada una (6DOF) por lo que la cinemática de
ambos robots es parecida. El robot de Schunk usa el protocolo CANopen, por lo que para
realizar una comunicación efectiva se usarán los servidores de ROS y un simulador del
propio framework llamado Gazebo para visualizar y realizar las pruebas necesarias.

Figura 29. Control bilateral Maestro Esclavo

37
Fuente: Elaboración Propia

4.5. Equipos e instrumentos

Tabla 8. Lista de equipos y materiales para el proyecto

Ítem Descripción y Modelo Marca Cantidad

1 Brazo robot ligero Powerball LWA 4P, 6 DOF, 24 V Schunk 01


DC / avg. 3 A / max. 12 A, IP54, Peso 12.5 Kg, carga
útil 6Kg, precisión +-0.15 mm, interfaz CANopen
(CiA DS402:IEC61800-7-201), Servomotores sin
escobillas con freno de imán permanente.

2 Phantom Omni, 6DOF, precisión +-0.5% x,y.z digital Geomagic 01


encoders, roll, pitch, yaw, potenciómetros lineales,
USB 2.0

3 Interface USB/CAN, DIN montaje en rail y pared VSCOM 01


protección 16kV, Soporte hasta 1 Mbit/s, aislamiento
eléctrico ISO 2.5kV, case de metal.

4 Bus CAN M12, standard 10.0 m, radio de doblez (7.5 Schunk 30 m


veces el diámetro del cable). 1 Mbit/s

5 Bus Ethernet 2.85 Mbit/s Mediabridge 3m

38
6 Gripper WSG 50, Fuerza mínima agarre 5N, Fuerza Schunk 01
máxima agarre 80N, Peso recomendado por pieza 0.4
Kg, peso 1.2 Kg, velocidad máxima 420mm/s,
precisión +-0.03mm, IP 20, 24VDC/0.9A/2AMáx.,
Ethernet, Profibus.

7 Cámara IP HD Wifi 1920x1080p Almacenamiento de PTZ 01


128gb

8 Fuente de Alimentación 24VDC 25A Schneider 01

9 Interruptor Termomagnético Schneider 01

10 Interruptor Diferencial Schneider 01

11 Caja de alimentación eléctrica Aluminio Protección Zishen 01


IP 40

Fuente: Elaboración Propia

4.6. Filosofía de Control

Para el control por medio de teleoperación, se establece una unidad Master y otra unidad
Slave. Por un lado, la unidad Master (Phantom Omni) se encontrará en la sala de control y la
unidad Slave (Powerball LWA 4P) estará ubicada dentro del recinto de manipulación. Cuando
el operador humano manipule el dispositivo háptico, la posición del efector final de este se
calculará mediante la cinemática directa en ROS y será publicada mediante un nodo
Publisher. Dicha información se envía a través de un tópico de comunicación que equivale
metafóricamente a una tubería de conexión entre nodos. La información de la posición
objetivo del robot se lee del mismo tópico donde fue publicado y mediante una
transformación lineal proporcional se cambiará al workspace del robot. Finalmente, se
alcanzará la posición objetivo mediante la cinemática inversa.

Figura 30. Arquitectura de Control Teleoperación Maestro-Esclavo en ROS

39
Fuente: Elaboración Propia

4.7. Lógica de Control

4.7.1. Control ROS

ROS (Robot Operating System) es un sistema operativo que permite gestionar la


información de hardware que proporcionan los fabricantes ya sean de sensores o actuadores
por ejemplo, para que el usuario pueda interactuar con ellos de una forma más sencilla,
quitando la famosa caja negra que impide que los usuarios muchas veces no puedan usar
productos de diferentes marcas en un sólo proyecto, ya sea de ámbito de investigación como
industrial. Básicamente, lo que hace ROS es añadir una capa superior al sistema operativo del
equipo y estandariza la manera en la que trabajamos con este hardware, de manera que nos
podemos comunicar de manera efectiva para enviar y recibir información.

Figura 31. Sistema Operativo ROS

Fuente: Ray Blog

40
ROS Control está basado en un conjunto de paquetes que toman como entrada los datos
proporcionados por los encoders de cada joint o actuador del robot y valor un set point.
Utiliza un mecanismo genérico de retroalimentación del bucle de control, típicamente un
controlador PID, para controlar la salida, típicamente el esfuerzo, enviado a sus actuadores.
ros_control se complica para los mecanismos físicos que no tienen mapeos uno a uno de las
posiciones conjuntas, los esfuerzos, etc., pero estos escenarios se contabilizan utilizando
transmisiones.

4.7.1.1. Controladores ROS

Los paquetes ros_control proporcionan un conjunto de plugins de control para interactuar de


diferentes maneras con las articulaciones del robot. La lista es la siguiente:

● Effort_controllers: Ordena una fuerza/torque deseado a las articulaciones.


- joint_effort_controller
- joint_position_controller
- joint_velocity_controller
● Joint_state_controller: Publica el estado de todos los recursos registrados a un
hardware_interface::JointStateInterface a un topic de tipo sensor_msgs/JointState.
- joint_state_controller
● Position_controllers: Establece una o varias posiciones de los joints a la vez.
- joint_position_controller
- joint_group_position_controller
● Velocity_controllers: Establece una o varias velocidades de los joints a la vez.
- joint_velocity_controller
- joint_group_velocity_controller

4.7.1.2. Interface Hardware

Después de que los controladores hacen su trabajo, su salida se envía a lo que se llama la
interfaz de hardware. La interfaz de hardware es una representación de software del robot y
su hardware abstracto. La interfaz de hardware asigna cada recurso para los controladores y
envía valores a cada recurso, por lo que actúa como un intermediario entre los plugins de los
controladores y el robot real o simulado. Así, los valores de la interfaz de hardware pueden
ser enviados a Gazebo o al robot real. Hay muchas interfaces de hardware en los paquetes
ros_control, pero para el propósito de este curso, vamos a centrarnos en las siguientes:

● Joint Command Interfaces


- Effort Joint Interface
- Velocity Joint Interface
- Position Joint Interface
● Joint State Interfaces

41
Estas interfaces son las que le permiten comandar sus articulaciones, por lo que hay una para
cada tipo de articulación soportada: Effort Joints, Position Joints y Velocity Joints.

Figura 32. Arquitectura de Control ROS

Fuente: WIki ROS

4.8. Interfaz humano máquina (HMI)

La monitorización del proceso de manipulación se podrá observar desde la pantalla del


ordenador al que estarán conectados ambos robots. Esta visualización incluye la posición y
orientación de cada joint y end-effector de cada robot.

Figura 33. Diagrama de Flujo de HMI

42
Fuente: Elaboración Propia

5. EVALUACIÓN DE RESULTADOS

5.1. Resultados de las pruebas

Luego de realizar la simulación de ambos robots y establecer la comunicación virtual, se


procedió a realizar pruebas de control PID de los motores y evaluación de precisión en los
movimientos y posiciones en posiciones aleatorias.

➢ Sintonización de Controladores PID

En Gazebo tenemos la posibilidad de agregar actuadores con sus respectivos controladores.


En la sección de Sustento Técnico del informe se detalló información acerca del control que
podemos hacer con ROS. La sintonización de estos controladores es vital para poder alcanzar
un valor de entrada (set point) con precisión. Es por esto, que antes de probar la precisión de
llegada de los joints al set point, se debe sintonizar cada controlador y probar su precisión.

Debido a que en la simulación no podemos tener un control manual sobre el dispositivo


Phantom Omni debemos programarlo al igual que el robot para que pueda moverse, entonces
debemos simular actuadores virtuales para este equipo. Sin embargo, la sintonización de sus

43
controladores no son de interés en el proyecto real, debido a que este equipo no cuenta con
actuadores, sólo con encoders. A continuación, se muestran imágenes de la sintonización por
tanteo de las 6 articulaciones del robot:

Figura 34. Variable del proceso(azul) y Set Point(rojo) de cada motor del robot

Fuente: Elaboración Propia

Los datos recopilados de estas gráficas son las siguientes:

Tabla 9. Sintonización PID de los controladores

Controlador 𝐾𝑝 𝐾𝑖 𝐾𝑑

wrist 100 0 10

shoulder 600 0 60

elbow 500 0 10

yaw 200 0 20

pitch 100 0 10

44
roll 50 0 5
Fuente: Elaboración Propia

➢ Precisión de respuesta del robot

Durante la simulación del proyecto, se programaron tres trayectorias elegibles. Cada una de
ellas posiciona al end-effector del brazo robot en una posición diferente. La primera es la
posición aleatoria 0 (Tabla 10.) al que se ubicará el brazo y define la relación entre cada uno
de sus joints respectivos con los del dispositivo háptico Phantom Omni. La segunda (Tabla
11.) y tercera (Tabla 12.) corresponden a dos posiciones aleatorias que se programaron con el
objetivo de poder obtener movimiento en el dispositivo Phantom Omni desde la
computadora.

En esta primera prueba se van a comparar las posiciones y los errores que se obtienen al
restar ambas posiciones. Para obtener estos datos, recurrimos al tópico correspondiente del
robot y el dispositivo que publica datos de posición, velocidad y esfuerzo. En este caso sólo
analizaremos los datos correspondientes a la posición de los joints ya que se eligió la
arquitectura de teleoperación posición-posición. Estos valores son publicados en radianes
dentro de los siguientes tópicos:

- Phantom Omni: phantom/joint_states


- Schunk Powerball: lwa4p/joint_states

Tabla 10. Ángulos de articulaciones en posición aleatoria 0

Waist Shoulder Elbow Yaw Pitch Roll

Phantom -4.7109489909 1.562334879 -0.01888503 -7.78596495 0.511125798 -6.85077276


Omni 047397e-07 0347595 9300928774 010219e-06 5589024 77413754

Powerball 1.5699999979 -0.00824706 1.579666825 -0.00040486 -0.79855639 0.034500743


LWA4P 396617 505226569 9849787 0834279046 9602381 33420032

∆ε -1.57 1.57 -1.57 0.00 1.3 0.00

Fuente: Elaboración Propia

Tabla 11. Ángulos de articulaciones en la posición aleatoria 1,

Waist Shoulder Elbow Yaw Pitch Roll

Phantom 0.9800027396 1.564389695 0.786173729 0.000145676 0.499997743 0.000177712


Omni 69044 3920002 2893105 6017629 0782927 3485648

45
Powerball 2.5500027514 -0.01132822 -0.76271978 -0.00028299 -0.80005287 -1.22576784
004664 12366172 7519222 2907354 6279510 278e-08

∆ε -1.57 1.58 1.54 0.00 1.29 0.00

Fuente: Elaboración Propia

Tabla 12. Tabla Ángulos de articulaciones en la posición aleatoria 2

Waist Shoulder Elbow Yaw Pitch Roll

Phantom -0.5000000231 0.682310679 0.781255052 0.399848203 0.511702375 -6.67112134


Omni 72241 8262177 1929573 2861066 7591914 7778e-06

Powerball 1.0699998421 -0.91410193 -0.76089622 -0.00040277 -0.79843715 5.320538853


789614 8298747 3517265 7018041 4904506 936e-08

∆ε 1.56 1.59 1.54 0.39 1.31 0.00

Fuente: Elaboración Propia

Estos resultados muestran que hay una relación entre las posiciones de ambos equipos y eso
se puede ver en el valor del error, el cual equivale a la diferencia de cada ángulo de
articulación (en radianes). Esto significa que el brazo robot realiza sus movimientos en
relación proporcional a la posición de las articulaciones del dispositivo Phantom Omni.

Figura 35. Home Position

Figura 36. Test Posición Aleatoria 0

46
Figura 37. Test Posición Aleatoria 1

Figura 38. Test Posición Aleatoria 2

47
➢ Time Delay de la Teleoperación

Los resultados en la simulación con el Schunk Powerball LWA 4P se presentan en la figura


24. En este experimento, el brazo fue controlado por Phantom Omni, y la posición del efector
final en el eje Y fue considerado. Es visible que el brazo es capaz de alcanzar la posición del
joystick del Phantom Omni. Sin embargo, la cinemática inversa añade un retraso que afecta a
su respuesta general.

Figura 39. Posición de Phantom Omni y Schunk Powerball

Fuente: Elab. Propia

El retraso que obtuvimos en alcanzar la posición deseada se debe a la RAM de la máquina en


la que se realizó la simulación.

Tabla 13. Retraso en respuesta del brazo robot Schunk

Articulación Time-Delay (ms)

Wrist 223,3

Shoulder 357,6

Elbow 548,7

Yaw 194,5

Pitch 519,2

Roll 422,6
Fuente: Elab. Propia

48
5.2. Beneficios obtenidos

En cuanto a los beneficios que se obtuvieron al poder manipular los radiofármacos uno de los
más importantes fue que se obtuvo un aumento significativo en la seguridad de la planta,
debido a la baja en el número de intervenciones humanas en el recinto. Esto se puede ver en
la Figura 40. en el que se analizaron las intervenciones del personal durante cada mes desde
Octubre hasta Julio. La gráfica muestra una tendencia de descenso desde el mes de Mayo,
fecha en la que se integró completamente el sistema.

Figura 40. Intervenciones del personal en el recinto de producción de radiofármacos

Fuente: Elaboración Propia

De los datos obtenidos se pueden agregar algunos beneficios en la salud de los trabajadores e
incremento en la cultura de prevención, cumpliendo con la Norma Técnica IR.002.2012
“Requisitos de Protección Radiológica y Seguridad en Medicina Nuclear” que establece
tomar las acciones necesarias para controlar y minimizar dicho riesgo. En la siguiente imagen
se muestra la diferencia de más de un 55% en la recepción de radiación de los trabajadores,
conforme al número de horas que realizan las intervenciones.

Figura 41. Exposición a la radiación personal

49
Fuente: Elaboración Propia

5.3. Evaluación económica y financiera.

En esta parte se presenta un análisis financiero del proyecto, en el que vamos a estimar los
costos del servicio de implementación de este sistema dentro de una planta. Cabe resaltar que
el costo está sometido a cambios debido a que el precio del robot puede variar y requeriría
replantear todo el proyecto; por lo que nos proponemos a realizar la evaluación sólo para el
brazo robot Schunk Powerball.

En el Anexo Nº3 se presenta el costo de implementación del proyecto a detalle. El costo de


implementación del proyecto “Teleoperación de un Brazo Robot de 6-DOF para
Manipulación de Productos Radiofármacos” en La Planta de IPEN que está valorizado en
S/195.560.00. Esta cantidad de dinero es la suma de los costos directos e indirectos.

Esta evaluación económica y financiera está basada en supuestos donde por cada mes se va
brindar el servicio de implementación de servicio de teleoperación en las industrias donde se
realizará respetando las etapas de administración de un proyecto de ingeniería (Planeación.
ejecución y control).

En el Anexo Nº4 se tendrá mayor detalle sobre el presupuesto estimado por 12 meses.

Se observa el presupuesto estimado por el periodo de un año (2021 a 2022). Donde se indica
los costos de implementación de servicio que se va realizar en las industrias, los costos
variables, costos fijos y los intereses por cada mes. Finalmente tenemos el beneficio neto que
viene ser el resultado final por cada mes.

Para que el proyecto de negocio tome lugar se necesita cierta cantidad de inversión de activos
tangibles e intangibles que tiene una inversión total de S/42,600.00.

Tabla 14. Activos Tangibles

50
Fuente: Elaboración Propia

Tabla 15. Activos Intangibles

Fuente: Elaboración Propia

De acuerdo el análisis del presupuesto estimado, para iniciar con el negocio se requiere un
capital de trabajo de:

● Costos variables en un mes: 4,356.00


● Costos fijos en un mes: S/19,600.00
❖ Total de capital de trabajo por un mes: S/23,956.00 soles

Entonces se requiere la cantidad de S/23,956.00 para financiar el negocio y poder estar en


operación por un tiempo de un mes.

Por otra parte se requiere adquirir cierta cantidad de dinero con la finalidad de poder
mantenernos en el mercado.

● Inversión requerida: S/42,600.00.


● Capital de trabajo: S/23,956.00

51
❖ Préstamo que se requiere: S/66,556.00 soles

Por lo tanto se requiere un préstamo de S/66,556.00 soles para poder operar en el mercado.
Teniendo en cuenta los activos tangibles e intangibles y el capital de trabajo. Adquirir esta
cantidad de dinero nos ayudará a mantenernos en el negocio por un mes. Luego del siguiente
mes se mantendrá por cada servicio que se brinda en la industria

En el Anexo Nº4 se presenta a detalle sobre el flujo económico financiero por 12 meses sobre
el proyecto.

Se muestra el flujo de caja por un periodo de 12 meses, hay que recordar que el primer mes
tenemos un saldo negativo que está valorizado -S/66,556.00 a esto se debe por el inicio del
proyecto “Teleoperación de un Brazo Robot de 6-DOF para Manipulación de Productos
Radiofármacos” en La Planta de IPEN.

Para el análisis del valor actual neto y la tasa de interés de retorno se consideró a una tasa de
descuento del 26%. Esta tasa de interés es una referencia ya que al brindar un préstamo de
una entidad financiera puede variar con respecto al tiempo. En caso que el proyecto se quiera
ejecutar a futuro es un negocio rentable. Por lo que los resultados fueron positivos ya que el
valor actual neto es superior a cero por un periodo de uno. Esto nos permite que la inversión
que se hizo al inicio nos permite recuperar en un año. La tasa interna de retorno resultante fue
de 84% que es la tasa de rentabilidad del proyecto. Por lo tanto, por ser mayor a la tasa de
interés de 26% quiere decir que es rentable invertir en el proyecto.

Tabla 16. Análisis del VAN Y TIR

Fuente: Elaboración Propia

Para el periodo de recupero de la inversión del proyecto que se desea a implementar a futuro
es de aproximadamente 5 meses para recuperar la inversión del dinero inicial. Esto se obtuvo
mediante el cociente de la inversión inicial y promedio de flujo de caja.

Tabla. 17. Análisis del PAYBACK

52
Fuente: Elaboración Propia

6. CONCLUSIONES

- De acuerdo al estado del arte se puede concluir que la teleoperación robótica en la


industria nuclear tiene como objetivo principal extender la presencia de robots o
permitirles alcanzar áreas donde el ambiente térmico o de radiación limita la presencia
de un ser humano; a diferencia de las aplicaciones industriales, en donde los
trabajadores son reemplazados por estas máquinas principalmente porque son más
eficientes, productivas y pueden realizar tareas monótonas.
- Es de vital importancia realizar los cálculos de magnitudes físicas y eléctricas antes de
elegir los componentes para un correcto dimensionamiento y funcionamiento de los
componentes al momento de realizar sus funciones. En este caso particular uno de las
magnitudes principales encontradas fue la fuerza de agarre que ejerce el gripper al
producto. Se analizó la densidad del material, el peso, el rozamiento estático y
dinámico. Con este valor se pudo seleccionar el gripper con la fuerza de agarre
adecuada.
- Se identificaron los componentes del sistema mediante el uso de matrices de
selección, en las cuales evaluamos diferentes opciones de acuerdo a criterios elegidos
para cada componente y seleccionamos la mejor de ellas.
- Se logró realizar el modelo cinemático del robot mediante los parámetros
Denavit-Hartenberg. Esta convención nos ayudó a conocer la cinemática directa del
robot, con la que hallamos la posición y orientación cartesiana del efector final para
cada posición de las articulaciones. Para el problema de la cinemática inversa se
empleó una herramienta llamada IK solver, ya que es un proceso complejo. Con la
solución a este problema se encontraron los posibles valores de cada articulación
conociendo de antemano la posición del efector final. De esta forma logramos realizar
la teleoperación del robot, añadiendo un factor de conversión de las posiciones del
dispositivo háptico al brazo robot.
- Se realizó la documentación requerida para entender los diagramas eléctricos y
mecánicos del sistema, como el diagrama P&ID, el diagrama de bloques, diagrama de
flujo, etc.
- Se logró simular el control del brazo robot y la comunicación con el dispositivo
háptico mediante el software Gazebo. La utilidad de este software es que permite
agregar parámetros mecánicos al modelo CAD como el peso de cada componente,

53
inercia, aceleración, fricción estática y dinámica, motores con controladores para cada
articulación, etc. De esta forma alcanzamos una perspectiva muy real del
funcionamiento del sistema y al mismo tiempo corregir errores no previstos.
- Para tener una percepción visual remota del entorno se añadió una interfaz gráfica
básica que permite monitorizar el proceso mediante una cámara y añadir
funcionalidades al operador como encender el robot, el dispositivo, manipulación
manual de cada motor del robot y parada de emergencia.
- Mediante la evaluación del flujo económico de caja del presente proyecto se logró
identificar acerca de los ingresos estimados que se va adquirir cada mes. Por otra
parte, los egresos de los costos variables y los costos fijos de cada mes. Para que
finalmente poder obtener un saldo final de caja.
- Los resultados obtenidos tanto como el VAN y el TIR fueron óptimos. Por lo que se
consideró una tasa de descuento de 26% que es una tasa de referencia que brinda los
bancos aproximadamente. Por lo tanto, el valor actual neto nos arrojó un valor de
S/256,599.41 que es superior a 0 y la tasa de interna de retorno es de 84% que es la
tasa de rentabilidad del proyecto y por lo que es mayor la tasa de descuento de 26%.
Entonces estos cálculos financieros nos permitió que el proyecto de negocio sea
rentable a futuro.

7. RECOMENDACIONES

- Se recomienda que antes de integrar un robot industrial dentro de una planta o un


lugar en donde tenga contacto con personas, se realice la simulación del robot con sus
características físicas y eléctricas con el fin de evitar pérdidas por fallos en el
programa que hagan que el robot se dañe a sí mismo o dañe a otros.
- Se recomienda calibrar los motores del robot ya sea para teleoperador o controlarlo
con un plc ya que este viene con valores por defectos que podría cambiar la
configuración del programa.
- Se recomienda tener equipos de protección ante fallas eléctricas del robot.
- Se recomienda emplear un sensor de fuerza en el gripper para mejorar la
realimentación de control de los objetos.

REFERENCIAS BIBLIOGRÁFICAS

[1] Bradley, C.(2014). “Robotic Arm Calibration and Control 6-DOF Powerball LWA 4P”.
RENSSELAER POLYTECHNIC INSTITUTE.
[2] Haiying H. Jiawei L. Bing W.(2005). “A Robot Arm/hand Teleoperation System with
Telepresence and Shared Control”. Harbin Institute of Technology, China.

54
[3] Ortiz, F. Álvarez, B. Sánchez, P. Alonso, D.(2005). “Arquitectura para Control de Robots
de Servicio Teleoperados.” Universidad Politécnica de Cartagena, Colombia.
[4] Pasztori, Z. (2018). “Master-Slave Teleoperation with Force Feedback in Hazardous
Environment”. Universitat Jaume.
[5] Córdova, E. Espinoza, E. Herrera, J.(2015). “Control de un Brazo Robótico
Antropomórfico con 6 Grados de Libertad Teleoperado para la Seguridad Industrial en el
Perú.”
[6] Inyama C. (2015).“Design and Implementation of a Robot Arm Control System”.
International Journal Of Engineering And Computer Science, Nigeria.
[7] Cerón, A. (2005). “Sistema Robóticos Teleoperados” Universidad Militar Nueva
Granada, Bogotá D.C Colombia.
[8] Caño, E. (2015). “Recent advances in research teleoperation, telepresence and virtual
reality.” Universidad Carlos III de Madrid, España.
[9] Filippi, H. (2007).“Wireless Teleoperation of Robotic Arms”. Lulcá University of
Technology..

9. ANEXOS

55
Fecha: 12/07/20 Encargado: Israel Castillo Revisado: Aprobado:

Firma: WORKSPACE BRAZO ROBOT SCHUNK Observaciones:


POWERBALL LWA4P

Anexo N°1. Workspace del brazo robot, Fuente: Schunk

56
Anexo Nº 2. Interfaz Gráfica del Operador en LabView, Fuente: Elaboración Propia

Anexo Nº 3. Presupuesto de Implementación. Fuente: Elaboración Propia

57
Anexo Nº 4. Presupuesto operativo proyectado. Fuente: Elaboración Propia

Anexo Nº5. Flujo de caja económico. Fuente: Elaboración Propia

Archivo URDF Ensamble Phantom Omni

<?xml version="1.0"?>
<robot name="phantom">

<gazebo>

58
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/phantom</robotNamespace>
</plugin>
</gazebo>

<link name="base" >


<inertial>
<origin xyz="0 0 0.2" rpy="0 0 0"/>
<mass value="0.4" />
<inertia ixx="0.0012352" ixy="0.0" ixz="0.0" iyy="0.0012352" iyz="0.0" izz="0.002"/>
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/base.stl" />
</geometry>
</collision>
<visual>
<origin xyz="0 -0.02 0.0" />
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/base.stl" />
</geometry>
</visual>
</link>

<gazebo reference="base">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<link name="world"/>

<joint name="fixed" type="fixed">


<parent link="world"/>
<child link="base"/>
</joint>

<link name="torso" >


<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.3" />
<inertia ixx="0.000432" ixy="0.0" ixz="0.0" iyy="0.000432" iyz="0.0" izz="0.000432"/>
</inertial>

<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/torso.stl" />
</geometry>
</collision>
<visual>
<origin xyz="0 0 0.036" rpy="-1.5707 0 0"/>
<geometry>

59
<mesh filename="package://lwa4p_description/models/phantom/meshes/torso.stl"
/>
</geometry>
</visual>
</link>

<gazebo reference="torso">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Gray</material>
</gazebo>

<joint name="waist" type="revolute" >


<parent link="base" />
<child link="torso" />
<origin xyz="0 0 0.09" rpy="0 0 0" />
<axis xyz="0 0 1" />
<limit lower="-0.98" upper="0.98" velocity="100" effort="5" />
</joint>

<transmission name="tran1">
<type>transmission_interface/SimpleTransmission</type>
<joint name="waist">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor1">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<link name="upper_arm" >


<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.1" />
<inertia ixx="0.000432" ixy="0.0" ixz="0.0" iyy="0.000432" iyz="0.0" izz="0.000432"/>
</inertial>

<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/upper_arm.stl" />
</geometry>
</collision>
<visual>
<origin xyz="0.0075 0 0" rpy="0 0 0"/>
<geometry>
<mesh
filename="package://lwa4p_description/models/phantom/meshes/upper_arm.stl" />
</geometry>
</visual>

</link>

<gazebo reference="upper_arm">

60
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<joint name="shoulder" type="revolute" >


<parent link="torso" />
<child link="upper_arm" />
<origin xyz="-0.0075 0 0.035" rpy="0 0 0" />
<axis xyz="1 0 0" />
<limit lower="0" upper="1.75" velocity="100" effort="5" />
</joint>

<transmission name="tran2">
<type>transmission_interface/SimpleTransmission</type>
<joint name="shoulder">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor2">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<link name="lower_arm" >


<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.08" />
<inertia ixx="0.000056" ixy="0.0" ixz="0.0" iyy="0.000056" iyz="0.0" izz="0.000006"/>
</inertial>

<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/lower_arm.stl" />
</geometry>
</collision>
<visual>
<origin xyz="0 0 0" rpy="1.5707 0 0"/>
<geometry>
<mesh
filename="package://lwa4p_description/models/phantom/meshes/lower_arm.stl" />
</geometry>
</visual>
</link>

<gazebo reference="lower_arm">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Gray</material>
</gazebo>

<joint name="elbow" type="revolute" >

61
<parent link="upper_arm" />
<child link="lower_arm" />
<origin xyz="0.0075 0.134 0" rpy="-1.5 0 0" />
<axis xyz="1 0 0" />
<limit lower="-0.81" upper="1.25" velocity="100" effort="5" />
</joint>

<transmission name="tran3">
<type>transmission_interface/SimpleTransmission</type>
<joint name="elbow">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor3">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<link name="wrist" >


<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.04" />
<inertia ixx="0.00005" ixy="0.0" ixz="0.0" iyy="0.00005" iyz="0.0" izz="0.00005"/>
</inertial>

<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/wrist.stl" />
</geometry>
</collision>
<visual>
<origin xyz="0 0 0" rpy="3.14159 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/wrist.stl"
/>
</geometry>
</visual>
</link>

<gazebo reference="wrist">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<joint name="yaw" type="continuous" >


<parent link="lower_arm" />
<child link="wrist" />
<origin xyz="0 0.08 0" />
<axis xyz="0 1 0" />
<limit velocity="100" effort="5" />
</joint>

<transmission name="tran4">

62
<type>transmission_interface/SimpleTransmission</type>
<joint name="yaw">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor4">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<link name="tip" >


<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.03" />
<inertia ixx="0.00000441" ixy="0.0" ixz="0.0" iyy="0.00000441" iyz="0.0" izz="0.00000441"/>
</inertial>

<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/tip.stl" />
</geometry>
</collision>
<visual>
<origin xyz="0 0 0" rpy="-1.5707 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/tip.stl"
/>
</geometry>
</visual>
</link>

<gazebo reference="tip">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<joint name="pitch" type="revolute" >


<parent link="wrist" />
<child link="tip" />
<origin xyz="0 0.0525 0" rpy="0.5 0 0" />
<axis xyz="1 0 0" />
<limit lower="0.5" upper="1.5" velocity="100" effort="5" />
</joint>

<transmission name="tran5">
<type>transmission_interface/SimpleTransmission</type>
<joint name="pitch">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor5">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>

63
</transmission>

<link name="stylus" >


<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.1" />
<inertia ixx="0.00007" ixy="0.0" ixz="0.0" iyy="0.00007" iyz="0.0" izz="0.000006"/>
</inertial>

<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/pen.stl" />
</geometry>
</collision>
<visual>
<origin xyz="0 -0.033 0" rpy="1.5707 1.5707 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/phantom/meshes/pen.stl"
/>
</geometry>
</visual>
</link>

<gazebo reference="stylus">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<joint name="roll" type="revolute" >


<parent link="tip" />
<child link="stylus" />
<origin xyz="0 -0.023 0" rpy="3.14159 3.14159 0" />
<axis xyz="0 1 0" />
<limit lower="-2.58" upper="2.58" velocity="100" effort="5" />
</joint>

<transmission name="tran6">
<type>transmission_interface/SimpleTransmission</type>
<joint name="roll">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor6">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

</robot>

Archivo URDF de Ensamble Robot Schunk Powerball LWA4P

64
<?xml version="1.0"?>
<robot name="lwa4p">

<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/lwa4p</robotNamespace>
</plugin>
</gazebo>

<link name="arm_0_link">
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="0.29364"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01" />
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_0_link.dae"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_0_link.dae"/>
</geometry>
</visual>
</link>

<gazebo reference="arm_0_link">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<link name="world"/>

<joint name="fixed" type="fixed">


<parent link="world"/>
<child link="arm_0_link"/>
</joint>

<link name="arm_1_link">
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="1.68311"/>
<inertia ixx="0.03" ixy="0" ixz="0" iyy="0.03" iyz="0" izz="0.03" />
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_1_link.dae"/>
</geometry>

65
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_1_link.dae"/>
</geometry>
</visual>
</link>

<gazebo reference="arm_1_link">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<joint name="arm_0_joint" type="revolute">


<parent link="arm_0_link"/>
<child link="arm_1_link"/>
<origin xyz="0 0 0.1" rpy="0 0 0"/>
<limit lower="-2.96706" upper="2.96706" effort="370" velocity="2.0"/>
<axis xyz="0 0 1"/>
</joint>

<transmission name="tran1">
<type>transmission_interface/SimpleTransmission</type>
<joint name="arm_0_joint">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor1">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<link name="arm_2_link">
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="2.1"/>
<inertia ixx="0.03" ixy="0" ixz="0" iyy="0.03" iyz="0" izz="0.03" />
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_2_link.dae"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_2_link.dae"/>
</geometry>
</visual>
</link>

66
<gazebo reference="arm_2_link">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Blue</material>
</gazebo>

<joint name="arm_1_joint" type="revolute">


<parent link="arm_1_link"/>
<child link="arm_2_link"/>
<origin xyz="0 0 0" rpy="1.5708 0 0"/>
<limit lower="-2.09" upper="2.09" effort="370" velocity="2.0"/>
<axis xyz="0 0 1"/>
</joint>

<transmission name="tran2">
<type>transmission_interface/SimpleTransmission</type>
<joint name="arm_1_joint">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor2">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<link name="arm_3_link">
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="1.68311"/>
<inertia ixx="0.03" ixy="0" ixz="0" iyy="0.03" iyz="0" izz="0.03" />
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_3_link.dae"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_3_link.dae"/>
</geometry>
</visual>
</link>

<gazebo reference="arm_3_link">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

67
<joint name="arm_2_joint" type="revolute">
<parent link="arm_2_link"/>
<child link="arm_3_link"/>
<origin xyz="0 0.35 0" rpy="0 3.1415 0"/>
<limit lower="-2.09" upper="2.09" effort="176" velocity="2.0"/>
<axis xyz="0 0 1"/>
</joint>

<transmission name="tran3">
<type>transmission_interface/SimpleTransmission</type>
<joint name="arm_2_joint">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor3">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<link name="arm_4_link">
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.807"/>
<inertia ixx="0.03" ixy="0" ixz="0" iyy="0.03" iyz="0" izz="0.03" />
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_4_link.dae"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_4_link.dae"/>
</geometry>
</visual>
</link>

<gazebo reference="arm_4_link">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/BlueGlow</material>
</gazebo>

<joint name="arm_3_joint" type="revolute">


<parent link="arm_3_link"/>
<child link="arm_4_link"/>
<origin xyz="0 0 0" rpy="-1.5708 3.14159 0"/>
<limit lower="-2.09" upper="2.09" effort="176" velocity="2.0"/>
<axis xyz="0 0 1"/>
</joint>

<transmission name="tran4">

68
<type>transmission_interface/SimpleTransmission</type>
<joint name="arm_3_joint">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor4">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<link name="arm_5_link">
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.819"/>
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01" />
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_5_link.dae"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_5_link.dae"/>
</geometry>
</visual>
</link>

<gazebo reference="arm_5_link">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<joint name="arm_4_joint" type="revolute">


<parent link="arm_4_link"/>
<child link="arm_5_link"/>
<origin xyz="0 0.005263 0.305" rpy="1.5708 0 3.14159"/>
<limit lower="-2.96706" upper="2.96706" effort="41.6" velocity="2.0"/>
<axis xyz="0 0 1"/>

</joint>

<transmission name="tran5">
<type>transmission_interface/SimpleTransmission</type>
<joint name="arm_4_joint">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor5">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

69
<link name="arm_6_link">
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.5" />
<inertia ixx="0.0002806" ixy="0.0" ixz="0.0" iyy="0.0002806" iyz="0.0" izz="0.0004"/>
</inertial>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_6_link.dae"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://lwa4p_description/models/lwa4p/meshes/arm_6_link.dae"/>
</geometry>
</visual>
</link>

<gazebo reference="arm_6_link">
<kp>100000.0</kp>
<kd>100000.0</kd>
<mu1>10.0</mu1>
<mu2>10.0</mu2>
<material>Gazebo/Grey</material>
</gazebo>

<joint name="arm_5_joint" type="revolute">


<parent link="arm_5_link"/>
<child link="arm_6_link"/>
<origin xyz="0 0 0" rpy="-1.5708 0 0"/>
<limit lower="-2.96706" upper="2.96706" effort="20.1" velocity="2.0"/>
<axis xyz="0 0 1"/>

</joint>

<transmission name="tran6">
<type>transmission_interface/SimpleTransmission</type>
<joint name="arm_5_joint">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor6">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>

<!-- BASE LINK GRIPPER-->

<joint name="arm_gripper_joint" type="fixed">


<parent link="arm_6_link"/>
<child link="base_gripper"/>
<origin xyz="0 0 0.083" rpy="0 0 0"/>
<axis xyz="0 0 1"/>
</joint>

70
<link name="base_gripper">
<inertial>
<mass value="0.25" />
<origin xyz="0 0 0" />
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01" />
</inertial>

<visual>
<origin xyz="0.0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://lwa4p_description/models/wsg50/meshes/base_gripper.stl" scale="1 1
1"/>
</geometry>

</visual>

<collision>
<origin xyz="0.0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://lwa4p_description/models/wsg50/meshes/base_gripper.stl" scale="1 1
1"/>
</geometry>
</collision>
</link>

<gazebo reference="base_gripper">

<material>Gazebo/Grey</material>
<turnGravityOff>false</turnGravityOff>
</gazebo>

<!-- GRIPPER LEFT -->

<joint name="base_joint_gripper_left" type="prismatic">


<limit lower="-0.055" upper="-0.0027" effort="1.0" velocity="1.0"/>
<origin xyz="0 0 0" rpy="0 0 0" /> <!--origin xyz="-0.0067 0 0.049" rpy="0 0 0" /-->
<parent link="base_gripper"/>
<child link="gripper_left" />
<dynamics damping="0.0" friction="0.0"/>
<axis xyz="1 0 0"/>
<limit effort="100" velocity="100"/>
</joint>

<transmission name="base_trans_left">
<type>transmission_interface/SimpleTransmission</type>
<joint name="base_joint_gripper_left">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="base_motor_left">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
<motorTorqueConstant>1</motorTorqueConstant>
</actuator>
</transmission>

71
<link name="gripper_left">
<inertial>
<mass value="0.1" />
<origin xyz="0 0 0" />
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01" />
</inertial>

<visual>
<origin xyz="0.0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://lwa4p_description/models/wsg50/meshes/gripper.stl" scale="0.001
0.001 0.001"/>
<!--box size="0.0175 0.03 0.024"/-->
</geometry>

</visual>

<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<!--box size="0.0175 0.03 0.024"/-->
<mesh filename="package://lwa4p_description/models/wsg50/meshes/gripper.stl" scale="0.001
0.001 0.001"/>
</geometry>
</collision>
</link>

<gazebo reference="gripper_left">

<material>Gazebo/Grey</material>
<turnGravityOff>true</turnGravityOff>
</gazebo>

<!-- LEFT FINGER -->

<joint name="joint_finger_left" type="fixed">


<origin xyz="0 0 0.023" rpy="0 0 0" />
<parent link="gripper_left"/>
<child link="finger_left" />
<axis xyz="1 0 0"/>

</joint>

<link name="finger_left">
<inertial>
<mass value="0.1" />
<origin xyz="0 0 0" />
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01" />
</inertial>

<visual>
<origin xyz="0.0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://lwa4p_description/models/wsg50/meshes/finger.stl" scale="0.001 0.001
0.001"/>
</geometry>

72
</visual>

<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://lwa4p_description/models/wsg50/meshes/finger.stl" scale="0.001 0.001
0.001"/>
</geometry>
</collision>
</link>

<gazebo reference="finger_left">
<material>Gazebo/Grey</material>

<turnGravityOff>true</turnGravityOff>
</gazebo>

<!-- GRIPPER RIGHT -->

<joint name="base_joint_gripper_right" type="prismatic">


<limit lower="0.0027" upper="0.055" effort="1.0" velocity="1.0"/>
<origin xyz="0 0 0" rpy="0 0 3.14159" />
<parent link="base_gripper"/>
<child link="gripper_right" />
<axis xyz="-1 0 0"/>
<dynamics damping="0.0" friction="0.0"/>
<limit effort="100" velocity="100"/>
</joint>

<transmission name="base_trans_right">
<type>transmission_interface/SimpleTransmission</type>
<joint name="base_joint_gripper_right">
<hardwareInterface>EffortJointInterface</hardwareInterface>
</joint>
<actuator name="base_motor_right">
<hardwareInterface>EffortJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
<motorTorqueConstant>1</motorTorqueConstant>
</actuator>
</transmission>

<link name="gripper_right">
<inertial>
<mass value="0.1" />
<origin xyz="0 0 0" />
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01" />
</inertial>

<visual>
<origin xyz="0.0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://lwa4p_description/models/wsg50/meshes/gripper.stl" scale="0.001
0.001 0.001"/>
<!--box size="0.0175 0.03 0.024"/-->
</geometry>

73
</visual>

<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<!--box size="0.0175 0.03 0.024"/-->
<mesh filename="package://lwa4p_description/models/wsg50/meshes/gripper.stl" scale="0.001
0.001 0.001"/>
</geometry>
</collision>
</link>

<gazebo reference="gripper_right">
<material>Gazebo/Grey</material>
<turnGravityOff>true</turnGravityOff>
</gazebo>

<!-- RIGHT FINGER -->

<joint name="joint_finger_right" type="fixed">


<origin xyz="0 0 0.023" rpy="0 0 0" />
<parent link="gripper_right"/>
<child link="finger_right" />
<axis xyz="1 0 0"/>
</joint>

<link name="finger_right">
<inertial>
<mass value="0.1" />
<origin xyz="0 0 0" />
<inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01" />
</inertial>

<visual>
<origin xyz="0.0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://lwa4p_description/models/wsg50/meshes/finger.stl" scale="0.001 0.001
0.001"/>
</geometry>

</visual>

<collision>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://lwa4p_description/models/wsg50/meshes/finger.stl" scale="0.001 0.001
0.001"/>
</geometry>
</collision>
</link>

<gazebo reference="finger_right">
<material>Gazebo/Grey</material>
<turnGravityOff>true</turnGravityOff>
</gazebo>

74
</robot>

75

También podría gustarte