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();

Friday, 28 February 2020

Lyft ramps up self-driving program

A year ago, Lyft submitted a report to the California Department of Motor Vehicles that summed up its 2018 autonomous vehicle testing activity in a single, short paragraph.

“Lyft Inc. did not operate any vehicles in autonomous mode on California public roads during the reporting period,” the letter read. “As such, Lyft Inc. has no autonomous mode disengagements to report.”

The 2019 data tells a different story. Lyft had 19 autonomous vehicles testing on public roads in California in 2019, according to data released earlier this week by the CA DMV. Those 19 vehicles, which operated during the reporting period of December 2018 to November 2019, drove nearly 43,000 miles in autonomous mode.

The report is the latest sign that Lyft is trying to ramp up its self-driving vehicle program known as Level 5. 

The CA DMV, the agency that regulates autonomous vehicle testing on public roads in the state, requires companies to submit an annual report that includes data such as total AV miles driven and number of vehicles. It also requires companies to report “disengagements,” a term that describes each time a self-driving vehicle disengages out of autonomous mode either because its technology failed or a human safety driver took manual control for safety reasons.

That’s still far below established AV developers such as Cruise and Waymo, which accumulated 831,000 and 1.45 million autonomous miles, respectively. And it makes up just a tiny sliver of the total autonomous miles racked up by the 36 companies that tested on public roads in 2019.

The total number of autonomous miles driven in 2019 rose 40%, to more than 2.87 million, thanks largely to a notable uptick in public on-road testing by Baidu, Cruise, Pony.ai, Waymo and Zoox. While the number of companies with testing permits grew to 60 in 2019, the percentage of companies actually testing on public roads fell to about 58%. In 2018, about 62% of the 48 companies that held permits tested on public roads.

Other companies scaled back public testing in California. Some moved public testing outside of California, others retracted due to the high cost. Others said they were opting to place greater emphasis on simulation.

Still, the report shows Lyft is doing more than partnering with autonomous vehicle companies like Aptiv. Lyft and Aptiv launched a robotaxi pilot in January 2018 in Las Vegas. The program, which puts Aptiv vehicles on Lyft’s ride-hailing network, surpassed 100,000 rides this month. Human safety drivers are always behind the wheel and the vehicles do not drive autonomously in parking lots and hotel lobby areas.

Lyft’s Level 5 program — a nod to the SAE automated driving level that means the vehicle handles all driving in all conditions — was launched in July 2017. Today, Level 5 employs more than 400 people in the U.S., Munich and London.

Testing on public roads in California began in November 2018 with a pilot program in Palo Alto that provided rides to Lyft employees in Palo Alto. The pilot provided on-demand rides set on fixed routes, such as traveling between the Lyft office and Caltrain.

Since then, the company has expanded the scope and geography of the pilot. By late 2019, Lyft was driving four times more autonomous miles per quarter than it was six months prior.

Lyft is also testing on a dedicated closed-course track in East Palo Alto that it opened in November 2019. The company told TechCrunch it uses this facility, which can be changed to include intersections, traffic lights and merges, to test software prior to putting its vehicles on public roads.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support