<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Message</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16788" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Great idea !</FONT></DIV>
<DIV><FONT face=Arial size=2>I'm very interested by your idea : I think it is
very important.....</FONT></DIV>
<DIV><FONT face=Arial size=2>Go, go ...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Alain</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>PS : je vous ai croisé brièvement lors de la
dernière Blender Conf ...Bravo pour tout votre travail !</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=benoit.bolsee@online.be href="mailto:benoit.bolsee@online.be">Benoit
Bolsee</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=bf-committers@blender.org
href="mailto:bf-committers@blender.org">bf-committers@blender.org</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, January 12, 2009 5:54
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> [Bf-committers] new IK
algorithms in Blender</DIV>
<DIV><BR></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009>Hi,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=312142315-12012009>As some of you
might know already, </SPAN></FONT><FONT face=Arial size=2><SPAN
class=312142315-12012009>I have started a project with the KUL
(University of Leuven) to implement new IK algorithms for Blender
and the BGE. I know everybody is busy with 2.5 atm but I'd like to have
your opinion on a couple of things. I'll first explain in a few words
the scope of the project.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=312142315-12012009>It is a
robotic project and the primary goal is to make Blender a flexible platform to
test, simulate, control and monitor industrial robotic arms. The intention is
to build a "task" layer where the user can easily define complex tasks
and have the (simulated or real) robotic setup execute the task
intellligently. The IK algorithms have been developped over the years by the
KUL and are now mature enough to be ported to Blender. The core principle of
the algorithms is the integration of all the constraints and
internal dynamics in a single global equation system to solve the joints
velocities (or accelaration) over time. In the end, t</SPAN></FONT><FONT
face=Arial size=2><SPAN class=312142315-12012009>his work should also be
useful to animators because the new algorithms will be available
to animate custom armatures.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=312142315-12012009>Unlike the current
IK algorithm in Blender, the new algorithms are stateful and time
dependent: you cannot get</SPAN></FONT><FONT face=Arial size=2><SPAN
class=312142315-12012009> the pose for a given frame number if you don't know
the pose and the internal state at the previous frame (and
recursively at the begining of the simulation). The BGE is a natural place to
implement the algorithm because it is naturally time dependent but we also
want to have the animation available in Blender for frame by frame inspection
of the actions. </SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=312142315-12012009>One possible
approach is baking via the BGE: you prepare the setup, define the task by
constraints and run the simulation in the BGE. The joints positions are stored
in Ipo curves and retrieved in Blender. </SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=312142315-12012009>Another approach
is to have baking or caching in Blender like cloth (I didn't look at
cloth code yet). Baking the IK solution should be fairly quick,
potentially much quicker than the current IK algorithm that always starts from
the rest position at each frame. </SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=312142315-12012009>My idea is to
implement a flexible caching system that will be available in Blender for
animation and in the BGE for recording the simulation or the actual physics
parameters when the BGE is used to control a real robotic
setup. </SPAN></FONT><FONT face=Arial size=2><SPAN
class=312142315-12012009>I'm interested to hear your opinion on
that.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009>/Benoit</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=312142315-12012009></SPAN></FONT><FONT face=Arial size=2><SPAN
class=312142315-12012009></SPAN></FONT> </DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>Bf-committers
mailing
list<BR>Bf-committers@blender.org<BR>http://lists.blender.org/mailman/listinfo/bf-committers<BR></BLOCKQUOTE></BODY></HTML>