[osg-users] osgAnimation Help

21 views
Skip to first unread message

Ugras Erdogan

unread,
Mar 28, 2009, 8:20:44 AM3/28/09
to osg-...@lists.openscenegraph.org
Dear all,
      I've been trying to perform a skeletal based animation for a mesh model and rather new to osgAnimation nodekit.
1) Is it possible with osgAnimation toolkit? Or should I refer to osgCal wrapper?
2) Should I prepare the bone hierarchy and attach it to the mesh model in a software (skinning) such as 3DS max and then import in osg or all these can be readily done in osg?
3) If the above procedures can readily be done via osgAnimation, what is the deformation rule for the models ie. how do the inverse kinematics are calculated? And for the deformations while animation is it just enough to control the bone positions?
4) Is there any good tutorial on the subject besides the bundled osg codes for a new starter in osgAnimation nodekit
I'll be very pleased if you reply...
Best regards
Ugras Erdogan

Alberto Luaces

unread,
Mar 28, 2009, 10:31:23 AM3/28/09
to OpenSceneGraph Users
Hello Ugras,

El Sábado 28 Marzo 2009ES 13:20:44 Ugras Erdogan escribió:
> Dear all,
> I've been trying to perform a skeletal based animation for a mesh
> model and rather new to osgAnimation nodekit.
> 1) Is it possible with
> osgAnimation toolkit? Or should I refer to osgCal wrapper?

Yes, you can do it with osgAnimation.

> 2) Should I
> prepare the bone hierarchy and attach it to the mesh model in a software
> (skinning) such as 3DS max and then import in osg or all these can be
> readily done in osg?

You can do it in both ways.

> 3) If the above procedures can readily be done via
> osgAnimation, what is the deformation rule for the models ie. how do the
> inverse kinematics are calculated? And for the deformations while animation
> is it just enough to control the bone positions?

I think IK is not implemented yet. Cedric Pinson can tell you more about this.
As for the deformations, they are calculated with the weights of the mesh plus
the bone transformations.

> 4) Is there any good
> tutorial on the subject besides the bundled osg codes for a new starter in
> osgAnimation nodekit I'll be very pleased if you reply...

I'm afraid this is the only documentation available, in addition to the
doxygen guides. However I must say that the osgAnimation examples are very
instructive.

Regards,

Alberto

_______________________________________________
osg-users mailing list
osg-...@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Ugras Erdogan

unread,
Mar 28, 2009, 10:57:24 AM3/28/09
to OpenSceneGraph Users
Thanks for your replies Alberto, I'll take a look at the bundled examples and contact with Cedric Pinson for the IK issue...
Regards,
Ugras


From: Alberto Luaces <alu...@udc.es>
To: OpenSceneGraph Users <osg-...@lists.openscenegraph.org>
Sent: Saturday, March 28, 2009 4:31:23 PM
Subject: Re: [osg-users] osgAnimation Help

Cedric Pinson

unread,
Mar 28, 2009, 9:02:34 PM3/28/09
to OpenSceneGraph Users
Hi Ugras,
There is no IK a the moment, for all others points Alberto tells
everything i would say.
If you want to add IK to osgAnimation i will be happy to discuss about
it with you.

Cheers,
Cedric

Ugras Erdogan wrote:
> Thanks for your replies Alberto, I'll take a look at the bundled examples and contact with Cedric Pinson for the IK issue...
> Regards,
> Ugras
>
>
>
>
> ________________________________
> From: Alberto Luaces <alu...@udc.es>
> To: OpenSceneGraph Users <osg-...@lists.openscenegraph.org>
> Sent: Saturday, March 28, 2009 4:31:23 PM
> Subject: Re: [osg-users] osgAnimation Help
>
> Hello Ugras,
>
> El Sábado 28 Marzo 2009ES 13:20:44 Ugras Erdogan escribió:
>
>> Dear all,
>> I've been trying to perform a skeletal based animation for a mesh
>> model and rather new to osgAnimation nodekit.
>> 1) Is it possible with
>> osgAnimation toolkit? Or should I refer to osgCal wrapper?
>>
>
> Yes, you can do it with osgAnimation.
>
>
>> 2) Should I
>> prepare the bone hierarchy and attach it to the mesh model in a software
>> (skinning) such as 3DS max and then import in osg or all these can be
>> readily done in osg?
>>
>

