R/calculate_roll.R

Defines functions calculate_yaw calculate_pitch calculate_roll

Documented in calculate_pitch calculate_roll calculate_yaw

#' Utilities for calculating roll, pitch and yaw
#'
#' Calculate roll, pitch and yaw
#' @title triaxial calculations
#' @rdname calcls
#' @param dta magentic data from PAM logger see hoopoe$magnetic for an example
#' @return roll, pitch and yaw from acceleration data
#' @references Bidder, O.R., Walker, J.S., Jones, M.W., Holton, M.D., Urge, P., Scantlebury, D.M., Marks, N.J., Magowan, E.A., Maguire, I.E. and Wilson, R.P., 2015. Step by step: reconstruction of terrestrial animal movement paths by dead-reckoning. Movement ecology, 3(1), p.23.
#'
#' @examples
#' calculate_roll(dta = swift$magnetic)
#' calculate_pitch(dta = swift$magnetic)
#' calculate_yaw(dta = swift$magnetic)
#'
#' @export
calculate_roll <- function(dta){
  Sx = dta$mX#/10000
  Sy = dta$mY#/10000
  Sz = dta$mZ#/10000
  roll  = atan2(Sx,(sqrt(Sy^2 + Sz^2)))*(180/pi)
  return(roll)
}
#' @rdname calcls
#' @export
calculate_pitch <- function(dta){
  Sx = dta$mX#/10000
  Sy = dta$mY#/10000
  Sz = dta$mZ#/10000
  pitch = atan2(Sy,(sqrt(Sx^2 + Sz^2)))*(180/pi)
  return(pitch)
}
#' @rdname calcls
#' @export
calculate_yaw <- function(dta){
  Sx = dta$mX#/10000
  Sy = dta$mY#/10000
  Sz = dta$mZ#/10000
  yaw   = atan2(Sz,(sqrt(Sx^2 + Sy^2)))*(180/pi)
  return(yaw)
}
KiranLDA/PAMLr documentation built on March 6, 2023, 1:40 p.m.