My Kerbal RPC scripts

analysis.rmd 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. ---
  2. title: "Flight analysis"
  3. ---
  4. This [R Markdown](http://rmarkdown.rstudio.com/) file creates graphs of recorded flight parameters, stored in `flight.csv` via the `monitor.py` Kerbal RPC script.
  5. ```{r opts, include=FALSE}
  6. library(knitr)
  7. opts_chunk$set(tidy=TRUE)
  8. ```
  9. ```{r init}
  10. library(ggplot2)
  11. library(scales)
  12. library(broom)
  13. flight <- read.csv("flight.csv", header=T)
  14. flight$mission_time <- as.POSIXct(flight$mission_time, origin=Sys.Date(), tz="GMT")
  15. flight$orbit_period <- as.POSIXct(flight$orbit_period, origin=Sys.Date(), tz="GMT")
  16. ```
  17. Columns:
  18. ```{r, echo=FALSE, results="asis"}
  19. cat(paste0("1. ", names(flight)), sep="\n")
  20. ```
  21. ```{r graph, message=FALSE}
  22. # Graphing logic
  23. baseg <- ggplot(flight, aes(x=mission_time)) + xlab("Time (H:M:S)") + theme_classic() + scale_x_datetime(date_labels="%H:%M:%S") + scale_y_continuous(labels=comma)
  24. alt <- baseg + geom_line(aes(y=current_altitude)) + ylab("Altitude (m)") + ggtitle("Altitude")
  25. vspd <- baseg + geom_line(aes(y=v_speed)) + ylab("Vertical speed (m/s)") + ggtitle("Vertical speed")
  26. hspd <- baseg + geom_line(aes(y=h_speed)) + ylab("Horizontal speed (m/s)") + ggtitle("Horizontal speed")
  27. mass <- baseg + geom_line(aes(y=mass)) + ylab("Vessel mass (kg)") + ggtitle("Mass")
  28. ec <- baseg + geom_line(aes(y=electric_charge)) + ylab("Electric charge") + ggtitle("Electric charge")
  29. lf <- baseg + geom_line(aes(y=liquid_fuel)) + ylab("Liquid fuel (litres)") + ggtitle("Liquid fuel")
  30. ox <- baseg + geom_line(aes(y=oxidizer)) + ylab("Oxidizer (litres)") + ggtitle("Oxidizer")
  31. at <- baseg + geom_line(aes(y=available_thrust)) + ylab("Available thrust (Newtons)") + ggtitle("Available thrust")
  32. thrust <- baseg + geom_line(aes(y=current_thrust)) + ylab("Current thrust (Newtons)") + ggtitle("Current thrust")
  33. g_force <- baseg + geom_line(aes(y=g_force)) + ylab("G-force (m/s²)") + ggtitle("G-force")
  34. ap <- baseg + geom_line(aes(y=apoapsis)) + ylab("Apoapsis altitude (m)") + ggtitle("Apoapsis")
  35. pa <- baseg + geom_line(aes(y=periapsis)) + ylab("Periapsis altitude (m)") + ggtitle("Periapsis")
  36. orad <- baseg + geom_line(aes(y=orbital_radius)) + ylab("Orbital radius (m)") + ggtitle("Orbital radius")
  37. os <- baseg + geom_line(aes(y=orbit_speed)) + ylab("Orbital speed (m/s)") + ggtitle("Orbital speed")
  38. op <- baseg + geom_line(aes(y=orbit_period)) + ylab("Orbital period (H:M:S)") + ggtitle("Orbital period") + scale_y_datetime(date_labels="%H:%M:%S")
  39. ```
  40. ```{r drawgraphs, echo=FALSE}
  41. alt
  42. vspd
  43. hspd
  44. mass
  45. ec
  46. lf
  47. ox
  48. at
  49. thrust
  50. g_force
  51. ap
  52. pa
  53. orad
  54. os
  55. op
  56. ```