Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ELECTRICIDAD
Mecatrónica Industrial
VI Ciclo
Proyectos Mecatrónicos
Integrantes:
Asesor:
2020-I
ÍNDICE DE CONTENIDOS
RESUMEN…………………………………………………………………………………………….4
2. OBJETIVOS………………………………………………………………………………….11
3. FUNDAMENTO TÉCNICO………………………………………………………………...12
4. DESARROLLO DE LA SOLUCIÓN……………………………………………………….28
5. EVALUACIÓN DE RESULTADOS.………………………………………………………..36
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
2
Figura 20. Sistema Operativo ROS……………………………………………………………………33
Figura 23. Variable del proceso(azul) y Set Point(rojo) de cada motor del robot…………………….37
ÍNDICE DE TABLAS
3
Tabla 11. Ángulos de articulaciones en posición 1…………………………………………….......38
ÍNDICE DE ANEXOS
4
RESUMEN
5
1. PLANTEAMIENTO Y DELIMITACIÓN DEL PROBLEMA
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,
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.
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.
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.
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.
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
1.3.2. Delimitación
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.
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
11
Fuente: Robotnik
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.
12
Fuente: Geomagic
Fuente: rosindustrial.org
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
2. OBJETIVOS
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
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.
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.
Matriz de Selección
Ponderación Alternativas
Criterio
A B
2 Flexibilidad 30% 3 5
4 Funcionalidad 20% 3 5
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.
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.
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.
Las trayectorias del maestro y el esclavo se determinarán por las fuerzas en ambos.
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
Ponderación Alternativas
Criterio
A B C D
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
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.
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.
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.
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.
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.
Ponderación Alternativas
Criterio
A B C
3 Flexibilidad 20% 5 5 3
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.
20
Fuente: Universal Robots
Opción B: Joystick
Fuente: Amazon
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.
Ponderación Alternativas
Criterio
A B C
3 Flexibilidad 15% 5 3 5
5 Funcionalidad 15% 4 2 4
Este gripper ha sido diseñado para la manipulación precisa de productos delicados. Algunas
características físicas se listan a continuación:
22
Fuente: Schunk
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.
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].
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.
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].
Matriz de Selección
Ponderación Alternativas
Criterio
A B C
24
1 Costo inicial 25% 2 4 4
3 Resolución 25% 3 5 3
4 Confiabilidad 25% 3 2 4
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.
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.
Fuente: Dekra
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.
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
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.
Opción C: Matlab
Matriz de Selección
Ponderación Alternativas
Criterio
A B C
1 Costo 20% 5 3 3
27
3 Extensión 20% 4 2 5
4 Multiplataforma 20% 5 2 2
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.
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.
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.
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.
𝑥 = 𝑓(𝑞)
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.
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
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.
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.
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.
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:
31
Cada sistema de coordenadas puede ser descrito por los 4 parámetros DH:
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.
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:
. 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.
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.
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.
Donde:
33
F: Fuerza de agarre [N]
Entonces:
𝐹 >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.
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
𝑑𝑤 𝑑𝑤 𝑑𝑞
𝑃= 𝑑𝑡
= 𝑑𝑞
· 𝑑𝑡
= 𝑉 · 𝐼 [𝑤]
4. DESARROLLO DE LA SOLUCIÓN
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.
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.
35
Fuente: Elaboración Propia
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.
36
Fuente: Elab. Propia
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.
37
Fuente: Elaboración Propia
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.
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.
39
Fuente: Elaboración Propia
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.
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:
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.
42
Fuente: Elaboración Propia
5. EVALUACIÓN DE RESULTADOS
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
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
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:
45
Powerball 2.5500027514 -0.01132822 -0.76271978 -0.00028299 -0.80005287 -1.22576784
004664 12366172 7519222 2907354 6279510 278e-08
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.
46
Figura 37. Test Posición Aleatoria 1
47
➢ Time Delay de la Teleoperación
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.
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.
49
Fuente: Elaboración Propia
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.
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.
50
Fuente: Elaboración Propia
De acuerdo el análisis del presupuesto estimado, para iniciar con el negocio se requiere un
capital de trabajo de:
Por otra parte se requiere adquirir cierta cantidad de dinero con la finalidad de poder
mantenernos en el mercado.
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.
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.
52
Fuente: Elaboración Propia
6. CONCLUSIONES
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
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:
56
Anexo Nº 2. Interfaz Gráfica del Operador en LabView, Fuente: Elaboración Propia
57
Anexo Nº 4. Presupuesto operativo proyectado. Fuente: Elaboración Propia
<?xml version="1.0"?>
<robot name="phantom">
<gazebo>
58
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/phantom</robotNamespace>
</plugin>
</gazebo>
<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"/>
<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>
<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>
<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>
<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>
<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>
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>
<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>
<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>
<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>
<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>
<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>
<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>
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"/>
<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>
<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>
<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>
<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>
<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>
<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>
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>
<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>
</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>
<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>
<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