В новостях про DARPA, которое внедрило ИИ на борт истребителя для “полного” им, истребителем, управления, главный посыл в том, что, мол, давайте уже разрешим использовать “недетерминированные” (non-deterministic) “алгоритмы” даже для управления самолётами – это “безопасно” и “проверено” опытом. В самолёте много чего есть загадочного и недетерминированного, начиная с механизма образования подъёмной силы крыла – спросите любого лётчика или авиационного инженера. Но, вообще-то, одно дело, когда речь идёт действительно об алгоритме, выдающем труднопредсказуемый для внешнего наблюдателя результат, но, при этом, сам алгоритм вполне себе может быть записан и задокументирован, а совсем другое дело – когда в “недетерминированность” превращается принципиальная недоступность внутреннего устройства системы ИИ для понимания даже разработчиком.

“Недетерминированный” алгоритм, но в классическом понимании, может выдавать такую последовательность отклонений органов управления летательного аппарата, которая приводит к движению по сложной, псевдослучайной траектории, ведущей, тем не менее, в заранее заданную точку – давно известный подход, применяемый на практике. Кстати, применяется не только для управления полётом, но и в случае радиосигналов, как для защиты от помех, так и для затруднения обнаружения. В качестве другого примера алгоритма можно взять любой современный шифр, рассмотрев ситуацию, когда он используется со случайным ключом.

Понятно, что если траектория и манёвры некоторого робота предсказуемы заранее, то перехватить такого робота сильно проще. Поэтому и требуется некоторая степень недетерминированности. Однако подобные алгоритмы имеют вполне конкретное, – детерминированное, так сказать, – описание. А если описание конкретное, то его можно превратить не только в обозримый исходный код и прикрепить к документации, но даже и попытаться реализовать формальное доказательство корректности: для практических систем это вполне возможно, если, конечно, там не десять миллиардов коэффициентов, как в продвигаемых ИИ-решениях. Так и возникают разумные ограничения на использование некоторых систем, – а именно, “ИИ с LLM и пр.”, – на важных направлениях: не из того, что такие системы умеют выдавать “недетерминированный” результат (это и так возможно, без ИИ), а из того, что тут нельзя “детерминировать” общее описание поведения.

Однако в ближайшем будущем с системами ИИ/LLM всё может сложиться иначе: вместо обозримого кода и понятных параметров – миллиарды коэффициентов, подменяющие осознаваемую “недетерминированность” результата.



Комментировать »

Нередко предполагается, что автомобили-роботы станут выдавать в эфир сведения о планируемой траектории движения, так как это может помочь другим автомобилям-роботам в планировании своих траекторий. Это одна из особенностей, связанных именно с роботами. Нельзя сказать, что сложно предсказать путь следования автомобиля под управлением обычного водителя-человека. Но то некий “путь”, предположим, “из точки А в точку Б”, с точностью до выбранных улиц и дорог, – не сложно, если водитель не запутывает следы специально. А вот с конкретными манёврами, составляющими отрезки траектории, трудности предсказания возникают регулярно. С роботами, как ожидается, дело другое: они могут строго придерживаться только что заявленного траекторного интервала. Это создаёт пространство для принципиально новых атак.

Представьте, что злонамеренный “участник движения” транслирует в сторону других автомобилей-роботов противоречивые траекторные данные – специально запутывает согласование, выполняет хитрую DoS-атаку. В тривиальной кооперативной системе другие роботы будут вынуждены остановиться, поскольку все их возможности движения окажутся закрыты атакующим. При этом источник атаки вовсе не обязан быть автомобилем-роботом – это может быть просто коробка с электронной начинкой, оставленная кем-то у столба на перекрёстке. Получается, коробка как бы изображает “нерешительного” водителя-человека и успешно блокирует движение роботов. И даже пассажиров, у кого они на борту, высадить нельзя на перекрёстке.

