Está en la página 1de 16

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/269986714

Diseño, construcción y control de una serpiente robótica

Conference Paper · May 2012


DOI: 10.13140/2.1.1996.1920

CITATION READS

1 3,193

1 author:

Andres San-Millan
University of Castilla-La Mancha
28 PUBLICATIONS   202 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Andres San-Millan on 24 December 2014.

The user has requested enhancement of the downloaded file.


DISEÑO, CONSTRUCCIÓN Y CONTROL DE UNA SERPIENTE ROBÓTICA 1

Andrés San Millán Rodríguez


Universidad de Ciudad Real, E.T.S. Ingeniería Industrial

La robótica móvil es un extenso campo de investigación cuyo principal objetivo consiste en el


desplazamiento de un robot desde un punto de origen hasta un determinado destino, para lograr
esto es necesario tener en cuenta la naturaleza del robot empleado, el entorno en el que se
desplazará y por tanto la ruta óptima para alcanzar la posición final.

Entre las plataformas móviles empleadas clásicamente en las tareas de robótica móvil destacan los
robots basados en sistemas de locomoción mediante ruedas u orugas, robos basados en patas
(tanto antropomórficos como de forma animal), robots aéreos y robots submarinos.

Existe un último tipo de plataforma móvil cuyo sistema de locomoción se basa en la deformación
de su propia estructura, como por ejemplo los robots serpiente, oruga y gusano. El control de este
tipo de sistemas presenta una gran dificultad debido a su alto grado de redundancia, pero como
contrapartida los convierte en altamente flexibles y adaptables.

El objetivo del presente texto es el estudio de las diversas opciones existentes a la hora de
controlar este tipo de robots, la comprobación de la eficacia de los algoritmos para producir el
desplazamiento de los mismos, y el diseño y la fabricación de un prototipo físico autónomo de
bajo coste donde implementarlos

Este trabajo se encuentra estructurado en varios epigrafes: en el primero se expone la motivación


del uso de robots serpiente, a continuación se detallan los mecanismos de locomoción especificos
de los mismos, en el tercer epígrafe se exponen las consideraciones de diseño utilizadas para la
fabricación del prototipo, para luego enumerar los diversos algoritmos de control existentes; en el
quinto epígrafe se exponen los ejemplos de aplicación, a continuacion en los dos siguientes
epígrafes se comentan las características del software de control desarrollado y la plataforma de
simulación empleada para la validación de los diseños mecánicos y algoritmos de control, el
octavo y ultimo epígrafe refleja las conclusiones derivadas del proyecto.

1. MOTIVACIÓN

Si se estudia con detenimiento cuál es la situación de las serpientes en la naturaleza, puede


comprobarse que pueblan con éxito gran cantidad de ecosistemas, superando con éxito los
desafíos que su medio ambiente plantea en cuanto a locomoción y desplazamiento.

Entre estos entornos podemos encontrar desiertos como el de Mojave (habitado por la serpiente
de cascabel “Crotalus Cerastes”), selvas tropicales como las de Nueva Guinea (habitadas por las
pitones arborícolas “Morelia Viridis”), o incluso las hay que pueblan ecosistemas marinos como la
“Laticauda Colubrina” o cobra marina propia de los océanos Índico y Pacífico.

1
Proyecto Fin de Carrera, dirigido por el profesor Vicente Feliu Batlle, en el año 2011, actualmente concluido.

1
Además es necesario destacar que muestran una gran capacidad de escalabilidad, ya que pueden
encontrarse especímenes de casi todos los tamaños desde la “Leptotyphlops Carlae” que mide tan
sólo 10 cm, hasta la “Eunectes Murinus” o anaconda capaz de llegar a medir hasta 12 metros de
longitud.

Como se indica en (Dowling, 1997: 6) las ventajas que ofrece la locomoción serpentinoide frente a
otras plataformas clásicas compuestas por ruedas o patas son las siguientes:

 Capacidad de desplazamiento por espacios angostos.


 Localización muy baja del centro de gravedad.
 Gran estabilidad estática y dinámica.
 Gran capacidad de tracción.
 Adaptabilidad a gran variedad de terrenos.
 Elevada redundancia.
 Posibilidad de mecanismos completamente sellados.

