Натолкнулся на тему в процессе рецензирования очередной статьи и захотелось написать о том неожиданном камне преткновения робототехники, который человек перешагивает в раннем детстве, даже не замечая его.
В фантастической литературе середины 20-го века роботы выполняют разные монотонные или грязные работы, оставляя человеку свободу для творческой деятельности (или бессмысленного прозябания - это уж в зависимости от жанра). Когда-то считалось, что для всего этого нужен мощный ИИ и способность голосового общения. Практика показала, что это не так важно. Для уборки мусора человекоподобный интеллект совсем не нужен, достаточно мыслительных способностей уровня таракана. Были разработаны алгоритмы планировки действий, даже с учетом неопределённостей и перепланирования на ходу. Были найдены удивительно простые и эффективные решения для организации командной работы (на примере муравьёв). Все это, в комбинации с современной сенсорикой и алгоритмами по распознаванию образов, делает возможной постройку такой вещи, как автопилот для автомобиля (с учётом необходимого уровня безопасности).
Но есть одна проблема, мешающая постройке универсального робота, потенциально способного выполнять любую физическую работу. Над ней бьются примерно с начала 70-х, создано множество более или менее перспективных разработок, но серьёзного прорыва до сих пор не было.
Если перед тем, как открыть текст под катом, вы сделали глоток из вашей чашки с кофе, то, во избежание несчастных случаев, поставьте её, пожалуйста, на место. Поставили? А теперь подумайте, что вы только что сделали. Ваш мозг проделал множество рассчётов:
- Он оценил форму чашки, ее позицию, центр тяжести и коэффициент трения (частично по виду, частично на основе предыдущих опытов).
- На основе этой информации ваш мозг определил позиции соприкосновения ваших пальцев с чашкой. Причем из всех возможных комбинаций он выбрал подмножество возможных позиций, исходя из дистанции до чашки и подвижности суставов руки и кисти.
- Из множества возможных позиций он выбрал те, из которых чашка не выскользнет и не перевернётся.
- А из этого подмножества он выбрал позицию, требующую минимального напряжения мышц.
Иллюстрация из
Townsend, William. "The Barrett Hand grasper - programmably flexible part handling and assembly." Industrial Robot: An International Journal 27.3 (2000): 181-188.Думаете, это все? Ха! Теперь начинается самое интересное. Нет, сложен не просчёт необходимых углов сгиба для каждого сустава (задача довольно тривиально решаемая). Ещё до самой процедуры захвата нужно подвести манипулятор (или кисть руки) к нужной позиции, учитывая при этом как кинематику, так и динамику. Вы же не хотите свернуть чашку (или другие стоящие рядом предметы) по дороге локтем (или суставом манипулятора)? Потеря равновесия робота за счёт вытянутого манипулятора тоже крайне нежелательна. Кстати, сложные манипуляторы обычно весят немало. Если двинуть ими слишком резко, это может привести к раскачиванию корпуса робота (с риском задеть что-то) или же к сдвигу всего робота, который потребует проведения процедуры рассчёта позиции и процедуры захвата заново. Вам уже страшно? А ведь сам захват еще не произведен. Во многих случаях (например, захват чашки за ручку) для него необходимо скоординированное движение пальцев одновременно с перемещением всей кисти.
Конечно, есть много индустриальных роботов, выполняющих свою работу точно и эффективо. Но они имеют дело с ограниченным набором деталей заранее определённой формы, веса и состава. Мы же говорим про потенциально универсального робота без узкой специализации, способного выполнять рутинную работу по манипууляции с предметами разной формы (например, уборка разбросанных детьми игрушек или уборка посуды в посудомоечную машину). То есть робот из романов Азимова, несмотря на
огромное количество разработок, увы, остается фантастикой.
К сожалению, перенять для решения проблемы принципы, используемые человеческим телом, как это было сделано для передвижения на двух ногах (например,
ТУТ) не получается. Во-первых потому, что для человека, кроме визуального анализа, немалую роль играют тактильные ощущения. Конечно, есть разработки и в этом направлении (
Google не обманет), но достичь степени детализированности, на которую способны человеческие пальцы (более 100 рецепторов на 1 квадратный сантиметр кожи) технически пока что невозможно. Во-вторых, для человека, большую роль играет опыт и обучение, начинающееся с базовых навыков (брать предметы) и продолжающееся до старости (писать, печатать на клавиатуре, играть на музыкальных инструментах и т. д.).
Попытки восмимесячного ребенка брать в руку разные предметы
О том, насколько сложно управлять руками, говорит хотя бы то, что участки двигательной коры головного мозга, отвечающие за кисти рук, занимают около трети всей её площади (см. иллюстрацию ниже).
Схема первичных двигательных полей коры головного мозга из "Общей психологии".
В общем, если вы надеялись в ближайшее десятилетие купить (или даже увидеть) универсального робота-помощника, то должен вас разочаровать. Также надеюсь, что вам после прочтения этого текста не грозит судьба сороконожки из анекдота, которая попыталась объяснить принцип, по которому она переставляет ноги и после этого разучилась ходить вообще (но на всякий случай: будьте осторожны, допивая ваш кофе).