Blender 2.5 rev23300 + iTaSC + SSE1 - GraphicAll.org
GraphicAll.org
Paste Code
Paste Blends
Paste Images

    Blender 2.5 rev23300 + iTaSC + SSE1
    Builderben2610
    OS
    DateSep-17-09
    TypeExperimental

    Description

    !!! ITASC is now integrated in Blender 2.5 trunk as of revision 23463. Download a recent blender 2.5 build instead of this one as any new iTaSC feature will be added in trunk directly. I'll remove this build when the wiki is ready with complete user manual. !!!

    This is a build of the itasc branch which contains all features of blender 2.5 revision 23300 plus the iTaSC Inverse Kinematics solver.

    This is the last build before merging to 2.5.

    New since previous build:

    • Joint Rotation constraint to give direct control over the joint angles.
    • Check box in constraint panel header to quickly turn on/off IK constraint

    From previous build:

    • python access to Armature data in the GE. Special feature for robotic users: read and write joint angles. See BL_ArmatureChannel and BL_ArmatureBone in BPY_GE documentation included in this build.
    • external targets supported in the GE as in this demo
    • Enforce parameter is supported. It is implemented as a blending between the position that the end effector would take if the armature was in rest pose and the actual target position. It works only for the CopyPose constraint and only when polar target is not used.
    • NDoF joint limit is fully supported in compliance with Blender UI.
    • Complete rework of armature constraint support in the GE.Constraint are now automatically supported and don't require ArmatureActuator anymore to be operated. By default all constraints will be converted and activated. All constraint operations can be done through Python in the GE. Refer to BPY_GE in this build for more information: look for BL_ArmatureObject, BL_ArmatureConstraint, KX_ArmatureSensor and BL_ArmatureActuator classes.

    =================================

    More info on the new solver can be found here

    Difference in the UI:

    -Selection of solver in Inverse Kinematics panel (this panel shows up as soon as you add an IK constraint on a bone)
     Choose between Legacy (the old solver) or iTaSC

    -New parameter of the Inverse Kinematics panel

    Rotation:
    Select this option to activate joint rotation constraint on that channel. The pose rotation computed from Action or UI interaction will be converted into joint value and passed to the solver as target for the joint. This will give you control over the joint while the solver still tracks the IK target. You can use this feature to give a preferred pose for joints (e.g. rest pose) or to control a joint movements by playing an action.

    Weight:
    Controls how much the joint rotation constraint influence the final pose.

    -New iTaSC parameter panel once you select iTaSC solver

    Parameters of this panel are:

    Reiteration:
    Select this option if you want to force the solver to reiterate until the convergence criteria specified by the Precision parameter is met on the end effectors. This option destroys most of the iTaSC dynamic behavior: maximum joint velocity and continuity between frames are not respected anymore in compensation of better precision on the end effector positions. Default is to disable this option to let the solver operate in real time contex.

    initial Reiteration:
    Select this option if you want to force the solver to reiterate on the first frame of the animation. Without this option, the armature starts always from the rest position and needs some frames to converge to the target if they are far away from the rest pose. This option basically allows you to chose a different start pose than the rest pose.

    Precision:
    Precision on the end effector position (expressed in Blender units) to stop the reiteration. Only used in the contex of reiteration.

    Max Steps:
    If Precision criteria is not met within this number of iterations, stop reiteration anyway. Only used in the contex of reiteration.

    Auto Step:
    Use this option is you want to let the solver decide how many substeps should be executed for each frame. A substep is a subdivision on the time between 2 frames for which the solver resolves the IK equation and updates the joint position. More substeps means more processing but better precision on tracking the targets. The auto step algorithm estimates the optimal number of steps to get the best trade off between processing and precision. It works by estimation of the non-linearity of the pose and the limitation of the amplitude of joint variation during a substep. It can be configured with next 2 parameters:

    Min Step:
    Proposed minimum substep duration (in second). The auto step algorithm may decide to reduce the substep further based on joint velocity.

    Max Step:
    Maximum substep duration (in second). The auto step algorthm will not allow substep longer than this value.

    Num Steps:
    If Auto Step doesn't work well for an armature, you can unselect the Auto Step option and choose a fixed number of substeps with this parameter. Substep should not be longer than 10ms, which means Num Steps=4 for 25 fps animation.

    Solver:
    Selection of the inverse Jacobian solver that iTaSC will use. Two solvers are available: Selective Damped Least Sqaure (SDLS) or Damped Least Square (DSL). They both use damping to eliminate oscillation around singular pose but use a different method. The SDLS use automatic damping but works well only if you use CopyPose constraint (the usual case). It has also the inconvenient to damp more than necessary around the singular pose which means that the armature will move slowly around singular pose. The DLS solver can be more reactive and precise but requires tuning with the two following parameters.

    Damp:
    Maximum amount of damping. Smaller values means less damping, hence more velocity and better precision but also more risk of oscillation at singular pose.

    Epsilon:
    Range of the damping zone around singular pose. Smaller values means smaller zone of control and greater risk of passing over the singular pose, which means oscillation. Damp and Epsilon must be tuned for each armature. You should use the smallest value that preserve stability.

    Feedback:
    Coefficient on end effector position error to set corrective joint velocity. The time constant of the error correction is the inverse of the this value. However, this parameter has little effect on the dynamic of the armature since the algorithm evaluates the target velocity in any case. Setting this parameter to 0 means 'opening the loop': the solver tracks the velocity but not the position; the error will accumulate rapidly. Setting this value too high means an excessive amount of correction and risk of instability. The value should be in the range 20-100.

    Max Velocity:
    Indicative maximum joint velocity in radiant/s. This parameter has an important effect on the armature dynamic. Smaller value will cause the armature to move slowly and lag behind if the targets are moving rapidly.

    - New Distance IK constraint variant
    Once you select iTaSC, you can choose between the CopyPose and Distance variant of the IK constraint. The Distance variant will maintain the end effector within, at or outside a distance to the target given by the Distance parameter. This constraint variant shows the capability of iTaSC to handle more than just traditional end effector position/orientation.


     


    DownloadBuild!!



    Blender Foundation's Chaos and Evolution Training DVD by David Revoy

    Comments
    n-pigeon
    Wow much better movement :D it looks great. But I found a bug, when I want apply the translation of a last bone, the tip of that bone jumps to the center (X=0 Y=0 Z=0), when I teak the iTaSC parameters (for example limits) in panel, the bone jumps to the right place.
    Amazed
    This is trully amazing!!
    The movements are much more naturals!
    Thanks Thanks Thanks!!!
    *comment from the builder
    ben2610
    Thanks for testing it.
    Yes, there are still some update/refresh bugs that need to be fixed.
    Coming up: more types of constraint supported by the solver (distance, trackto, action, ..), better control over the constraint parameters in the GE, Python API to access armature and constraint parameters.
    I'll keep the build up to date as new features are added.
    Ken
    Very nice that someone is coding advanced or new IK solvers. Maybe some day there will be also IK spline solver in Blender.
    max
    'm not an animator, but I think great animation tools will be very very useful for entire community!

    so, thanks!
    Ummumm
    Hello,

    Why I get error like that: http://www.upload.ee/image/152599/pic.JPG . Microsoft Visual C++ Redistributable Package is installed propertly I think.

    Thanks!
    Adauto A. Araujo
    Hi.

    I tried to open this built in 3 PCs. I always get this error:

    http://www.upload.ee/image/152849/clipboard_upped.png

    Someone can help me?

    Tnks
    Adauto A. Araujo
    Hi.

    I tried to open this built in 3 PCs. I always get this error:

    http://www.upload.ee/image/152849/clipboard_upped.png

    Someone can help me?

    Tnks

    Leave a Comment!


    back to GraphicAll.org