roboforum.ru

Технический форум по робототехнике.

Как стоит человек?

Обсуждаем рождающиеся мысли и результаты экспериментов.

Re: Как стоит человек?

Сообщение Сергей » 17 июл 2010, 15:58

Почитайте про balancing robots со 123 страницы Embedded Robotics. (Акселерометр нужен для того, чтобы получить инклинометр если нет такового)
Вложения
Embedded robotics [Springer 2006].pdf
(5.12 МиБ) Скачиваний: 0
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Как стоит человек?

Сообщение Michael_K » 17 июл 2010, 16:16

Книжка полезная... читал когда-то...

Просто вы пишете:
Сергей писал(а):Если говорить про балансер, то для его реализации нужен гироскоп, акселерометр, инклинометр и энкодеры на колеса
, а теперь вдруг
Сергей писал(а):Акселерометр нужен для того, чтобы получить инклинометр если нет такового

В первом предложении ИЛИ что-ли между словами подразумеваются...

Но дело-то не в этом. Не будем придираться к словам.

Очевидно, что стоя с кирпичом в руке или на косогоре, робот ДОЛЖЕН отклониться от вертикали.
Таким образом сам по себе абсолютный УГОЛ наклона тела по отношению к силе притяжения,
казалось бы, ничего не дает - мы не знаем каким он должен быть.

Тем более глупо его интегрировать (интегрируется в пид регуляторе в приведенном примере).
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Как стоит человек?

Сообщение Сергей » 17 июл 2010, 16:27

Если будут стоять акселерометры - то можно почуять вектор ускорения/скорости во время падения с кирпичом.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Как стоит человек?

Сообщение Michael_K » 17 июл 2010, 17:27

Возможно и так (смотря где они будут находиться и к чему крепиться), но не лучше ли гироскоп тогда...

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

Непонятно, что нужно, зачем, что лучше, почему и т.п. - только какие-то реплики неаргументированные.
То что делают по-разному и "чем больше датчиков тем лучше" :) понятно,
но хотелось бы чего-то менее... эмм... голословного...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Как стоит человек?

Сообщение Сергей » 17 июл 2010, 17:46

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

Добавлено спустя 47 секунд:
ЗЫ: в Matlab-Simulink, к примеру.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Как стоит человек?

Сообщение boez » 19 июл 2010, 18:13

Сорри, если написал сильно много неконструктивных мыслей про человека, но тема все же началась именно с вопроса: как стоит человек? И вот при такой формулировке вопроса, ИМХО, в балансировке человека основную роль играет мозг. То есть нейросеть, частично уже настроенная эволюцией - закодированная в геноме, а по большей части - настраиваемая по ходу. И эта сеть может справиться с кучей разнообразных неустойчивых поз - ходьба, бег, езда на велике, на роликах, на скейте - в каждой ситуации система "датчики-нейросеть-мышцы" создает нелинейную ООС, превращающую неустойчивую систему в устойчивую. Датчики могут использоваться не все, мышцы тоже, при этом система сохранит работоспособность. То есть "хороший контроллер может справиться с плохими датчиками и исполнительными механизмами".

Так, вот, чтоб это не было голым описанием очевидных вещей - замечу, что подобную систему можно построить и в роботе. Когда я года 3 назад смотрел на тогдашнюю версию MSRS, там в примерах была гусеница, которую генетическим алгоритмом учили ползать - брали пачку этих гусениц, поначалу двигавшихся тупо беспорядочно и меряли расстояние, пройденное вперед за какое-то время. И выбирали потомство, максимизируя это расстояние. И вроде как что-то получалось, но глубоко копать было некогда.

Что касается "одномерного" балансера на колесах - самому интересно, какое минимальное число датчиков ему нужно. Если интуиция меня не подводит - энкодера и одноосного акселерометра (горизонтальная составляющая) должно хватать. Конкретно, для решения задачи перевернутого маятника (а это она) используют, к примеру, контроллер скользящего режима (sliding mode controller). К сожалению, я про него читал достаточно давно и вообще в связи с другой задачей, но как раз задача с маятником рассматривалась как модельная.

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

У меня в мусорке файлов валяются интересные статейки от японцев, которые строили ходячего робота. Щас такое впечатление, что я не все сохранил на диск - или сходу не вижу основной их идеи за описаниями. В общем, у них была идея - представить сложное движение ног как сумму нескольких движений и для каждого слагаемого использовать отдельный контроллер, реализуемый нейросетью специального вида (да, они придумали для себя специального вида нейросети и язык для их описания). Ну все равно приаттачу, может кому интересно будет. Было б время - сам бы занялся подобными исследованиями, начиная хотя бы с колесного балансира.
Вложения
hoap.zip
(643.14 КиБ) Скачиваний: 0
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Как стоит человек?

