- Added implicit joint spring force and damping force
- Added planar joint
- Added soft body dynamics
- Added computation of velocity and acceleration of COM
- Added bullet collision detector
- Improved performance of forward dynamics algorithm
- Improved dynamics API for Skeleton and Joint
- Improved constraint dynamics solver
- Improved calculation of equations of motion using Featherstone algorithm
- Improved optimizer interface and added nlopt solver
- Fixed self collision bug
- Fixed incorrect integration of BallJoint and FreeJoint
- Removed Transformation classes. Their functionality is now included in joint classes.
- Added Featherstone algorithm. Can currently only be used without collision handling. The old algortihm is still present and used for that case.
- Removed kinematics namespace. Functionality is moved to dynamics classes.
- Added dart root namespace
- A lot of function and variable renames
- Added constraint namespace
- Added "common" namespace
- Clean-up of build system:
- Renamed DART_INCLUDEDIR to the standard-compliant DART_INCLUDE_DIRS in CMake files. Users need to adapt their CMake files for this change.
- Users no longer need to call find_package(DARTExt) in the CMake files. A call to find_package(DART) also finds its dependencies now.
- Allow user to overwrite installation prefix
- Add possibility to include DART header files as '#include <dart/dynamics/Skeleton.h>' in addition to '#include <dynamics/Skeleton.h>'
- Allow out-of-source builds
- URDF loader:
- Major clean-up
- Consider mesh scaling factor
- Replaced robotics::World with simulation::World
- Removed robotics::Robot
- Added simulation::SimWindow
- Some speed-up of Eigen calculations
- Added abstract trajectory interface
- ConstraintDynamics handles contact, joint limit and other constraint forces simultaneously
- Improved Lemke algorithm for solving LCP
- Renamed skeletonDynamics::getQDotVector() to getPoseVelocity()
- Added abstract CollisionDetector interface allowing for multiple different collision detector implementations.
- Created math namespace
- Added System class as base class to Skeleton and Joint
- URDF loader: Removed ability to load nonstandard URDF files with an object tag
- Added support for multiple shapes per BodyNode
- Made urdfdom a dependency instead of including it in the DART source
- Added function to CollisionDetector to let user check a specific pair of BodyNodes for collision
- Mass and inertia are no longer stored in Shape but in BodyNode.
- Different shapes for collision and visualization (not just different meshes)
- Shapes are no longer centered at the COM but can be transformed independently relative to the link frame.
- Improved URDF support
- Support for non-mesh shapes
- Does not create dummy root nodes anymore
- Support for continuous joints
- Support for arbitrary joint axes for revolute joints (but not for prismatic joints) instead of only axis-aligned joint axes
- Support for relative mesh paths even if the robot and world URDF files are in different directories
- All supported joint types can be root joints
- Clean-up of the Robot class
- Removed Object class
- More robust build and installation process on Linux