Todas estas características convierten a este tipo de robots en candidatos perfectos para realizar
tareas que abarcan desde la exploración espacial a la cirugía endoscópica, pasando por
aplicaciones industriales como la inspección de sistemas de tuberías.

2. MECANISMO DE LOCOMOCIÓN.

Partiendo del hecho de que la principal fuente de inspiración para el diseño de robots basados en
la locomoción serpentinoide son los animales que se desplazan empleando ondulaciones
corporales como las serpientes o las orugas, es necesario desentrañar cómo consiguen desplazarse
estos animales.

Los primeros estudios acerca del movimiento serpentinoide fueron llevado a cabo por el doctor
Shigeo Hirose del Instituto Tecnológico de Tokio, cuyos resultados se encuentran recopilados en
(Hirose, 1993).

La contribución más importante de esta obra consiste en el descubrimiento y análisis de la curva


serpentinoide, que es exactamente la forma que adoptan las serpientes en su desplazamiento. Por
definición la curva serpentinoide es aquella cuyo ángulo de curvatura varía sinusoidalmente con la
distancia a lo largo de la curva.

Por lo tanto la curvatura viene dada por la ecuación:

-2πk  2πk 
K(s) = αsin  s 1.
l  l 
Donde:

l: Longitud de la curva
s: Distancia a lo largo de la curva, s Є [0,1]
k: Número de ondulaciones, k > 0
α: Ángulo de serpenteo, α Є [0º,121º]

2
El parámetro α o ángulo de serpenteo, se define como el ángulo que forma la tangente a la curva
que pasa por el punto s = 0 y determina la forma que tendrá la curva. El efecto de este ángulo
puede verse en el gráfico 1

Gráfico 1. EFECTO DE α EN LA FORMA DE LA CURVA

Fuente: elaboración propia

Así mismo una definición alternativa para la curvatura de la curva es el ritmo de cambio del vector
unidad tangente a la curva o:

dαs
K(s) = 2.
ds

Donde el parámetro αs viene definido por:

 2πk 
αs = αcos  s 3.
 l 

A partir de esta curva resulta inmediato definir la onda serpentinoide como una extensión de la
curva serpentinoide, pero dependiente además de la variable temporal, obteniéndose la siguiente
ecuación:

2πk  2πk 
K(s, t) = - αsin  t + s 4.
l  l 

Las coordenadas cartesianas de los puntos de la onda se obtendrán de la siguiente forma:

  2πk  
s
x(s, t) = ∫ cos  αcos  t +  s ds 5.
0   l  

  2πk  
s
y(s, t) = ∫ sin  αcos  t +  s ds 6.
0   l  

Las integrales de las ecuaciones [5] y [6] no presentan solución analítica y deben resolverse
numéricamente, (aspecto que se abordará más adelante).

3
Hasta ahora se tiene definida la onda serpentinoide, pero utilizando una única onda solamente se
puede realizar desplazamientos de avance y retroceso en una única dirección, de forma similar a
como se mueven las orugas. Más adelante se comprobará que este tipo de desplazamiento resulta
muy eficaz para la inspección de conductos que no presenten tramos acodados.

Para lograr desplazamientos en tres dimensiones se necesita combinar dos ondas serpentinoides
de forma transversal, una de ellas contenida en el plano XY y otra contenida en el plano XZ,
mediante esta superposición de ondas se consiguen emular los cuatro principales modos de
desplazamiento de las serpientes: en concertina, movimiento lateral, movimiento serpentino y
movimiento rectilíneo

3. CONSIDERACIONES DE DISEÑO.

Como consecuencia de los resultados anteriores para realizar el diseño del prototipo se tuvieron
en cuenta distintos factores:

• Necesidad de articulaciones con dos grados de libertad o de módulos reconfigurables.


• Necesidad de relación número de articulaciones / longitud elevada
• Utilización de dispositivos comerciales para un rápido desarrollo
• Disminución del presupuesto al mínimo necesario

A la hora de fabricar el robot se optó por la elección de una arquitectura modular, ya que resulta
menos complejo de diseñar que un sistema compuesto por articulaciones motorizadas de dos
grados de libertad, y permite igualmente emplear los modos de desplazamiento basados en tanto
en una como en dos ondas serpentinoides

Respecto a la relación articulaciones / longitud, esta es importante en el diseño ya que cuanto


