Learn R Programming

AvInertia

This package was developed to compute the center of gravity and moment of inertia tensor of any flying bird. It functions by modeling a bird as a composite structure of simple geometric objects. This requires detailed morphological measurements of bird specimens although those obtained for the associated paper have been included in the package for use. Refer to the vignette and supplementary material for detailed information on the package function.

Installation

You can install AvInertia from CRAN via:

install.packages("AvInertia")

Or to get the latest (developmental) version through GitHub, use:

devtools::install_github("charvey23/AvInertia")

Example

Refer to our vignette for a detailed example.

Contributing and/or raising Issues

Feedback on bugs, improvements, and/or feature requests are all welcome. Please see the Issues templates on GitHub to make a bug fix request or feature request.

To contribute code via a pull request, please consult the Contributing Guide first.

Citation

Harvey, C., Baliga, V.B., Wong, J.C.M., Altshuler D.L., and Inman, D.J. Birds can transition between stable and unstable states via wing morphing. Nature 603, 648–653 (2022). https://doi.org/10.1038/s41586-022-04477-8

License

GPL (>= 3) + file LICENSE

Copy Link

Version

Install

install.packages('AvInertia')

Monthly Downloads

224

Version

0.0.2

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Christina Harvey

Last Published

March 24th, 2022

Functions in AvInertia (0.0.2)

calc_inertia_cylhollow

Moment of inertia tensor of a hollow cylinder
calc_inertia_platerect

Moment of inertia tensor of a flat rectangular plate - assumes thickness is approximately zero Reference: https://apps.dtic.mil/sti/pdfs/AD0274936.pdf
calc_inertia_ellcone

Moment of inertia tensor of a solid elliptical cone - end of purple notebook derivation verified in green
calc_inertia_pyrasolid

Moment of inertia tensor of a solid square pyramid Reference: https://apps.dtic.mil/sti/pdfs/AD0274936.pdf All outputs are based on an origin at the centered point on the base
calc_inertia_cylsolid

Moment of inertia tensor of a solid cylinder
calc_inertia_platetri

Moment of inertia tensor of a flat triangular plate
calc_inertia_conesolid

Moment of inertia tensor of a solid circular cone pyramid
calc_inertia_ellcyl

Moment of inertia tensor of a solid elliptical cylinder Reference: https://apps.dtic.mil/sti/pdfs/AD0274936.pdf
calc_rot

A 3x3 rotation matrix constructed by projecting the new axes onto the original system. Likely results in rotation about all axes.
calc_inertia_ellipse

Moment of inertia tensor of solid ellipse CG or a half ellipse centered on the base
dat_mat

Material properties.
calc_univec

Determine the unit vector of any input vector
clean_pts

The identified peripheral and joint 3D positions.
dat_bone_curr

Wing bone specific morphology dataset
dat_feat_curr

Flight feather specific morphology dataset
dat_bird_curr

Bird specific morphology dataset
dat_id_curr

Identification variables for current configuration
density_optimizer

Optimize torso section densities
massprop_birdwing

Calculate the center of gravity and moment of inertia for a halfspan wing.
kronecker_delta

Kroneckerdelta function
massprop_neck

Neck mass properties
massprop_pm

Point-mass mass properties
massprop_bones

Bone mass properties
massprop_head

Head mass properties
massprop_muscles

Muscle mass properties
plot_CGloc

Plot the center of gravity of each component
orient_feather

Determine the feather orientation
rotx

A 3x3 rotation matrix allowing rotation about the x-axis. Constructed using a cosine rotation matrix where the rotation angle in degrees is measured counterclockwise allowing positive rotation under the right hand rule.
compute_feat_inertia

Compute the inertia of the individual feathers
combine_inertialprop

Combine body and wing inertial components.
massprop_feathers

Feather mass properties
parallelaxis

Parallel axis theory
massprop_tail

Head mass properties
massprop_torso

Torso and leg mass properties
massprop_skin

Calculates the mass properties of skin or tertiaries
massprop_restbody

Calculate the center of gravity and moment of inertia for the head, neck, torso and tail.
store_data

Store data from the inertia calculations in long format
structural2VRP_feat

Transform feather specific inertial properties to current position