1## DART 6 2 3### [DART 6.11.1 (2021-08-23)](https://github.com/dartsim/dart/milestone/67?closed=1) 4 5* Dynamics 6 7 * Fixed incorrect LCP construction in JointConstraint for multi-DOFs joints : [#1597](https://github.com/dartsim/dart/pull/1597) 8 9### [DART 6.11.0 (2021-07-15)](https://github.com/dartsim/dart/milestone/64?closed=1) 10 11* Math 12 13 * Added `Mesh`, `TriMesh`, and `Icosphere` classes: [#1579](https://github.com/dartsim/dart/pull/1579) 14 15* Collision 16 17 * Fixed incorrect group-group collision checking for BulletCollisionDetector: [#1585](https://github.com/dartsim/dart/pull/1585), [#717](https://github.com/dartsim/dart/issues/717) 18 19* Dynamics 20 21 * Fixed servo motor doesn't respect joint position limits: [#1587](https://github.com/dartsim/dart/pull/1587) 22 23* GUI 24 25 * Fixed incorrect MultiSphereConvexHull rendering: [#1579](https://github.com/dartsim/dart/pull/1579) 26 * Use GLVND over the legacy OpenGL libraries: [#1584](https://github.com/dartsim/dart/pull/1584) 27 28* Build and testing 29 30 * Add DART_ prefix to macros to avoid potential conflicts: [#1586](https://github.com/dartsim/dart/pull/1586) 31 32### [DART 6.10.1 (2021-04-19)](https://github.com/dartsim/dart/milestone/65?closed=1) 33 34* Dynamics 35 36 * Fixed inertia calculation of CapsuleShape: [#1561](https://github.com/dartsim/dart/pull/1561) 37 38* GUI 39 40 * Changed to protect OpenGL attributes shared by ImGui and OSG: [#1558](https://github.com/dartsim/dart/pull/1558) 41 * Changed to set backface culling by default: [#1559](https://github.com/dartsim/dart/pull/1559) 42 43* dartpy 44 45 * Added Python binding for BodyNode::getBodyForce(): [#1563](https://github.com/dartsim/dart/pull/1563) 46 47### [DART 6.10.0 (2021-04-09)](https://github.com/dartsim/dart/milestone/58?closed=1) 48 49* Common 50 51 * Removed use of boost::filesystem in public APIs: [#1417](https://github.com/dartsim/dart/pull/1417) 52 * Changed Signal to remove connection when they're being disconnected: [#1462](https://github.com/dartsim/dart/pull/1462) 53 54* Collision 55 56 * Added ConeShape support for FCLCollisionDetector: [#1447](https://github.com/dartsim/dart/pull/1447) 57 * Fixed segfault from raycast when no ray hit: [#1461](https://github.com/dartsim/dart/pull/1461) 58 * Added PyramidShape class: [#1466](https://github.com/dartsim/dart/pull/1466) 59 60* Kinematics 61 62 * Added IkFast parameter accessors to IkFast class: [#1396](https://github.com/dartsim/dart/pull/1396) 63 * Changed IkFast to wrap IK solutions into the joint limits for RevoluteJoint: [#1452](https://github.com/dartsim/dart/pull/1452) 64 * Added option to specify reference frame of TaskSpaceRegion: [#1548](https://github.com/dartsim/dart/pull/1548) 65 66* Dynamics 67 68 * Fixed friction and restitution of individual shapes in a body: [#1369](https://github.com/dartsim/dart/pull/1369) 69 * Fixed soft body simulation when command input is not resetted: [#1372](https://github.com/dartsim/dart/pull/1372) 70 * Added joint velocity limit constraint support: [#1407](https://github.com/dartsim/dart/pull/1407) 71 * Added type property to constrain classes: [#1415](https://github.com/dartsim/dart/pull/1415) 72 * Allowed to set joint rest position out of joint limits: [#1418](https://github.com/dartsim/dart/pull/1418) 73 * Added secondary friction coefficient parameter: [#1424](https://github.com/dartsim/dart/pull/1424) 74 * Allowed to set friction direction per ShapeFrame: [#1427](https://github.com/dartsim/dart/pull/1427) 75 * Fixed incorrect vector resizing in BoxedLcpConstraintSolver: [#1459](https://github.com/dartsim/dart/pull/1459) 76 * Changed to increment BodyNode version when it's being removed from Skeleton: [#1489](https://github.com/dartsim/dart/pull/1489) 77 * Changed to print warning only once from BulletCollisionDetector::collide/distance: [#1546](https://github.com/dartsim/dart/pull/1546) 78 * Added force dependent slip: [#1505](https://github.com/dartsim/dart/pull/1505) 79 80* GUI 81 82 * Fixed memory leaks from dart::gui::osg::Viewer: [#1349](https://github.com/dartsim/dart/pull/1349) 83 * Added point rendering mode to PointCloudShape: [#1351](https://github.com/dartsim/dart/pull/1351), [#1355](https://github.com/dartsim/dart/pull/1355) 84 * Updated ImGui to 1.71: [#1362](https://github.com/dartsim/dart/pull/1362) 85 * Updated ImGui to 1.79: [#1498](https://github.com/dartsim/dart/pull/1498) 86 * Fixed refresh of LineSegmentShapeNode: [#1381](https://github.com/dartsim/dart/pull/1381) 87 * Fixed OSG transparent object sorting: [#1414](https://github.com/dartsim/dart/pull/1414) 88 * Added modifier key support to ImGuiHandler: [#1436](https://github.com/dartsim/dart/pull/1436) 89 * Fixed mixed intrinsic and extrinsic camera parameters in OpenGL projection matrix: [#1485](https://github.com/dartsim/dart/pull/1485) 90 * Enabled mouse middle and right buttons in ImGuiHandler: [#1500](https://github.com/dartsim/dart/pull/1500) 91 92* Parser 93 94 * Allowed parsing SDF up to version 1.6: [#1385](https://github.com/dartsim/dart/pull/1385) 95 * Fixed SDF parser not creating dynamics aspect for collision shape: [#1386](https://github.com/dartsim/dart/pull/1386) 96 * Added root joint parsing option in URDF parser: [#1399](https://github.com/dartsim/dart/pull/1399), [#1406](https://github.com/dartsim/dart/pull/1406) 97 * Enabled URDF parser to read visual and collision names: [#1410](https://github.com/dartsim/dart/pull/1410) 98 * Added (experimental) MJCF parser: [#1416](https://github.com/dartsim/dart/pull/1416) 99 100* dartpy 101 102 * Added raycast option and result: [#1343](https://github.com/dartsim/dart/pull/1343) 103 * Added GUI event handler: [#1346](https://github.com/dartsim/dart/pull/1346) 104 * Added shadow technique: [#1348](https://github.com/dartsim/dart/pull/1348) 105 * Added findSolution and solveAndApply to InverseKinematics: [#1358](https://github.com/dartsim/dart/pull/1358) 106 * Added InteractiveFrame and ImGui APIs: [#1359](https://github.com/dartsim/dart/pull/1359) 107 * Added bindings for Joint::getTransformFrom{Parent|Child}BodyNode(): [#1377](https://github.com/dartsim/dart/pull/1377) 108 * Added bindings for BodyNode::getChild{BodyNode|Joint}(): [#1387](https://github.com/dartsim/dart/pull/1387) 109 * Added bindings for Inertia: [#1388](https://github.com/dartsim/dart/pull/1388) 110 * Added bindings for getting all BodyNodes from a Skeleton: [#1397](https://github.com/dartsim/dart/pull/1397) 111 * Added bindings for background color support in osg viewer: [#1398](https://github.com/dartsim/dart/pull/1398) 112 * Added bindings for BallJoint::convertToPositions(): [#1408](https://github.com/dartsim/dart/pull/1408) 113 * Fixed typos in Skeleton: [#1392](https://github.com/dartsim/dart/pull/1392) 114 * Fixed enabling drag and drop for InteractiveFrame: [#1432](https://github.com/dartsim/dart/pull/1432) 115 * Added bindings for pointcloud and contact retrieval: [#1455](https://github.com/dartsim/dart/pull/1455) 116 * Fixed TypeError from dartpy.dynamics.Node.getBodyNodePtr(): [#1463](https://github.com/dartsim/dart/pull/1463) 117 * Added pybind/eigen.h to DistanceResult.cpp for read/write of eigen types: [#1480](https://github.com/dartsim/dart/pull/1480) 118 * Added bindings for adding ShapeFrames to CollisionGroup: [#1490](https://github.com/dartsim/dart/pull/1490) 119 * Changed dartpy install command to make install-dartpy: [#1503](https://github.com/dartsim/dart/pull/1503) 120 * Added bindings for CollisionFilter, CollisionGroup, and Node: [#1545](https://github.com/dartsim/dart/pull/1545) 121 * Added bindings for TaskSpaceRegion: [#1550](https://github.com/dartsim/dart/pull/1550) 122 123* Build and testing 124 125 * Fixed compiler warnings from GCC 9.1: [#1366](https://github.com/dartsim/dart/pull/1366) 126 * Replaced M_PI with dart::math::constantsd::pi(): [#1367](https://github.com/dartsim/dart/pull/1367) 127 * Enabled octomap support on macOS: [#1078](https://github.com/dartsim/dart/pull/1078) 128 * Removed dependency on Boost::regex: [#1412](https://github.com/dartsim/dart/pull/1412) 129 * Added support new if() IN_LIST operator in DARTConfig.cmake: [#1434](https://github.com/dartsim/dart/pull/1434) 130 * Updated Findfcl.cmake to support FCL 0.6: [#1441](https://github.com/dartsim/dart/pull/1441) 131 * Added gtest macros for Eigen object comparisons: [#1443](https://github.com/dartsim/dart/pull/1443) 132 * Removed gccfilter: [#1464](https://github.com/dartsim/dart/pull/1464) 133 * Allowed to set CMAKE_INSTALL_PREFIX on Windows: [#1478](https://github.com/dartsim/dart/pull/1478) 134 * Enforced to use OpenSceneGraph 3.7.0 or greater on macOS Catalina: [#1479](https://github.com/dartsim/dart/pull/1479) 135 * Fixed compatibility with clang-cl: [#1509](https://github.com/dartsim/dart/pull/1509) 136 * Fixed MSVC linking for assimp and fcl: [#1510](https://github.com/dartsim/dart/pull/1510) 137 * Fixed AspectWithState-relate compile error on Windows: [#1528](https://github.com/dartsim/dart/pull/1528) 138 * Made `dart.pc` relocatable: [#1529](https://github.com/dartsim/dart/pull/1529) 139 * Added CI for multiple Linux platforms: arm64 and ppc64le: [#1531](https://github.com/dartsim/dart/pull/1531) 140 * Fixed Aspect/Composite-relate tests on Windows/MSVC: [#1541](https://github.com/dartsim/dart/pull/1541), [#1542](https://github.com/dartsim/dart/pull/1542) 141 * Added `DART_SKIP_<dep>`_advanced option: [#1529](https://github.com/dartsim/dart/pull/1529) 142 * Replaced OpenGL dependency variables with targets: [#1552](https://github.com/dartsim/dart/pull/1552) 143 144* Documentation 145 146 * Updated tutorial documentation and code to reflect new APIs: [#1481](https://github.com/dartsim/dart/pull/1481) 147 148### [DART 6.9.5 (2020-10-17)](https://github.com/dartsim/dart/milestone/63?closed=1) 149 150* Optimization 151 152 * Added Ipopt >= 3.13 support: [#1506](https://github.com/dartsim/dart/pull/1506) 153 154### [DART 6.9.4 (2020-08-30)](https://github.com/dartsim/dart/milestone/62?closed=1) 155 156* Build 157 158 * Added support new if() IN_LIST operator in DARTConfig.cmake (6.9 backport): [#1494](https://github.com/dartsim/dart/pull/1494) 159 160### [DART 6.9.3 (2020-08-26)](https://github.com/dartsim/dart/milestone/61?closed=1) 161 162* Dynamics 163 164 * Changed to update the Properties version of a BodyNode when moved to a new Skeleton: [#1445](https://github.com/dartsim/dart/pull/1445) 165 * Fixed incorrect implicit joint damping/spring force computation in inverse dynamics: [#1451](https://github.com/dartsim/dart/pull/1451) 166 167### [DART 6.9.2 (2019-08-16)](https://github.com/dartsim/dart/milestone/60?closed=1) 168 169* Dynamics 170 171 * Allowed constraint force mixing > 1: [#1371](https://github.com/dartsim/dart/pull/1371) 172 173### [DART 6.9.1 (2019-06-06)](https://github.com/dartsim/dart/milestone/59?closed=1) 174 175* Collision 176 177 * Added default constructor to RayHit: [#1345](https://github.com/dartsim/dart/pull/1345) 178 179* dartpy 180 181 * Updated build scripts for uploading dartpy to PyPI: [#1341](https://github.com/dartsim/dart/pull/1341) 182 183### [DART 6.9.0 (2019-05-26)](https://github.com/dartsim/dart/milestone/52?closed=1) 184 185* API Breaking Changes 186 187 * DART 6.9.0 and later require compilers that support C++14. 188 189* Common 190 191 * Deprecated custom make_unique in favor of std::make_unique: [#1317](https://github.com/dartsim/dart/pull/1317) 192 193* Collision Detection 194 195 * Added raycast query to BulletCollisionDetector: [#1309](https://github.com/dartsim/dart/pull/1309) 196 197* Dynamics 198 199 * Added safeguard for accessing Assimp color: [#1313](https://github.com/dartsim/dart/pull/1313) 200 201* Parser 202 203 * Changed URDF parser to use URDF material color when specified: [#1295](https://github.com/dartsim/dart/pull/1295) 204 205* GUI 206 207 * Added heightmap support to OSG renderer: [#1293](https://github.com/dartsim/dart/pull/1293) 208 * Improved voxel grid and point cloud rendering performance: [#1294](https://github.com/dartsim/dart/pull/1294) 209 * Fixed incorrect alpha value update of InteractiveFrame: [#1297](https://github.com/dartsim/dart/pull/1297) 210 * Fixed dereferencing a dangling pointer in WorldNode: [#1311](https://github.com/dartsim/dart/pull/1311) 211 * Removed warning of ImGuiViewer + OSG shadow: [#1312](https://github.com/dartsim/dart/pull/1312) 212 * Added shape type and color options to PointCloudShape: [#1314](https://github.com/dartsim/dart/pull/1314), [#1316](https://github.com/dartsim/dart/pull/1316) 213 * Fixed incorrect transparency of MeshShape for MATERIAL_COLOR mode: [#1315](https://github.com/dartsim/dart/pull/1315) 214 * Fixed incorrect PointCloudShape transparency: [#1330](https://github.com/dartsim/dart/pull/1330) 215 * Improved voxel rendering by using multiple nodes instead of CompositeShape: [#1334](https://github.com/dartsim/dart/pull/1334) 216 217* Examples and Tutorials 218 219 * Updated examples directory to make dart::gui::osg more accessible: [#1305](https://github.com/dartsim/dart/pull/1305) 220 221* dartpy 222 223 * Switched to pybind11: [#1307](https://github.com/dartsim/dart/pull/1307) 224 * Added grid visual: [#1318](https://github.com/dartsim/dart/pull/1318) 225 * Added ReferentialSkeleton, Linkage, and Chain: [#1321](https://github.com/dartsim/dart/pull/1321) 226 * Enabled WorldNode classes to overload virtual functions in Python: [#1322](https://github.com/dartsim/dart/pull/1322) 227 * Added JacobianNode and operational space controller example: [#1323](https://github.com/dartsim/dart/pull/1323) 228 * Removed static create() functions in favor of custom constructors: [#1324](https://github.com/dartsim/dart/pull/1324) 229 * Added optimizer APIs with GradientDescentSolver and NloptSolver: [#1325](https://github.com/dartsim/dart/pull/1325) 230 * Added SimpleFrame: [#1326](https://github.com/dartsim/dart/pull/1326) 231 * Added basic inverse kinematics APIs: [#1327](https://github.com/dartsim/dart/pull/1327) 232 * Added shapes and ShapeFrame aspects: [#1328](https://github.com/dartsim/dart/pull/1328) 233 * Added collision APIs: [#1329](https://github.com/dartsim/dart/pull/1329) 234 * Added DegreeOfFreedom and ShapeNode: [#1332](https://github.com/dartsim/dart/pull/1332) 235 * Added constraint APIs: [#1333](https://github.com/dartsim/dart/pull/1333) 236 * Added BallJoint, RevoluteJoint, joint properties, and chain tutorial (incomplete): [#1335](https://github.com/dartsim/dart/pull/1335) 237 * Added all the joints: [#1337](https://github.com/dartsim/dart/pull/1337) 238 * Added DART, Bullet, Ode collision detectors: [#1339](https://github.com/dartsim/dart/pull/1339) 239 240### [DART 6.8.5 (2019-05-26)](https://github.com/dartsim/dart/milestone/57?closed=1) 241 242* Collision 243 244 * Fixed handling of submeshes in ODE collision detector: [#1336](https://github.com/dartsim/dart/pull/1336) 245 246#### Compilers Tested 247 248* Linux 249 250 * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0 251 * GCC 32-bit: 5.4.0 252 253* macOS 254 255 * AppleClang: 9.1.0, 10.0.0 256 257### [DART 6.8.4 (2019-05-03)](https://github.com/dartsim/dart/milestone/56?closed=1) 258 259#### Changes 260 261* GUI 262 263 * Fixed crashing on exiting OSG + ImGui applications: [#1303](https://github.com/dartsim/dart/pull/1303) 264 265#### Compilers Tested 266 267* Linux 268 269 * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0 270 * GCC 32-bit: 5.4.0 271 272* macOS 273 274 * AppleClang: 9.1.0, 10.0.0 275 276### [DART 6.8.3 (2019-05-01)](https://github.com/dartsim/dart/milestone/55?closed=1) 277 278#### Changes 279 280* Parser 281 282 * Fixed VskParker returning incorrect resource retriever: [#1300](https://github.com/dartsim/dart/pull/1300) 283 284* Build 285 286 * Fixed building with pagmo's optional dependencies: [#1301](https://github.com/dartsim/dart/pull/1301) 287 288#### Compilers Tested 289 290* Linux 291 292 * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0 293 * GCC 32-bit: 5.4.0 294 295* macOS 296 297 * AppleClang: 9.1.0, 10.0.0 298 299### [DART 6.8.2 (2019-04-23)](https://github.com/dartsim/dart/milestone/54?closed=1) 300 301#### Changes 302 303* Dynamics 304 305 * Fixed BoxedLcpConstraintSolver is not API compatible with 6.7: [#1291](https://github.com/dartsim/dart/pull/1291) 306 307* Build 308 309 * Fixed building with FCL built without Octomap: [#1292](https://github.com/dartsim/dart/pull/1292) 310 311#### Compilers Tested 312 313* Linux 314 315 * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0 316 * GCC 32-bit: 5.4.0 317 318* macOS 319 320 * AppleClang: 9.1.0, 10.0.0 321 322### [DART 6.8.1 (2019-04-23)](https://github.com/dartsim/dart/milestone/53?closed=1) 323 324#### Changes 325 326* Build System 327 328 * Fixed invalid double quotation marks in DARTFindBoost.cmake: [#1283](https://github.com/dartsim/dart/pull/1283) 329 * Disabled octomap support on macOS: [#1284](https://github.com/dartsim/dart/pull/1284) 330 331#### Compilers Tested 332 333* Linux 334 335 * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0 336 * GCC 32-bit: 5.4.0 337 338* macOS 339 340 * AppleClang: 9.1.0, 10.0.0 341 342### [DART 6.8.0 (2019-04-22)](https://github.com/dartsim/dart/milestone/48?closed=1) 343 344#### Changes 345 346* Kinematics 347 348 * Added findSolution() and solveAndApply() to InverseKinematics and HierarchicalIk classes and deprecated solve(~) member functions: [#1266](https://github.com/dartsim/dart/pull/1266) 349 * Added an utility constructor to Linkage::Criteria to create sequence Linkage: [#1273](https://github.com/dartsim/dart/pull/1273) 350 351* Dynamics 352 353 * Fixed incorrect transpose check in Inertia::verifySpatialTensor(): [#1258](https://github.com/dartsim/dart/pull/1258) 354 * Allowed BoxedLcpConstraintSolver to have a secondary LCP solver: [#1265](https://github.com/dartsim/dart/pull/1265) 355 356* Simulation 357 358 * The LCP solver will be less aggressive about printing out unnecessary warnings: [#1238](https://github.com/dartsim/dart/pull/1238) 359 * Fixed not copying constraints in World::setConstraintSolver(): [#1260](https://github.com/dartsim/dart/pull/1260) 360 361* Collision Detection 362 363 * The BodyNodeCollisionFilter will ignore contacts between immobile bodies: [#1232](https://github.com/dartsim/dart/pull/1232) 364 365* Planning 366 367 * Fixed linking error of FLANN by explicitly linking to lz4: [#1221](https://github.com/dartsim/dart/pull/1221) 368 369* Python 370 371 * Added (experimental) Python binding: [#1237](https://github.com/dartsim/dart/pull/1237) 372 373* Parsers 374 375 * Changed urdf parser to warn if robot model has multi-tree: [#1270](https://github.com/dartsim/dart/pull/1270) 376 377* GUI 378 379 * Updated ImGui to 1.69: [#1274](https://github.com/dartsim/dart/pull/1274) 380 * Added VoxelGridShape support to OSG renderer: [#1276](https://github.com/dartsim/dart/pull/1276) 381 * Added PointCloudShape and its OSG rendering: [#1277](https://github.com/dartsim/dart/pull/1277) 382 * Added grid visual to OSG renderer: [#1278](https://github.com/dartsim/dart/pull/1278), [#1280](https://github.com/dartsim/dart/pull/1280) 383 384* Build System 385 386 * Changed to use GNUInstallDirs for install paths: [#1241](https://github.com/dartsim/dart/pull/1241) 387 * Fixed not failing for missing required dependencies: [#1250](https://github.com/dartsim/dart/pull/1250) 388 * Fixed attempting to link octomap when not imported: [#1253](https://github.com/dartsim/dart/pull/1253) 389 * Fixed not defining boost targets: [#1254](https://github.com/dartsim/dart/pull/1254) 390 391#### Compilers Tested 392 393* Linux 394 395 * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0 396 * GCC 32-bit: 5.4.0 397 398* macOS 399 400 * AppleClang: 9.1.0, 10.0.0 401 402### [DART 6.7.3 (2019-02-19)](https://github.com/dartsim/dart/milestone/51?closed=1) 403 404#### Changes 405 406* Dynamics 407 408 * Fixed Skeleton::setState(): [#1245](https://github.com/dartsim/dart/pull/1245) 409 410#### Compilers Tested 411 412* Linux 413 414 * GCC (C++11): 5.4.0, 7.3.0, 8.2.0 415 416* Linux (32-bit) 417 418 * GCC (C++11): 5.4.0 419 420* macOS 421 422 * AppleClang (C++11): 9.1.0 423 424### [DART 6.7.2 (2019-01-17)](https://github.com/dartsim/dart/milestone/50?closed=1) 425 426#### Changes 427 428* Build system 429 430 * Fixed #1223 for the recursive case: [#1227](https://github.com/dartsim/dart/pull/1227) 431 * Specified mode for find_package(): [#1228](https://github.com/dartsim/dart/pull/1228) 432 433#### Compilers Tested 434 435* Linux 436 437 * GCC (C++11): 5.4.0, 7.3.0, 8.2.0 438 439* Linux (32-bit) 440 441 * GCC (C++11): 5.4.0 442 443* macOS 444 445 * AppleClang (C++11): 9.1.0 446 447### [DART 6.7.1 (2019-01-15)](https://github.com/dartsim/dart/milestone/49?closed=1) 448 449#### Changes 450 451* Build system 452 453 * Ensure that imported targets of dependencies are always created when finding the dart package: [#1222](https://github.com/dartsim/dart/pull/1222) 454 * Set components to not-found when their external dependencies are missing: [#1223](https://github.com/dartsim/dart/pull/1223) 455 456#### Compilers Tested 457 458* Linux 459 460 * GCC (C++11): 5.4.0, 7.3.0, 8.2.0 461 462* Linux (32-bit) 463 464 * GCC (C++11): 5.4.0 465 466* macOS 467 468 * AppleClang (C++11): 9.1.0 469 470### [DART 6.7.0 (2019-01-10)](https://github.com/dartsim/dart/milestone/45?closed=1) 471 472#### Changes 473 474* Build system 475 476 * Fixed compilation warnings for newer versions of compilers: [#1177](https://github.com/dartsim/dart/pull/1177) 477 * Changed to generate namespace headers without requiring *.hpp.in files: [#1192](https://github.com/dartsim/dart/pull/1192) 478 * Dropped supporting Ubuntu Trusty and started using imported targets of dependencies: [#1212](https://github.com/dartsim/dart/pull/1212) 479 480* Collision Detection 481 482 * CollisionGroups will automatically update their objects when any changes occur to Skeletons or BodyNodes that they are subscribed to: [#1112](https://github.com/dartsim/dart/pull/1112) 483 * Contact points with negative penetration depth will be ignored: [#1185](https://github.com/dartsim/dart/pull/1185) 484 485* Math 486 487 * Consolidated random functions into Random class: [#1109](https://github.com/dartsim/dart/pull/1109) 488 489* Dynamics 490 491 * Refactor constraint solver: [#1099](https://github.com/dartsim/dart/pull/1099), [#1101](https://github.com/dartsim/dart/pull/1101) 492 * Added mimic joint functionality as a new actuator type: [#1178](https://github.com/dartsim/dart/pull/1178) 493 * Added clone function to MetaSkeleton: [#1201](https://github.com/dartsim/dart/pull/1201) 494 495* Optimization 496 497 * Added multi-objective optimization with pagmo2 support: [#1106](https://github.com/dartsim/dart/pull/1106) 498 499* GUI 500 501 * Reorganized OpenGL and GLUT files: [#1088](https://github.com/dartsim/dart/pull/1088) 502 * Added the RealTimeWorldNode to display simulations at real-time rates: [#1216](https://github.com/dartsim/dart/pull/1216) 503 504* Misc 505 506 * Updated Googletest to version 1.8.1: [#1214](https://github.com/dartsim/dart/pull/1214) 507 508#### Compilers Tested 509 510* Linux 511 512 * GCC (C++11): 5.4.0, 7.3.0, 8.2.0 513 514* Linux (32-bit) 515 516 * GCC (C++11): 5.4.0 517 518* macOS 519 520 * AppleClang (C++11): 9.1.0 521 522### [DART 6.6.2 (2018-09-03)](https://github.com/dartsim/dart/milestone/47?closed=1) 523 524* Utils 525 526 * Fixed checking file existence in DartResourceRetriever: [#1107](https://github.com/dartsim/dart/pull/1107) 527 528### [DART 6.6.1 (2018-08-04)](https://github.com/dartsim/dart/milestone/46?closed=1) 529 530* Utils 531 532 * Added option to DartResourceRetriever to search from environment variable DART_DATA_PATH: [#1095](https://github.com/dartsim/dart/pull/1095) 533 534* Examples 535 536 * Fixed CMakeLists.txt of humanJointLimits: [#1094](https://github.com/dartsim/dart/pull/1094) 537 538### [DART 6.6.0 (2018-08-02)](https://github.com/dartsim/dart/milestone/44?closed=1) 539 540* Collision detection 541 542 * Added voxel grid map: [#1076](https://github.com/dartsim/dart/pull/1076), [#1083](https://github.com/dartsim/dart/pull/1083) 543 * Added heightmap support: [#1069](https://github.com/dartsim/dart/pull/1069) 544 545### [DART 6.5.0 (2018-05-12)](https://github.com/dartsim/dart/milestone/41?closed=1) 546 547* Common 548 549 * Added LockableReference classes: [#1011](https://github.com/dartsim/dart/pull/1011) 550 * Added missing \<vector\> to Memory.hpp: [#1057](https://github.com/dartsim/dart/pull/1057) 551 552* GUI 553 554 * Added FOV API to OSG viewer: [#1048](https://github.com/dartsim/dart/pull/1048) 555 556* Parsers 557 558 * Fixed incorrect parsing of continuous joints specified in URDF [#1064](https://github.com/dartsim/dart/pull/1064) 559 560* Simulation 561 562 * Added World::hasSkeleton(): [#1050](https://github.com/dartsim/dart/pull/1050) 563 564* Misc 565 566 * Fixed memory leaks in mesh loading: [#1066](https://github.com/dartsim/dart/pull/1066) 567 568### [DART 6.4.0 (2018-03-26)](https://github.com/dartsim/dart/milestone/39?closed=1) 569 570* Common 571 572 * Added DART_COMMON_DECLARE_SMART_POINTERS macro: [#1022](https://github.com/dartsim/dart/pull/1022) 573 * Added ResourceRetriever::getFilePath(): [#972](https://github.com/dartsim/dart/pull/972) 574 575* Kinematics/Dynamics 576 577 * Added relative Jacobian functions to MetaSkeleton: [#997](https://github.com/dartsim/dart/pull/997) 578 * Added vectorized joint limit functions: [#996](https://github.com/dartsim/dart/pull/996) 579 * Added lazy evaluation for shape's volume and bounding-box computation: [#959](https://github.com/dartsim/dart/pull/959) 580 * Added IkFast support as analytic IK solver: [#887](https://github.com/dartsim/dart/pull/887) 581 * Added TranslationalJoint2D: [#1003](https://github.com/dartsim/dart/pull/1003) 582 * Fixed NaN values caused by zero-length normals in ContactConstraint: [#881](https://github.com/dartsim/dart/pull/881) 583 * Extended BodyNode::createShapeNode() to accept more types of arguments: [#986](https://github.com/dartsim/dart/pull/986) 584 585* Collision detection 586 587 * Added FCL 0.6 support (backport of #873): [#936](https://github.com/dartsim/dart/pull/936) 588 589* GUI 590 591 * Added support of rendering texture images: [#973](https://github.com/dartsim/dart/pull/973) 592 * Added OSG shadows: [#978](https://github.com/dartsim/dart/pull/978) 593 594* Examples 595 596 * Added humanJointLimits: [#1016](https://github.com/dartsim/dart/pull/1016) 597 598* License 599 600 * Added Personal Robotics Lab and Open Source Robotics Foundation as contributors: [#929](https://github.com/dartsim/dart/pull/929) 601 602* Misc 603 604 * Added World::create(): [#962](https://github.com/dartsim/dart/pull/962) 605 * Added MetaSkeleton::hasBodyNode() and MetaSkeleton::hasJoint(): [#1000](https://github.com/dartsim/dart/pull/1000) 606 * Suppressed -Winjected-class-name warnings from Clang 5.0.0: [#964](https://github.com/dartsim/dart/pull/964) 607 * Suppressed -Wdangling-else warnings from GCC 7.2.0: [#937](https://github.com/dartsim/dart/pull/937) 608 * Changed console macros to use global namespace resolutions: [#1010](https://github.com/dartsim/dart/pull/1010) 609 * Fixed build with Eigen 3.2.1-3.2.8: [#1042](https://github.com/dartsim/dart/pull/1042) 610 * Fixed various build issues with Visual Studio: [#956](https://github.com/dartsim/dart/pull/956) 611 * Removed TinyXML dependency: [#993](https://github.com/dartsim/dart/pull/993) 612 613### [DART 6.3.1 (2018-03-21)](https://github.com/dartsim/dart/milestone/42?closed=1) 614 615* Build system 616 617 * Removed an undefined cmake macro/function: [#1036](https://github.com/dartsim/dart/pull/1036) 618 619* ROS support 620 621 * Tweaked package.xml for catkin support: [#1027](https://github.com/dartsim/dart/pull/1027), [#1029](https://github.com/dartsim/dart/pull/1029), [#1031](https://github.com/dartsim/dart/pull/1031), [#1032](https://github.com/dartsim/dart/pull/1031), [#1033](https://github.com/dartsim/dart/pull/1033) 622 623### [DART 6.3.0 (2017-10-04)](https://github.com/dartsim/dart/milestone/36?closed=1) 624 625* Collision detection 626 627 * Added a feature of disabling body node pairs to BodyNodeCollisionFilter: [#911](https://github.com/dartsim/dart/pull/911) 628 629* Kinematics/Dynamics 630 631 * Added setter and getter for WeldJointConstraint::mRelativeTransform: [#910](https://github.com/dartsim/dart/pull/910) 632 633* Parsers 634 635 * Improved SkelParser to read alpha value: [#914](https://github.com/dartsim/dart/pull/914) 636 637* Misc 638 639 * Changed not to use lambda function as an workaround for DART python binding: [#916](https://github.com/dartsim/dart/pull/916) 640 641### [DART 6.2.1 (2017-08-08)](https://github.com/dartsim/dart/milestone/37?closed=1) 642 643* Collision detection 644 645 * Fixed collision checking between objects from the same body node: [#894](https://github.com/dartsim/dart/pull/894) 646 647* Kinematics/Dynamics 648 649 * Fixed transform of ScrewJoint with thread pitch: [#855](https://github.com/dartsim/dart/pull/855) 650 651* Parsers 652 653 * Fixed incorrect reading of <use_parent_model_frame> from SDF: [#893](https://github.com/dartsim/dart/pull/893) 654 * Fixed missing reading of joint friction from URDF: [#891](https://github.com/dartsim/dart/pull/891) 655 656* Testing 657 658 * Fixed testing ODE collision detector on macOS: [#884](https://github.com/dartsim/dart/pull/884) 659 * Removed redundant main body for each test source file: [#856](https://github.com/dartsim/dart/pull/856) 660 661* Misc 662 663 * Fixed build of dart-gui-osg that depends on the presence of OSG: [#898](https://github.com/dartsim/dart/pull/898) 664 * Fixed build of examples and tutorials on macOS: [#889](https://github.com/dartsim/dart/pull/889) 665 * Fixed missing overriding method OdePlane::isPlaceable(): [#886](https://github.com/dartsim/dart/pull/886) 666 * Replaced use of enum by static constexpr: [#852](https://github.com/dartsim/dart/pull/852), [#904](https://github.com/dartsim/dart/pull/904) 667 668### [DART 6.2.0 (2017-05-15)](https://github.com/dartsim/dart/milestone/30?closed=1) 669 670* Common 671 672 * Added Factory class and applied it to collision detection creation: [#864](https://github.com/dartsim/dart/pull/864) 673 * Added readAll() to Resource and ResourceRetriever: [#875](https://github.com/dartsim/dart/pull/875) 674 675* Math 676 677 * Added accessors for diameters and radii of EllipsoidShape, and deprecated EllipsoidShape::get/setSize(): [#829](https://github.com/dartsim/dart/pull/829) 678 * Fixed Lemke LCP solver (#808 for DART 6): [#812](https://github.com/dartsim/dart/pull/812) 679 680* Collision Detection 681 682 * Added support of ODE collision detector: [#861](https://github.com/dartsim/dart/pull/861) 683 * Fixed incorrect collision filtering of BulletCollisionDetector: [#859](https://github.com/dartsim/dart/pull/859) 684 685* Simulation 686 687 * Fixed World didn't clear collision results on reset: [#863](https://github.com/dartsim/dart/pull/863) 688 689* Parsers 690 691 * Fixed incorrect creation of resource retriever in SkelParser and SdfParser: [#847](https://github.com/dartsim/dart/pull/847), [#849](https://github.com/dartsim/dart/pull/849) 692 693* GUI 694 695 * Added MotionBlurSimWindow: [#840](https://github.com/dartsim/dart/pull/840) 696 * Improved MultiSphereShape rendering in GLUT renderer: [#862](https://github.com/dartsim/dart/pull/862) 697 * Fixed incorrect parsing of materials and normal scaling from URDF: [#851](https://github.com/dartsim/dart/pull/851) 698 * Fixed the OSG renderer not rendering collision geometries: [#851](https://github.com/dartsim/dart/pull/851) 699 * Fixed that GUI was rendering white lines with nvidia drivers: [#805](https://github.com/dartsim/dart/pull/805) 700 701* Misc 702 703 * Added createShared() and createUnique() pattern: [#844](https://github.com/dartsim/dart/pull/844) 704 * Added Skeleton::getRootJoint(): [#832](https://github.com/dartsim/dart/pull/832) 705 * Added CMake targets for code formatting using clang-format: [#811](https://github.com/dartsim/dart/pull/811), [#817](https://github.com/dartsim/dart/pull/817) 706 * Renamed MultiSphereShape to MultiSphereConvexHullShape: [#865](https://github.com/dartsim/dart/pull/865) 707 * Modified the member function names pertain to lazy evaluation to be more relevant to their functionalities: [#833](https://github.com/dartsim/dart/pull/833) 708 709* Tutorials & Examples 710 711 * Allowed tutorials and examples to be built out of DART source tree: [#842](https://github.com/dartsim/dart/pull/842) 712 * Fixed tutorialDominoes-Finished that didn't work with the latest DART: [#807](https://github.com/dartsim/dart/pull/807) 713 714### DART 6.1.2 (2017-01-13) 715 716* Dynamics 717 718 * Fixed bug of ContactConstraint with kinematic joints: [#809](https://github.com/dartsim/dart/pull/809) 719 720* Misc 721 722 * Fixed that ZeroDofJoint::getIndexInTree was called: [#818](https://github.com/dartsim/dart/pull/818) 723 724### DART 6.1.1 (2016-10-14) 725 726* Build 727 728 * Modified to build DART without SIMD options by default: [#790](https://github.com/dartsim/dart/pull/790) 729 * Modified to build external libraries as separately build targets: [#787](https://github.com/dartsim/dart/pull/787) 730 * Modified to export CMake target files separately per target: [#786](https://github.com/dartsim/dart/pull/786) 731 732* Misc 733 734 * Updated lodepng up to version 20160501: [#791](https://github.com/dartsim/dart/pull/791) 735 736### DART 6.1.0 (2016-10-07) 737 738* Collision detection 739 740 * Added distance API: [#744](https://github.com/dartsim/dart/pull/744) 741 * Fixed direction of contact normal of BulletCollisionDetector: [#763](https://github.com/dartsim/dart/pull/763) 742 743* Dynamics 744 745 * Added `computeLagrangian()` to `MetaSkeleton` and `BodyNode`: [#746](https://github.com/dartsim/dart/pull/746) 746 * Added new shapes: sphere, capsule, cone, and multi-sphere: [#770](https://github.com/dartsim/dart/pull/770), [#769](https://github.com/dartsim/dart/pull/769), [#745](https://github.com/dartsim/dart/pull/745) 747 * Changed base class of joint from SingleDofJoint/MultiDofJoint to GenericJoint: [#747](https://github.com/dartsim/dart/pull/747) 748 749* Planning 750 751 * Fixed incorrect linking to flann library: [#761](https://github.com/dartsim/dart/pull/761) 752 753* Parsers 754 755 * Added `sdf` parsing for `fixed` joint and `material` tag of visual shape: [#775](https://github.com/dartsim/dart/pull/775) 756 * Added support of urdfdom_headers 1.0: [#766](https://github.com/dartsim/dart/pull/766) 757 758* GUI 759 760 * Added ImGui for 2D graphical interface: [#781](https://github.com/dartsim/dart/pull/781) 761 762* Examples 763 764 * Added osgAtlasSimbicon and osgTinkertoy: [#781](https://github.com/dartsim/dart/pull/781) 765 766* Misc improvements and bug fixes 767 768 * Added `virtual Shape::getType()` and deprecated `ShapeType Shape::getShapeType()`: [#725](https://github.com/dartsim/dart/pull/725) 769 * Changed building with SIMD optional: [#765](https://github.com/dartsim/dart/pull/765), [#760](https://github.com/dartsim/dart/pull/760) 770 * Fixed minor build and install issues: [#773](https://github.com/dartsim/dart/pull/773), [#772](https://github.com/dartsim/dart/pull/772) 771 * Fixed Doxyfile to show missing member functions in API documentation: [#768](https://github.com/dartsim/dart/pull/768) 772 * Fixed typo: [#756](https://github.com/dartsim/dart/pull/756), [#755](https://github.com/dartsim/dart/pull/755) 773 774### DART 6.0.1 (2016-06-29) 775 776* Collision detection 777 778 * Added support of FCL 0.5 and tinyxml2 4.0: [#749](https://github.com/dartsim/dart/pull/749) 779 * Added warnings for unsupported shape pairs of DARTCollisionDetector: [#722](https://github.com/dartsim/dart/pull/722) 780 781* Dynamics 782 783 * Fixed total mass is not being updated when bodies removed from Skeleton: [#731](https://github.com/dartsim/dart/pull/731) 784 785* Misc improvements and bug fixes 786 787 * Renamed `DEPRECATED` and `FORCEINLINE` to `DART_DEPRECATED` and `DART_FORCEINLINE` to avoid name conflicts: [#742](https://github.com/dartsim/dart/pull/742) 788 * Updated copyright: added CMU to copyright holder, moved individual contributors to CONTRIBUTING.md: [#723](https://github.com/dartsim/dart/pull/723) 789 790### DART 6.0.0 (2016-05-10) 791 792* Common data structures 793 794 * Added `Node`, `Aspect`, `State`, and `Properties`: [#713](https://github.com/dartsim/dart/pull/713), [#712](https://github.com/dartsim/dart/issues/712), [#708](https://github.com/dartsim/dart/pull/708), [#707](https://github.com/dartsim/dart/pull/707), [#659](https://github.com/dartsim/dart/pull/659), [#649](https://github.com/dartsim/dart/pull/649), [#645](https://github.com/dartsim/dart/issues/645), [#607](https://github.com/dartsim/dart/pull/607), [#598](https://github.com/dartsim/dart/pull/598), [#591](https://github.com/dartsim/dart/pull/591), [#531](https://github.com/dartsim/dart/pull/531) 795 * Added mathematical constants and user-defined literals for radian, degree, and pi: [#669](https://github.com/dartsim/dart/pull/669), [#314](https://github.com/dartsim/dart/issues/314) 796 * Added `ShapeFrame` and `ShapeNode`: [#608](https://github.com/dartsim/dart/pull/608) 797 * Added `BoundingBox`: [#547](https://github.com/dartsim/dart/pull/547), [#546](https://github.com/dartsim/dart/issues/546) 798 799* Kinematics 800 801 * Added convenient functions for setting joint limits: [#703](https://github.com/dartsim/dart/pull/703) 802 * Added more description on `InverseKinematics::solve()`: [#624](https://github.com/dartsim/dart/pull/624) 803 * Added API for utilizing analytical inverse kinematics: [#530](https://github.com/dartsim/dart/pull/530), [#463](https://github.com/dartsim/dart/issues/463) 804 * Added color property to `Marker`: [#187](https://github.com/dartsim/dart/issues/187) 805 * Improved `Skeleton` to clone `State` as well: [#691](https://github.com/dartsim/dart/pull/691) 806 * Improved `ReferentialSkeleton` to be able to add and remove `BodyNode`s and `DegreeOfFreedom`s to/from `Group`s freely: [#557](https://github.com/dartsim/dart/pull/557), [#556](https://github.com/dartsim/dart/issues/556), [#548](https://github.com/dartsim/dart/issues/548) 807 * Changed `Marker` into `Node`: [#692](https://github.com/dartsim/dart/pull/692), [#609](https://github.com/dartsim/dart/issues/609) 808 * Renamed `Joint::get/setLocal[~]` to `Joint::get/setRelative[~]`: [#715](https://github.com/dartsim/dart/pull/715), [#714](https://github.com/dartsim/dart/issues/714) 809 * Renamed `PositionLimited` to `PositionLimitEnforced`: [#447](https://github.com/dartsim/dart/issues/447) 810 * Fixed initialization of joint position and velocity: [#691](https://github.com/dartsim/dart/pull/691), [#621](https://github.com/dartsim/dart/pull/621) 811 * Fixed `InverseKinematics` when it's used with `FreeJoint` and `BallJoint`: [#683](https://github.com/dartsim/dart/pull/683) 812 * Fixed ambiguous overload on `MetaSkeleton::getLinearJacobianDeriv`: [#628](https://github.com/dartsim/dart/pull/628), [#626](https://github.com/dartsim/dart/issues/626) 813 814* Dynamics 815 816 * Added `get/setLCPSolver` functions to `ConstraintSolver`: [#633](https://github.com/dartsim/dart/pull/633) 817 * Added `ServoMotorConstraint` as a preliminary implementation for `SERVO` actuator type: [#566](https://github.com/dartsim/dart/pull/566) 818 * Improved `ConstraintSolver` to obey C++11 ownership conventions: [#616](https://github.com/dartsim/dart/pull/616) 819 * Fixed segfualting of `DantzigLCPSolver` when the constraint dimension is zero: [#634](https://github.com/dartsim/dart/pull/634) 820 * Fixed missing implementations in ConstrainedGroup: [#586](https://github.com/dartsim/dart/pull/586) 821 * Fixed incorrect applying of joint constraint impulses: [#317](https://github.com/dartsim/dart/issues/317) 822 * Deprecated `draw()` functions of dynamics classes: [#654](https://github.com/dartsim/dart/pull/654) 823 824* Collision detection 825 826 * Added `CollisionGroup` and refactored `CollisionDetector` to be more versatile: [#711](https://github.com/dartsim/dart/pull/711), [#704](https://github.com/dartsim/dart/pull/704), [#689](https://github.com/dartsim/dart/pull/689), [#631](https://github.com/dartsim/dart/pull/631), [#642](https://github.com/dartsim/dart/issues/642), [#20](https://github.com/dartsim/dart/issues/20) 827 * Improved API for self collision checking options: [#718](https://github.com/dartsim/dart/pull/718), [#702](https://github.com/dartsim/dart/issues/702) 828 * Deprecated `BodyNode::isColliding`; collision sets are moved to `CollisionResult`: [#694](https://github.com/dartsim/dart/pull/694), [#670](https://github.com/dartsim/dart/pull/670), [#668](https://github.com/dartsim/dart/pull/668), [#666](https://github.com/dartsim/dart/issues/666) 829 830* Parsers 831 832 * Added back VSK parser: [#602](https://github.com/dartsim/dart/pull/602), [#561](https://github.com/dartsim/dart/pull/561), [#254](https://github.com/dartsim/dart/issues/254) 833 * Fixed segfault of `SdfParser` when `nullptr` `ResourceRetriever` is passed: [#663](https://github.com/dartsim/dart/pull/663) 834 835* GUI features 836 837 * Merged `renderer` namespace into `gui` namespace: [#652](https://github.com/dartsim/dart/pull/652), [#589](https://github.com/dartsim/dart/issues/589) 838 * Moved `osgDart` under `dart::gui` namespace as `dart::gui::osg`: [#651](https://github.com/dartsim/dart/pull/651) 839 * Fixed GlutWindow::screenshot(): [#623](https://github.com/dartsim/dart/pull/623), [#395](https://github.com/dartsim/dart/issues/395) 840 841* Simulation 842 843 * Fixed `World::clone()` didn't clone the collision detector: [#658](https://github.com/dartsim/dart/pull/658) 844 * Fixed bug of `World` concurrency: [#577](https://github.com/dartsim/dart/pull/577), [#576](https://github.com/dartsim/dart/issues/576) 845 846* Misc improvements and bug fixes 847 848 * Added `make_unique<T>` that was omitted from C++11: [#639](https://github.com/dartsim/dart/pull/639) 849 * Added missing `override` keywords: [#617](https://github.com/dartsim/dart/pull/617), [#535](https://github.com/dartsim/dart/pull/535) 850 * Added gcc warning flag `-Wextra`: [#600](https://github.com/dartsim/dart/pull/600) 851 * Improved memory management of `constraint` namespace: [#584](https://github.com/dartsim/dart/pull/584), [#583](https://github.com/dartsim/dart/issues/583) 852 * Changed the extension of headers from `.h` to `.hpp`: [#709](https://github.com/dartsim/dart/pull/709), [#693](https://github.com/dartsim/dart/pull/693), [#568](https://github.com/dartsim/dart/issues/568) 853 * Changed Doxyfile to gnerate tag file: [#690](https://github.com/dartsim/dart/pull/690) 854 * Changed the convention to use `std::size_t` over `size_t`: [#681](https://github.com/dartsim/dart/pull/681), [#656](https://github.com/dartsim/dart/issues/656) 855 * Changed CMake to configure preprocessors using `#cmakedefine`: [#648](https://github.com/dartsim/dart/pull/648), [#641](https://github.com/dartsim/dart/pull/641) 856 * Updated copyright years: [#679](https://github.com/dartsim/dart/pull/679), [#160](https://github.com/dartsim/dart/issues/160) 857 * Renamed directory name `apps` to `examples`: [#685](https://github.com/dartsim/dart/pull/685) 858 * Fixed warnings of unused variables in release mode: [#646](https://github.com/dartsim/dart/pull/646) 859 * Fixed typo of `getNumPluralAddoName` in utility macro: [#615](https://github.com/dartsim/dart/issues/615) 860 * Fixed linker error by adding namespace-scope definitions for `constexpr static` members: [#603](https://github.com/dartsim/dart/pull/603) 861 * Fixed segfault from nullptr meshes: [#585](https://github.com/dartsim/dart/pull/585) 862 * Fixed typo of tutorial with minor improvements: [#573](https://github.com/dartsim/dart/pull/573) 863 * Fixed `NameManager<T>::removeEntries(~)` called a function that does not exist: [#564](https://github.com/dartsim/dart/pull/564), [#554](https://github.com/dartsim/dart/issues/554) 864 * Fixed missing definitions for various functions: [#558](https://github.com/dartsim/dart/pull/558), [#555](https://github.com/dartsim/dart/issues/555) 865 * Fixed const correctness of `BodyNode::getMomentsOfInertia()`: [#541](https://github.com/dartsim/dart/pull/541), [#540](https://github.com/dartsim/dart/issues/540) 866 * Fixed `ftel` bug in Linux with an workaround: [#533](https://github.com/dartsim/dart/pull/533) 867 * Removed unnecessary `virtual` keyword for overriding functions: [#680](https://github.com/dartsim/dart/pull/680) 868 * Removed deprecated APIs in DART 5: [#678](https://github.com/dartsim/dart/pull/678) 869 870* Build and test issues 871 872 * Added CMake target for code coverage testing, and automatic reporting: [#688](https://github.com/dartsim/dart/pull/688), [#687](https://github.com/dartsim/dart/issues/687), [#638](https://github.com/dartsim/dart/pull/638), [#632](https://github.com/dartsim/dart/pull/632) 873 * Added missing `liburdfdom-dev` dependency in Ubuntu package: [#574](https://github.com/dartsim/dart/pull/574) 874 * Modulized DART libraries: [#706](https://github.com/dartsim/dart/pull/706), [#675](https://github.com/dartsim/dart/pull/675), [#652](https://github.com/dartsim/dart/pull/652), [#477](https://github.com/dartsim/dart/issues/477) 875 * Improved Travis-CI script: [#655](https://github.com/dartsim/dart/pull/655) 876 * Improved CMake script by splitting tutorials, examples, and tests into separate targets: [#644](https://github.com/dartsim/dart/pull/644) 877 * Improved wording of the cmake warning messages for ASSIMP: [#553](https://github.com/dartsim/dart/pull/553) 878 * Changed Travis-CI to treat warning as errors using `-Werror` flags: [#682](https://github.com/dartsim/dart/pull/682), [#677](https://github.com/dartsim/dart/issues/677) 879 * Changed Travis-CI to test DART with bullet collision detector: [#650](https://github.com/dartsim/dart/pull/650), [#376](https://github.com/dartsim/dart/issues/376) 880 * Changed the minimum requirement of Visual Studio version to 2015: [#592](https://github.com/dartsim/dart/issues/592) 881 * Changed CMake to build gui::osg examples when `DART_BUILD_EXAMPLES` is on: [#536](https://github.com/dartsim/dart/pull/536) 882 * Simplfied Travis-CI tests for general pushes: [#700](https://github.com/dartsim/dart/pull/700) 883 * Fixed Eigen memory alignment issue in testCollision.cpp: [#719](https://github.com/dartsim/dart/pull/719) 884 * Fixed `BULLET_INCLUDE_DIRS` in `DARTConfig.cmake`: [#697](https://github.com/dartsim/dart/pull/697) 885 * Fixed linking with Bullet on OS X El Capitan by supporting for Bullet built with double precision: [#660](https://github.com/dartsim/dart/pull/660), [#657](https://github.com/dartsim/dart/issues/657) 886 * Fixed FCL version check logic in the main `CMakeLists.txt`: [#640](https://github.com/dartsim/dart/pull/640) 887 * Fixed `find_package(DART)` on optimizer components: [#637](https://github.com/dartsim/dart/pull/637) 888 * Fixed linking against `${DART_LIBRARIES}` not working in Ubuntu 14.04: [#630](https://github.com/dartsim/dart/pull/630), [#629](https://github.com/dartsim/dart/issues/629) 889 * Fixed Visual Studio 2015 build errors: [#580](https://github.com/dartsim/dart/pull/580) 890 * Removed OpenGL dependency from `dart` library: [#667](https://github.com/dartsim/dart/pull/667) 891 * Removed version check for Bullet: [#636](https://github.com/dartsim/dart/pull/636), [#625](https://github.com/dartsim/dart/issues/625) 892 893## DART 5 894 895### Version 5.1.6 (2017-08-08) 896 8971. Improved camera movement of OpenGL GUI: smooth zooming and translation 898 * [Pull request #843](https://github.com/dartsim/dart/pull/843) 899 9002. Removed debian meta files from the main DART repository 901 * [Pull request #853](https://github.com/dartsim/dart/pull/853) 902 903### Version 5.1.5 (2017-01-20) 904 9051. Fixed Lemke LCP solver for several failing cases 906 * [Pull request #808](https://github.com/dartsim/dart/pull/808) 907 9081. Increase minimum required Ipopt version to 3.11.9 909 * [Pull request #800](https://github.com/dartsim/dart/pull/800) 910 9111. Added support of urdfdom_headers 1.0 for DART 5.1 (backport of [#766](https://github.com/dartsim/dart/pull/766)) 912 * [Pull request #799](https://github.com/dartsim/dart/pull/799) 913 914### Version 5.1.4 (2016-10-14) 915 9161. Fixed inconsistent frame rate of GlutWindow 917 * [Pull request #794](https://github.com/dartsim/dart/pull/794) 918 919### Version 5.1.3 (2016-10-07) 920 9211. Updated to support Bullet built with double precision (backport of [#660](https://github.com/dartsim/dart/pull/660)) 922 * [Pull request #777](https://github.com/dartsim/dart/pull/777) 923 9241. Modified to use btGImpactMeshShape instead of btConvexTriangleMeshShape for mesh 925 * [Pull request #764](https://github.com/dartsim/dart/pull/764) 926 9271. Updated to support FCL 0.5 and tinyxml 4.0 (backport of [#749](https://github.com/dartsim/dart/pull/749)) 928 * [Pull request #759](https://github.com/dartsim/dart/pull/759) 929 930### Version 5.1.2 (2016-04-25) 931 9321. Fixed inverse kinematics (backporting) 933 * [Pull request #684](https://github.com/dartsim/dart/pull/684) 934 9351. Fixed aligned memory allocation with Eigen objects in loading meshes 936 * [Pull request #606](https://github.com/dartsim/dart/pull/606) 937 9381. Fixed incorrect applying joint constraint impulses (backporting) 939 * [Pull request #579](https://github.com/dartsim/dart/pull/579) 940 9411. Fixed some build and packaging issues 942 * [Pull request #559](https://github.com/dartsim/dart/pull/559) 943 * [Pull request #595](https://github.com/dartsim/dart/pull/595) 944 * [Pull request #696](https://github.com/dartsim/dart/pull/696) 945 946### Version 5.1.1 (2015-11-06) 947 9481. Add bullet dependency to package.xml 949 * [Pull request #523](https://github.com/dartsim/dart/pull/523) 950 9511. Improved handling of missing symbols of Assimp package 952 * [Pull request #542](https://github.com/dartsim/dart/pull/542) 953 9541. Improved travis-ci build log for Mac 955 * [Pull request #529](https://github.com/dartsim/dart/pull/529) 956 9571. Fixed warnings in Function.cpp 958 * [Pull request #550](https://github.com/dartsim/dart/pull/550) 959 9601. Fixed build failures on AppVeyor 961 * [Pull request #543](https://github.com/dartsim/dart/pull/543) 962 9631. Fixed const qualification of ResourceRetriever 964 * [Pull request #534](https://github.com/dartsim/dart/pull/534) 965 * [Issue #532](https://github.com/dartsim/dart/issues/532) 966 9671. Fixed aligned memory allocation with Eigen objects 968 * [Pull request #527](https://github.com/dartsim/dart/pull/527) 969 9701. Fixed copy safety for various classes 971 * [Pull request #526](https://github.com/dartsim/dart/pull/526) 972 * [Pull request #539](https://github.com/dartsim/dart/pull/539) 973 * [Issue #524](https://github.com/dartsim/dart/issues/524) 974 975### Version 5.1.0 (2015-10-15) 976 9771. Fixed incorrect rotational motion of BallJoint and FreeJoint 978 * [Pull request #518](https://github.com/dartsim/dart/pull/518) 979 9801. Removed old documents: dart-tutorial, programmingGuide 981 * [Pull request #515](https://github.com/dartsim/dart/pull/515) 982 9831. Fixed aligned memory allocation with Eigen objects 984 * [Pull request #513](https://github.com/dartsim/dart/pull/513) 985 9861. Fixed segfault in Linkage::Criteria 987 * [Pull request #491](https://github.com/dartsim/dart/pull/491) 988 * [Issue #489](https://github.com/dartsim/dart/issues/489) 989 9901. Improved sdf/urdf parser 991 * [Pull request #497](https://github.com/dartsim/dart/pull/497) 992 * [Pull request #485](https://github.com/dartsim/dart/pull/485) 993 9941. Fixed CMake warnings 995 * [Pull request #483](https://github.com/dartsim/dart/pull/483) 996 9971. Fixed build issues on Windows 998 * [Pull request #516](https://github.com/dartsim/dart/pull/516) 999 * [Pull request #509](https://github.com/dartsim/dart/pull/509) 1000 * [Pull request #486](https://github.com/dartsim/dart/pull/486) 1001 * [Pull request #482](https://github.com/dartsim/dart/pull/482) 1002 * [Issue #487](https://github.com/dartsim/dart/issues/487) 1003 10041. Fixed IpoptSolver bugs 1005 * [Pull request #481](https://github.com/dartsim/dart/pull/481) 1006 10071. Added Frame::getTransform(withRespecTo, inCoordinatesOf) 1008 * [Pull request #475](https://github.com/dartsim/dart/pull/475) 1009 * [Issue #471](https://github.com/dartsim/dart/issues/471) 1010 10111. Improved API documentation -- set the SHOW_USED_FILES tag to NO 1012 * [Pull request #474](https://github.com/dartsim/dart/pull/474) 1013 10141. Added convenience setters for generalized coordinates of FreeJoint 1015 * [Pull request #470](https://github.com/dartsim/dart/pull/470) 1016 * [Pull request #507](https://github.com/dartsim/dart/pull/507) 1017 10181. Fixed compilation warnings 1019 * [Pull request #480](https://github.com/dartsim/dart/pull/480) 1020 * [Pull request #469](https://github.com/dartsim/dart/pull/469) 1021 * [Issue #418](https://github.com/dartsim/dart/issues/418) 1022 10231. Added a mutex to Skeleton 1024 * [Pull request #466](https://github.com/dartsim/dart/pull/466) 1025 10261. Added generic URIs support 1027 * [Pull request #464](https://github.com/dartsim/dart/pull/464) 1028 * [Pull request #517](https://github.com/dartsim/dart/pull/517) 1029 10301. Added End Effector, Inverse Kinematics, and osgDart 1031 * [Pull request #461](https://github.com/dartsim/dart/pull/461) 1032 * [Pull request #495](https://github.com/dartsim/dart/pull/495) 1033 * [Pull request #502](https://github.com/dartsim/dart/pull/502) 1034 * [Pull request #506](https://github.com/dartsim/dart/pull/506) 1035 * [Pull request #514](https://github.com/dartsim/dart/pull/514) 1036 * [Issue #381](https://github.com/dartsim/dart/issues/381) 1037 * [Issue #454](https://github.com/dartsim/dart/issues/454) 1038 * [Issue #478](https://github.com/dartsim/dart/issues/478) 1039 10401. Removed outdated packaging scripts 1041 * [Pull request #456](https://github.com/dartsim/dart/pull/456) 1042 10431. Added initial position and initial velocity properties 1044 * [Pull request #449](https://github.com/dartsim/dart/pull/449) 1045 10461. Added a package.xml file for REP-136 support 1047 * [Pull request #446](https://github.com/dartsim/dart/pull/446) 1048 10491. Improved Linkage and Chain Criteria 1050 * [Pull request #443](https://github.com/dartsim/dart/pull/443) 1051 * [Issue #437](https://github.com/dartsim/dart/issues/437) 1052 10531. Added Joint::isCyclic to mark SO(2) topology 1054 * [Pull request #441](https://github.com/dartsim/dart/pull/441) 1055 10561. Fixed SEGFAULTs in DartLoader 1057 * [Pull request #439](https://github.com/dartsim/dart/pull/439) 1058 10591. Added the SYSTEM flag to include_directories 1060 * [Pull request #435](https://github.com/dartsim/dart/pull/435) 1061 10621. Improved Joint warning 1063 * [Pull request #430](https://github.com/dartsim/dart/pull/430) 1064 10651. Added tutorials (http://dart.readthedocs.org/) 1066 * [Pull request #504](https://github.com/dartsim/dart/pull/504) 1067 * [Pull request #484](https://github.com/dartsim/dart/pull/484) 1068 * [Pull request #423](https://github.com/dartsim/dart/pull/423) 1069 * [Pull request #511](https://github.com/dartsim/dart/pull/511) 1070 1071### Version 5.0.2 (2015-09-28) 1072 10731. Fixed bug in Jacobian update notifications 1074 * [Pull request #500](https://github.com/dartsim/dart/pull/500) 1075 * [Issue #499](https://github.com/dartsim/dart/issues/499) 1076 1077### Version 5.0.1 (2015-07-28) 1078 10791. Improved app indexing for bipedStand and atlasSimbicon 1080 * [Pull request #417](https://github.com/dartsim/dart/pull/417) 1081 10821. Added clipping command when it exceeds the limits 1083 * [Pull request #419](https://github.com/dartsim/dart/pull/419) 1084 10851. Improved CollisionNode's index validity check 1086 * [Pull request #421](https://github.com/dartsim/dart/pull/421) 1087 10881. Standardized warning messages for Joints 1089 * [Pull request #425](https://github.com/dartsim/dart/pull/425) 1090 * [Pull request #429](https://github.com/dartsim/dart/pull/429) 1091 10921. Fixed bug in SDF parser -- correct child for a joint 1093 * [Pull request #431](https://github.com/dartsim/dart/pull/431) 1094 10951. Fixed SDF parsing for single link model without joint 1096 * [Pull request #444](https://github.com/dartsim/dart/pull/444) 1097 10981. Added missing virtual destructors to Properties in Entity and [Soft]BodyNode 1099 * [Pull request #458](https://github.com/dartsim/dart/pull/458) 1100 11011. Limited maximum required version of Assimp less than 3.0~dfsg-4 1102 * [Pull request #459](https://github.com/dartsim/dart/pull/459) 1103 11041. Fixed SEGFAULTs in DartLoader 1105 * [Pull request #472](https://github.com/dartsim/dart/pull/472) 1106 1107### Version 5.0.0 (2015-06-15) 1108 11091. Fixed aligned memory allocation with Eigen objects 1110 * [Pull request #414](https://github.com/dartsim/dart/pull/414) 1111 11121. Added some missing API for DegreeOfFreedom 1113 * [Pull request #408](https://github.com/dartsim/dart/pull/408) 1114 11151. Replaced logMaps with Eigen::AngleAxisd 1116 * [Pull request #407](https://github.com/dartsim/dart/pull/407) 1117 11181. Improved FCL collision detector 1119 * [Pull request #405](https://github.com/dartsim/dart/pull/405) 1120 11211. Removed deprecated API and suppressed warnings 1122 * [Pull request #404](https://github.com/dartsim/dart/pull/404) 1123 11241. Added use of OpenGL's multisample anti-aliasing 1125 * [Pull request #402](https://github.com/dartsim/dart/pull/402) 1126 11271. Added computation of differences of generalized coordinates 1128 * [Pull request #389](https://github.com/dartsim/dart/pull/389) 1129 * [Issue #290](https://github.com/dartsim/dart/issues/290) 1130 11311. Added deprecated and force-linline definitions for clang 1132 * [Pull request #384](https://github.com/dartsim/dart/pull/384) 1133 * [Issue #379](https://github.com/dartsim/dart/issues/379) 1134 11351. Eradicated memory leaks and maked classes copy-safe and clonable 1136 * [Pull request #369](https://github.com/dartsim/dart/pull/369) 1137 * [Pull request #390](https://github.com/dartsim/dart/pull/390) 1138 * [Pull request #391](https://github.com/dartsim/dart/pull/391) 1139 * [Pull request #392](https://github.com/dartsim/dart/pull/392) 1140 * [Pull request #397](https://github.com/dartsim/dart/pull/397) 1141 * [Pull request #415](https://github.com/dartsim/dart/pull/415) 1142 * [Issue #280](https://github.com/dartsim/dart/issues/280) 1143 * [Issue #339](https://github.com/dartsim/dart/issues/339) 1144 * [Issue #370](https://github.com/dartsim/dart/issues/370) 1145 * [Issue #383](https://github.com/dartsim/dart/issues/383) 1146 11471. Improved PlaneShape constructors 1148 * [Pull request #366](https://github.com/dartsim/dart/pull/366) 1149 * [Pull request #377](https://github.com/dartsim/dart/pull/377) 1150 * [Issue #373](https://github.com/dartsim/dart/issues/373) 1151 11521. Added appveyor options for parallel build and detailed log 1153 * [Pull request #365](https://github.com/dartsim/dart/pull/365) 1154 11551. Improved robustness and package handling for URDF parsing 1156 * [Pull request #364](https://github.com/dartsim/dart/pull/364) 1157 11581. Fixed bug in BodyNode::_updateBodyJacobianSpatialDeriv() 1159 * [Pull request #363](https://github.com/dartsim/dart/pull/363) 1160 11611. Added alpha channel and Color functions 1162 * [Pull request #359](https://github.com/dartsim/dart/pull/359) 1163 * [Issue #358](https://github.com/dartsim/dart/issues/358) 1164 11651. Added Jacobian getters to Skeleton 1166 * [Pull request #357](https://github.com/dartsim/dart/pull/357) 1167 11681. Added ArrowShape for visualizing arrows 1169 * [Pull request #356](https://github.com/dartsim/dart/pull/356) 1170 11711. Fixed matrix dimension bug in operationalSpaceControl app 1172 * [Pull request #354](https://github.com/dartsim/dart/pull/354) 1173 11741. Added build type definitions 1175 * [Pull request #353](https://github.com/dartsim/dart/pull/353) 1176 11771. Added Signal class 1178 * [Pull request #350](https://github.com/dartsim/dart/pull/350) 1179 11801. Added LineSegmentShape for visualizing line segments 1181 * [Pull request #349](https://github.com/dartsim/dart/pull/349) 1182 * [Issue #346](https://github.com/dartsim/dart/issues/346) 1183 11841. Fixed segfault in SoftSdfParser 1185 * [Pull request #345](https://github.com/dartsim/dart/pull/345) 1186 11871. Added subscriptions for destructions and notifications 1188 * [Pull request #343](https://github.com/dartsim/dart/pull/343) 1189 11901. Added NloptSolver::[get/set]NumMaxEvaluations() 1191 * [Pull request #342](https://github.com/dartsim/dart/pull/342) 1192 11931. Added support of Eigen::VectorXd in parser 1194 * [Pull request #341](https://github.com/dartsim/dart/pull/341) 1195 11961. Added Skeleton::getNumJoints() 1197 * [Pull request #335](https://github.com/dartsim/dart/pull/335) 1198 11991. Fixed bug in DARTCollide for sphere-sphere collision 1200 * [Pull request #332](https://github.com/dartsim/dart/pull/332) 1201 12021. Fixed naming issues for Skeletons in World 1203 * [Pull request #331](https://github.com/dartsim/dart/pull/331) 1204 * [Issue #330](https://github.com/dartsim/dart/issues/330) 1205 12061. Added PlanarJoint support for URDF loader 1207 * [Pull request #326](https://github.com/dartsim/dart/pull/326) 1208 12091. Fixed rotation of the inertia reference frame for URDF loader 1210 * [Pull request #326](https://github.com/dartsim/dart/pull/326) 1211 * [Issue #47](https://github.com/dartsim/dart/issues/47) 1212 12131. Fixed bug in loading WorldFile 1214 * [Pull request #325](https://github.com/dartsim/dart/pull/325) 1215 12161. Added plotting of 2D trajectories 1217 * [Pull request #324](https://github.com/dartsim/dart/pull/324) 1218 12191. Removed unsupported axis orders of EulerJoint 1220 * [Pull request #323](https://github.com/dartsim/dart/pull/323) 1221 * [Issue #321](https://github.com/dartsim/dart/issues/321) 1222 12231. Added convenience functions to help with setting joint positions 1224 * [Pull request #322](https://github.com/dartsim/dart/pull/322) 1225 * [Pull request #338](https://github.com/dartsim/dart/pull/338) 1226 12271. Added Frame class and auto-updating for forward kinematics 1228 * [Pull request #319](https://github.com/dartsim/dart/pull/319) 1229 * [Pull request #344](https://github.com/dartsim/dart/pull/344) 1230 * [Pull request #367](https://github.com/dartsim/dart/pull/367) 1231 * [Pull request #380](https://github.com/dartsim/dart/pull/380) 1232 * [Issue #289](https://github.com/dartsim/dart/issues/289) 1233 * [Issue #294](https://github.com/dartsim/dart/issues/294) 1234 * [Issue #305](https://github.com/dartsim/dart/issues/305) 1235 12361. Added Travis-CI build test for OSX 1237 * [Pull request #313](https://github.com/dartsim/dart/pull/313) 1238 * [Issue #258](https://github.com/dartsim/dart/issues/258) 1239 12401. Added specification of minimum dependency version 1241 * [Pull request #306](https://github.com/dartsim/dart/pull/306) 1242 1243## DART 4 1244 1245### Version 4.3.7 (2018-01-05) 1246 12471. Updated DART 4.3 to be compatible with urdf 1.0/tinyxml2 6/flann 1.9.1 1248 * [Pull request #955](https://github.com/dartsim/dart/pull/955) 1249 1250### Version 4.3.6 (2016-04-16) 1251 12521. Fixed duplicate entries in Skeleton::mBodyNodes causing segfault in destructor 1253 * [Issue #671](https://github.com/dartsim/dart/issues/671) 1254 * [Pull request #672](https://github.com/dartsim/dart/pull/672) 1255 1256### Version 4.3.5 (2016-01-09) 1257 12581. Fixed incorrect applying of joint constraint impulses (backported from 6.0.0) 1259 * [Pull request #578](https://github.com/dartsim/dart/pull/578) 1260 1261### Version 4.3.4 (2015-01-24) 1262 12631. Fixed build issue with gtest on Mac 1264 * [Pull request #315](https://github.com/dartsim/dart/pull/315) 1265 1266### Version 4.3.3 (2015-01-23) 1267 12681. Fixed joint Coulomb friction 1269 * [Pull request #311](https://github.com/dartsim/dart/pull/311) 1270 1271### Version 4.3.2 (2015-01-22) 1272 12731. Fixed installation -- missing headers (utils/urdf, utils/sdf) 1274 1275### Version 4.3.1 (2015-01-21) 1276 12771. Fixed API incompatibility introduced by dart-4.3.0 1278 * [Issue #303](https://github.com/dartsim/dart/issues/303) 1279 * [Pull request #309](https://github.com/dartsim/dart/pull/309) 1280 1281### Version 4.3.0 (2015-01-19) 1282 12831. Added name manager for efficient name look-up and unique naming 1284 * [Pull request #277](https://github.com/dartsim/dart/pull/277) 12851. Added all-inclusive header and namespace headers 1286 * [Pull request #278](https://github.com/dartsim/dart/pull/278) 12871. Added DegreeOfFreedom class for getting/setting data of individual generalized coordinates 1288 * [Pull request #288](https://github.com/dartsim/dart/pull/288) 12891. Added hybrid dynamics 1290 * [Pull request #298](https://github.com/dartsim/dart/pull/298) 12911. Added joint actuator types 1292 * [Pull request #298](https://github.com/dartsim/dart/pull/298) 12931. Added Coulomb joint friction 1294 * [Pull request #301](https://github.com/dartsim/dart/pull/301) 12951. Migrated to C++11 1296 * [Pull request #268](https://github.com/dartsim/dart/pull/268) 1297 * [Pull request #299](https://github.com/dartsim/dart/pull/299) 12981. Improved readability of CMake output messages 1299 * [Pull request #272](https://github.com/dartsim/dart/pull/272) 13001. Fixed const-correctneess of member functions 1301 * [Pull request #277](https://github.com/dartsim/dart/pull/277) 13021. Added handling use of 'package:/' in URDF 1303 * [Pull request #273](https://github.com/dartsim/dart/pull/273) 1304 * [Issue #271](https://github.com/dartsim/dart/issues/271) 1305 1306### Version 4.2.1 (2015-01-07) 1307 13081. Fixed version numbering of shared libraries in debian packages 1309 * [Pull request #286](https://github.com/dartsim/dart/pull/286) 13101. Fixed Jacobian and its derivatives of FreeJoint/BallJoint 1311 * [Pull request #284](https://github.com/dartsim/dart/pull/284) 1312 1313### Version 4.2.0 (2014-11-22) 1314 13151. Added reset functions for Simulation and Recording class 1316 * [Pull request #231](https://github.com/dartsim/dart/pull/231) 13171. Added operational space control example 1318 * [Pull request #257](https://github.com/dartsim/dart/pull/257) 13191. Fixed misuse of Bullet collision shapes 1320 * [Pull request #228](https://github.com/dartsim/dart/pull/228) 13211. Fixed adjacent body pair check for Bullet collision detector 1322 * [Pull request #246](https://github.com/dartsim/dart/pull/246) 13231. Fixed incorrect computation of constraint impulse for BallJointConstraint and WeldJointContraint 1324 * [Pull request #247](https://github.com/dartsim/dart/pull/247) 13251. Improved generation of soft box shape for soft body 1326 * [Commit ec31f44](https://github.com/dartsim/dart/commit/ec31f44) 1327 1328### Version 4.1.1 (2014-07-17) 1329 13301. Added ABI check script 1331 * [Pull request #226](https://github.com/dartsim/dart/pull/226) 1332 * [Pull request #227](https://github.com/dartsim/dart/pull/227) 13331. Fixed build issues on Linux 1334 * [Pull request #214](https://github.com/dartsim/dart/pull/214) 1335 * [Pull request #219](https://github.com/dartsim/dart/pull/219) 13361. Fixed build issues on Windows 1337 * [Pull request #215](https://github.com/dartsim/dart/pull/215) 1338 * [Pull request #217](https://github.com/dartsim/dart/pull/217) 13391. Fixed unintended warning messages 1340 * [Pull request #220](https://github.com/dartsim/dart/pull/220) 1341 1342### Version 4.1.0 (2014-07-02) 1343 13441. Fixed bug in switching collision detectors 1345 * [Issue #127](https://github.com/dartsim/dart/issues/127) 1346 * [Pull request #195](https://github.com/dartsim/dart/pull/195) 13471. Fixed kinematics and dynamics when a skeleton has multiple parent-less bodies 1348 * [Pull request #196](https://github.com/dartsim/dart/pull/196) 13491. Fixed issue on installing DART 4 alongside DART 3 on Linux 1350 * [Issue #122](https://github.com/dartsim/dart/issues/122) 1351 * [Pull request #203](https://github.com/dartsim/dart/pull/203) 13521. Fixed warnings on gcc 1353 * [Pull request #206](https://github.com/dartsim/dart/pull/206) 13541. Renamed getDof() to getNumDofs() 1355 * [Pull request #209](https://github.com/dartsim/dart/pull/209) 13561. Added cylinder shape for soft body 1357 * [Pull request #210](https://github.com/dartsim/dart/pull/210) 1358 1359### Version 4.0.0 (2014-06-02) 1360 13611. Added implicit joint spring force and damping force 13621. Added planar joint 13631. Added soft body dynamics 13641. Added computation of velocity and acceleration of COM 13651. Added bullet collision detector 1366 * [Pull request #156](https://github.com/dartsim/dart/pull/156) 13671. Improved performance of forward dynamics algorithm 1368 * [Pull request #188](https://github.com/dartsim/dart/pull/188) 13691. Improved dynamics API for Skeleton and Joint 1370 * [Pull request #161](https://github.com/dartsim/dart/pull/161) 1371 * [Pull request #192](https://github.com/dartsim/dart/pull/192) 1372 * [Pull request #193](https://github.com/dartsim/dart/pull/193) 13731. Improved constraint dynamics solver 1374 * [Pull request #184](https://github.com/dartsim/dart/pull/184) 13751. Improved calculation of equations of motion using Featherstone algorithm 1376 * [Issue #85](https://github.com/dartsim/dart/issues/87) 13771. Improved optimizer interface and added nlopt solver 1378 * [Pull request #152](https://github.com/dartsim/dart/pull/152) 13791. Fixed self collision bug 1380 * [Issue #125](https://github.com/dartsim/dart/issues/125) 13811. Fixed incorrect integration of BallJoint and FreeJoint 1382 * [Issue #122](https://github.com/dartsim/dart/issues/122) 1383 * [Pull request #168](https://github.com/dartsim/dart/pull/168) 1384 1385## DART 3 1386 1387### Version 3.0 (2013-11-04) 1388 13891. Removed Transformation classes. Their functionality is now included in joint classes. 13901. Added Featherstone algorithm. Can currently only be used without collision handling. The old algortihm is still present and used for that case. 13911. Removed kinematics namespace. Functionality is moved to dynamics classes. 13921. Added dart root namespace 13931. A lot of function and variable renames 13941. Added constraint namespace 13951. Added "common" namespace 1396 1397## DART 2 1398 1399### Version 2.6 (2013-09-07) 1400 14011. Clean-up of build system: 1402 * Renamed DART_INCLUDEDIR to the standard-compliant DART_INCLUDE_DIRS in CMake files. Users need to adapt their CMake files for this change. 1403 * Users no longer need to call find_package(DARTExt) in the CMake files. A call to find_package(DART) also finds its dependencies now. 1404 * Allow user to overwrite installation prefix 1405 * Add possibility to include DART header files as '#include \<dart/dynamics/Skeleton.h\>' in addition to '#include \<dynamics/Skeleton.h\>' 1406 * Allow out-of-source builds 14071. URDF loader: 1408 * Major clean-up 1409 * Consider mesh scaling factor 1410 1411### Version 2.5 (2013-07-16) 1412 14131. Replaced robotics::World with simulation::World 14141. Removed robotics::Robot 14151. Added simulation::SimWindow 14161. Some speed-up of Eigen calculations 14171. Added abstract trajectory interface 14181. ConstraintDynamics handles contact, joint limit and other constraint forces simultaneously 14191. Improved Lemke algorithm for solving LCP 14201. Renamed skeletonDynamics::getQDotVector() to getPoseVelocity() 14211. Added abstract CollisionDetector interface allowing for multiple different collision detector implementations. 14221. Created math namespace 14231. Added System class as base class to Skeleton and Joint 14241. URDF loader: Removed ability to load nonstandard URDF files with an object tag 14251. Added support for multiple shapes per BodyNode 14261. Made urdfdom a dependency instead of including it in the DART source 14271. Added function to CollisionDetector to let user check a specific pair of BodyNodes for collision 1428 1429### Version 2.4 (2013-03-05) 1430 14311. Mass and inertia are no longer stored in Shape but in BodyNode. 14321. Different shapes for collision and visualization (not just different meshes) 14331. Shapes are no longer centered at the COM but can be transformed independently relative to the link frame. 14341. Improved URDF support 1435 * Support for non-mesh shapes 1436 * Does not create dummy root nodes anymore 1437 * Support for continuous joints 1438 * Support for arbitrary joint axes for revolute joints (but not for prismatic joints) instead of only axis-aligned joint axes 1439 * Support for relative mesh paths even if the robot and world URDF files are in different directories 1440 * All supported joint types can be root joints 14411. Clean-up of the Robot class 14421. Removed Object class 14431. More robust build and installation process on Linux 1444