Added new util to move a spatial mass matrix to a new origin point. Similar to mcI from the thirdparty except the original spatial matrix does not need to be about the center of mass
New force elements. RigidBodyBuoyant allows for a center of buoyancy to be defined with regard to the body origin (not need to be at center of mass). Pulls information from a URDF file. RigidBodyAddedMass adds a force proportional to the acceleration of the body - important for underwater applications. This is achieved through a modification of the spatial inertia matrix of the parent body. Also pulls information from URDF file. New function in RigidBody allows for this modification without affecting the true mass of the body. RigidBodyManipulator edited to include the new force element definitions
Adding new UnderwaterAcrobot to the examples, which highlights the functionality of the force elements RigidBodyAddedMass and RigidBodyBuoyant. The example includes a RigidBodyManipulator that uses the new force elements. The example also includes a plant with equations of motion derived from Lagrange for validation.
Adding new function for explicited translating added mass origin, rather than hiding it in parseURDFNode
Planning on making moveSpatialMassMatrix a static method inside RigidBodyAddedMass, rather than a separate function. Moving the test function to the appropriate place
Change in how RigidBodyAddedMass operates: Now added new variables into RigidBody, including two separate spatial inertia matrices. RigidBodyAddedMass only affects one of them, while the other is the original mass properties of the link. Requesting RigidBody.I gives the sum of the two spatial inertia matrices. Also simplified some of the the functions inside RigidBodyAddedMass
Revised RigidBodyAddedMass to instead reference the static method
Fixed small RigidBody.I reference, instead of RigidBody.Imass
Edited drakeURDF.xsd to include the new ForceElement functionality from RigidBodyBuoyancy and RigidBodyAddedMass
Added error messages in case someone tries to weld links with added-mass coefficents, I haven't supported that yet
Changed try-catch on the valuechecks for added-mass welding to if statements
Merge branch 'master' of https://github.com/jacob-izr/drake
Merge branch 'master' of https://github.com/RobotLocomotion/drake