Código
library(tidyverse)Experimento con aceleraciones \(m/s^2\)
library(tidyverse)datos_relativo <- read_csv("Aceleraciones Edimer trelativo.csv")
datos_relativo %>% head()datos_normal <- read_csv("Aceleraciones Edimer tnormal.csv")
datos_normal %>% head()datos_acel <- datos_normal %>%
mutate(hora = as.POSIXct(timestamp / 1000, origin = "1970-01-01"))
datos_acel %>% head()datos_acel %>%
summarise(min_hora = min(hora),
max_hora = max(hora),
tiempo = max_hora - min_hora)# Metros/minuto
400 / 5.710583[1] 70.04539
# Metros/segundo
400 / (5.710583 * 60)[1] 1.167423
” La aceleración de un objeto es directamente proporcional a la suma de todas las fuerzas que actúan sobre él e inversamente propocional a la masa del objeto”
datos_acel %>%
ggplot(aes(x = hora, y = AccX)) +
geom_line()datos_acel %>%
ggplot(aes(x = hora, y = AccY)) +
geom_line()datos_acel %>%
ggplot(aes(x = hora, y = AccZ)) +
geom_line()\[A_{total} = \sqrt{X^2 + Y^2 + Z^2}\]
datos_acel_total <-
datos_acel %>%
mutate(acel_total = sqrt(AccX ^ 2 + AccY ^ 2 + AccZ ^ 2))
datos_acel_total %>% head()datos_acel_total %>%
ggplot(aes(x = hora, y = acel_total)) +
geom_line()aceleracion_promedio <-
datos_acel_total %>%
mutate(tiempo = timestamp %/% 100) %>%
group_by(tiempo) %>%
summarise(
acelx_mean = mean(AccX, na.rm = TRUE),
acely_mean = mean(AccY, na.rm = TRUE),
acelz_mean = mean(AccZ, na.rm = TRUE)
) %>%
ungroup() %>%
mutate(acel_total_mean = sqrt(acelx_mean ^ 2 + acely_mean ^ 2 + acelz_mean ^
2))
aceleracion_promedio %>% head()aceleracion_promedio %>%
pivot_longer(cols = c(acelx_mean, acely_mean, acelz_mean)) %>%
ggplot(aes(x = tiempo, y = value, color = name)) +
geom_line(alpha = 0.5) +
geom_smooth(size = 1)aceleracion_promedio %>%
ggplot(aes(x = tiempo, y = acel_total_mean)) +
geom_line(alpha = 0.5)periodograma <-
aceleracion_promedio %>%
filter(!is.na(acel_total_mean)) %>%
pull(acel_total_mean) %>%
spec.pgram()maxFrec <- periodograma$freq[which(periodograma$spec == max(periodograma$spec))]
maxFrec[1] 0.1811343
tiempo_total <- diff(range(aceleracion_promedio$tiempo)) / 10
numPeriodos <- tiempo_total * maxFrec
numPeriodos[1] 62.0566
tiempo_total[1] 342.6