stranger_live (stranger_live) wrote,
stranger_live
stranger_live

Category:

Автономный управляемый робот-манипулятор и технологии дистанционного присутствия. Часть 2.

- Программное обеспечение:

-- Программы управления поршнями и манипуляторами:
Контролируют визуально и/или гироскопами положение поршней и/или пространственное положение кисти-манипулятора, и в зависимости от этого подают необходимые воздействия на поршни для осуществления текущих действий. Таким образом, управление поршнями адаптивно (как и у человека - с постоянной обратной связью в виде контроля положения в пространстве конечности-кисти). Аналогичным образом можно организовать управление вообще всеми узлами, а не вычислять подачу энергии на каждый узел (двигатель или компрессор) отдельно, чтобы в сумме добиться общего вектора и перемещения.

-- Манипуляции с объектами:
Робот должен изучить и опознать все предметы, с которыми будет воздействовать - выяснить их свойства. Часть распространённых прототипов с описанием свойств может содержаться в базе данных робота, часть отсутствующих ил уточнённых данных можно запросить на серверах в Интернет (в облаке), где база может постоянно пополняться и уточняться благодаря обслуживающему персоналу и опыту роботов. Свойства характеризуют ценность объекта для возможностей его кантования и прикосновения: например, чтобы с хрупкими и ценными объкетами обращаться осторожно с предварительной диагностикой всех узлов, которые будут использованы для выполнения задачи, и последующей повторной проверкой исправности отдельных узлов перед выполнением конкретных манипуляций, или в случае прочности и/или восстанавливаемости объекта - менее бережно и более быстро.
К свойствам объекта так же относятся:
--- Основные:
---- Масса и её распределение по объёму;
---- Прочность и её распределение по объёму;
---- Характеристики силы трения поверхности (скользскости) с поправкой на состояние поверхности (если поверхность, например, влажная, пыльная, мыльная, жирная, обледенелая, горячая или холодная).
---- Стандартные способы захвата объекта и правила манипуляции с ним (возможности наклонять и переворачивать, сотрясать, бросать);
--- Варианты изменения объекта во времени:
---- Простые дискретные состояния объектов: например, состояние посуды и поверхностей: чисто или грязно.
---- Более сложные:
----- Постепенное изменение состояния объекта (например, растения) и необходимость воздействия (ухода, полива) как за тамагочи;
----- Наблюдение за поведением животных: кормление голодных домашних животных и уборка за ними. В случае животных - распознавание голоса, интонации и повадок.

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

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

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

--- Наблюдения за процессами, обучение и адаптация:
Помимо заданных стандартных установок о взаимовлиянии объектов и процессов программа может вести статистику таких процессов, т.е. выполнять наблюдение за процессами, адаптироваться для конкретных условий.

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