Для реализации, конечно, нужен соответствующий протокол. И можно предположить, что если такой протокол внедрят (а прототипы есть), то он будет защищён тем или иным криптографическим способом. Анонсируемые маршруты могут подписываться источниками (звучит как sBGP и RPKI), а другие участники станут проверять подписи. По причине рьяной поддержки маркетинга нетрудно приделать сюда ту или иную “иерархию удостоверяющих центров”, как это с регулярностью и происходит в смежных электронных областях (пример – eSIM и GSMA). Тогда ключи/сертификаты злонамеренных “маршрутопостановщиков” будут отозваны и прочие роботы смогут данные анонсы игнорировать. Вот только проблема в том, что это всё оказывается связано с безопасностью движения, а неверный отзыв ключа/сертификата легко может привести к тому, что добросовестные роботы на дороге проигнорируют добросовестный автомобиль-робот и, в соответствии с правилами блокбастерного кинематографа, его протаранит самоуправляемый грузовик. А соответствующий чужой сертификат, как окажется, тоже отозвал злоумышленник. С учётом Нового Средневековья, отозвать сертификат может быть даже проще, чем городить коробку-ретранслятор.



Комментарии (1) »

С автономными такси-роботами возможны ситуации, когда это такси везёт пассажира куда-то “не туда” или, например, просто остановилось на дороге и не выпускает. Нетрудно предположить, что точно такие же ситуации возможны и в случае с такси, которым управляет водитель-человек. Однако вариант с роботами – отличается, и отличается столь же существенно, как и все подобные “автоматизации”, потому что автоматизация тут автоматизирует и атаки.

Во-первых, возможны массовые взломы и атаки, которые коснутся сразу всех такси-роботов, входящих в ту или иную сеть (нечто похожее периодически случается с сервисами заказа такси). Водитель-человек, в большинстве случаев, может адекватно оценить ситуацию массового сбоя приложения в смартфоне; совсем другое дело – такси-робот, где подобное приложение составляет весь виртуальный блок “принятия решений”. Массовая атака, в лучшем случае, приведёт к остановке роботов-такси. И что тогда делать пассажирам? Отправить к каждому подменный автомобиль тут не получится. И нужно учитывать тот факт, что массовый сбой автомобилей-роботов, если их достаточно много, может вообще заблокировать движение по городским дорогам.

Во-вторых, атаки на такси-роботы всё так же могут проводиться индивидуально, минуя основную систему. Да, эффект не обязательно будет массовым (но возможен и массовый), зато атаковать робота можно по таким схемам, которые для человека не сработали бы. Роботу всё равно, а проблемы опять возникнут у пассажиров. При этом, существенное значение имеет возможность организации именно дистанционной атаки, в том числе, через смартфон или приложение одного из пассажиров. Найти концы и выработать какую-то конструктивную схему выхода из ситуации будет довольно сложно: это уже не социальная инженерия – взломанного робота, накручивающего круги по городским дворам, не сможет переубедить даже официальная служба поддержки.

Так что роботы-такси вовсе не обязательно делают систему безопасной, поскольку возникают новые варианты атак и новые уязвимости.



Комментировать »

Для самоуправляемых боевых роботов, которые, например, передвигаются по пересечённой местности, весьма важным фактором оказывается непредсказуемость траектории. То есть, перед такими роботами стоят те же задачи, которые решают ракеты, предназначенные для преодоления тех или иных средств обороны.

Понятно, что если роботы строго предпочитают маршрут, который проходит через некоторые “укрытия” (скажем, особенности рельефа) в фиксированном порядке, то противник, наблюдая тот же рельеф, может не только определить, где робот укрывается в данный момент (с большой вероятностью), но и точно предсказать следующий манёвр. Соответственно, робота становится гораздо проще уничтожить или вывести из строя. С другой стороны, от машины, управляемой человеком, можно ждать всяких экстравагантных действий, но далеко не всегда.

Псевдослучайную (или даже подлинно случайную) траекторию можно сгенерировать на борту робота, для этого годятся те же математические методы, которые уже давно применяются: “случайное блуждание”, обязательно заканчивающееся в заданной точке. Робот может “перемешивать” интервалы траектории не только по пространственным координатам, но и по времени. И из этого возникает некоторое дополнительное направление инженерной психологии: как человека эффективно ввести в заблуждение – своего рода “капча наоборот”.



Комментировать »

Есть совсем маленькие беспилотники, точнее, дроны. Например, Black Hornet PRS от FLIR, имеет длину всего около 16 сантиметров (согласно описанию). Этот дрон предназначен для разведки на местности – он передаёт оператору видео (в том числе, есть ИК-камера) и фотографии, заявленная дальность связи – до двух километров.

