roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 13:36

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу 1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 18:06 
Не в сети
Аватара пользователя

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


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

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

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

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

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

З.Ы.
Я не сторонник "станочных" техник... Считаю, что это принципиально неверный подход.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 18:18 
Не в сети
Аватара пользователя

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

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 18:36 
Не в сети
Аватара пользователя

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

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

Зачем это? Странный вопрос. Низачем, конечно. :) А зачем сигвей, например? или бигдог?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 18:42 
Не в сети

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

Добавлено спустя 1 минуту 8 секунд:
Также утверждаю что дальнейшее обсуждение будет бессмысленным и превратится либо в спор, либо в очередной трёп.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 18:59 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 19:17 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 19:31 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 19:47 
Не в сети

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

Добавлено спустя 1 минуту 37 секунд:
ЗЫ: отфоткана только самая первая версия решения, в ней есть в конце ошибка, но там только несколько меняется вид окончательного уравнения.


Вложения:
Task.7z [11.25 МиБ]
Скачиваний: 0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 19:48 
Не в сети
Аватара пользователя

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

Решать через дифуры - это решение "в лоб". К тому же тут скорее надо вести речь не о дифурах, а о дифференциальных играх как у ракет С-300 :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 19:50 
Не в сети

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

Добавлено спустя 56 секунд:
Хотя чтобы получить дифференциальное решение в лоб - не помогут другие решения в лоб. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 19:52 
Не в сети
Аватара пользователя

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

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 19:54 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 20:10 
Не в сети
Аватара пользователя

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

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

Dead опередил :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 20:13 
Не в сети

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как стоит человек?
СообщениеДобавлено: 16 июл 2010, 20:22 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Я просто привел очевидные примеры... я понимаю, что "не все так просто" ;)

Однако, если вернуться к "биологическим аналогам", то можно _предположить_,
что их "алгоритмы" не базируются на "точных измерениях параметров" или
детерминированном "станочном" управлении. Хотя и сложность самих "алгоритмов" тоже несомненна.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу 1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO