Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Wednesday, 2 October 2019

Leo Aerospace provides bespoke rocket launches — from a hot air balloon

The demand for orbital launches is increasing steadily, and the industry is nowhere near keeping up. Leo Aerospace thinks it can help with a launch technique that’s more efficient and requires far less infrastructure than an ordinary rocket: a hot air balloon. With a rocket attached to it, of course. It sounds wacky at first, but it could prove to be an economical and flexible way of getting to orbit.

Leo is originally out of Purdue, one of two such teams on stage this week at Disrupt SF Startup Battlefield. Co-founder and CEO Dane Rudy said they were looking into new and better ways to achieve orbit besides the traditional surface-based rocket approach.

leo j“We found this really elegant solution that was actually tested in a rudimentary way in the 50s by the Air Force, which is launching rockets from an aerostat — a balloon,” he said.

Perhaps used to countering narrowed eyes and barely disguised incredulity at this point, he hastened to follow up.

“It actually worked really well for what it was designed for. The issue they ran into was that the U.S. shifted toward sending people to the Moon — so there just wasn’t a need for that technology in the Apollo program. But the rise in small satellites has created a huge demand tailored to these capabilities,” he said.

It turns out using a balloon has big benefits. A large amount of a rocket’s fuel and engineering is dedicated to pushing it from the ground, where the atmosphere is heaviest, to the thinner upper atmosphere, where drag and other issues are much less of a worry. By going the first few miles straight up in a balloon, much less rocket is needed to get into orbit, since you’re skipping one of the hardest parts.

The technique is more or less exactly what you’d imagine: A large balloon inflates and lifts the payload, a small rocket, to a designated altitude. Once there it aligns itself and… well, lifts off is perhaps the wrong term. But it ignites and exits the atmosphere at a planned trajectory and inserts the payload into orbit.

There are already air-launch systems out there that use planes rather than balloons, presenting their own challenges and advantages. Leo Aerospace’s main draws are flexibility and cost.

“Our system is fully mobile — it doesn’t require any ground infrastructure,” said Rudy. “The whole thing fits into a regular shipping container.”

That means it can take off wherever and, perhaps more importantly, whenever the client chooses.

 

shipping

Right now the launch industry is expanding like crazy, both because of an increase in total launches and the rise of “ride-sharing,” where dozens of payloads share the cost of a single rocket. The cost goes down, but there are serious inconveniences.

“They don’t have much choice in when they launch or what orbit they’re going to. There’s also the complexity of having to ride with a bunch of other payloads on board — you have to compromise on timing and so on,” Rudy said.

While ride-sharing means many payloads will get to space that might not have a few years ago, it also means they might wait for years while the rest of the seats fill up and get ready to roll. With Leo it’s practically Domino’s for orbit.

That’s all great in theory, but the fact is no one has made a balloon-based commercial launch system. When the Air Force did it, it was pretty crude: The rocket was carried in a vertical position and shot right through the balloon when it went up. That kind of rules out reusing the balloon, but Leo’s entire business is founded on reusability, since that brings costs down immensely.

launch regulus

“That was one of the big problems we had to solve — the expense of the balloon itself; helium is expensive, and the envelope [i.e. the balloon material] is expensive and fragile,” said Rudy. “How do we make that zero stage, as we call it, reusable?”

Amazingly, they determined that tough, ripstop nylon and hot air were actually the best solution. It’s remarkably close in principle to an ordinary recreational hot-air balloon, but with the slight difference that it has to fly up to 18 kilometers of altitude and carry a rocket with it.

“The difference is how do you control and command this sort of vehicle, integrate it into airspace, suspend the rocket beneath it and all that,” Rudy said. “All the stuff you have at Vandenberg Air Base for a launch — we have to make all that mobile.”

Mike Mojave Launch 11 of 25

A bit like going from an ordinary car to a self-driving one, Leo’s balloon may be similar to the recreational type in its basic form, but the technical advances are in how it is controlled and tracked. They can adjust for wind, control the yaw and rotation, rise to a very precise altitude, and so on — naturally, all remotely and with partial autonomy.

The rocket doesn’t shoot through its balloon as before, but fires off at a mission-determined angle. 18 km closer to space, with far less air resistance to worry about, the three-stage rocket (two solid, then one non-cryo liquid) can be much smaller and have far less mass — requiring less than half the fuel to lift a given mass to orbit. To be specific, the system is specced to send 33 gross kilograms, 25 kg of payload, to a 550 kilometer orbit — or about twice that to 300 kilometers.

December saw the company performing reduced-scale tests at altitude, an important stepping stone to regulatory approval. The plan is to make their first full-scale suborbital launch next year with their first customer’s payload on board. Orbital launches are planned for 2022.

 

Leo has gotten through December’s tests on a quite barebones budget for a space startup of about $520,000, through TechStars and a grant from the National Science Foundation. That’s great for a foundation, Rudy said, but full-scale tests and an eventual transition to commercial operations will take more than six figures.

An Air Force Small Business Innovation Research grant has opened the door to other government sources, and there’s been interest from that quarter in the non-orbital potential of the system, for instance high-altitude testing, mobile communications infrastructure, and so on. So already there are multiple eggs in multiple baskets — an attractive quality for investors.

“We’ve done all the foundational work,” said Rudy.  “Now it’s just about scaling up.”



from TechCrunch https://ift.tt/2n3iCVn
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support