Именно этот путь и предлагают в исследовательской группе Стэнфордского университета SRI International. Это научное объединение было создано как некоммерческая организация, что не мешает ему привлекать заоблачные инвестиции. Их общее число уже превысило $4 млрд, и основной поток средств также поступает от DARPA.
Ключевая идея SRI состоит в том, чтобы создать более совершенные манипуляторы и заменить дорогостоящую гидравлику в роботах нового поколения более дешёвыми, но мощными электронными компонентами.
Считается, что такой шаг одновременно снизит стоимость и повысит точность операций, доступных роботу. По мнению разработчиков, при сопоставимых возможностях новые роботы будут потреблять в разы меньше энергии и стоить почти десятикратно дешевле, чем легендарный Atlas.
О том, насколько важную роль в развитии робототехники играют манипуляторы, можно судить и по наличию отдельной исследовательской программы DARPA ARM-H, непосредственное участие в реализации которой принимает коллектив SRI.
По условиям программы создаваемые манипуляторы должны быть достаточно прочными для работы в полевых условиях, взаимозаменяемыми и дешёвыми в серийном производстве. Их искусственным пальцам надлежит развивать усилие не менее 4,5 кг и удерживать полезный груз массой до 23 кг.
Директор отдела робототехники SRI Рич Махони (Rich Mahoney) отмечает, что всё это возможно уже сегодня. Прогресс затормозился из-за того, что дизайн большей части прежних роботов был избыточен, так как никто всерьёз не верил, что они покинут пределы лаборатории. Поэтому их создатели не имели стимула искать способы удешевления массового производства, работать в направлении унификации конструкций и делать управление ими удобным для неспециалистов.
Серийно выпускаемые роботы с ловкими манипуляторами могут стать стандартным оснащением на производствах высокого класса опасности (например, нефтяных вышках) и приступать к ликвидации последствий аварии уже на раннем этапе. «Вместо таблички “В случае аварии разбить стекло” и топора за ней там будет просто стоять гуманоидный робот», – шутит Махони.
Аналогичного мнения придерживается и директор фирмы Unbounded Robotics Мелани Уайс (Melonee Wise), развивающей направление сервисных роботов. По её словам, более совершенные манипуляторы означают, что роботам станут доверять действия в сложной рабочей области.
Сейчас компания готовится наладить к лету выпуск роботов URB1 стоимостью $35 тыс. Обладая всего одним захватом, они смогут выполнять разные рутинные действия, а система компьютерного зрения поможет им оставаться безопасными для людей поблизости.
Ближе всех к созданию универсальных гуманоидных роботов пока подошла компания Rethink Robotics, создавшая универсальную модель Baxter. Благодаря возможности переобучения и набору сменных манипуляторов такими машинами действительно можно заменить часть рабочих на конвейере.
Современные попытки сделать роботов дешевле и практичнее также связаны с тем, что их стараются приспособить уже не только для выполнения специфических задач, но и для широкого повседневного использования. Иными словами, из редких футуристических созданий они превращаются в бытовые устройства.
Первыми этот путь проделали роботы-пылесосы. Им не требуется быть гуманоидными, чтобы выполнять качественную уборку, но хотя бы одна рука очень пригодилась бы для повышения самостоятельности. Компания Roomba (выпускающая пылесосы iRobot) работает совместно с Гарвардским и Йельским университетами над созданием трёхпалого манипулятора. Его главным свойством будет возможность универсального применения в быту — от удержания крупных предметов до поднятия упавшей связки ключей.
Ода красивому коду
0 Какой красивый код!
10 Пусть тот, кто устал от этой фразы, первым бросит в меня камень. Это редкая и наверное самая ценная похвала, какой только может удостоиться программист. Деньги? Деньги платят за функционал. Но
20 Красота — понятие размытое. Мы применяем его направо и налево, к живому и неживому, ухитряемся даже сравнивать на конкурсах, но не желаем, а может, и боимся признаться себе, что до конца не понимаем значение этого понятия — быть красивым. «Википедия» определяет красоту как способность объекта вызывать у наблюдателя эстетическое (в смысле — не привязанное к практической пользе) наслаждение. Проблема в том, что в любых двух точках пространственно-временно массива каноны красоты разнятся.
30 Уже древние греки расходились в вопросе, понимать ли красоту непосредственно — визуально, измеряя математически — или считать категорией более высокого, нравственного порядка. И с тех пор «стандарт» переписывали несчётное число раз, добавляя одно и отвергая другое: симметрия, целостность, чистота и так далее, и так далее. Классическим образчиком того, насколько изменчиво понимание красоты, служат эталоны красоты женской: поставьте рядом одну из палеолитических Венер и сегодняшнюю манекенщицу!
40 Короче говоря, определиться даже с пониманием женской красоты мы оказались не в силах. Когда же дошло до машинного кода — субстанции, с которой человек никогда ранее дел не имел (программы для ткацких станков не в счёт), — можно было гарантированно начинать с чистого листа. Опыт цивилизации в этом отношении нулевой. Даже всезнающая «Википедия» молчит и самое близкое, что предлагает, — статью на тему что-токрасоты в математике (откуда мы кое-что почерпнём). Вот так и получается, что наиболее надёжный способ сформулировать критерии красивого кода — спросить людей, которые его пишут. За последние десять лет этот вопрос периодически звучал на просторах Сети то там, то здесь, так что я попытался обобщить — и вот что получилось (дополните или исправьте, если упустил).
50 В первом приближении красота кода — это внешняя эстетика текста программы: хорошо организованная структура, выровненные строки, сгруппированные по смыслу элементы, пригнанные к формату комментарии. Но это вульгарное понимание, родственное попытке приравнять красоту к функциональности. Копните чуть глубже — и выяснится, что ключевую роль здесь играет простота. Похоже, красивый код
60 Простота способствуют скорейшему пониманию программы читающим её. Она гарантирует, что в коде будет минимум ошибок и слабых мест. С высокой вероятностью делает код минимальным по размеру, наименее требовательным к системным ресурсам и максимально быстрым. Наконец, простота почти наверняка означает, что проект не «рос по ходу дела», а был тщательно продуман, спроектирован ещё до того, как автор коснулся клавиатуры. Такая программа сравнительно легко может быть расширена, когда понадобится добавить в неё новый функционал.
70 Не скажу за всех, но лично для меня эталоном простоты, моей «киберпалеолитической Венерой», навсегда останется короткий отрывок на ассемблере Intel 8080. Всего одна команда. Вот она:
XOR A
Надеюсь, те, кто программировал в восьмибитную эпоху, пережили сейчас несколько приятных секунд. Смысл этой операции — в обнулении регистра A. Того же можно достичь прямо, присвоением (MVI A,0), но «исключающее ИЛИ» позволяет сделать это короче, сэкономив один байт. Совсем не лишнее, когда вся оперативная память умещается в 64-килобайтную страницу! Впрочем, только ли из экономии так писали? XOR A была как удачно угаданная нота в музыкальной гамме: она дарила то самое эстетическое наслаждение!
80 Из этого примера очевидна и ещё одна важная вещь: простота и читабельность кода — не синонимы. Хорошо читаемый код получается не только благодаря изящной реализации алгоритма, но и наглядной визуальной структуре текста программы и, главное, хорошим комментариям. Словно лёгкий макияж, который не скрывает, а подчёркивает, помогает оценить красоту естественных черт, комментарии и структура делают замысел творца понятным с первого взгляда.
90 Читабельность — это резко возросшие шансы, что красоту программы оценит кто-то ещё, кроме вас. И даже что вообще код может быть сочтён красивым. Ведь не все согласны, что реальный код
100 Кстати, самое время вспомнить и о ранее упомянутой красоте математических построений. Так вот: математики сходятся во мнении, что красота матобъекта обратно пропорциональна затраченным на его понимание усилиям. В точку! После такого можно даже согласиться с навязшим на зубах стереотипом, что программированию нужно учить параллельно с математикой!
110 Но давайте подведём итог. Что мы выяснили? Прежде всего — красота кода не зависит от языка. Программа может быть красивой на ассемблере и Malbolge — нашёлся бы человек, желающий и способный её оценить!
120 Далее, красота отнюдь не бессмысленна с практической точки зрения. Программы, как и рукописи, не горят. И через какое-то время с написанным вами кодом почти неизбежно придётся иметь дело кому-нибудь ещё (возможно, и вам самому). Поэтому лучше сразу постараться писать красиво, облегчить труд того, кто примет ваше детище.
130 Наконец, третий и, возможно, самый приятный для программистской братии вывод: «наведение» красоты, её достижение — отнюдь не чисто механический процесс. Красивый код нельзя получить решейпингом, ренумерацией, оптимизацией. Для этого обязательно понадобится голова! И это в некотором смысле дарит нам надежду. Ведь роботы, которые уже подминают под себя фастфуд и журналистику, однажды доберутся и до программирования (доберутся-доберутся, вспомните комментарии к «Ошибке в автомобильном софте»!) — но и тогда, похоже, местечко для нас, человеков, всё-таки останется.
Гея и (как бы) хозяин природы: ждёт ли Чили новое Великое землетрясение?
Природа непредсказуема. Никто не смог назвать заранее час падения Челябинского метеорита, не предвидел высоту волны, залившей Фукусиму. И десятки, сотни стихийных бедствий в прошлом обрушились на человека так же неожиданно. Но одно дело — говорить о трудностях прогнозирования, когда всё уже в прошлом, другое — обсуждать их, когда события продолжают развиваться и точка ещё не поставлена. Такова текущая ситуация в Чили и прилегающих районах Тихого океана. Поздним вечером 1 апреля там случилось сильное землетрясение. И главный вопрос — увы, повисший в воздухе! — стоит ли ожидать в ближайшем времени ещё более жестокого удара.
Расклад простой. Около 9 часов вечера вторника в 95 км от портового городка Икике (200 тыс. жителей) произошло землетрясение магнитудой 8,2 — одно из сильнейших, зафиксированных в XXI веке. Три четверти часа спустя на западное побережье Южной Америки обрушилось двухметровое цунами. Об угрозе цунами было предупреждено и население всех территорий вокруг эпицентра, включая Гавайи, Коста-Рику и др. Значительных жертв, к счастью, удалось избежать, но без разрушений не обошлось.
Если помните, шкала для оценки магнитуды землетрясений — логарифмическая (ранее применялась шкала Рихтера, теперь — шкала Канамори, более точно отражающая мощные сдвиги земной коры), то есть прирост на 1 единицу по ней означает увеличение амплитуды в 10 раз (и многократно больший прирост выделяющейся энергии). Так вот, в среднем размах пережитого чилийцами подземного толчка более чем десятикратно превзошёл большинство крупных землетрясений с начала века (чаще всего ограниченных магнитудой 7).
Записи со смартфонов и камер наблюдения запечатлели жуткую картину: люди, направившиеся было к выходам из зданий при первых колебаниях почвы, вскоре уже не могли устоять на ногах и падали где повезёт, хватались за ходившую ходуном — словно на корабле в штормящем море — мебель. На дорогах в первые моменты царила паника, позже было зафиксировано несколько больших пожаров, завалена оползнями важная автомагистраль, разбиты сотни лодчонок у берега. Электростанции стихия пощадила, но всё же тысячи человек остались без света, связи. Наконец, сбежали три сотни заключённых местной женской тюрьмы, что заставило направить в районы бедствия армейские части.
Картина исчерпывающе мрачная — и всё-таки в ней есть один серьёзный пробел, неувязка. Если посмотреть на статистику сильнейших землетрясений XXI века, вы поразитесь несоответствию между количеством человеческих жертв там и здесь. Практически каждое землетрясение магнитудой свыше 6 единиц стоило человечеству минимум сотен жизней, а часто — десятков тысяч. В Чили по состоянию на утро четверга известно о шести погибших, причём некоторые из них скончались от сердечных приступов. Конечно, цифра наверняка скорректируется в б
В значительной степени — везением. Чилийцам и жителям прилегающих территорий позавчера повезло буквально по каждому пункту из длинного потенциально катастрофического списка. Эпицентр находился в сотне километров от берега, и глубина вод там сравнительно невелика, так что толчки на земле были слабее, а цунами оказалось в разы ниже возможного. Район близ эпицентра сравнительно слабо заселён, а стационарные телефоны, интернет, мобильная связь (оповещения об угрозе цунами рассылались в том числе посредством СМС) в основном работали. Наконец, главному толчку предшествовала серия небольших землетрясений (с перерывами трясло весь март: только за последнюю неделю зафиксировано около трёх сотен толчков), посему население было обучено и готово к срочной эвакуации.
Конечно, нельзя забывать и о хорошей подготовке. Жители, повторю, обучены, и в кратчайшие сроки из прибрежных районов удалось самостоятельно или с помощью властей эвакуироваться почти миллиону человек (хоть в Икике население поначалу всё равно запаниковало и село на автомобили, намертво парализовав движение). А высотные здания в Чили выдерживают землетрясения до 9 единиц.
И всё-таки... Всё-таки эксперты признают: во вторник Чили чудом избежала катастрофы. И рассчитывать, что в следующий раз звёзды сойдутся так же удачно, могут только самые бессовестные оптимисты. Что приводит нас к самому страшному аспекту во всей этой истории. Геологи в целом подтверждают, что вероятность новых толчков велика. Так нельзя ли предсказать время и место следующего удара? Угадать его магнитуду? Впрочем, чилийцы сейчас будут рады, даже если кто-нибудь даст уверенный ответ всего на один до смешного простой вопрос: высвободило ли первоапрельское землетрясение всю накопившуюся под землёй энергию? И им совсем не смешно, что никто такой ответ дать не может.
Что мы знаем о землетрясениях? Несмотря на полуторавековую историю сейсмографа, по-прежнему недостаточно много даже для того, чтобы понять механизм их зарождения. Нет, в общих чертах механика, конечно, изучена. В данном случае первопричина — напряжения в земной коре, возникшие в результате столкновения двух литосферных плит: плиты Наска (восточная часть Тихого океана) и Южно-Американской плиты (на которой покоится вся Южная Америка и часть Атлантики). Первая подминается второй (так называемая субдукция) со скоростью от 65 до 80 мм в год, чего достаточно для продолжения подъёма Анд, подпитки вулканической активности на западном побережье Южной Америки и спорадических землетрясений.
Именно субдукция литосферных плит провоцирует самые мощные подземные толчки. И не случайно именно здесь произошло самое крупное землетрясение из всех когда-либо зарегистрированных с помощью сейсмографа: Великое чилийское землетрясение 1960 года магнитудой 9,5 унесло жизни 6 тысяч человек.
Но всё это, повторю, весьма грубое приближение. И хоть динамика столкновения литосферных плит близ Чили изучена чрезвычайно подробно (известно, где и с какой скоростью плиты сходятся друг с дружкой, какие участки движутся горизонтально, а какие вертикально, по данным сейсморазведки нарисован предполагаемый разрез, и пр., и пр.; привлекаются данные геодезии, геологии, петрологии и других наук), построить компьютерную модель, прогнозирующую зарождение землетрясений с практически пригодной точностью, всё равно не удаётся. Хуже того, существует масса сопутствующих теорий (в той или иной степени подтверждаемых наблюдениями), объясняющих сейсмоактивность порой взаимоисключающим образом. Последняя догадка европейских исследователей, например, заключается в решающей роли воды, просачивающейся между плитами: её распределение якобы оказывает значительное влияние на магнитуду и протяжённость землетрясений.
Так будет Чили ещё трясти или нет? Трубить отбой или готовить население к беспрецедентному стихийному бедствию? Ведь толчки магнитудой свыше 9 не выдержат даже современные здания, не говоря уже о малоэтажной застройке, коммуникациях, коммунальной инфраструктуре? Нет ответа. Одни учёные говорят: б
Вот только и они не в силах назвать хоть сколько-нибудь точную дату. Может быть, завтра. А может быть (цитирую!), через пятьдесят лет. Хозяин природы у Геи в гостях...