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

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

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

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

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


А вопрос для обсуждения я сформулирую очень просто - "Как стоит человек?"
И в развитие этого вопроса будет "Что нужно, чтобы заставить робота стоять, как человек?"

Чтобы подтолкнуть обсуждение приведу некоторые факты и мысли:

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

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

Что нужно сделать, чтобы робот
(для простоты пусть это будет одноногая конструкция с одним коленом с двумя степенями свободы) мог стоять КАК_ЧЕЛОВЕК - при любом положении сустава, неизвестных навешанных грузах, неизвестной поверхности и т.п? Ммм?

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

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

Сообщение =DeaD= » 16 июл 2010, 18:18

Крайне некорректно поставленный вопрос по 2 причинам:
1. Что конкретно такое КАК ЧЕЛОВЕК? Вот есть робот - ты считаешь, что он стоит как человек, а я нет, драка?
2. Зачем это? Вот никто же не строит самолеты, летающие строго "как птица"?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

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

Я понимаю, что формулировка не может быть строгой, я попробую конкретизировать...

Робот стоит "как человек", если:
1. Он не знает заранее точно свои размеры, массы, моменты инерции (то есть можно обуть в ботинки или наоборот снять каблуки, прицепить неизвестное "навесное оборудование", возможно даже в каких-то пределах меняющее свои характеристики - например складывающуюся "руку" с дрелью).
2. Датчики не выдают "точные абсолютные значения", актуаторы не работают "точно"...
3. Поведение поверхности пола заранее неизвестно (рельеф, жесткость, подвижность могут меняться в каких-то разумных пределах)
4. Стоять можно при различных положениях сустава (суставов), датчиков и т.п.

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

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

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

Понимаю что хочет автор. Мой ответ - "чтобы как человек" не сделать ни тебе ни другому, может быть Boston Dynamics доведет это дело до конца. Даже для колесного робота с пушкой требуются очень большие вычисления и нехилые системы дифференциальных уравнений. Это только на первый взгляд кажется что просто, но это только с кинематической точки зрения, но никак не с динамической.

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

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

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

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

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

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

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

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

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

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

Сергей, очень хорошо, что у вас есть опыт.
Расскажите, пожалуйста (если это не военная тайна, конечно),
1. какие параметры "манипулятора" включались в вашу "систему уравнений"?
2. Какими "датчиками" был оснащен манипулятор (или модель манипулятора)
3. Какова была устойчивость "системы уравнений" или "системы управления"
к возмущениям (например неточности оценки параметров, погрешности датчиков и т.п.)

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

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

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

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

Добавлено спустя 1 минуту 37 секунд:
ЗЫ: отфоткана только самая первая версия решения, в ней есть в конце ошибка, но там только несколько меняется вид окончательного уравнения.
Вложения
Task.7z
(11.25 МиБ) Скачиваний: 0
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

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

Сообщение =DeaD= » 16 июл 2010, 19:48

Сергей писал(а):Если в клетках мухи не решаются диффуры - это не означает что для решения наших задач они не должны применяться.

Решать через дифуры - это решение "в лоб". К тому же тут скорее надо вести речь не о дифурах, а о дифференциальных играх как у ракет С-300 :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

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

Я говорил только о том, что не все так просто как кажется. Решение в лоб - да.

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

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

Сообщение =DeaD= » 16 июл 2010, 19:52

Конечно не всё так просто, но дифуры это когда нет неожиданных воздействий. А тут надо дифференциальные игры - ветерок подует, пендель дадут - надо при любой ситуации пытаться устоять и искать часто не оптимальный маршрут, а достаточно устойчивый к внешним воздействиям :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

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

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

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

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

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

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

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

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

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

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

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

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

Я просто привел очевидные примеры... я понимаю, что "не все так просто" ;)

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

След.

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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 38