Сообщение Michael_K » 19 июл 2010, 19:07

Вот как раз модель меня смущает именно тем, что модель нужно параметризировать.
"человеческие" алгоритмы, видимо, не столь зависят от модели...
Как вы правильно заметили, человек удерживается и на одной ноге, и на коленках, и на роликах и т.п. Поэтому мне и не хочется решать конкретную задачу по удержанию конкретной модели.

Маятник лично я уже делал, и на простом ПИД-е, и на "нечеткой логике"...
Ну да, он стоит,... НО это же совсем не то! :wink:

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

Именно поэтому, мне не хочется строить тупо "мат-модель одномерного балансера"...
Ежу понятно, что я ее заставлю стоять - смысл-то вопроса не в этом.

Добавлено спустя 4 минуты 51 секунду:
Понимаю, что сформулировано неясно... но все же, думаю, что кто хотел понять, что я имею в виду, тот понял, ну а флудеры путь идут лесом...

Добавлено спустя 1 минуту 48 секунд:
Наблюдал, кстати, вчера стайку сигвеев в парке - забавная штучка.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Как стоит человек?

Сообщение Duhas » 19 июл 2010, 19:32

вот по мне так самое сложно для всяких хитрых аля-человек систем, объяснить им что хорошо что нет )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Как стоит человек?

Сообщение Michael_K » 19 июл 2010, 19:42

вот тут где-то Dead сделал датчик удара... для танка, кажется.
Упал-ударился-плохо... :)

Но вообще, сформулировать что такое "стоять" наверное можно -
динамически поддерживать баланс в точке неустойчивого равновесия.
Как-то так наверное.

Добавлено спустя 4 минуты 5 секунд:
Опять же мне не хотелось бы выходить на скользкую тему ИИ, ЕИ или "как работает мозг".
Совершенно необязательно система должна учиться "с нуля" и уж тем более сама рожать задачи и алгоритмы.

Речь скорее идет о вещах типа параметризации модели на лету, адаптации к возмущениям, погрешностям, нелинейщине и т.п.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Как стоит человек?

Сообщение Сергей » 19 июл 2010, 19:59

Вы хотите всё и сразу. То есть, насколько я понял, пытаемся из ничего сделать такую адаптивную систему, по которой защищают докторские диссертации? Тогда что хотите то?
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Как стоит человек?

Сообщение Michael_K » 19 июл 2010, 20:34

Во-первых, где это я говорил про "все и сразу"?
Я просто поясняю, куда хотелось бы целиться.
Задача просто стабилизации параметризованного балансера
с детерминированными датчиками сама по себе не очень интересна.
Во-вторых, опыт кой-какой все-таки имеется... :wink:

Ну а уж про "докторские диссертации" вообще посыл смешной...
Я лично знаю людей, которые не имея степени, делают работы достойные десятка диссертаций,
знаю также и людей, которые коллекционируют звания, должности, патенты
и при этом представляют из себя "пшик" на ровном месте.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Как стоит человек?

Сообщение Alex Gritsenko » 19 июл 2010, 20:42

Вот очень хорошая книжечка:
Двуногая ходьба - belecki.djvu
(7.93 МиБ) Скачиваний: 281


Думаю, ты там найдешь больше, чем смог бы получить тут =)
Аватара пользователя
Alex Gritsenko
 
Сообщения: 150
Зарегистрирован: 12 июл 2005, 16:10
Откуда: Харьков
прог. языки: Lua, C, JS

Re: Как стоит человек?

Сообщение Сергей » 19 июл 2010, 21:06

Michael_K писал(а):Во-первых, где это я говорил про "все и сразу"?

Ну дык я говорю - попробуй сделать модель балансера, узнаешь какие необходимы датчики для твоих задач. Я так понял здесь обсуждается что-то более высокого порядка чем модель, посему тема превратится во флуд\холивар.
Michael_K писал(а):Ну а уж про "докторские диссертации" вообще посыл смешной...

Глупо так говорить. Такого рода системы разрабатываются коллективами, математическая база собирается из научных работ и дополняется по ходу исследований. А тут ребята на форуме собрались, сбацают на бумажке такую систему, ???, профит
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Как стоит человек?

Сообщение Michael_K » 20 июл 2010, 00:04

Сергей писал(а):попробуй сделать модель балансера, узнаешь какие необходимы датчики для твоих задач

Сергей, поясните пожалуйста, каким образом модель балансера покажет, какие необходимы датчики?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Как стоит человек?

Сообщение Сергей » 20 июл 2010, 00:19

Был вопрос - какие нужны датчики. Начали все гадать и говорить что приходит в голову, но обоснованных ответов нет. Поэтому я сказал, что для лучшего понимания процессов и требований к задаче, необходимо более тщательно изучить проблему и накидать модель отвечающую интересам.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35