mayor sea más se aproximará el comportamiento del robot (modelo discreto) a las ondas
serpentinoides presentadas como funciones continuas

Los dos criterios de diseño restantes se consideraron a fin de optimizar el coste tanto en tiempo
como en dinero utilizado en el robot

En la figura 1 se muestra una fotografía del prototipo desarrollado

Figura 1. FOTOGRAFÍA DEL PROTOTIPO

Fuente: elaboración propia

4
Como puede verse en la fotografía el prototipo consta de un total de 8 articulaciones, tiene una
longitud total de 68 cm y una sección transversal de 7,2 x 7,2 cm. Además el diseño modular del
robot permite que las articulaciones se sitúen alineadas en el mismo plano o rotadas 90º unas
respecto a otras (cabeceo - guiñada)

3.1 Sistema de actuación

Los actuadores encargados del movimiento del robot son 8 servomotores modelo Futaba s3003,
este tipo de servomotores se suelen emplear en aeromodelismo y representan una alternativa
más económica que otras variantes de uso exclusivo en robótica, sus características técnicas más
relevantes son:

• Voltaje de alimentación entre 4,8 y 6,0 V


• Par: 3,2 Kg/cm a 4,8 V y 4,1 Kg/cm a 6,0 V
• Velocidad de giro: 0,23 seg / 60º a 4,8 V y 0,19 seg / 60º a 6,0 V
• Dimensiones: 40 x 20 x 36 mm
• Peso: 37 g

3.2 Sistema de alimentación

Para el sistema de alimentación del robot se optó por el uso de pilas alcalinas comerciales modelo
AAA, ya que se pueden encontrar fácilmente en cualquier centro comercial y permiten una rápida
substitución, de las pilas gastadas. Sus principales características son:

• Voltaje nominal: 1,5 V


• Carga eléctrica: 1200 mAh
• Volumen típico 3,8 cm3
• Peso típico: 11,5 g

3.3 Sistema sensorial

Para la sensorización del robot se utiliza una cámara inalámbrica alimentada mediante una pila
alcalina comercial de 9 V, los detalles técnicos de la cámara son:

• Sensor CMOS Color de 1/3


• Sistema de TV: PAL
• Resolución: 380 líneas de TV.
• Frecuencia de escaneado: 50 Hz
• Iluminación mínima: 3 lux
• Potencia de salida: 50 mw
• Frecuencia de salida: 900MHz-1200MHz
• Peso aproximado (cámara más pila): 70g

3.4 Electrónica empleada

Para el control de los servomotores se requiere de un dispositivo capaz de transformar las


posiciones angulares calculadas por el ordenador de control en las señales PWM que se utilizan

5
para controlar la posición de los servomotores, para esta tarea se utilizó una tarjeta controladora
de servos “Pololu Micro Serial Servo Controller” que presenta las siguientes características:

• Soporta hasta 8 servomotores


• Dimensiones 23,11 x 23,11 x 13 mm
• Resolución 0.5 µs (unos 0.05º)
• Rango: 250 – 2750º µs
• Tensión de la alimentación de la lógica: 5 / 16V
• Tensión de la línea de datos: 0 / 5 V
• Frecuencia de pulsos: 50 Hz
• Velocidades soportadas: 1200 / 38400 baudios (detectados automáticamente)
• Consumo de corriente 5 mA (Valor medio)

Estas características, sobretodo su reducido tamaño y su capacidad de comunicación por puerto


serie la convierten en la tarjeta controladora ideal para ser empleada en el prototipo.

En cuanto al sistema de comunicación entre el ordenador de control desde el que se controlará al


robot y el propio robot, se empleó un pequeña red compuesta por dos módulos Xbee, uno
conectado al PC y otro incluido en el robot, algunas de las características de los módulos
empleados don la siguientes:

• Soportan el protocolo ZigBee


• Velocidad de transmisión: 20 / 250 Kbps
• Rango de alcance 10-75 m
• Banda de frecuencia 2,4 GHz
• Tensión de alimentación: 2,8 / 3,4 V
• Consumo de corriente: 45 mA

3.5 Descripción mecánica

Para el diseño de la parte mecánica del robot, la estrategia empleada fue la siguiente:

Conocidas las dimensiones de los actuadores y el sistema de alimentación se intentaron diseñar


