ПрограммированиеФорумФизика

ODE и прямая задача кинематики

#0
14:16, 16 янв 2006

В ODE для явно не хватает функций типа:

dJointSetHingeAngle

Вопрос 1:
Как реализовать такую функцию минимально влезая в сам ODE, и избегая при этом внешнего перевычисления всей структуры системы.

Вопрос 2:
Может быть кто-нибудь это уже сделал?

в предположении что кинематическая цепь не содержит циклов

Вопрос 3:
Есть ли какие-нибудь библиотеки подобные ODE в исходниках и с FK?

Вопрос 4:
Есть ли какие-нибудь библиотеки подобные ODE реализующие методы более высоких порядков?

Спасибо

#1
21:08, 16 янв 2006

такая чтука принципиально очень проблематична
так как изменение угла тянет за собой все остальные обекты joint'a
а ето геморно :)

тебе ето вообще зачем ?

#2
13:15, 17 янв 2006

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

#3
15:11, 17 янв 2006

Angle Motor + угловые  ограничители

#4
15:43, 17 янв 2006

просто установить уголовые ограничители,
реализовывал для машинки, колесики первые поворачивались у меня так

что-то вроде

dSetHingeJointParam( Joint, dParamLo, a - 0.001f );
dSetHingeJointParam( Joint, dParamHi, a );

где, a -  есть угол на который надо повернуть

P.S. Прошу прощения за неправильные названия функций и параметров ( они примерно так называются, но точно не помню, не дома щас, а на работе)

#5
21:55, 17 янв 2006

.::jimon::.
Надо смоделировать систему с достаточно длинной кин.цепью, и проверять на ней всякие виды управления.
и соответственно надо выставлять начальную конфигурацию. Но пересчитывать каждый раз координаты вручную не охота...

Ronin
но наверное тогда придется фиксить все остальные связки?

ShurikPar
попробую, а в переходном процессе колбасить не будет?
в смысле как быстро она перескочит?

#6
22:00, 17 янв 2006

переход мнгновенный... главное из a вычесть маааленькое такое значение,
но, кстати, у меня это все дело менялось не мнгновенно, поворот колеса все таки не мнгновенное дело,
должно работать

#7
9:27, 18 янв 2006

Nightmare666

Не придётся, это тоже самое, о чём говорит ShurikPar

просто можно дать ограничители, а можно смотреть текущий угол джоинта и подкручивать мотором

#8
0:29, 19 янв 2006

ShurikPar,Ronin
похоже что при переходе, связка бьёт систему и её начинает колбасить :(
мне бы её подкрутить чисто кинематически (кручу одно соединение, а на остальное оно не влияет)

похоже прижется кинематику писать самому...

#9
10:04, 19 янв 2006

Nightmare666
Крути мотром

ПрограммированиеФорумФизика

Тема в архиве.