Размышляя на тему шагающих механизмов, очевидно, что красивые, математически выверенные алгоритмы синхронного движения приводов без обратной связи будут практически бесполезны на заранее не описанных поверхностях. Другими словами такие танцы
http://www.youtube.com/watch?v=gsCbvl5Bak8
вряд ли можно повторить на неплоской поверхности, если алгоритм робота не способен определять что его нога имеет опору, а не висит в воздухе. Причем, наверное, ещё лучше если есть возможность определить силу реакции опоры, то есть какая часть веса всей конструкции приходится на конкретную ногу. Заходя дальше, предположим, что возможность определять нагрузку на каждый сустав (привод) позволила бы ещё больше увеличить адаптивность к поверхности.
Итак, ставить датчики нагрузки на кончики ног или на каждое активное сочленение конечно можно, но это порождает массу конструктивных и не только сложностей, которые могут быть оправданы в серьезных проектах, но совершенно не подходят для быстрого настольного воспроизведения в условиях городской квартиры. А ведь так вынуждены создавать свои творения большинство робо-любителей.
Вот описание эксперимента, в котором в качестве управляемого привода используется сервомашинка. А в качестве источника обратной связи, характеризующей величину нагрузки на валу выступает напряжение с шунта в цепи питания сервомашинки. В теории если валу вервомашинки ничего не мешает перемещаться, то она потребляет минимальный ток. И напротив, если на вал действует нагрузка, направленная, на то что бы переместить вал из положения, в которое он установлен управляющим сигналом, потребляемый ток будет тем больше, чем больше эта нагрузка.
С помощью контроллера на сервомашинку подавался сигнал изменить положение вала, момент вала через плечё длиной L и вертикальную штангу передавался на платформу электронных весов. Сила упругости конструкции весов уравновешивалась моментом сервомашинки. Таким образом изменяя требуемое положение сервомашинки и измеряя ток через шунт был построен следующий график:
На рисунке 3 стрелка, направленная вверх – увеличение угла поворота сервомашинки, стрелка вниз – уменьшение угла.
Из рисунка 3 видно, что при уменьшении угла поворота, крутизна характеристики в начальный момент больше. Это объясняется наличием сил трения в редукторе, что объясняет гистерезис в данной зависимости.
Измерение напряжения на шунте, которое к стати сказать, является не постоянным, а изменяющимся (момент мотора изменяется за счет ШИМ управления) выполнялось с помощью АЦП микроконтроллера. При этом RC фильтр «выглаживал» сигнал с шунта.
Итак: данный способ не обладает большой точностью, но и не требует использования чего-то дорогого или сложного, а потому вполне может быть использован для решения описанной вначале задачи.
P.S. не притендую на оригинальность.
Если есть соображения, а тем более практические знания прошу поделится.