Как можно обнаруживать такие микроскопические аппараты? Понятно, что он довольно тихий. Просто разглядеть глазами или в бинокль – весьма сложно, из-за маленьких размеров (конечно, аппарат должен быть окрашен в соответствующий окружению цвет). Компактная РЛС для охраны периметра, с одной стороны, может такой аппарат увидеть, так как у него есть быстро вращающийся винт. Но, с другой стороны, винт можно выполнить из радиопрозрачного материала, а главная проблема будет в том, что РЛС с соответствующей чувствительностью начнёт видеть птиц, стрекоз и подобные объекты, чем создаст большой поток ложных срабатываний. Впрочем, у дрона должна быть антенна. В частности, конкретный вариант от FLIR содержит некий проводок, подвешенный снизу. Антенна резко увеличивает шансы по обнаружению силами той или иной РЛС.

Вероятно, какие-то хорошие результаты можно получить в терагерцевом диапазоне, если добавить в РЛС систему автоматического распознавания образов. Многообещающе выглядит связка РЛС + тепловизор/ИК-камера: по сигналу тепловизора можно эффективно отсеивать теплокровных живых существ, картинка в ИК-диапазоне позволит точнее определять летающих насекомых, падающие листья и другие природные эффекты. Особенно неплохо должна работать камера со стробоскопической подсветкой. Правда, никто не мешает получше замаскировать дрон, чтобы он стал похож на стрекозу, но это дополнительные расходы энергии и трудности проектирования.

У дрона, кстати, тоже есть камера. Камера является основным его полезным прибором. То есть, можно попробовать обнаруживать присутствие оптики в воздухе, например, при помощи лидара. Другое возможное направление – обнаружение полупроводниковой начинки. Если использовать вторичные излучения, как в нелинейном локаторе, то потребуется подсвечивать пространство довольно мощным лучом, чтобы обеспечить разумную дальность, а это не слишком хорошо.

Естественно, есть ещё один логичный вариант – попытаться детектировать радиосигнал, с помощью которого дрон транслирует картинку. Это очень хороший вариант: детектор может быть миниатюрным и точным. Но сработает только в том случае, если дрон не маскирует радиосвязь, например, применяя специальный шумоподобный сигнал с очень широкой полосой частот. А разведывательный дрон, понятно, именно так и должен делать.

В общем, средства обнаружения оказываются довольно сложными и большими. Их не так легко развернуть где-то в полевых условиях, тем более, унести с собой. А вот сам дрон – остаётся маленьким и полезным.



Комментарии (1) »

Я уже как-то писал на эту тему: сенсорам автомобилей-роботов можно ставить активные помехи. Собственно, до этой задачи потихоньку добрались публично – Wired рассказывает о том, как исследователи ставят помеху радару автомобиля Tesla, а также и ультразвуковым датчикам препятствий этого же автомобиля. (Не ясно, почему выбрали Tesla – возможно, из-за максимальной медийной узнаваемости.)

Эта тема имеет историю в несколько десятков лет. Правда, она касается не автомобилей, а военных радиолокационных комплексов самого различного назначения. Помехи ставили и ставят бортовым РЛС истребителей и радарам наземных комплексов ПВО. В тексте Wired, впрочем, ничего про военные системы не сказано, но это не отменяет истории разработок. Постановка помех – довольно хитрая область, где наряду с передовыми методами обработки сигналов и сложной микроэлектроникой применяется такая математическая дисциплина, как теория игр. В случае с военной техникой от искусственных помех специально пытаются отстраиваться (про естественные – и так понятно). Например, радары могут использовать сигналы сложной структуры (и во временной, и в частотной области), которые сложно обнаружить (LPI) и, соответственно, сложно поставить активную помеху, вводящую систему в заблуждение. Для автомобильной техники этот вариант, скорее всего, просто не рассматривается: максимум, система управления учитывает естественные помехи и пытается обнаружить ситуацию потери точности измерения, чтобы сигнализировать об “отключении автопилота” (именно так действует Tesla из статьи). Проблема в том, что активный помехопостановщик может создать картинку, неотличимую от настоящей, с точки зрения системы управления. И это большая проблема, потому что автомобиль с таким помехопостановщиком может находиться в потоке транспорта, хоть это и похоже на сюжет из киберпанковского кинофильма.

Роботам может помочь использование пассивных систем, например, видеокамер. Развитому машинному зрению помеху ставить сложнее. Однако на практике, без дополнительного инструмента измерения расстояния, которым является тот или иной сонар (радар, лидар), роботу сейчас довольно трудно – моделирование сцен только по данным камер представляет собой сложную вычислительную задачу. Впрочем, такие системы есть.

