provides very minimal SDF support 

should be easy to implement many of the features that I skipped over now that the basics work.

this is old code from Scott K for testing robustness.  fwiw - i now think that it should not be in the urdf parser, but as a separate method you can call to change the inertia of a loaded model.  

On Dec 16, 2014, at 9:43 PM, Hongkai Dai <notifications@github.com> wrote:

> In systems/plants/@RigidBodyManipulator/addRobotFromURDF.m:
> 
> > +      end
> > +      inode = node.getElementsByTagName('inertia').item(0);
> > +      if ~isempty(inode)
> > +        if inode.hasAttribute('ixx'), ixx = parseParamString(model,body.robotnum,char(inode.getAttribute('ixx'))); else ixx=0; end
> > +        if inode.hasAttribute('ixy'), ixy = parseParamString(model,body.robotnum,char(inode.getAttribute('ixy'))); else ixy=0; end
> > +        if inode.hasAttribute('ixz'), ixz = parseParamString(model,body.robotnum,char(inode.getAttribute('ixz'))); else ixz=0; end
> > +        if inode.hasAttribute('iyy'), iyy = parseParamString(model,body.robotnum,char(inode.getAttribute('iyy'))); else iyy=0; end
> > +        if inode.hasAttribute('iyz'), iyz = parseParamString(model,body.robotnum,char(inode.getAttribute('iyz'))); else iyz=0; end
> > +        if inode.hasAttribute('izz'), izz = parseParamString(model,body.robotnum,char(inode.getAttribute('izz'))); else izz=0; end
> > +        inertia = [ixx, ixy, ixz; ixy, iyy, iyz; ixz, iyz, izz];
> > +      end
> > +      
> > +      % randomly scale inertia
> > +      % keep scale factor positive to ensure positive definiteness
> > +      % x'*I*x > 0 && eta > 0 ==> x'*(eta*I)*x > 0
> > +      eta = 1 + min(1,max(-0.9999,options.inertia_error*randn()));
> Why we want to scale inertia? And why we want to keep the scale factor eta no larger than 2?
> 
> —
> Reply to this email directly or view it on GitHub.
>