aquellos módulos que garantizando la intercambiabilidad entre ellos ocupasen el menor volumen
posible para poder incluir así el mayor número de ellos en un robot con una longitud determinada,
un ejemplo del modelo virtual desarrollado puede verse en la figura 2

6
Figura 2. DISEÑO TRIDIMENSIONAL DE UN MÓDULO

Fuente: elaboración propia

4. ALGORITMOS DE CONTROL

Como se comentó al final de la sección destinada a los mecanismos de locomoción las soluciones a
las ecuaciones descubiertas por el profesor Hirose no presentan soluciones analíticas, esta
ausencia de soluciones conlleva la existencia de las diversas alternativas existentes para controlar
robots serpientes.

Para coordinar la posición de las articulaciones del robot de forma que éste reproduzca las ondas
serpentinoides que garanticen su movimiento hay diversos métodos, según se indica en (González,
2008: 44-49):

4.1 Solución manual

Este método consiste en la creación de una tabla en la que se pueden encontrar agrupados por
parejas valores de posiciones angulares y de instantes temporales, de forma que en cada instante
de tiempo para saber qué posición deben adoptar las articulaciones del robot, sencillamente se
recurre a la tabla creada a tal efecto.

El principal inconveniente de este método es tiempo empleado en calcular la tabla de posiciones y


la gran dificultad que presenta para realizar cambios en la forma de desplazamiento.

4.2 Cinemática inversa

En este caso se trata de aplicar las mismas técnicas que se emplean para calcular los ángulos que
deben adoptar las articulaciones de los robots manipuladores para alcanzar la posición y
orientación deseada.

En este caso en lugar de tomar como referencia la base del robot se toma como referencia el
módulo del extremo y éste se mueve conforme a una función sinusoidal.
7
Aunque los robots serpiente pueden considerarse como manipuladores con un elevado grado de
redundancia, y con este algoritmo las tablas de ángulos se generan automáticamente, resulta una
forma ineficaz de resolver el problema debido al elevado coste computacional que conllevan los
algoritmos iterativos de resolución.

4.3 Osciladores sinusoidales

Esta solución tiene un origen bio-inspirado. La existencia de los centros generadores de patrones,
o CGP fue documentada por primera vez por Wilson en su estudio sobre el vuelo de las langostas
(Wilson, 1961: 471-490):

Básicamente el modo de actuación de los CGP consiste en “módulos de control autónomos”


existentes en todos los animales, estos módulos son los encargados de generar los movimientos
rítmicos propios de la locomoción. En esta configuración los estímulos del cerebro no se
encargarían directamente del movimiento, sino de la modulación de los CGP

Aunque un modelo matemático exacto de los CGP existentes en los animales conlleva una gran
complejidad, puede adoptarse como solución una primera aproximación en forma de función
senoidal simple.

De hecho el método empleado para el control del robot consiste precisamente en esto, cada
módulo oscila conforme a una función senoidal y el control de sus parámetros (amplitud,
frecuencia y desfase) es llevado a cabo por el usuario que actúa de “cerebro”.

Este sistema de control basado en osciladores sinusoidales produce una solución más precisa de lo
que a primera vista podría esperarse, y si se compara la forma de una onda serpentinoide con una
simulación obtenida para un modelo discreto de robot en la que las articulaciones siguen esta
regla de control puede comprobarse que producen resultados idénticos como se muestra en el
gráfico 2.

Gráfico 2. COMPARACIÓN SIMULACIÓN / ONDA SERPENTINOIDE

Fuente: elaboración propia

La razón de esta coincidencia es precisamente el hecho de que el que las articulaciones obedezcan
una regla sinusoidal encaja con las definiciones proporcionadas por las ecuaciones [2] y [3]

8
5. SIMULACIONES REALIZADAS

El algoritmo de control empleado para la locomoción del robot se basa en los osciladores
sinusoidales, concretamente en la propagación de dos ondas transversales a lo largo del cuerpo
del robot.

Por lo tanto el modo de desplazamiento del robot vendrá determinado por completo por la
elección de los parámetros de dichas ondas, algunas de las combinaciones posibles, y sus efectos
pueden verse en el gráfico 3:

Gráfico 3. MODOS DE DESPLAZAMIENTO


Línea recta Desplazamiento lateral