Несомненно, активные помехи автомобилям-роботам – это одна из перспективных тем, так что в ближайшее время мы тут увидим ещё много интересного, потому что вряд ли разработчики беспилотных автомобилей заблаговременно озаботятся защитой от такого рода атак. Просто потому, что такая озабоченность была бы ненормальной: хорошего инженера-робототехника заботят совсем другие задачи.



Comments Off on Автомобили-роботы и помехопостановщики

Интересное видео с роботом Atlas от Boston Dynamics: андроид передвигается по снегу, открывает двери, перемещает коробки, несмотря на помехи, создаваемые человеком с клюшкой.

rbt7715

(Видео.)



Comments Off on Робот-андроид Boston Dynamics в действии

Появился новый робот, быстро собирающий кубик Рубика – он справляется примерно за секунду (по ссылке с картинки – видео на Youtube.com):

Cube solving robot

Конкретно это решение можно, конечно, покритиковать: там четыре камеры; нужен специально подготовленный кубик (насадки на валах электродвигателей входят в механическое зацепление с центральными элементами сторон кубика); кубик устанавливается в заранее заданном положении (манипуляторы размечены по цветам) и так далее, и тому подобное. Однако интереснее подумать, насколько вообще можно улучшить результат. Вычислительные мощности доступны, поэтому механическая составляющая робота оказывается важным фактором, устанавливающим границы.

Если я не путаю, то сейчас известно, что из любой конфигурации кубик (3×3) собирается не более, чем за 26 ходов, если ходом называется поворот грани на 90 градусов. При этом большинство конфигураций лежат на два-три хода ближе к собранному кубику. Для оценки точное число ходов не так важно. Примем, что типичная сложная конфигурация – 25 ходов. То есть, если поворачивать грань за 10 миллисекунд на 90 градусов, то с преобразованиями конфигурации можно уложиться в 250 мс (плюс затраты на “переключение” граней – но не будем их учитывать). 10 мс – это 9000 градусов или 25 оборотов в секунду. Сама по себе, скорость вращения не очень большая, добротный кубик её наверняка выдержит. Заметные потери времени при “миллисекундном разрешении” будут связаны с разгоном грани – отсюда и идеи с механическим зацеплением. Для немодифицированного кубика быстрый разгон при начале вращения грани составит серьёзную техническую проблему.

Работа робота сводится к определению начальной конфигурации кубика, вычислению оптимального (или близкого к оптимальному) пути из этой конфигурации к собранному кубику, выполнению ходов. Интересно, что оптимальный путь здесь не обязательно кратчайший. Дело в том, что оптимизировать нужно с учётом исполнительного механизма, а он может какие-то ходы выполнять быстрее, а какие-то – медленнее. Например, очевидно, что все повороты должны осуществляться в одну сторону, что некоторые ходы поддаются механическому “распараллеливанию”, а некоторые – нет, и так далее. Изображение кубика требуется получить только один раз, для определения начальной позиции. Причём это изображение может быть низкого разрешения и известной геометрии, так что сколь-нибудь заметного времени на передачу и распознавание не потребуется. Основное вычислительное время – поиск оптимального пути сборки. После того, как получен список ходов – он отправляется в контроллер механизма, который максимально быстро выполняет их, передавая команды исполнительным механизмам. Логично использовать простейший контроллер, а максимум вычислений проводить на управляющем компьютере: результатом работы программы будет являться набор команд на поворот валов электродвигателей, который и передаётся в контроллер (алгоритм выполнения команд должен учитывать параллельное выполнение, так что контроллеру потребуется память и логика, позволяющая одновременно управлять несколькими двигателями).

В общем, тема эта весьма интересная, а особенное техническое развитие она получает после преодоления секундного барьера. (Человеческий рекорд, кстати, чуть менее 5 секунд.)



Комментарии (6) »

Old CarsСчитается, что одним из факторов, сдерживающих внедрение самоуправляемых автомобилей, являются трудности с определением ответственных в случае ДТП. Однако не стоит переоценивать эти юридические сложности, связанные с появлением автомобилей-роботов. Да, ответственность с пассажиров снимается, перекладывается на производителя автомобиля, это очень удобно.

Во-первых, производитель, опираясь на “груз ответственности”, запрещает ручное вождение, а также, ещё раз, запрещает вносить какие бы то ни было изменения в конструкцию и ПО, да и вообще – автомобиль они больше не продают, а лишь лицензируют “право проезда”;

