Движемся дальше
Итак, первый вариант робота предварительно исследован и описан здесь (блоги я писать еще не очень умею, поэтому статья будет постоянно дополнятся). Движемся дальше.
В статье о первом роботе обосновано получение качественной обратной связи в действиях робота. И в этом случае обратная связь рассматривалась как условие сохранения равновесия робота. Это безусловно важно для робота такого типа. Однако, по большому счету, я не являюсь сторонником человекоподобных или антропоморфных роботов (на эту тему в интернете идут многочисленные дискуссии, кого и как можно или следует называть. Мне они кажутся странными, хотя и я не отрицаю того факта, что важно называть вещи своими именами, но в данном случае, мне кажется это простым словоблудием людей, которые могут только обсуждать при этом ничего не делая). Мне в большей степени импонирует идеология BEAM роботов, которые говорят о том, что робот не должен быть похож на человека. И для выполнения определенных функций он должен быть таким, что бы выполнять эти функции наилучшим образом. Спорить с этим глупо. Если бы человечество для быстрого передвижения строило бы не автомашины, а устройства подобные человеку, еще очень долго мы не смогли бы перемещаться со скоростью автомобилей. Поэтому, в моих исследованиях антропоморфность не является решающей. Кроме того, человек, точность подавляющего большинства своих действий контролирует при помощи зрения. Роботы, конечно тоже могут это делать, благодаря компьютерному зрению, но его возможности на этом этапе развития весьма невелики.
Итак, возникла идея — если мы сможем определят координаты определенного объекта, с определенной точностью — 1-3 мм в пределах скажем 3 метров это позволит нам решить целый класс задач, в том числе и равновесие робота. Предположим, что мы обладаем датчиками, которые могут измерять расстояние до других датчиков в пределах 3 метров с точностью несколько миллиметров, в идеале независимо от предметов на пути измерения, в нашем случае ограничимся измерением расстояний в пределах прямой видимости. Имея два таких датчика, мы можем получить координаты третьего на плоскости. Имея три — уже пространственные координаты четвертого. Ну, а большее количество датчиков добавит возможностей в измерения. В этом случае, разместив пару датчиков на полу, а один, скажем, на стене, мы получим возможность получать точные координаты датчиков расположенных на роботе и сможем контролировать расположения его контрольных точек, что позволит нам создать обратную связь. Чем больше датчиков на роботе, тем больше информации о положении его элементов. Причем, не только взаимном, а о пространственном. Вот примерная схема:
Почему нельзя контролировать положения робота более простым способом, скажем поставив датчики на сервоприводах (кстати, насколько мне известно, некоторые модели сервоприводов позволяют это делать)? Мне кажется это очевидным. Контроль такого типа даст только взаимное расположение контролируемых объектов с заданной точностью и не сможет учесть погрешность изготовления деталей, люфты в соединении деталей, изгиб деталей под нагрузкой и т.д. То есть измеряя положение сервоприводов, мы лишь с определенной точностью можем сказать что наш контролируемый элемент находится в точке с нужными координатами, реально он может находится в другом месте. Чем больше сервоприводов на пути до объекта контроля, тем ниже точность. Измеряя же положение нужного нам элемента, мы можем динамически вносить коррективы в положения сервоприводов, выводя элемент в нужное нам положение. То, есть, это аналог человеческого глаза, выполняющего контроль за положением объекта управления, в некоторых случаях более точный.
Пока это только идея. Как реализовать на практике, представляется смутно. Предположительно датчик должен посылать сигнал в пространство, по возможности одновременно во всех направлениях. Остальные датчики, должны получать этот сигнал. По времени прохождения сигнала можно судить о расстоянии. Небольшое описание характеристик датчиков различного типа можно посмотреть здесь. Казалось бы по характеристикам можно использовать ультразвуковые датчики, но боюсь будет много помех из за отражения звуковых волн от различных поверхностей, прежде всего пола, стола. Что то типа лазерного дальномера тоже не годится, так как необходимо излучать сигнал во всех направлениях. Индуктивные, радарные и триангуляционные тоже не годятся. Попытки покопать в сторону радиодальномеров привели к выводу, что получить нужную точность не получится. Как простой вариант можно натянуть между датчиками тонкие нити, делать постоянное натяжение и устанавливать энкодеры для определения длины нити. Одним словом, есть над чем подумать.