При успешном выполнении каких-либо задач и действий накопленные знания могут быть отосланы в облачную базу знаний и использованы другими роботами.
Робот может быть интегрирован в систему “Умный дом”: получать от неё дополнительную информацию о состоянии объектов и выполнять действия, в том числе непосредственно команды системы “Умный дом”. Иными словами, система “Умный дом” может не располагать собственными манипуляторами и прочими эффекторами, а использовать робота для этих целей механического воздействия. Так же робот может получать информацию от домашней техники: как предназначенную для распознавания человеком (например, звуковые и световые сигналы), так предназначенную для автоматизированных систем управления по каналам связи.
Авторы считают и настаивают на том, что данная разработка должна быть открытым проектом всех её составляющих. Проект важен для совершенствования технологий дистанционного присутствия и автоматизации выполнения рутинных бытовых, хозяйственных и офисных работ. Максимально развитые технологии дистанционного присутствия, включая и данный проект робота-манипулятора, позволят людям сократить свои перемещения и физические контакты, экономя массу времени и средств, позволяя находиться и жить на больших расстояниях от рабочих сред. Это разгрузит транспортное сообщение, избавит от пробок, позволит жить вне перенаселённых мегаполисов, позволит развивать сеть малых городов и поселений (см. http://stranger-live.livejournal.com/5113.html ), оптимальные для жизни и развития людей, а не для выполнения различных рабочих процессов, требующих в настоящее время личного присутствия.
Узлы робота можно позаимствовать из других проектов роботов: http://freeio.org/2013/01/the-state-of-free-hardware-for-robotics/ , в первую очередь из проектов“Amigo” (http://www.roboticopenplatform.org/wiki/AMIGO), “Veter” (http://veterobot.com/) и “Bobbi” (http://www.bobbierobotics.nl/). Так же наиболее близкими аналогоми является: разработка робота-дворецкого http://web.mit.edu/newsoffice/2013/household-robot-0327.html (http://www.csail.mit.edu), в которой предложены многие аналогичные принципы "мышления" робота; и уже действующие роботы IRT (http://www.jsk.t.u-tokyo.ac.jp/research/irt/).

Дешевый робот помощник UBR-1 от Unbounded Robotics: http://robotics.com.ua/news/service_robots/2945-cheap_robot_assistant_ubr1_from_unbounded_robotics

Российский робот-телеприсутствия RBOT посещает школу вместо больного мальчика: http://robotics.com.ua/news/service_robots/233-russian_telepresence_robot_rbot_attend_school_instead_of_the_sick_boy
Робот-андроид Майкла Битса: http://youtu.be/FJtjMNL8_dg?t=12m33s

Интересны принципы роботов-манипуляторов, изложенные в диссертации "Методы моделирования и дистанционного управления движением роботов" ( http://www.keldysh.ru/council/1/belousov/ и http://fizmathim.com/metody-modelirovaniya-i-distantsionnogo-upravleniya-dvizheniem-robotov ) и учебном пособии "Информационные системы виртуальной реальности в мехатронике и робототехнике" ( http://www.apmath.spbu.ru/ru/staff/alferov/isvr.pdf )
Для специализированных сред можно применять различные модификации робота-манипулятора.
Дальнейшее развитие технологии видится авторам в направлении развития виртуальных сред и пространств: http://stranger-live.livejournal.com/9194.html
Возможности качественного дистанционного присутствия будут способствовать организации социально-ориентированной среды обитания человека, а не производственно-ориентированной, приводящей к ухудшению жизненного пространства людей, вынуждающей жить в перенаселённых и чрезмерно концентрированных и загрязнённых населённых пунктах, терпя так же и колоссальные транспортные издержки, что в том числе приводит к расходу становящегося дефицитным топлива.
Проект будет важен для ресурсоориентированных экономических систем наподобие проекта “Venus”.

По-моему, одним из сообществ проекта "Венера" должно стать виртуальное. Многие люди разделяют принципы ресурсоориентированной экономки и социального равенства, но привязаны к своей нынешней жизни, к близким и месту жительства. Тем не менее, если создать "Облако", глобальную интернациональную виртуальную рабочую среду с возможностями взаимодействия и общения, средствами управления роботами и дистанционными технологиями вообще - можно наладить выпуск какой-либо продукции или управлять каким-либо процессами, необходимыми для развития проекта, оказывать друг другу какие-либо услуги по возможности на безвозмездной основе. Иными словами, это некий новый уровень фриланса с возможностью физического проникновения в материальные рабочие среды и процессы при помощи роботов-манипуляторов. При этом, большинство простых процессов и работ не потребуют знания иностранных языков, так как типичные процессы можно систематизировать, оснастить универсальными графическими ярлыками и жестами. Инструкции стандартных действий можно перевести на иные языки, при этом переводы инструкций для сохранения актуальности и точности могут быть доступны для редактирования всем пользователям так же, как это реализовано в Wikipedia.
Иными словами, можно создать глобальную виртуальную экономическую среду, виртуальный "город", объединяющий всех желающих независимо от фактического места жительства или местонахождения. Эта среда так же будет частью ресурсооринетированной экономики при помощи технологий дистанционного присутствия.
Вероятно, строительство и обустройство новых поселений рациональнее производить дистанционно роботами-манипуляторами (управлять которыми можно отовсюду где есть выход в Интернет, т.е. не меняя место и образ жизни), и поселяться уже в готовый комплекс.
При этом для создания рабочей среды и виртуального сообщества нет необходимости в использовании каких-либо движков и виртуальных миров. Речь о полностью реальном мире. Виртуальной будет рабочая среда, позволяющая выполнять манипуляции при помощи роботов в реальном мире, а так же позволяющая взаимодействовать пользователям (членам сообщества). Рабочая среда может представлять собой систему управления проектами, наподобие волонтёрской биржи труда, которую я намеревался сделать из системы управления проектами Redmine: https://docs.google.com/document/d/1ivySvh40TO1ytDTaEwgR1IYOes_Z2A6uavMfJOZ1Y9E/edit
Более полное описание применения технологий дистанционного присутствия для проекта Венера: https://docs.google.com/document/d/1Yx6LtsV1afdkdJXGR4_hzNXF4Wcc4Kfsx25OzQkmjYw/edit
-- Обучение:
Робот сможет обучаться у человека, копируя какие-либо действия и таким образом осваивая виды деятельности. В основном обучение будет подразумевать подражание движениям рук человека, так как манипуляторы робота назначение и устройство манипуляторов схоже с руками человека.

-- Постановка задач, расчёт приоритетов задач и последовательности (очереди) выполнения.
Постоянное изучение объектов и процессов рабочей среды и новых объектов, расчёт объёма работ и расчёт приоритетов (последовательности) выполнения. Например, мытьё посуды будет важнее, чем влажная уборка. Если появляется новый объект, задание, процесс - оценка его состояния, необходимости воздействия и в случае необходимости таковой оценка приоритета по сравнению с текущими задачами, постановка в очередь или в случае первоочерёдности (высшего приоритета) - переключение на работу с ним. Либо, наоборот, прекращение действий при появлении иного процесса: например, при появлении человека в рабочей зоне, робот, при выполнении задания с невысоким приоритетом, для того чтобы не мешать человеку может переместиться в другое место чтобы заняться другим делом. Таким образом, будет производиться постоянный перерасчёт приоритетов задач, возможная сверхсрочность (например, в случае ЧП или очень важной срочной задачи, прямого указания или приказа человека). А затем задача ставится в очередь.

Параметры задач можно свести в таблицу:
Основные:
Важность
Срочность
Затраты времени на выполнение
Текущий приоритет
Подзадачи (этапы). По каждому этапу - возможность его прервать и ущерб от безопасного и внезапного прекращение (ради сверхсрочной задачи).
Дополнительные:
Затраты энергии
Длина траектории перемещения
Положительное или отрицательное влияние на другие процессы

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

-- Распознавание команд и взаимодействие с пользователями:
Робот может распознавать голосовые команды подключающегося диспетчера или людей, находящихся в посещении. При этом при интерпретации команд необходимо учитывать интонацию и силу голоса, так как сила голоса означает важность команды. Для распознавания можно использовать облако, но часть повторяющихся команд одного и того же человека робот может хранить локально, распознавать и реагировать на них более оперативно. Новые и плохо распознанные команды робот может повторять для уточнения при их подтверждении выполнять. В дальнейшем голосовые команды одного и того же человека будут распознаваться при сравнении с локально сохранёнными отпечатками и выполняться без подтверждения. Система сможет понимать команды в различных смысловых формах и словосочетаниях: “Стой!”, “Не трогай!”, “Это никогда не трогай”, “Осторожно!, “С этим осторожно!”, “Пойдём!”, “За мной!”, “Смотри”, “Учись” (чтобы показать выполнение какой-либо новой работы или правильно выполнение той, которая выполняется в данный момент), “Принеси {название вещи}”, и перечень команд стандартных действий, а так же специфичных для данного пользователя и среды.
Пользователи будут иметь различную иерархию приоритетов в отношении взаимодействия с роботом. В быту: высший приоритет - у глав семьи, и менее высокий у других членов семьи; на предприятии высший у владельца, руководства, и ниже - у рядовых сотрудников. Если робот занят поручением более приоритетного пользователя, и в это время получает команду менее приоритетного, то продолжает выполняться команда более приоритетного. Если менее приоритетный пользователь настаивает на первоочерёдности своей задачи (например, сопровождая словами “это важно и срочно”, то робот может запросить разрешения или уведомить более приоритетного пользователя. Если робот занят поручением менее приоритетного пользователя и получает поручение более приоритетного, то в случае срочности и важности задания менее приоритетного робот может уведомить более приоритетного пользователя о том, что выполняет важное задание и спросить настаивает ли более приоритетный пользователь на выполнении своего задания в ущерб срочного и важного задания менее приоритетного пользователя.
Возможно, робот выполняет не чьё-то поручение, а просто какую-либо задачу определённого уровня значимости или имеющую характер неразрывности (которую нельзя прерывать до полного завершения выполнения или завершения какого-либо этапа). В этом случае робот может посчитать выполнение этой задачи или её этапа важнее той, которую задаёт пользователь. Тогда робот предупреждает об этом пользователя, важности выполняемой задачи, сложности её прерывания и последствий прерывания, уведомляет сколько времени необходимо подождать до конца выполнения. Если пользователь несмотря на последствия настаивает на выполнении своей задачи - робот подчиняется и переключается на задание пользователя.
Следует понимать, что система управления робота воспринимает пользователей как некие внешние процессы, обладающие своими характерными особенностями и приоритетами. Исходя из этого понимания проще разрабатывать алгоритмы взаимодействия роботов и людей.


-- Архитектура операционных систем:
Управление роботом подразделяется на несколько фактически независимых между собой систем, управляемых общей главной управляющей системой постановки задач. Системы можно выстроить в иерархию. Поэтому, в целях повышения стабильности и безопасности работы рационально использовать необходимое число независимых операционных систем, внутри каждой из которых, как внутри контейнера, функционирует какая-либо система, обеспечивающая какой-либо вид функций робота. В целях экономии вычислительных ресурсов и использования нескольких процессоров одновременно операционные системы можно виртуализировать, например, на KVM. Возможно с целью повышения надёжности наиболее ответственных систем (например, управляющей движениями) их необходимо изолировать от остальных и выполнить на отдельных вычислительных мощностях, либо создать резервную дублирующую систему, срабатывающую в экстренных случаях, обеспечивающую базовые функции и обладающую более высоким приоритетом по отношению к основной рабочей системе, чтобы в случае сбоев управление соответствующими функциями (движениями) переключилось на резервную.
Можно выделить следующие системы: управление движениями, обработка данных органов восприятия, положение в пространстве, карта окружающей среды и данные по окружающим объектам и процессам и вообще по всем необходимым известным объектам, система безопасности и разграничения прав доступа, управление питанием. Всеми системами будет управлять система постановки задач. Часть систем может взаимодействовать непосредственно между собой: например, положение в пространстве и карта окружающей среды, а так же управление движениями - это обусловлено тем, что в иерархии систем система положения в пространстве находится выше системы управления движениями, а так же по аналогии с устройством нервной системы человека для создания аналога системы безусловных рефлексов, позволяющей реагировать на опасные явления непосредственно без участия и в обход главной управляющей системы (у человека это центральная нервная система). Тем не менее, так же по аналогии с человеком можно предусмотреть механизм “силы воли”, когда заблаговременно центральная нервная система присваивает наивысший приоритет какой-либо чрезвычайно важной задаче, и приказывает подсистемам игнорировать многие опасные явления, грозящие вредом или высоким риском вреда для организма.
Tags: дистанционое присутствие, робот, робот-манипулятор
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments