<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:tahoma,new york,times,serif;font-size:10pt"><div style="font-family: tahoma,new york,times,serif; font-size: 10pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">This could be the start of goal-oriented IK solving, getting around obstacles, which could be applied to many things. <br><div>&nbsp;</div>
<blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
  <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;">----- Original Message ----- </div>
  <div style="background: rgb(228, 228, 228) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"><b>From:</b> 
  <a rel="nofollow" title="benoit.bolsee@online.be" ymailto="mailto:benoit.bolsee@online.be" target="_blank" href="mailto:benoit.bolsee@online.be">Benoit 
  Bolsee</a> </div>
  <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"><b>To:</b> <a rel="nofollow" title="bf-committers@blender.org" ymailto="mailto:bf-committers@blender.org" target="_blank" href="mailto:bf-committers@blender.org">bf-committers@blender.org</a> </div>
  <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"><b>Sent:</b> Monday, January 12, 2009 5:54 
  PM</div>
  <div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"><b>Subject:</b> [Bf-committers] new IK 
  algorithms in Blender</div>
  <div><br></div>
  <div><font size="2" face="Arial"><span class="312142315-12012009">Hi,</span></font></div>
  <div><font size="2" face="Arial"><span class="312142315-12012009"></span></font>&nbsp;</div>
  <div><font size="2" face="Arial"><span class="312142315-12012009">As some of you 
  might know already,&nbsp;</span></font><font size="2" face="Arial"><span class="312142315-12012009">I have started a&nbsp; project with the KUL 
  (University of Leuven)&nbsp;to implement new IK algorithms&nbsp;for Blender 
  and&nbsp;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&nbsp;scope of the project.</span></font></div>
  <div><font size="2" face="Arial"><span class="312142315-12012009"></span></font>&nbsp;</div>
  <div><font size="2" face="Arial"><span class="312142315-12012009">It&nbsp;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&nbsp;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&nbsp;dynamics in a single global equation system to solve the joints 
  velocities (or accelaration) over time.&nbsp;In the end, t</span></font><font size="2" face="Arial"><span class="312142315-12012009">his work should also be 
  useful to animators because the new algorithms will be available 
  to&nbsp;animate custom armatures.</span></font></div>
  <div><font size="2" face="Arial"><span class="312142315-12012009"></span></font>&nbsp;</div>
  <div><font size="2" face="Arial"><span class="312142315-12012009">Unlike the current 
  IK algorithm in Blender, the&nbsp;new algorithms are stateful and time 
  dependent: you cannot get</span></font><font size="2" face="Arial"><span class="312142315-12012009"> the pose for a given frame number if you don't know 
  the pose and the internal state&nbsp;at&nbsp;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 size="2" face="Arial"><span class="312142315-12012009">One possible 
  approach is&nbsp;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&nbsp;in Blender. </span></font></div>
  <div><font size="2" face="Arial"><span class="312142315-12012009">Another approach 
  is to have baking or caching in Blender&nbsp;like cloth (I didn't look at 
  cloth code yet). Baking the IK&nbsp;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 size="2" face="Arial"><span class="312142315-12012009"></span></font>&nbsp;</div>
  <div><font size="2" face="Arial"><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.&nbsp;</span></font><font size="2" face="Arial"><span class="312142315-12012009">I'm interested to hear your opinion on 
  that.</span></font></div>
  <div><font size="2" face="Arial"><span class="312142315-12012009"></span></font>&nbsp;</div>
  <div><font size="2" face="Arial"><span class="312142315-12012009">/Benoit</span></font></div>
  <div><font size="2" face="Arial"><span class="312142315-12012009"></span></font>&nbsp;</div>
  <div><font size="2" face="Arial"><span class="312142315-12012009"></span></font><font size="2" face="Arial"><span class="312142315-12012009"></span></font>&nbsp;</div>
  <p>
  </p><hr>

  <p></p>_______________________________________________<br>Bf-committers 
  mailing 
  list<br>Bf-committers@blender.org<br><a target="_blank" href="http://lists.blender.org/mailman/listinfo/bf-committers">http://lists.blender.org/mailman/listinfo/bf-committers</a><br></blockquote></div></div></div><br>

      </body></html>