The Computer That Got Us to the Moon - The Apollo Guidance Computer

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
The first contract that NASA secured for the Apollo Lunar program was for a computer to be built by the instrumentation lab at MIT. You would expect that maybe it would be for a rocket or a spacecraft and not a computer. This was at a time when computers were the size of a room. Humans interacted with them through punch cards and reels of magnetic tape, not keyboards, mice, stylists, or touchscreens. Programs are stacks of cards with holes punched out, and the cards were fed into the computer, it did some calculation, and sometime later-- maybe the next day-- it would print out some results. But NASA needed a computer that was not only a small, lightweight, and reliable, but this computer needed to be able to interact in real-time with hardware and people. It couldn't just sit there on its own isolated from the world and figure out its math problems. The computer needed to interact with astronauts and ground control. The astronauts communicated with the computer using a display and keyboard called the DSKY. They typed in commands, selected programs, and requested data using the keypad. The computer talked back by displaying commands, programs, and up to three lines of data. If the computer had a question, it blinked lights on the displays. If it had something really important to say, then it would flash lights. The computer communicated with mission control by downlinking and uplinking data. This special computer was called the Apollo Guidance Computer, or AGC for short. Its original purpose was to guide and navigate the spacecraft. We have GPS to help us navigate when you're walking or driving but there is no solar system positioning system. There isn't even an up in space. The spacecraft needed to know where it was, how fast it was moving, its rate of rotation, and its orientation. The spacecraft's velocity would determine its orbit and its orientation during a burn determines its trajectory. There were several critical burns. Apollo needed to get into a parking orbit, leave the Earth's orbit to go to a position the moon would be at sometime in the future, dock the command module to the lunar module, park in lunar orbit, undock the LEM from the command module, descend down to the surface of the moon, navigate and land the LEM, launch from the surface of the moon to rendezvous and dock with the command module, return to Earth, and re-enter the Earth's atmosphere. And if you messed up any of these burns, the worst case scenario is that your spacecraft is either going to crash into or entirely miss the Earth, the moon, or the spacecraft that it's trying to dock with. But the more likely scenario is that you're going to burn up a lot of fuel trying to correct any of your miscalculated burns. Some course corrections along the way were expected. But the more accurate your navigation and control systems are, the less fuel is required, and the less fuel the better. That's why we keep discarding parts of our spacecraft and changing around its configuration. We need a whole second spacecraft just to land on the moon that is tiny and thin. It would completely burn up in the Earth's atmosphere if it tried to re-enter. But it's only meant for the moon, and that has no atmosphere. And the ascent engine didn't have to lift a heavy heat shield. That was still on the craft that was orbiting the moon. Now that we know that the position and velocity of the spacecraft are very important, how do we actually determine them? For Mercury and Gemini spacecraft, they were monitored by the ground using Doppler radar. Gemini did fly the first onboard computer, but the ground was still the primary source of guidance and navigation. Computers and mission control use the position and velocity information from the Doppler readings to calculate the spacecraft's state vector. Then NASA directed the astronauts how to perform their burns. For Apollo, NASA feared that the Soviets would jam their transmissions. There was also a delay in the relay of information due to the distance between the spacecraft and the Earth. And there were times, like when Apollo was behind the moon, that there was a complete loss of signal between the spacecraft and ground. This is why the original intention for the AGC and its associated instruments was for it to be the primary guidance and navigation system. The navigation instruments tracked where the spacecraft was. The internal measurement unit, or IMU, measured the attitude, which is also known as the orientation, and the acceleration of the spacecraft. The IMU allowed the spacecraft to carry around its own inertial reference frame. The gyros and the accelerometers were mounted to a stable member. Then the vehicle and the gimbaled assembly moved around the IMU and the amount of rotation was tracked. The IMU had three gyroscopes and three accelerometers, one for every axis. And the accelerometers were pulse-integrating pendulous accelerometers. There was a known mass that pulsed and acted like a pendulum inside of a floating cylinder. And when there was a change in acceleration on an axis, the pendulum created torque on the output shaft. The signal generator tracked the rotation and the acceleration changes over time. And when we sum up changes over time, we're actually integrating. So this gave us the velocity. The gyroscopes work in a similar manner. Gyroscopes were internal reference integrating gyros. And when you spin up a gyro wheel, it wants to keep spinning in the same direction. A gimbal system can be built around the gyros. The wheel is going to stay in place while the gimbals and the spacecraft rotate around it. Changes in direction would be sensed by the output shaft of the signal generator. The IMU system was thermally regulated. And during Apollo 13, they had to turn the power off to the command module and the MIT wasn't sure how the IMU would react after dropping to such low temperatures and then being warmed up again. And one of the engineers actually put a gyro out on his trunk on a cold Boston day before they had to go and perform some tests. And even in the best of conditions, the gyroscopes and accelerometers are not perfect. They were very difficult to manufacturer with great precision. The instrumentation lab at MIT was contracted to deliver not only the computer but also the associated guidance systems. And MIT reached out to a local watch company and asked for advice on making these precision instruments. The watch manufacturers told MIT to build clean rooms. And even with this higher level of manufacturing standards, the gyros were going to drift over time and needed to be calibrated. For calibration, astronauts use methods similar to sailors. They had a telescope and a sextant. The spacecraft would be angled to find a landmark and then the astronauts would superimpose a star over that landmark. To do this automatically, they could type in angles into the DSKY. And when communicating with the computer, the astronauts use verb and noun commands. A verb was a thing to do and the noun was the object it was being done to. Verb 41 was point and noun 55 was telescope. The DSKY would flash, asking you a question. Verb 21 was load and 57 was angle. So the computer is asking you to load your angles. After entering a second angle, the telescope will slew to those coordinates. If the astronaut aligned the telescope manually, they can just hit the Mark button to tell the computer that everything is ready and then the computer can calculate the angles between the landmark and the star and this gives the position of the spacecraft. Star and landmark charts were woven into the core rote memory. MIT had to make sure that the astronauts could still use a sextant with their pressurized suits, and they also needed to verify that the field of view was not obstructed by the astronauts' helmets. The lunar module had an alignment optical telescope instead of a sextant. It used the telescope to find star alignments and then it coupled this with radar transmissions from the command module. Between the two of these, it could figure out its location. The LEM also used radar to land on the moon and to rendezvous and dock with a command module after it lifted off from the surface of the moon. The IMU optics and radar answered the guidance question of where are we. The AGC needed to answer the navigation question of where are we going. The guidance system told the spacecraft the current attitude and acceleration. The computer stored these values and compared the current state with past states that it had stored. Then it needed to predict any future positions and velocities. No sensor is perfect, so the computer used Kalman filters to account for any noise that might be in the sensor readings. NASA didn't tell MIT how precise the calculations from the computer needed to be. There are very few requirements at the start of the contract. Computers read sensor values and calculated the state vector much faster than a human could with a slide rule. Adding more bits to the computer and therefore expanding the precision would slow down calculations. It would also require heavier and more power-hungry hardware. In modern computers, we talk about having 32 or 64-bit computers. And MIT had settled on a 15-bit word with an extra bit for parity. This meant that the 15 bits would store a value and the last one would be for error checking. This last bit told the computer if there is an even or odd number of ones in the word. And if the word arrived and a bit had flipped during the transmission, then the parity number would not match the original one and the data would be rejected. The other 15 bits were usually for a number or an instruction code. Now I'm going to use four bits in my examples for simplicity and I'm not going to show the full 15 bits that the AGC would use. Attitude and acceleration were numbers that could be either positive or negative, so the first bit of the number needed to represent a sign. The 0 bit was a positive value and a 1 represented a negative value. By adding the negative sign, this cuts our range in half. And to deal with the signed numbers, the programmers used something called one's complement. All the bits after the negative sign would have to be flipped. It's easy to add numbers on the negative side or on the positive side. Negative 5 plus 2 equals negative 3 and 5 plus 2 equals 7. And it gets tricky when we try to subtract because we've created two 0s. There's a positive and a negative 0. And if we do 5 minus 2, we're going to have an extra 1 at the end. And if we look at this from the unsigned equivalent, it's like we tried to add 5 to 13. And this is going to give us 18, and this is a number outside of our range. This is called an overflow condition. The computer could handle an overflow condition but it slowed everything down. It stopped the progress of programs until it could deal with this so it didn't lose any data. And most data in the computer was a single 15-bit word and most operations used 1's complement. But the IMU radars and optics were all exceptions. The precision of the 15-bit signed word was not large enough for the accelerometers and the gyroscope. The computer needed to use double words for the x, y, and z values of the state vectors. This meant that there were two 15-bit sign words that would represent the value for each one of the axes. And after testing, they realized that the double 0s of the 1's complement added errors to the radar gyroscopes and optics. They all had very specific angles that they needed to be at. And to define a unique angle, you need a unique value. And for this, they need to use 2's complement. Everything else was already in 1's complement, so that meant that they had to create a conversion. The coupling data unit was the piece of equipment that would do this conversion for them. It also converted any of the analog values of the sensors to digital ones for the computer. Pretty much the CDU was the translator between the sensors and the computer. I keep mentioning precision, and in this context precision is how many digits the programmers have to work with. Knowing that I turned 123.45 degrees is more precise than just knowing that I turned 123 degrees. But that decimal point, though-- that's going to create problem for us. In modern computers, we have floating point numbers. A single word stores both the mantissa and the exponent. This means that we can store both the value and the magnitude of this number. They didn't use floating-point hardware in this computer which meant that they had to use fixed-point numbers. This means that the mantissa is the only part that those stored in the word. They later have to multiply this by a scaling factor in order to get the magnitude back. The programmers had to make sure that they didn't create overflow conditions or lose accuracy when they were scaling these numbers. The numbers used in equations were in metric units, but the astronauts wanted to see them in English units on the display. This meant that the numbers needed to be converted before being shown on the DSKY. The DSKY didn't have a decimal point, either. The astronauts had to know the magnitude of the value that they were looking at. If it was 12345 on the display, in degrees, that would probably be 123.45. If it was a velocity, it was probably more like 12,345. Programmers had to keep track of a lot of things. They needed to know the precision and magnitude of the numbers that they were working with. They also had to decide if the numbers should be a single, a double, or even a triple word. They needed to be able of scale and convert without creating any overflows. And programming made up for many hardware limitations. Some of these hardware limitations went even beyond the computer itself. NASA asked the programmers to add a passive thermal control mode. They didn't want to add insulation to the outside of the spacecraft to keep the sun-facing side cool. They asked the programmers to add a constant rotation to the spacecraft using the thrusters. The spacecraft would be heated evenly on all sides, just like a nice rotisserie chicken. This is why it was lovingly called the barbecue mode. And the AGC's programmers could do this because control was later added to the list of requirements. Honeywell was supposed to build another digital computer to control the engines and the thrusters. But they were behind. And to save time and weight, NASA gave this responsibility of digital autopilot to the AGC. Honeywell would still make an analog computer for a backup because NASA is all about backups. The AGC was a backup in case the Saturn V's launch vehicle digital computer by IBM had failed. And the ground eventually became the primary guidance for the command module while the AGC was the backup-- unless there was a loss of signal, and then the AGC became the primary. During the landing, this was going to happen too quickly for the ground to be the primary for the LEM so the lunar module had an AGC as a primary and an abort guidance system as a backup. And if the AGC failed during the lunar landing, then the abort computer would return the LEM back to the command module. And the abort computer was fortunately never used. And the AGC was required to command the reaction control system and the engines. It could control them automatically with the digital autopilot or through inputs from the astronauts. And the computer knew where it was, where it needed to be, and the error between those two values. They used this to calculate the burns. And the RCS thrusters and the command module engines could not be throttled. They were toggled. A 1 was for on and a 0 was for off. The lunar module engine, on the other hand, was able to be throttled. And the RCS thrusters could be fired individually or in clusters to orient the spacecraft. The lunar and command module engines were able to be gimbled to align the thrust vector up with the center of gravity. And this is much like pushing someone on a swing. You want to push them in the middle of their back so they go straight and forward. If you push them too hard to one side then they're going to start to oscillate as they're moving forward. And the center of gravity was always changing. The thrust vector need to be trimmed in order to line up with this. During the burns, the fuel was being used and also sloshing around. And the computer updated the position and the acceleration from the navigation system during the burns to account any changes. However, there was no direct way to measure the rate of attitude change. The attitude is obtained directly from the gyroscopes. To find the rate, we need to look at how this is changing over time. And there were quantization issues. As we talked about in previous videos, when you go from an analog to a digital signal, you need to be able to sample and hold while you're trying to put the data into a bucket. This delays your readings. And you're trying to quantize the data by going from an infinite number of values to just a certain number of buckets. The gyroscope readings were only 0.01 degrees apart. This value was not small enough. To make up for the shortfall in information, models of the vehicle were used. These models took into account the bending moments between the vehicles, the fuel use, and the sloshing. The computer would periodically check these calculations that it made with the model against the actual values from the IMU in order to verify them. And during the lunar landing, the computer could also compensate if one or more reaction control thrusters had failed. The astronauts could let the computer land automatically but no commander ever did. And the computer couldn't even tell if there was boulders or craters, so you wouldn't want to do this anyway. The astronaut and the computer actually worked together to land. The commander would select a landing site using the landing point designator grid on the window. He would mark the spot that he wanted to go to the digital autopilot. He could then continue to pick new locations as he flew along. When the craft was really close to landing, the commander would then take over. He would use the computer to help maintain attitude and decrease the descent rate. Every toggle of the switch decreased the descent rate by 1 foot per second. The commander guided the LEM to the final spot and cut off the engine when the contact light came on. There were 3 foot-long probes at the bottom of the landing pads. These would indicate contact with the ground, and the commander would need to turn off the engine before the engine bell hit anything and caused an explosion. Shutting down the engines when the contact light turned on would also cause the LEM to fall the last few feet. If the LEM landed on some unstable ground, the autopilot would use thrusters to level it off. This was a lot of things for a computer to do and the AGC was only capable of doing one thing at a time. It need to be able to interact in real-time with humans and hardware but it had to prioritize what one job it thought was most important. To make these decisions, it had an executive and a waitlist. There were major program modes like Launch, Rendezvous, and Burn. And inside of these modes, the executive would decide what jobs to run. Each job was given a priority ahead of time by programmers and the executive would run the highest priority job for a short, set amount of time. And then it would look at an updated list of jobs and see if there's anything new with a higher priority. If there was, it would run that. If there wasn't, then it would finish off the job it was currently doing. And once the current job was done, it would move down the list to the next item. There was also a watchman that made sure that no program was hung up so the jobs list could continue to progress. A version of the AGC was made on breadboards and tested in hundreds of simulations. There is no way to simulate every possible sequence the computer would go through or every kind of failure. If a program got hung up or if there was some kind of major error, the computer could initiate some version of a restart. It could terminate a job, it could go back to a saved location, or it could start a job all over again. Some jobs were so short that there was no point in restarting from a saved location. They would just restart with the next cycle. And some were longer and the programmers had to build in save features. It would store variables and locations in the job, and if there was a restart it would clean up any data and go back to the last saved location. Jobs could also be interrupted by astronauts, ground control, or instruments requesting output or providing input. In computer time, astronauts take forever to enter any information. Many cycles can be completed by the computer in between astronaut key presses. The DSKY job inside the computer will be put to sleep for a bit between the key presses so the computer could continue to do work on other items while the astronauts were finishing putting in data. Even though the computer could only do one job at a time, it might seem like it was doing a lot more, maybe several at a time, to us slow-moving humans. Engine thrusting needed to happen at a very specific frame. Some engines are just toggled on with a 1 and off with a 0. Timers track the engine's progress and interrupt any current job to turn off the engine at the appropriate moment. Any short time-bound operations such as flashing an alarm light were put onto a waitlist. These operations were short enough that interrupts were inhibited until that job was completed. The computer also had an interpreter that held subroutines and instructions for frequently used mathematical operations like addition, subtraction, matrix math, and a variety of others. And now that we know the software side, we can dive into the hardware portion. The AGC had three main parts. There was a logic unit, an erasable memory, and a fixed memory. The logic unit was probably the most risky and innovative part of the entire computer. It was one of the first computers to use integrated circuits. Typically, discrete components like vacuum tubes, transistors, resistors, and capacitors comprise the internals of computers. These components were large and individually wired together. An integrated circuit connect several components on a single silicon wafer. It reduces component count, size, weight, and build time. However, integrated circuits were a really new and unproven technology. The companies making them kept coming out with newer versions faster than they could be properly tested. And even with all of these downsides, Eldon Hall of the instrumentation lab thought these chips were the only way that the AGC would meet its requirements. Discrete components were just far too large. He had to find a sole-source manufacturer that was willing to make his dual-NOR chips. And he had to buy them in such large quantities that he could keep the supplier manufacturing the same exact chips for the 10 years that the program would last. To increase demand, he put these integrated chips into much of the ground support equipment. And during one year, the instrumentation lab bought 60% of all the chips being made in the US. Another hurdle he had was convincing NASA that they would be both safe and reliable. The lab put these chips through every test that they could think of. They put them in centrifuges. They did leak checks, long duration voltage stress tests, and magnified them under visual inspections. And if any of these chips failed, they would reject the entire lot. They sent the astronauts down to the facilities to remind the workers that the astronauts' lives were in their hands. And the lab worked with the manufacturers to increase their quality and reliability. And this probably ended up benefiting most computers of the future. The individual logic chips would be placed into trays and welded together. And even with all the inspections, sometimes there were loose solder blobs. On Apollo 12, the DSKY read all 8s. This indicated that there was a short. But luckily, it dislodged itself and didn't reappear. But there was also a short on the abort switch for Apollo 14. And when they tapped on it, it went away. But you really don't want the abort switch to randomly come on when you're trying to land in the moon, so Don Eyles told the astronauts what they should punch into the DSKY to trick the program that was monitoring the abort switch to think that an import was already in progress so there was no need to actually start the abort sequence. If short circuits or any other hardware issue happened, the astronauts couldn't repair it. The original plan was for them to have a testing meter and replacement parts. However, the moisture due to either a urine containment leak or breathing on a Mercury flight caused a short behind a panel, and having the Apollo capsule full of three people that were sweating and breathing for days could really wreak havoc on electronics. So the AGC modules were all potted. This month moisture couldn't get in and neither could a repairman. But that's OK because I don't think that NASA started testing how to solder and do repairs in space until the International Space Station years. The memory for the AGC was not welded. It was actually woven, which kind of blows my mind. Both the erasable and the fixed memories worked off the same basic principles of electromagnetism. Magnets can store a 1 or a 0 and no power is required to keep them in these states. This means it's non-volatile memory. And this even survived multiple lightning strikes during an Apollo 12 launch. Magnets are great at representing binaries since you can have two states, a north or a south. And if you run current through a wire it's going to produce a magnetic field. And this will magnetize a ferrite core. If you flip the direction of the current, the magnetic field will flip. The reverse is also true. By flipping the polarity of a magnet, you will induce a current and create an electrical pulse. There's one other trick for this type of memory and it's called hysteresis. There's a certain level of current that is needed to change the polarity of the magnet. Below this current level, the magnet will remain unchanged. And now that we know most of the basic principles, we can take a closer look at the magnets in the erasable memory. Each magnet represents a bit that is either a 1 or a 0 depending on the orientation of the magnetic field. We can select one bit at a time by wiring in an x and y coordinate system. To read the value of a stored bit, we need to add a sense line that is woven through every core in this plane. And remember, if we flip the magnetic field, we can produce an electrical signal. And this sense line will pick up this induced current. This electrical pulse is a small value but it will be amplified at the end of the circuit. Since we want a value of 1 to indicate a pulse, we will read bits by sending current that would drive the magnet to 0. We send the current through both the x and the y wires that intersect the ferrite that we want to read. The current being sent through the x wire is half the current required to flip the magnetic field. The y wire is sending the other half required to overcome hysteresis. This means the other ferrites that the x wire is routed through won't flip. You need both the x and the y current. Reading this bit has destroyed the data, which is why every read is followed by a write phase. The write phase sends current in the opposite direction. This will flip the 0 back to a 1, but what if we had a 0 as our original bit? Well, you need to add an inhibit line. If it was a 0, then we can send current in the opposite direction through the inhibit line during the write phase. The inhibit current will cancel out half of the current that we're sending during the write phase and it won't overcome hysteresis and flip the magnet. If you want to write a brand-new bit of information, then you let the read phase flip everything to 0 and then you can choose to either inhibit or not inhibit during the write phase. And this will either give you a 1 or 0 depending on what you want to store. We've been looking at just one plane of memory. The sense and inhibit lines are routed to all the cores on this plane. To save space, the planes of memory are stacked on top of each other. To reduce component count, these x and y wires are routed in series between all of the planes. This way you only have one circuit to drive each x and each y. If you want to write a value to the x3, y5 on the second plane, then you could use inhibit lines to send current in the opposite direction on both the first and the third planes. This means the current won't overcome the hysteresis for the first and third planes and those bits will remain unchanged. That's how the erasable memory works, but there is a read-only memory storage called core rope memory. The pattern the wires are woven determines if the bit is a 1 or a 0. If the wire is routed through a core, then it's a 1. If the wire is routed around the core, then it's a 0. And just like with the erasable memory, we need to have a sense line to read the induced current. We don't use x and y coordinates to isolate a core. We send an opposing current in the inhibit lines of the two cores that we don't want to select. Then we can send a current through the set line. This will flip the magnetic field only on the second core. A current will be induced in the sense line, and since we only have one core selected we'll know where the pulse came from. Then we need to reset the magnetic field for the second core. If we had isolated core 1, we wouldn't have read any pulse since the wire is routed outside of this first core. And we can actually route several wires through each one of the cores. And if we isolate core 3 and send a pulse through, then we're going to get a reading from multiple sense lines. We can only put multiple sense lines through a core because this is read-only data. We are never writing information. This is fixed memory and the 0 bits are all routed outside of the cores. And over 100 sense wires could be routed in a single core. A group of 16 sense lines makes up a word, and this word is called a strand inside the rope memory. These magnetic memories are far larger in physical size than the memories that we have today. The AGC could only store 2 kilowords of erasable memory and the fixed memory was only 36 kilowords of storage. That's all. That's where all the programs were, all the constants, the star and landmark charts, and all the look-up tables was just in that 36 kilowords of memory. And this was still far more than was originally planned. The 15-bit instruction words were supposed to use the first 3 bits for operation codes and the last 12 bits for an address. But there were more opcodes and memory addresses than could be represented by those 15 bits. Programmers had to create memory banks and special cases for the opcodes depending on what programming mode they were in. This was an addition to the programmers already needing to intrinsically know how their equation works in order to utilize the math functions, scale the values, and avoid overflows. And to top it all off, there wasn't one AGC. We talk about the Apollo guidance computer, but there were really many. There were two major design versions. There was a Block I and a Block II. And the Block II was used on all the main missions. There was an AGC computer on the command module and another one that was on the lunar module. And NASA wanted them to be as similar as possible, but there had to be differences. The LEM computer needed to be able to be lighter and it interacted with different hardware. The software written for the command module was eventually called COLOSSUS and the one for the lunar module was called LUMINARY. The basics of the computer architecture were the same for every flight, but Apollo missions improved upon the last ones. So the computers for each spacecraft and mission were handmade with some assistance from machines, but the memory was woven and the logic modules needed to be welded. And the wiring on the back had to be laid out in such a manner that it didn't stack up and become too bulky in any one section. Every computer needed its own mission profile and flight trajectory and some programs for later missions were flown on earlier flights to be tested. And since programs had to be woven into the core rope memory, the code for each mission had to be locked in a few months prior to launch. This way there was time to manufacture it. And when MIT originally got the contract, they barely had any requirements. No one, including NASA, knew what would be required of the computer or what it would be capable of doing. It is amazing the thought and care that went into each one of these computers. The Apollo guidance computer did everything that it was originally asked for and so much more. It was a beautifully, welded and woven computer. And I want to leave you with the words of Doc Draper. He was the head of the instrumentation lab at MIT at the time of Apollo. I can't presume to predict what the future is going to hold, but I'm sure it's going to be different from anything we imagined. I'm sure it's also going to be much more extensive and we're going to do many more tricks than anybody today imagines that we can do. And how we do this I don't know, but the human race is certainly going to go out into the stars. I thank you very much.
Info
Channel: SciJoy
Views: 39,905
Rating: undefined out of 5
Keywords: apollo 11, nasa, apollo program, apollo guidance computer, agc, core rope memory, imu, inertial measurement unit, draper, mit, instrument laboratory, scijoy, wehackthemoon, moon landing, lunar module, computer history museum, 50th anniversary, apollo program (space program), massachusetts institute of technology (college/university), command module, apollo computer, hack the moon, lunar landing, moon machines, draper labs, vintage computer, magnetic memory, apollo, dsky, moon lander
Id: J-5aT2zSfSA
Channel Id: undefined
Length: 30min 30sec (1830 seconds)
Published: Fri Aug 02 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.