[osg-users] osgAnimation Help

Cedric Pinson mornifle at plopbyte.net
Mon Mar 30 03:44:13 PDT 2009

```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 <mornifle at plopbyte.net>
>> *To:* OpenSceneGraph Users <osg-users at 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
>>
>> 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 <aluaces at udc.es <mailto:aluaces at udc..es>>
>> > To: OpenSceneGraph Users <osg-users at lists.openscenegraph.org
>> <mailto:osg-users at 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
>> > 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
>> >>   >
>> > 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-users at lists.openscenegraph.org
>> <mailto:osg-users at lists.openscenegraph.org>
>> >
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>> >
>> >
>> >
>> >
>> ------------------------------------------------------------------------
>> >
>> > _______________________________________________
>> > osg-users mailing list
>> > osg-users at lists.openscenegraph.org
>> <mailto:osg-users at lists.openscenegraph.org>
>> >
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>> >
>> -- +33 (0) 6 63 20 03 56  Cedric Pinson mailto:mornifle at plopbyte.net
>> <mailto:mornifle at plopbyte.net> http://www.plopbyte.net
>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>> <mailto:osg-users at lists.openscenegraph.org>
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>

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

```