Во-вторых, ответственность за ошибки конструкции и опасные “баги” в программном обеспечении будет сводиться к единичным миллионным выплатам (не так много для автогиганта) и отзыву автомобилей “на перепрошивку” (практика уже отработана, и с отзывами, и с выплатами);

В-третьих, и это самое интересное, наверняка появятся некие квоты на “травматизм и ДТП”, которыми страховые компании и автопроизводители будут обмениваться между собой – потому что в роботизированном мире подобная статистка хорошо формализуется.

Вопрос лишь в том, много ли окажется желающих за собственные деньги ездить в запертой (“а чтобы не выскочили на проезжую часть без команды”) коробочке, управляемой даже не локальным персональным автопилотом, а транспортной сетью (“потому что планирование, оптимизация потоков”), без единого шанса как-то повлиять на ситуацию в момент перемещения между точками А и Б. Особенно, если учитывать следующий тонкий момент. Автомобили-роботы, находящиеся в транспортном потоке, обмениваются между собой информацией и, в перспективе, принимают решения о безопасном “разруливании” каких-то критических ситуаций. Можно ожидать, что роботы и компьютеры, обычно, справятся с такой задачей хорошо и без потерь. Но возможны ситуации, – например, возникающие в результате стихийных событий, вроде падения дерева на трассу, – когда выхода без потерь просто нет. И вот, в случае транспортного потока ближайшего будущего, решение о том, кому из пассажиров и что терять, станут принимать роботы, управляющие коробочками-автомобилями. Многим ли это понравится?

Впрочем, роботы, конечно, безопаснее, это доказывает не только гражданская авиация. Безопаснее – до тех пор, пока под контролем.



Комментарии (3) »

В DARPA Robotics Challenge 2015, соревнованиях роботов, имитирующих работу в ситуации техногенной катастрофы, победил робот DRC-HUBO южнокорейской команды KAIST. Это робот “гуманоидной”, точнее – андроидной, схемы, достаточно точно повторяющей человека. Это, впрочем, не помешало ему выиграть.

DRC-HUBO

Робот RoboSimian NASA, один из немногих неандроидных вариантов, представленных в финале соревнований, оказался на пятом месте из 23 команд (какие-то очки, при этом, получили только 19 команд).

RoboSimian

Надо заметить, что двуногие роботы слишком часто падали во время выполнения задач, иногда с фатальными последствиями. Риск опасного падения даже в несложной, казалось бы, ситуации, – большая проблема для двуногой схемы. А вот RoboSimian, например, будучи оснащённым ещё и колёсами, передвигался гораздо более безопасно, по сравнению с подавляющим большинством андроидов (посмотрите сами – есть видеозапись). Вообще, андроиды вовсе не обязательно являются подходящим для решения подобных задач вариантом.

DARPA DRC

В восприятии DARPA Robotics Challenge – многое зависит от того, как вы относитесь к перспективе наполнения окружающей действительности бегающими и прыгающими автономными роботами, которых, конечно, вооружат не только лобзиками и шуруповёртами, как в этих соревнованиях. В зависимости от точки зрения, робот-андроид, медленно и не очень уверенно пробиравшийся на своих механических ногах сквозь небольшой завал из строительных блоков, а в самом конце вояжа рухнувший с размаху оземь, отключившись и потеряв навесные агрегаты, может и опечалить, и ободрить – мол, не так уж и близко идти технологиям до уверенного передвижения перебежками между разрушенными зданиями. Впрочем, похоже, что близко. Очень близко.



Comments Off on DARPA Robotics Challenge 2015 – результаты

MIT Cheetah успешно перепрыгивает через препятствия, на бегу. Интересно, что для такого упражнения нужна хорошая кинематика и стабилизация четёрхлапого шасси. Никакой искусственный интеллект – не требуется. Если шасси стабильно и не падает после толчка лапами, то рассчитывать по самому прыжку там особенно нечего, всё уже посчитано. Вот что значит построить хорошую платформу. Момент прыжка определяется элементарно; работает закон “закапывания трудностей”: если вы построили подобного робота и научили его бегать и не падать, то прыгать он сможет практически сразу, ну, как только ему добавят кинематических приводов.



Comments Off on Видео: робот Cheetah перепрыгивает через препятствия