> You can do it in both ways..

>
>
>> 3) If the above procedures can readily be done via
>> osgAnimation, what is the deformation rule for the models ie. how do the
>> inverse kinematics are calculated? And for the deformations while animation
>> is it just enough to control the bone positions?
>>
>
> I think IK is not implemented yet. Cedric Pinson can tell you more about this.
> As for the deformations, they are calculated with the weights of the mesh plus
> the bone transformations.
>
>
>> 4) Is there any good
>> tutorial on the subject besides the bundled osg codes for a new starter in
>> osgAnimation nodekit I'll be very pleased if you reply...
>>
>
> I'm afraid this is the only documentation available, in addition to the
> doxygen guides. However I must say that the osgAnimation examples are very
> instructive.
>
> Regards,
>
> Alberto
>
> _______________________________________________
> osg-users mailing list
> osg-...@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
>
>
>

> ------------------------------------------------------------------------


>
> _______________________________________________
> osg-users mailing list
> osg-...@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>

--
+33 (0) 6 63 20 03 56 Cedric Pinson mailto:morn...@plopbyte.net http://www.plopbyte.net

Ugras Erdogan

unread,
Mar 29, 2009, 10:28:02 AM3/29/09
to OpenSceneGraph Users
Hi Cedric,
      At the moment I'm in need of a IK solver for my project. Simply I know the initial position of my mechanical manipulator and final position of it, and I want to know what should the angles of joints be in order to achieve the movement to the final position with minimum error. Final position of the mechanic manipulator may be time dependent (this is important) and for the moment let's assume that the initial position is time invariant. As I am very new to osgAnimation kit (not to osg), I'm currently studying the example codes. And I couldn't have noticed any IK solver to achieve the task (as you mentioned) yet. Referring to IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. I , NO. 4, AUGUST 1991, Li-Chun Tommy Wang and Chih Cheng Chen  and other papers, the optimization algorithm named as Cyclic Coordinate Descent seems suitable for the task at hand. It is an iterative optimization technique that calculates the angles of the joints of the mechanical part to achieve the movement towards the final position with minimum final error.
      I want to know your opinion (and all other's opinions) on the subject whether I'm on the right path or I'm missing something else...
Best regards,
Ugras


From: Cedric Pinson <morn...@plopbyte.net>
To: OpenSceneGraph Users <osg-...@lists.openscenegraph.org>
Sent: Sunday, March 29, 2009 4:02:34 AM

Janusz

unread,
Mar 29, 2009, 12:07:20 PM3/29/09
to OpenSceneGraph Users
Ugras: CCD is one of the method to be used. Quite fast and does not require complex math. Another method you could use is the Selectively Damped Least Square method for Inverse Kinematics (by S. Buss), pseudo-inverse jacobian, etc. This one I think if you google a little bit for this one you may come across a source code by the author.

If you are after fast math and human limb IK, there is the IKAN solver from the univ. of Pensylvannia.

The SDLS paper:

http://akpeters.metapress.com/index/K301108177Q2170V.pdf

---
Janusz Goldasz



Ugras Erdogan pisze:
Hi Cedric,
      At the moment I'm in need of a IK solver for my project. Simply I know the initial position of my mechanical manipulator and final position of it, and I want to know what should the angles of joints be in order to achieve the movement to the final position with minimum error. Final position of the mechanic manipulator may be time dependent (this is important) and for the moment let's assume that the initial position is time invariant. As I am very new to osgAnimation kit (not to osg), I'm currently studying the example codes. And I couldn't have noticed any IK solver to achieve the task (as you mentioned) yet. Referring to IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. I , NO. 4, AUGUST 1991, Li-Chun Tommy Wang and Chih Cheng Chen  and other papers, the optimization algorithm named as Cyclic Coordinate Descent seems suitable for the task at hand. It is an iterative optimization technique that calculates the angles of the joints of the mechanical part to achieve the movement towards the final position with minimum final error.
      I want to know your opinion (and all other's opinions) on the subject whether I'm on the right path or I'm missing something else...
Best regards,
Ugras

Cedric Pinson

unread,
Mar 30, 2009, 6:44:13 AM3/30/09
to OpenSceneGraph Users
Hi,
I have not implemented IK yet, but the CCD would be the first i would
try, it's one of the easiest to do, I read some articles from chris
hecker, he has a lot of experience in IK solver in video game and wrote
some slides with pro and cons. I guess you can find those slides
browsing his website.
http://chrishecker.com/Homepage

About implementation, i would try to write IkSolverUpdateCallback for
Bone, because there is no specific data inside Bone to keep them
'generic', the idea is a IKSolverUpdateCallback is like the current Bone
updatecallback, it set the value of Bone. I guess we would need a
special Visitor that work on it too.

I will try something like that.

Cheers,
Cedric


Janusz wrote:
> Ugras: CCD is one of the method to be used. Quite fast and does not
> require complex math. Another method you could use is the Selectively
> Damped Least Square method for Inverse Kinematics (by S. Buss),
> pseudo-inverse jacobian, etc. This one I think if you google a little
> bit for this one you may come across a source code by the author.
>
> If you are after fast math and human limb IK, there is the IKAN solver
> from the univ. of Pensylvannia.
>
> The SDLS paper:
>
>

> /http://akpeters.metapress.com/index/K301108177Q2170V.pdf///


>
> ---
> Janusz Goldasz
>
>
>
> Ugras Erdogan pisze:
>> Hi Cedric,
>> At the moment I'm in need of a IK solver for my project. Simply
>> I know the initial position of my mechanical manipulator and final
>> position of it, and I want to know what should the angles of joints
>> be in order to achieve the movement to the final position with
>> minimum error. Final position of the mechanic manipulator may be time
>> dependent (this is important) and for the moment let's assume that
>> the initial position is time invariant. As I am very new to
>> osgAnimation kit (not to osg), I'm currently studying the example
>> codes. And I couldn't have noticed any IK solver to achieve the task
>> (as you mentioned) yet. Referring to IEEE TRANSACTIONS ON ROBOTICS

>> AND AUTOMATION, VOL. / I , / NO. 4, AUGUST 1991, Li-Chun Tommy Wang

>> and Chih Cheng Chen and other papers, the optimization algorithm
>> named as Cyclic Coordinate Descent seems suitable for the task at
>> hand. It is an iterative optimization technique that calculates the
>> angles of the joints of the mechanical part to achieve the movement
>> towards the final position with minimum final error.
>> I want to know your opinion (and all other's opinions) on the
>> subject whether I'm on the right path or I'm missing something else...
>> Best regards,
>> Ugras
>>

>> *From:* Cedric Pinson <morn...@plopbyte.net>
>> *To:* OpenSceneGraph Users <osg-...@lists.openscenegraph.org>
>> *Sent:* Sunday, March 29, 2009 4:02:34 AM
>> *Subject:* Re: [osg-users] osgAnimation Help


>>
>> Hi Ugras,
>> There is no IK a the moment, for all others points Alberto tells
>> everything i would say.
>> If you want to add IK to osgAnimation i will be happy to discuss
>> about it with you.
>>
>> Cheers,
>> Cedric
>>
>> Ugras Erdogan wrote:
>> > Thanks for your replies Alberto, I'll take a look at the bundled
>> examples and contact with Cedric Pinson for the IK issue...
>> > Regards,
>> > Ugras
>> >
>> >
>> >
>> >
>> > ________________________________

>> > From: Alberto Luaces <alu...@udc.es <mailto:aluaces@udc..es>>
>> > To: OpenSceneGraph Users <osg-...@lists.openscenegraph.org
>> <mailto:osg-...@lists.openscenegraph.org>>

>> <mailto:osg-...@lists.openscenegraph.org>


>> >
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>> >
>> >
>> >
>> >
>> ------------------------------------------------------------------------
>> >
>> > _______________________________________________
>> > osg-users mailing list
>> > osg-...@lists.openscenegraph.org

>> <mailto:osg-...@lists.openscenegraph.org>


>> >
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>> >
>> -- +33 (0) 6 63 20 03 56 Cedric Pinson mailto:morn...@plopbyte.net
>> <mailto:morn...@plopbyte.net> http://www.plopbyte.net
>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-...@lists.openscenegraph.org

>> <mailto:osg-...@lists.openscenegraph.org>

Reply all
Reply to author
Forward
0 new messages