Ah = 0, ωh = 0, Φh = 0 ΔΦh = 0 Ah = 45, ωh = 1, Φh = 60, ΔΦh = 0


Av = 20, ωv = 1, Φv = 60, ΔΦv = 0 Av = 45, ωv = 1, Φv = 60, ΔΦv = 0
Círculo Rotación

Ah = 180/M = 0, Φh = 0, ΔΦh = 90 Ah = 45, ωh = 1, Φh = 30, ΔΦh = 0


Av = 20, ωv = 1, Φv = 60, ΔΦv = 0 Av = 20, ωv = -1, Φv = 30, ΔΦv = 90
Fuente: elaboración propia

En primer lugar se realizó la simulación del modo de desplazamiento en línea recta, por ser el más
apropiado para el desplazamiento del robot dentro de tuberías de diámetro similar al del robot, de
forma que se obtuvieron los siguientes resultados para una simulación de 50 segundos de
duración:

9
Gráfico 4. TRAYECTORIA RECORRIDA PARA DESPLAZAMIENTO EN LÍNEA RECTA

Fuente:
elaboración propia

A continuación se realizó la simulación del desplazamiento lateral para 25 segundos de


funcionamiento, donde se pudo comprobar que la eficacia de este modo de desplazamiento es la
mayor de todos los posibles. Este resultado no resulta sorprendente ya que en la naturaleza las
serpientes se desplazan de esta forma cuando tienen que recorrer largas distancias.

Gráfico 5. TRAYECTORIA RECORRIDA PARA DESPLAZAMIENTO LATERAL

Fuente: elaboración propia

10
En último lugar se simularon los modos de desplazamiento correspondientes a “círculo” y
“rotación” para 50 segundos de funcionamiento, estos modos permiten que el robot realice giros
en el plano, mediante el desplazamiento en círculo se realizan giros con un radio de curvatura
controlable pero de forma ineficaz, y mediante el desplazamiento de rotación se realizan giros con
un radio de curvatura igual a cero pero de una forma muy rápida y eficaz.

Gráfico 6. TRAYECTORIA RECORRIDA PARA DESPLAZAMIENTO EN CÍRCULO

Fuente: elaboración propia

Gráfico 7 TRAYECTORIA RECORRIDA PARA LA ROTACIÓN

Fuente: elaboración propia


11
Las simulaciones se realizaron utilizando la versión para estudiantes del programa comercial V-REP
(Virtual Robot Experimentation Platform).

V-REP es un simulador que puede ser usado para probar y evaluar cualquier tipo de plataforma
robótica, tanto las incluidas a modo de ejemplo, como otras desarrolladas por el usuario. Este es el
caso del robot presentado en este artículo, que fue incluido como parte de los modelos de prueba
ofrecidos con el programa.

Figura 3 PANTALLA PRINCIAPL DEL PROGRAMA V-REP

Fuente: Cortesía del Dr. Marc Andreas Freese (autor de V-REP)

6. EJEMPLOS DE APLICACIÓN

Como ya se ha visto, mediante un control basado en osciladores sinusoidales se consiguen las


ondas serpentinoides, y es mediante la combinación de éstas como se desplazan las serpientes en
la naturaleza. Se ha logrado mediante este prototipo y su sistema de control correspondiente que
el robot ejecute desplazamientos de forma similar a como lo hacen las serpientes en su entorno
natural.

El desplazamiento lateral se ha conseguido implementar tanto en los simuladores empleados para


validar los diversos algoritmos como en el prototipo del robot, como puede verse en la figura 3
donde se muestra dicho tipo de locomocion en el simulador.

Tambien pudo observarse este desplazamiento en la demostración realizada con el prototipo real
durante las jornadas de la primera semana de la robótica en la ETSII de Ciudad Real celebrada en
Octubre de 2010.

12
Figura 4. DESPLAZAMIENTO LATERAL

Fuente: elaboración propia

Así mismo se ha conseguido, variando la orientación de los módulos que el robot se desplace de
forma análoga a como lo hacen las orugas; este tipo de desplazamiento se ha aplicado a la
inspección de conductos como puede verse en la figura 4 donde se muestra el funcionamiento del
prototipo en la realidad y en el entorno virutal.

Figura 5. DESPLAZAMIENTO RECTILÍNEO

Fuente: elaboración propia

