we're actually rewriting the featherstone loop ourselves now to handle the floating base quaternions, so we'll no longer call the thirdParty file.

On Mar 27, 2014, at 12:46 PM, jacob-izr <notifications@github.com> wrote:

> In systems/plants/RigidBodyAddedMass.m:
> 
> > +            
> > +            %Find the spatial inertia matrix
> > +            Imass = mcI(obj.mass,obj.com,obj.inertia);
> > +            
> > +            %Augment spatial inertia with added mass
> > +            manip = manip.setBody(body_ind,manip.body(body_ind).setOnlyInertial(Imass+obj.MaBody));
> > +        end
> > +        function force = computeSpatialForce(obj,manip,q,qd)
> > +            % Adds the gravity correction from added mass
> > +            % This force is ONLY necessary because the Featherstone solver
> > +            % imposes gravitational acceleration at the base of the
> > +            % manipulator rather than imposing a gravity for at each node
> > +            % Imposing at the base assumes that F_gravity = (M+Ma)*g,
> > +            % rather than F_gravity = M*g
> > +            % Essentially, gravitional and inertial mass are NOT the 
> > +            % same if added mass forces are assumed (isn't physics fun?)
> Do you mean the thirdparty c++ featherstone loop? Or the wrapper in RigidBodyManipulator? The accelerating the base trick is done in the thirdparty file, so I was reluctant to modify it.
> 
> The alternative to accelerating the base would be to apply gravity at each link, but I think that has the same computational cost as this weird anti-gravity correction.
> 
> —
> Reply to this email directly or view it on GitHub.
>