massprop_torso: Torso and leg mass properties

View source: R/anatomicalmassprop.R

massprop_torsoR Documentation

Torso and leg mass properties

Description

Calculate the moment of inertia of a head modeled as a solid cone

Usage

massprop_torso(
  m_true,
  m_legs,
  w_max,
  h_max,
  l_bmax,
  w_leg,
  l_leg,
  l_tot,
  CG_true_x,
  CG_true_z,
  start,
  end
)

Arguments

m_true

Mass of the torso and legs - no tail (kg)

m_legs

Mass of the legs only (kg)

w_max

Maximum width of the body (m)

h_max

Maximum height of the body (m)

l_bmax

x location of the maximum width of the body (m)

w_leg

width of the body at leg insertion (m)

l_leg

x location of the leg insertion point (m)

l_tot

length of body from clavicle to beginning of the tail (m)

CG_true_x

x location of the CG for the torso and legs, origin is at the VRP, measured positive if aft of the VRP (m)

CG_true_z

z location of the CG for the torso and legs, origin is at the VRP (m)

start

a 1x3 vector (x,y,z) representing the 3D point where torso starts. Frame of reference: VRP | Origin: VRP

end

a 1x3 vector (x,y,z) representing the 3D point where tail ends. Frame of reference: VRP | Origin: VRP

Value

This function returns a list that includes:

  • Ia 3x3 matrix representing the moment of inertia tensor of the torso and leg composite body

  • CGa 1x3 vector representing the center of gravity position of the torso and leg composite body

  • ma double that returns the mass of the torso and leg composite body

Warning

Parallel axis theorem does not apply between two arbitrary points. One point must be the object's center of gravity.

Author(s)

Christina Harvey

Examples

# refer to the vignette
library(AvInertia)

# load data
data(dat_id_curr, package = "AvInertia")
data(dat_bird_curr, package = "AvInertia")
data(dat_feat_curr, package = "AvInertia")
data(dat_bone_curr, package = "AvInertia")
data(dat_mat, package = "AvInertia")
data(clean_pts, package = "AvInertia")

# 1. Determine the center of gravity of the bird's torso (including the legs)
dat_torsotail_out = massprop_restbody(dat_id_curr, dat_bird_curr)
# 2. Calculate the inertia of the flight feathers about the tip of the calamus
feather_inertia <- compute_feat_inertia(dat_mat, dat_feat_curr, dat_bird_curr)
# 3. Determine the center of gravity of one of the bird's wings
dat_wing_out      = massprop_birdwing(dat_id_curr, dat_bird_curr,
dat_bone_curr, dat_feat_curr, dat_mat, clean_pts,
feather_inertia, plot_var = 0)
# Visualize the center of gravity of each wing component in the x and y axis
dat_wing_out      = massprop_birdwing(dat_id_curr, dat_bird_curr,
dat_bone_curr, dat_feat_curr, dat_mat, clean_pts,
feather_inertia, plot_var = "yx")
# or the y and z axis
dat_wing_out      = massprop_birdwing(dat_id_curr, dat_bird_curr,
dat_bone_curr, dat_feat_curr, dat_mat, clean_pts,
feather_inertia, plot_var = "yz")
# 4. Combine all data and obtain the center of gravity, moment of inertia
# and principal axes of the bird
curr_full_bird      = combine_inertialprop(dat_torsotail_out,dat_wing_out,
dat_wing_out, dat_id_curr, dat_bird_curr, symmetric=TRUE)


AvInertia documentation built on March 24, 2022, 5:07 p.m.