7. SOFTWARE DE CONTROL

El programa desarrollado para que un usuario pueda controlar de forma sencilla el robot ha sido
creado en Visual Basic debido principalmente a la facilidad que ofrece este lenguaje de
programación para la elaboración de interfaces gráficas, así como por su sencillez a la hora de
controlar la comunicación mediante puerto serie.

El aspecto que presenta la interfaz de control que ve el usuario final es el que puede observarse en
la figura 5

13
Figura 5. INTERFAZ DE CONTROL

Fuente: elaboración propia

El programa se encarga automáticamente de la elección de los parámetros de las ondas


serpentinoides que van a seguir las articulaciones a partir del modo de desplazamiento que el
usuario escoja de entre las opciones propuestas mediante un intuitivo sistema de iconos.

Una vez elegido el modo de desplazamiento el único parámetro que debe elegir el usuario es la
velocidad de desplazamiento, pudiendo parar el robot, avanzar o retroceder según convenga.

Las imágenes captadas mediante la cámara del robot se muestran en la parte inferior derecha de
la pantalla y sirven como sistema de realimentación en el esquema de control, ya que permiten
que el usuario tome las decisiones oportunas.

Por último el programa también permite que el usuario configure todos los parámetros de las
ondas de forma manual, (por si el robot se encontrase con un escenario insalvable con los
algoritmos y preprogramados), así como el control individual de cada articulación; (esta función
resulta de gran utilidad para la orientación de forma precisa de la cámara).

8. CONCLUSIONES

En este artículo se han presentado las principales características del diseño y desarrollo de un
robot serpiente, así como las diferentes alternativas existentes para el control de su locomoción.

Además se ha logrado fabricar un prototipo plenamente funcional empleando para ello un


presupuesto inferior a los 200 €, donde se ha comprobado la eficacia del algoritmo de control
basado en oscilaciones sinusoidales para garantizar el desplazamiento del robot.

AGRADECIMIENTOS
A mi director de proyecto el Dr. Vicente Feliu Batlle por su ayuda y constante apoyo. Al Dr. Juan González
Gómez por la colaboración prestada y al Dr. Marc Andreas Freese por incluir el modelo virtual del robot
dentro de su programa de simulación (V-REP).

14
BIBLIOGRAFÍA
Alonso-Puig, Alejandro. (2005). Application of Waves Displacement Algorithms for the Generation
of Gaits in an All terrain Hexapod. Climbing and Walking Robots, Septiembre, 343-348.
Borenstein, Johann, Hansen, Malik y Nguyen, Hung. (2006) The OmniTread OT-4 Serpentine Robot
for Emergencies and Hazardous Environments. International Joint Topical Meeting: Sharing
Solutions for Emergencies and Hazardous Environments, Febrero.
Chen, Li, Wang, Yuechao, y Ma, Shugen. (2004). Studies on lateral rolling locomotion of a snake
robot. IEEE International Conference on Robotics and Automation, volumen 5, 5070-5074.
Chirjkjian, Gregor S.y Burdick, Joel W. (1995). Kinematically optimal hyperredundant manipulator
configurations. IEEE transactions on Robotics and Automation. 11, 794-806.
Cohen, Avis H. y Holmes, Philip J. (1982). The Nature of the Couplings Between Segmental
Oscillators of the Lamprey Spinal Generator for Locomotion: A Mathematical Model. Journal of
Mathematical Biology. 13, 345–369
Crespi, Alessandro, Badertscher, André, y Guignard, André. (2005). Swimming and crawling with an
amphibious snake robot. IEEE International Conference on Robotics and Automation, 3035–
3039
Dowling, Kevin. (1997). Limbless Locomotion: Learning to Crawl with a Snake Robot. Tesis doctoral
CMU-RI-TR-97-48 del Robotics Institute, Carnegie Mellon University.
González Gómez, Juan. (2008). Modular Robotics and Locomotion: Aplication to Limbless Robots.
Robot. Tesis doctoral de la Universidad Autónoma de Madrid.
Hirose, Shigeo. (1993). Biologically Inspired Robots (Snake-like Locomotor and Manipulator).
Oxford Science Press.
Wilson, Donal M. (1961). The central nervous control of flight in a locust. Journal of Experimental
Biology, 38, 471–490.

15

View publication stats

También podría gustarte