dartpy 7.0.0.dev0__cp313-cp313-manylinux_2_39_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dartpy might be problematic. Click here for more details.

Files changed (994) hide show
  1. dartpy-7.0.0.dev0.dist-info/METADATA +86 -0
  2. dartpy-7.0.0.dev0.dist-info/RECORD +994 -0
  3. dartpy-7.0.0.dev0.dist-info/WHEEL +5 -0
  4. dartpy-7.0.0.dev0.dist-info/licenses/LICENSE +31 -0
  5. dartpy.cpython-313-x86_64-linux-gnu.so +0 -0
  6. dartpy.libs/libBulletCollision-f96eb02c.so.3.25 +0 -0
  7. dartpy.libs/libBulletDynamics-3cff1f18.so.3.25 +0 -0
  8. dartpy.libs/libBulletSoftBody-220f01bd.so.3.25 +0 -0
  9. dartpy.libs/libLinearMath-71568d02.so.3.25 +0 -0
  10. dartpy.libs/libOpenThreads-8bc434db.so.3.3.1 +0 -0
  11. dartpy.libs/libSDL2-2-3db87ac0.0.so.0.3200.56 +0 -0
  12. dartpy.libs/libassimp-44cf3e77.so.5.4.3 +0 -0
  13. dartpy.libs/libccd-4f119cf4.so.2.0 +0 -0
  14. dartpy.libs/libconsole_bridge-f26e11cc.so.1.0 +0 -0
  15. dartpy.libs/libfcl-0400fc28.so.0.7.0 +0 -0
  16. dartpy.libs/libfmt-277170bf.so.11.2.0 +0 -0
  17. dartpy.libs/libfontconfig-582da43c.so.1.14.0 +0 -0
  18. dartpy.libs/libfreetype-64806fc6.so.6.20.4 +0 -0
  19. dartpy.libs/libglfw-6f066845.so.3.4 +0 -0
  20. dartpy.libs/libimgui-ab87b07d.so +0 -0
  21. dartpy.libs/libnlopt-d1ae937b.so.1.0.0 +0 -0
  22. dartpy.libs/liboctomap-38e56f99.so.1.10.0 +0 -0
  23. dartpy.libs/liboctomath-bff26442.so.1.10.0 +0 -0
  24. dartpy.libs/libode-99b67f5b.so.8.2.0 +0 -0
  25. dartpy.libs/libosg-e67375e5.so.3.6.5 +0 -0
  26. dartpy.libs/libosgDB-bcdb6be9.so.3.6.5 +0 -0
  27. dartpy.libs/libosgGA-6af4078b.so.3.6.5 +0 -0
  28. dartpy.libs/libosgManipulator-3270f659.so.3.6.5 +0 -0
  29. dartpy.libs/libosgShadow-127a8d77.so.3.6.5 +0 -0
  30. dartpy.libs/libosgText-87d82d87.so.3.6.5 +0 -0
  31. dartpy.libs/libosgUtil-55896958.so.3.6.5 +0 -0
  32. dartpy.libs/libosgViewer-76d832e3.so.3.6.5 +0 -0
  33. dartpy.libs/libpng16-bd65464e.so.16.50.0 +0 -0
  34. dartpy.libs/libtinyxml2-8d10763c.so.11.0.0 +0 -0
  35. dartpy.libs/liburdfdom_model-7b26ae88.so.4.0 +0 -0
  36. dartpy.libs/liburdfdom_model_state-95a5ad6e.so.4.0 +0 -0
  37. dartpy.libs/liburdfdom_sensor-55a145ea.so.4.0 +0 -0
  38. dartpy.libs/liburdfdom_world-a32c7194.so.4.0 +0 -0
  39. dartpy.libs/libvulkan-08e1e162.so.1.4.328 +0 -0
  40. include/dart/collision/CollisionDetector.hpp +305 -0
  41. include/dart/collision/CollisionFilter.hpp +126 -0
  42. include/dart/collision/CollisionGroup.hpp +546 -0
  43. include/dart/collision/CollisionObject.hpp +90 -0
  44. include/dart/collision/CollisionOption.hpp +71 -0
  45. include/dart/collision/CollisionResult.hpp +109 -0
  46. include/dart/collision/Contact.hpp +103 -0
  47. include/dart/collision/DistanceFilter.hpp +66 -0
  48. include/dart/collision/DistanceOption.hpp +80 -0
  49. include/dart/collision/DistanceResult.hpp +123 -0
  50. include/dart/collision/Option.hpp +42 -0
  51. include/dart/collision/RaycastOption.hpp +58 -0
  52. include/dart/collision/RaycastResult.hpp +80 -0
  53. include/dart/collision/Result.hpp +42 -0
  54. include/dart/collision/SmartPointer.hpp +51 -0
  55. include/dart/collision/all.hpp +17 -0
  56. include/dart/collision/bullet/BulletCollisionDetector.hpp +168 -0
  57. include/dart/collision/bullet/BulletCollisionGroup.hpp +98 -0
  58. include/dart/collision/bullet/BulletCollisionObject.hpp +75 -0
  59. include/dart/collision/bullet/BulletCollisionShape.hpp +62 -0
  60. include/dart/collision/bullet/BulletInclude.hpp +47 -0
  61. include/dart/collision/bullet/BulletTypes.hpp +57 -0
  62. include/dart/collision/bullet/all.hpp +8 -0
  63. include/dart/collision/bullet/bullet.hpp +14 -0
  64. include/dart/collision/bullet/detail/BulletCollisionDispatcher.hpp +70 -0
  65. include/dart/collision/bullet/detail/BulletOverlapFilterCallback.hpp +72 -0
  66. include/dart/collision/collision.hpp +14 -0
  67. include/dart/collision/dart/DARTCollide.hpp +106 -0
  68. include/dart/collision/dart/DARTCollisionDetector.hpp +109 -0
  69. include/dart/collision/dart/DARTCollisionGroup.hpp +82 -0
  70. include/dart/collision/dart/DARTCollisionObject.hpp +63 -0
  71. include/dart/collision/dart/all.hpp +6 -0
  72. include/dart/collision/dart/dart.hpp +14 -0
  73. include/dart/collision/detail/CollisionDetector.hpp +66 -0
  74. include/dart/collision/detail/CollisionGroup.hpp +287 -0
  75. include/dart/collision/detail/Contact-impl.hpp +56 -0
  76. include/dart/collision/detail/UnorderedPairs.hpp +153 -0
  77. include/dart/collision/fcl/BackwardCompatibility.hpp +145 -0
  78. include/dart/collision/fcl/CollisionShapes.hpp +374 -0
  79. include/dart/collision/fcl/FCLCollisionDetector.hpp +204 -0
  80. include/dart/collision/fcl/FCLCollisionGroup.hpp +95 -0
  81. include/dart/collision/fcl/FCLCollisionObject.hpp +72 -0
  82. include/dart/collision/fcl/FCLTypes.hpp +62 -0
  83. include/dart/collision/fcl/TriTriIntersectionTest.hpp +17 -0
  84. include/dart/collision/fcl/all.hpp +9 -0
  85. include/dart/collision/fcl/fcl.hpp +14 -0
  86. include/dart/collision/fcl/tri_tri_intersection_test.hpp +332 -0
  87. include/dart/collision/ode/OdeCollisionDetector.hpp +131 -0
  88. include/dart/collision/ode/OdeCollisionGroup.hpp +87 -0
  89. include/dart/collision/ode/OdeCollisionObject.hpp +89 -0
  90. include/dart/collision/ode/OdeTypes.hpp +51 -0
  91. include/dart/collision/ode/all.hpp +6 -0
  92. include/dart/collision/ode/detail/OdeBox.hpp +58 -0
  93. include/dart/collision/ode/detail/OdeCapsule.hpp +58 -0
  94. include/dart/collision/ode/detail/OdeCylinder.hpp +58 -0
  95. include/dart/collision/ode/detail/OdeGeom.hpp +83 -0
  96. include/dart/collision/ode/detail/OdeHeightmap-impl.hpp +170 -0
  97. include/dart/collision/ode/detail/OdeHeightmap.hpp +70 -0
  98. include/dart/collision/ode/detail/OdeMesh.hpp +83 -0
  99. include/dart/collision/ode/detail/OdePlane.hpp +67 -0
  100. include/dart/collision/ode/detail/OdeSphere.hpp +58 -0
  101. include/dart/collision/ode/ode.hpp +14 -0
  102. include/dart/common/Aspect.hpp +215 -0
  103. include/dart/common/AspectWithVersion.hpp +180 -0
  104. include/dart/common/CAllocator.hpp +65 -0
  105. include/dart/common/Castable.hpp +102 -0
  106. include/dart/common/ClassWithVirtualBase.hpp +47 -0
  107. include/dart/common/Cloneable.hpp +327 -0
  108. include/dart/common/Composite.hpp +205 -0
  109. include/dart/common/CompositeJoiner.hpp +160 -0
  110. include/dart/common/Console.hpp +75 -0
  111. include/dart/common/Deprecated.hpp +126 -0
  112. include/dart/common/EmbeddedAspect.hpp +466 -0
  113. include/dart/common/Empty.hpp +55 -0
  114. include/dart/common/Factory.hpp +146 -0
  115. include/dart/common/Filesystem.hpp +112 -0
  116. include/dart/common/FreeListAllocator.hpp +162 -0
  117. include/dart/common/IncludeWindows.hpp +50 -0
  118. include/dart/common/LocalResource.hpp +76 -0
  119. include/dart/common/LocalResourceRetriever.hpp +63 -0
  120. include/dart/common/LockableReference.hpp +166 -0
  121. include/dart/common/Logging.hpp +146 -0
  122. include/dart/common/Macros.hpp +78 -0
  123. include/dart/common/Memory.hpp +215 -0
  124. include/dart/common/MemoryAllocator.hpp +120 -0
  125. include/dart/common/MemoryAllocatorDebugger.hpp +98 -0
  126. include/dart/common/MemoryManager.hpp +189 -0
  127. include/dart/common/Metaprogramming.hpp +68 -0
  128. include/dart/common/NameManager.hpp +184 -0
  129. include/dart/common/Observer.hpp +85 -0
  130. include/dart/common/Optional.hpp +48 -0
  131. include/dart/common/Platform.hpp +92 -0
  132. include/dart/common/PoolAllocator.hpp +141 -0
  133. include/dart/common/Profile.hpp +56 -0
  134. include/dart/common/ProxyAspect.hpp +93 -0
  135. include/dart/common/RequiresAspect.hpp +79 -0
  136. include/dart/common/Resource.hpp +96 -0
  137. include/dart/common/ResourceRetriever.hpp +82 -0
  138. include/dart/common/SharedLibrary.hpp +201 -0
  139. include/dart/common/Signal.hpp +250 -0
  140. include/dart/common/Singleton.hpp +85 -0
  141. include/dart/common/SmartPointer.hpp +63 -0
  142. include/dart/common/SpecializedForAspect.hpp +207 -0
  143. include/dart/common/StlAllocator.hpp +111 -0
  144. include/dart/common/StlHelpers.hpp +61 -0
  145. include/dart/common/Stopwatch.hpp +143 -0
  146. include/dart/common/String.hpp +71 -0
  147. include/dart/common/SubPtr.hpp +17 -0
  148. include/dart/common/Subject.hpp +84 -0
  149. include/dart/common/Timer.hpp +119 -0
  150. include/dart/common/Uri.hpp +229 -0
  151. include/dart/common/VersionCounter.hpp +68 -0
  152. include/dart/common/Virtual.hpp +51 -0
  153. include/dart/common/all.hpp +53 -0
  154. include/dart/common/common.hpp +14 -0
  155. include/dart/common/detail/Aspect.hpp +102 -0
  156. include/dart/common/detail/AspectWithVersion.hpp +455 -0
  157. include/dart/common/detail/Castable-impl.hpp +109 -0
  158. include/dart/common/detail/Cloneable.hpp +638 -0
  159. include/dart/common/detail/Composite.hpp +241 -0
  160. include/dart/common/detail/CompositeData.hpp +393 -0
  161. include/dart/common/detail/CompositeJoiner.hpp +128 -0
  162. include/dart/common/detail/ConnectionBody.hpp +157 -0
  163. include/dart/common/detail/EmbeddedAspect.hpp +487 -0
  164. include/dart/common/detail/Factory-impl.hpp +200 -0
  165. include/dart/common/detail/LockableReference-impl.hpp +156 -0
  166. include/dart/common/detail/Logging-impl.hpp +162 -0
  167. include/dart/common/detail/Memory-impl.hpp +66 -0
  168. include/dart/common/detail/MemoryAllocator-impl.hpp +97 -0
  169. include/dart/common/detail/MemoryAllocatorDebugger-impl.hpp +201 -0
  170. include/dart/common/detail/MemoryManager-impl.hpp +102 -0
  171. include/dart/common/detail/Metaprogramming-impl.hpp +89 -0
  172. include/dart/common/detail/NameManager.hpp +301 -0
  173. include/dart/common/detail/NoOp.hpp +57 -0
  174. include/dart/common/detail/ProxyAspect.hpp +172 -0
  175. include/dart/common/detail/RequiresAspect.hpp +51 -0
  176. include/dart/common/detail/SharedLibraryManager.hpp +106 -0
  177. include/dart/common/detail/Signal.hpp +242 -0
  178. include/dart/common/detail/Singleton-impl.hpp +74 -0
  179. include/dart/common/detail/SpecializedForAspect.hpp +331 -0
  180. include/dart/common/detail/StlAllocator-impl.hpp +108 -0
  181. include/dart/common/detail/Stopwatch-impl.hpp +242 -0
  182. include/dart/common/detail/SubPtr.hpp +17 -0
  183. include/dart/common/detail/TemplateJoinerDispatchMacro.hpp +59 -0
  184. include/dart/common/detail/sub_ptr.hpp +139 -0
  185. include/dart/common/sub_ptr.hpp +103 -0
  186. include/dart/config.hpp +100 -0
  187. include/dart/constraint/BalanceConstraint.hpp +202 -0
  188. include/dart/constraint/BallJointConstraint.hpp +142 -0
  189. include/dart/constraint/BoxedLcpConstraintSolver.hpp +182 -0
  190. include/dart/constraint/BoxedLcpSolver.hpp +101 -0
  191. include/dart/constraint/ConstrainedGroup.hpp +120 -0
  192. include/dart/constraint/ConstraintBase.hpp +141 -0
  193. include/dart/constraint/ConstraintSolver.hpp +325 -0
  194. include/dart/constraint/ContactConstraint.hpp +286 -0
  195. include/dart/constraint/ContactSurface.hpp +191 -0
  196. include/dart/constraint/DantzigBoxedLcpSolver.hpp +71 -0
  197. include/dart/constraint/DantzigLCPSolver.hpp +87 -0
  198. include/dart/constraint/DynamicJointConstraint.hpp +120 -0
  199. include/dart/constraint/JointConstraint.hpp +182 -0
  200. include/dart/constraint/JointCoulombFrictionConstraint.hpp +149 -0
  201. include/dart/constraint/JointLimitConstraint.hpp +185 -0
  202. include/dart/constraint/LCPSolver.hpp +71 -0
  203. include/dart/constraint/MimicMotorConstraint.hpp +164 -0
  204. include/dart/constraint/PGSLCPSolver.hpp +109 -0
  205. include/dart/constraint/PgsBoxedLcpSolver.hpp +106 -0
  206. include/dart/constraint/ServoMotorConstraint.hpp +151 -0
  207. include/dart/constraint/SmartPointer.hpp +69 -0
  208. include/dart/constraint/SoftContactConstraint.hpp +262 -0
  209. include/dart/constraint/WeldJointConstraint.hpp +133 -0
  210. include/dart/constraint/all.hpp +25 -0
  211. include/dart/constraint/constraint.hpp +14 -0
  212. include/dart/constraint/detail/ConstraintSolver-impl.hpp +78 -0
  213. include/dart/dart.hpp +44 -0
  214. include/dart/dynamics/ArrowShape.hpp +121 -0
  215. include/dart/dynamics/AssimpInputResourceAdaptor.hpp +129 -0
  216. include/dart/dynamics/BallJoint.hpp +143 -0
  217. include/dart/dynamics/BodyNode.hpp +1279 -0
  218. include/dart/dynamics/BoxShape.hpp +90 -0
  219. include/dart/dynamics/Branch.hpp +107 -0
  220. include/dart/dynamics/CapsuleShape.hpp +105 -0
  221. include/dart/dynamics/Chain.hpp +142 -0
  222. include/dart/dynamics/CompositeNode.hpp +114 -0
  223. include/dart/dynamics/ConeShape.hpp +107 -0
  224. include/dart/dynamics/CylinderShape.hpp +96 -0
  225. include/dart/dynamics/DegreeOfFreedom.hpp +415 -0
  226. include/dart/dynamics/EllipsoidShape.hpp +115 -0
  227. include/dart/dynamics/EndEffector.hpp +158 -0
  228. include/dart/dynamics/Entity.hpp +258 -0
  229. include/dart/dynamics/EntityNode.hpp +77 -0
  230. include/dart/dynamics/EulerJoint.hpp +174 -0
  231. include/dart/dynamics/FixedFrame.hpp +105 -0
  232. include/dart/dynamics/FixedJacobianNode.hpp +168 -0
  233. include/dart/dynamics/Frame.hpp +388 -0
  234. include/dart/dynamics/FreeJoint.hpp +369 -0
  235. include/dart/dynamics/GenericJoint.hpp +825 -0
  236. include/dart/dynamics/Group.hpp +270 -0
  237. include/dart/dynamics/HeightmapShape.hpp +195 -0
  238. include/dart/dynamics/HierarchicalIK.hpp +419 -0
  239. include/dart/dynamics/IkFast.hpp +277 -0
  240. include/dart/dynamics/Inertia.hpp +176 -0
  241. include/dart/dynamics/InvalidIndex.hpp +46 -0
  242. include/dart/dynamics/InverseKinematics.hpp +1401 -0
  243. include/dart/dynamics/JacobianNode.hpp +312 -0
  244. include/dart/dynamics/Joint.hpp +1128 -0
  245. include/dart/dynamics/LineSegmentShape.hpp +140 -0
  246. include/dart/dynamics/Linkage.hpp +246 -0
  247. include/dart/dynamics/Marker.hpp +126 -0
  248. include/dart/dynamics/MeshShape.hpp +225 -0
  249. include/dart/dynamics/MetaSkeleton.hpp +1034 -0
  250. include/dart/dynamics/MimicDofProperties.hpp +62 -0
  251. include/dart/dynamics/MultiSphereConvexHullShape.hpp +111 -0
  252. include/dart/dynamics/MultiSphereShape.hpp +42 -0
  253. include/dart/dynamics/Node.hpp +273 -0
  254. include/dart/dynamics/NodeManagerJoiner.hpp +190 -0
  255. include/dart/dynamics/PlanarJoint.hpp +161 -0
  256. include/dart/dynamics/PlaneShape.hpp +105 -0
  257. include/dart/dynamics/PointCloudShape.hpp +186 -0
  258. include/dart/dynamics/PointMass.hpp +709 -0
  259. include/dart/dynamics/PrismaticJoint.hpp +120 -0
  260. include/dart/dynamics/PyramidShape.hpp +122 -0
  261. include/dart/dynamics/ReferentialSkeleton.hpp +550 -0
  262. include/dart/dynamics/RevoluteJoint.hpp +120 -0
  263. include/dart/dynamics/ScrewJoint.hpp +126 -0
  264. include/dart/dynamics/Shape.hpp +231 -0
  265. include/dart/dynamics/ShapeFrame.hpp +291 -0
  266. include/dart/dynamics/ShapeNode.hpp +134 -0
  267. include/dart/dynamics/SharedLibraryIkFast.hpp +147 -0
  268. include/dart/dynamics/SimpleFrame.hpp +247 -0
  269. include/dart/dynamics/Skeleton.hpp +1350 -0
  270. include/dart/dynamics/SmartPointer.hpp +185 -0
  271. include/dart/dynamics/SoftBodyNode.hpp +472 -0
  272. include/dart/dynamics/SoftMeshShape.hpp +100 -0
  273. include/dart/dynamics/SpecializedNodeManager.hpp +230 -0
  274. include/dart/dynamics/SphereShape.hpp +89 -0
  275. include/dart/dynamics/TemplatedJacobianNode.hpp +128 -0
  276. include/dart/dynamics/TranslationalJoint.hpp +105 -0
  277. include/dart/dynamics/TranslationalJoint2D.hpp +156 -0
  278. include/dart/dynamics/UniversalJoint.hpp +128 -0
  279. include/dart/dynamics/VoxelGridShape.hpp +171 -0
  280. include/dart/dynamics/WeldJoint.hpp +116 -0
  281. include/dart/dynamics/ZeroDofJoint.hpp +562 -0
  282. include/dart/dynamics/all.hpp +69 -0
  283. include/dart/dynamics/detail/BasicNodeManager.hpp +539 -0
  284. include/dart/dynamics/detail/BodyNode.hpp +344 -0
  285. include/dart/dynamics/detail/BodyNodeAspect.hpp +177 -0
  286. include/dart/dynamics/detail/BodyNodePtr.hpp +351 -0
  287. include/dart/dynamics/detail/CompositeNode.hpp +93 -0
  288. include/dart/dynamics/detail/DegreeOfFreedomPtr.hpp +338 -0
  289. include/dart/dynamics/detail/EndEffectorAspect.hpp +106 -0
  290. include/dart/dynamics/detail/EntityNode.hpp +81 -0
  291. include/dart/dynamics/detail/EntityNodeAspect.hpp +101 -0
  292. include/dart/dynamics/detail/EulerJointAspect.hpp +93 -0
  293. include/dart/dynamics/detail/FixedFrameAspect.hpp +58 -0
  294. include/dart/dynamics/detail/FixedJacobianNode.hpp +55 -0
  295. include/dart/dynamics/detail/GenericJoint.hpp +2471 -0
  296. include/dart/dynamics/detail/GenericJointAspect.hpp +353 -0
  297. include/dart/dynamics/detail/HeightmapShape-impl.hpp +243 -0
  298. include/dart/dynamics/detail/InverseKinematics.hpp +83 -0
  299. include/dart/dynamics/detail/InverseKinematicsPtr.hpp +341 -0
  300. include/dart/dynamics/detail/JointAspect.hpp +161 -0
  301. include/dart/dynamics/detail/JointPtr.hpp +293 -0
  302. include/dart/dynamics/detail/MarkerAspect.hpp +68 -0
  303. include/dart/dynamics/detail/MetaSkeleton-impl.hpp +151 -0
  304. include/dart/dynamics/detail/Node.hpp +532 -0
  305. include/dart/dynamics/detail/NodeManagerJoiner.hpp +184 -0
  306. include/dart/dynamics/detail/NodePtr.hpp +259 -0
  307. include/dart/dynamics/detail/PlanarJointAspect.hpp +136 -0
  308. include/dart/dynamics/detail/PrismaticJointAspect.hpp +85 -0
  309. include/dart/dynamics/detail/RevoluteJointAspect.hpp +86 -0
  310. include/dart/dynamics/detail/ScrewJointAspect.hpp +90 -0
  311. include/dart/dynamics/detail/ShapeFrameAspect.hpp +169 -0
  312. include/dart/dynamics/detail/ShapeNode.hpp +51 -0
  313. include/dart/dynamics/detail/Skeleton.hpp +92 -0
  314. include/dart/dynamics/detail/SkeletonAspect.hpp +181 -0
  315. include/dart/dynamics/detail/SoftBodyNodeAspect.hpp +132 -0
  316. include/dart/dynamics/detail/SpecializedNodeManager.hpp +324 -0
  317. include/dart/dynamics/detail/TemplatedJacobianNode.hpp +294 -0
  318. include/dart/dynamics/detail/TranslationalJoint2DAspect.hpp +140 -0
  319. include/dart/dynamics/detail/UniversalJointAspect.hpp +86 -0
  320. include/dart/dynamics/dynamics.hpp +14 -0
  321. include/dart/dynamics/ikfast.h +345 -0
  322. include/dart/external/convhull_3d/convhull_3d.h +1878 -0
  323. include/dart/external/convhull_3d/safe_convhull_3d.h +53 -0
  324. include/dart/external/odelcpsolver/common.h +418 -0
  325. include/dart/external/odelcpsolver/error.h +62 -0
  326. include/dart/external/odelcpsolver/lcp.h +75 -0
  327. include/dart/external/odelcpsolver/matrix.h +277 -0
  328. include/dart/external/odelcpsolver/misc.h +82 -0
  329. include/dart/external/odelcpsolver/odeconfig.h +110 -0
  330. include/dart/gui/osg/DefaultEventHandler.hpp +237 -0
  331. include/dart/gui/osg/DragAndDrop.hpp +360 -0
  332. include/dart/gui/osg/GridVisual.hpp +218 -0
  333. include/dart/gui/osg/ImGuiHandler.hpp +113 -0
  334. include/dart/gui/osg/ImGuiViewer.hpp +83 -0
  335. include/dart/gui/osg/ImGuiWidget.hpp +91 -0
  336. include/dart/gui/osg/IncludeImGui.hpp +75 -0
  337. include/dart/gui/osg/InteractiveFrame.hpp +170 -0
  338. include/dart/gui/osg/MouseEventHandler.hpp +76 -0
  339. include/dart/gui/osg/RealTimeWorldNode.hpp +126 -0
  340. include/dart/gui/osg/ShapeFrameNode.hpp +117 -0
  341. include/dart/gui/osg/SupportPolygonVisual.hpp +202 -0
  342. include/dart/gui/osg/TrackballManipulator.hpp +97 -0
  343. include/dart/gui/osg/Utils.hpp +120 -0
  344. include/dart/gui/osg/Viewer.hpp +427 -0
  345. include/dart/gui/osg/WorldNode.hpp +211 -0
  346. include/dart/gui/osg/all.hpp +19 -0
  347. include/dart/gui/osg/detail/CameraModeCallback.hpp +82 -0
  348. include/dart/gui/osg/detail/Utils-impl.hpp +160 -0
  349. include/dart/gui/osg/osg.hpp +14 -0
  350. include/dart/gui/osg/render/BoxShapeNode.hpp +74 -0
  351. include/dart/gui/osg/render/CapsuleShapeNode.hpp +75 -0
  352. include/dart/gui/osg/render/ConeShapeNode.hpp +74 -0
  353. include/dart/gui/osg/render/CylinderShapeNode.hpp +75 -0
  354. include/dart/gui/osg/render/EllipsoidShapeNode.hpp +76 -0
  355. include/dart/gui/osg/render/HeightmapShapeNode.hpp +485 -0
  356. include/dart/gui/osg/render/LineSegmentShapeNode.hpp +75 -0
  357. include/dart/gui/osg/render/MeshShapeNode.hpp +86 -0
  358. include/dart/gui/osg/render/MultiSphereShapeNode.hpp +76 -0
  359. include/dart/gui/osg/render/PlaneShapeNode.hpp +75 -0
  360. include/dart/gui/osg/render/PointCloudShapeNode.hpp +85 -0
  361. include/dart/gui/osg/render/PyramidShapeNode.hpp +75 -0
  362. include/dart/gui/osg/render/ShapeNode.hpp +126 -0
  363. include/dart/gui/osg/render/SoftMeshShapeNode.hpp +75 -0
  364. include/dart/gui/osg/render/SphereShapeNode.hpp +76 -0
  365. include/dart/gui/osg/render/VoxelGridShapeNode.hpp +83 -0
  366. include/dart/gui/osg/render/WarningShapeNode.hpp +64 -0
  367. include/dart/gui/osg/render/all.hpp +19 -0
  368. include/dart/gui/osg/render/render.hpp +14 -0
  369. include/dart/integration/EulerIntegrator.hpp +64 -0
  370. include/dart/integration/Integrator.hpp +104 -0
  371. include/dart/integration/RK4Integrator.hpp +68 -0
  372. include/dart/integration/SemiImplicitEulerIntegrator.hpp +64 -0
  373. include/dart/integration/all.hpp +6 -0
  374. include/dart/integration/integration.hpp +14 -0
  375. include/dart/lcpsolver/Lemke.hpp +54 -0
  376. include/dart/lcpsolver/ODELCPSolver.hpp +88 -0
  377. include/dart/lcpsolver/all.hpp +4 -0
  378. include/dart/lcpsolver/lcpsolver.hpp +14 -0
  379. include/dart/math/ConfigurationSpace.hpp +144 -0
  380. include/dart/math/Constants.hpp +79 -0
  381. include/dart/math/Geometry.hpp +659 -0
  382. include/dart/math/Helpers.hpp +481 -0
  383. include/dart/math/Icosphere.hpp +106 -0
  384. include/dart/math/MathTypes.hpp +100 -0
  385. include/dart/math/Mesh.hpp +108 -0
  386. include/dart/math/Random.hpp +225 -0
  387. include/dart/math/TriMesh.hpp +121 -0
  388. include/dart/math/all.hpp +11 -0
  389. include/dart/math/detail/ConfigurationSpace.hpp +235 -0
  390. include/dart/math/detail/Geometry-impl.hpp +126 -0
  391. include/dart/math/detail/Icosphere-impl.hpp +214 -0
  392. include/dart/math/detail/Mesh-impl.hpp +151 -0
  393. include/dart/math/detail/Random-impl.hpp +353 -0
  394. include/dart/math/detail/TriMesh-impl.hpp +202 -0
  395. include/dart/math/math.hpp +14 -0
  396. include/dart/optimizer/Function.hpp +203 -0
  397. include/dart/optimizer/GenericMultiObjectiveProblem.hpp +174 -0
  398. include/dart/optimizer/GradientDescentSolver.hpp +240 -0
  399. include/dart/optimizer/MultiObjectiveProblem.hpp +168 -0
  400. include/dart/optimizer/MultiObjectiveSolver.hpp +168 -0
  401. include/dart/optimizer/Population.hpp +108 -0
  402. include/dart/optimizer/Problem.hpp +191 -0
  403. include/dart/optimizer/Solver.hpp +182 -0
  404. include/dart/optimizer/all.hpp +10 -0
  405. include/dart/optimizer/ipopt/BackwardCompatibility.hpp +43 -0
  406. include/dart/optimizer/ipopt/IpoptSolver.hpp +223 -0
  407. include/dart/optimizer/ipopt/all.hpp +4 -0
  408. include/dart/optimizer/ipopt/ipopt.hpp +14 -0
  409. include/dart/optimizer/nlopt/NloptSolver.hpp +212 -0
  410. include/dart/optimizer/nlopt/all.hpp +3 -0
  411. include/dart/optimizer/nlopt/nlopt.hpp +14 -0
  412. include/dart/optimizer/optimizer.hpp +14 -0
  413. include/dart/simulation/Recording.hpp +118 -0
  414. include/dart/simulation/SmartPointer.hpp +46 -0
  415. include/dart/simulation/World.hpp +405 -0
  416. include/dart/simulation/all.hpp +5 -0
  417. include/dart/simulation/detail/World-impl.hpp +129 -0
  418. include/dart/simulation/simulation.hpp +14 -0
  419. include/dart/utils/C3D.hpp +107 -0
  420. include/dart/utils/CompositeResourceRetriever.hpp +97 -0
  421. include/dart/utils/DartResourceRetriever.hpp +104 -0
  422. include/dart/utils/FileInfoC3D.hpp +91 -0
  423. include/dart/utils/FileInfoDof.hpp +109 -0
  424. include/dart/utils/FileInfoWorld.hpp +75 -0
  425. include/dart/utils/PackageResourceRetriever.hpp +118 -0
  426. include/dart/utils/SkelParser.hpp +70 -0
  427. include/dart/utils/VskParser.hpp +108 -0
  428. include/dart/utils/XmlHelpers.hpp +243 -0
  429. include/dart/utils/all.hpp +14 -0
  430. include/dart/utils/detail/XmlHelpers-impl.hpp +213 -0
  431. include/dart/utils/mjcf/MjcfParser.hpp +80 -0
  432. include/dart/utils/mjcf/all.hpp +3 -0
  433. include/dart/utils/mjcf/mjcf.hpp +14 -0
  434. include/dart/utils/sdf/SdfParser.hpp +98 -0
  435. include/dart/utils/sdf/all.hpp +3 -0
  436. include/dart/utils/sdf/sdf.hpp +14 -0
  437. include/dart/utils/urdf/BackwardCompatibility.hpp +52 -0
  438. include/dart/utils/urdf/DartLoader.hpp +277 -0
  439. include/dart/utils/urdf/IncludeUrdf.hpp +47 -0
  440. include/dart/utils/urdf/URDFTypes.hpp +42 -0
  441. include/dart/utils/urdf/all.hpp +5 -0
  442. include/dart/utils/urdf/urdf.hpp +14 -0
  443. include/dart/utils/urdf/urdf_world_parser.hpp +83 -0
  444. include/dart/utils/utils.hpp +14 -0
  445. lib64/libdart-collision-bullet.a +0 -0
  446. lib64/libdart-collision-ode.a +0 -0
  447. lib64/libdart-external-odelcpsolver.a +0 -0
  448. lib64/libdart-gui-osg.a +0 -0
  449. lib64/libdart-optimizer-ipopt.a +0 -0
  450. lib64/libdart-optimizer-nlopt.a +0 -0
  451. lib64/libdart-utils-urdf.a +0 -0
  452. lib64/libdart-utils.a +0 -0
  453. lib64/libdart.a +0 -0
  454. lib64/pkgconfig/dart.pc +12 -0
  455. share/dart/cmake/DARTConfig.cmake +194 -0
  456. share/dart/cmake/DARTConfigVersion.cmake +65 -0
  457. share/dart/cmake/DARTFindBullet.cmake +96 -0
  458. share/dart/cmake/DARTFindEigen3.cmake +9 -0
  459. share/dart/cmake/DARTFindIPOPT.cmake +20 -0
  460. share/dart/cmake/DARTFindNLOPT.cmake +17 -0
  461. share/dart/cmake/DARTFindODE.cmake +23 -0
  462. share/dart/cmake/DARTFindOpenSceneGraph.cmake +69 -0
  463. share/dart/cmake/DARTFindassimp.cmake +18 -0
  464. share/dart/cmake/DARTFindfcl.cmake +23 -0
  465. share/dart/cmake/DARTFindfmt.cmake +9 -0
  466. share/dart/cmake/DARTFindimgui.cmake +21 -0
  467. share/dart/cmake/DARTFindoctomap.cmake +17 -0
  468. share/dart/cmake/DARTFindspdlog.cmake +9 -0
  469. share/dart/cmake/DARTFindtinyxml2.cmake +27 -0
  470. share/dart/cmake/DARTFindurdfdom.cmake +29 -0
  471. share/dart/cmake/FindIPOPT.cmake +54 -0
  472. share/dart/cmake/FindNLOPT.cmake +54 -0
  473. share/dart/cmake/FindODE.cmake +54 -0
  474. share/dart/cmake/Findassimp.cmake +56 -0
  475. share/dart/cmake/Findfcl.cmake +67 -0
  476. share/dart/cmake/Findimgui.cmake +70 -0
  477. share/dart/cmake/Findtinyxml2.cmake +54 -0
  478. share/dart/cmake/dart_collision-bulletComponent.cmake +19 -0
  479. share/dart/cmake/dart_collision-bulletTargets-release.cmake +19 -0
  480. share/dart/cmake/dart_collision-bulletTargets.cmake +122 -0
  481. share/dart/cmake/dart_collision-odeComponent.cmake +19 -0
  482. share/dart/cmake/dart_collision-odeTargets-release.cmake +19 -0
  483. share/dart/cmake/dart_collision-odeTargets.cmake +122 -0
  484. share/dart/cmake/dart_dartComponent.cmake +19 -0
  485. share/dart/cmake/dart_dartTargets-release.cmake +19 -0
  486. share/dart/cmake/dart_dartTargets.cmake +125 -0
  487. share/dart/cmake/dart_external-odelcpsolverComponent.cmake +19 -0
  488. share/dart/cmake/dart_external-odelcpsolverTargets-release.cmake +19 -0
  489. share/dart/cmake/dart_external-odelcpsolverTargets.cmake +106 -0
  490. share/dart/cmake/dart_gui-osgComponent.cmake +19 -0
  491. share/dart/cmake/dart_gui-osgTargets-release.cmake +19 -0
  492. share/dart/cmake/dart_gui-osgTargets.cmake +122 -0
  493. share/dart/cmake/dart_optimizer-ipoptComponent.cmake +19 -0
  494. share/dart/cmake/dart_optimizer-ipoptTargets-release.cmake +19 -0
  495. share/dart/cmake/dart_optimizer-ipoptTargets.cmake +123 -0
  496. share/dart/cmake/dart_optimizer-nloptComponent.cmake +19 -0
  497. share/dart/cmake/dart_optimizer-nloptTargets-release.cmake +19 -0
  498. share/dart/cmake/dart_optimizer-nloptTargets.cmake +123 -0
  499. share/dart/cmake/dart_utils-urdfComponent.cmake +19 -0
  500. share/dart/cmake/dart_utils-urdfTargets-release.cmake +19 -0
  501. share/dart/cmake/dart_utils-urdfTargets.cmake +122 -0
  502. share/dart/cmake/dart_utilsComponent.cmake +19 -0
  503. share/dart/cmake/dart_utilsTargets-release.cmake +19 -0
  504. share/dart/cmake/dart_utilsTargets.cmake +122 -0
  505. share/dart/package.xml +42 -0
  506. share/doc/dart/data/c3d/nick_freeform_001.c3d +0 -0
  507. share/doc/dart/data/c3d/squat.c3d +0 -0
  508. share/doc/dart/data/dof/RHand.dof +205 -0
  509. share/doc/dart/data/dof/fixedHand.dof +205 -0
  510. share/doc/dart/data/dof/init_Tpose.dof +240 -0
  511. share/doc/dart/data/dof/same.dof +1003 -0
  512. share/doc/dart/data/dof/simMotion.dof +1817 -0
  513. share/doc/dart/data/dof/simMotion1.dof +1355 -0
  514. share/doc/dart/data/etc/fort.4 +43 -0
  515. share/doc/dart/data/humanJointLimits/neuralnets/net-larm +0 -0
  516. share/doc/dart/data/humanJointLimits/neuralnets/net-lleg +0 -0
  517. share/doc/dart/data/mjcf/openai/LICENSE.md +36 -0
  518. share/doc/dart/data/mjcf/openai/ant.xml +81 -0
  519. share/doc/dart/data/mjcf/openai/half_cheetah.xml +96 -0
  520. share/doc/dart/data/mjcf/openai/hopper.xml +50 -0
  521. share/doc/dart/data/mjcf/openai/humanoid.xml +121 -0
  522. share/doc/dart/data/mjcf/openai/humanoidstandup.xml +121 -0
  523. share/doc/dart/data/mjcf/openai/inverted_double_pendulum.xml +47 -0
  524. share/doc/dart/data/mjcf/openai/inverted_pendulum.xml +27 -0
  525. share/doc/dart/data/mjcf/openai/point.xml +31 -0
  526. share/doc/dart/data/mjcf/openai/pusher.xml +91 -0
  527. share/doc/dart/data/mjcf/openai/reacher.xml +39 -0
  528. share/doc/dart/data/mjcf/openai/robotics/fetch/pick_and_place.xml +35 -0
  529. share/doc/dart/data/mjcf/openai/robotics/fetch/push.xml +32 -0
  530. share/doc/dart/data/mjcf/openai/robotics/fetch/reach.xml +26 -0
  531. share/doc/dart/data/mjcf/openai/robotics/fetch/robot.xml +123 -0
  532. share/doc/dart/data/mjcf/openai/robotics/fetch/shared.xml +66 -0
  533. share/doc/dart/data/mjcf/openai/robotics/fetch/slide.xml +32 -0
  534. share/doc/dart/data/mjcf/openai/robotics/stls/.get +0 -0
  535. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/base_link_collision.stl +0 -0
  536. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/bellows_link_collision.stl +0 -0
  537. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/elbow_flex_link_collision.stl +0 -0
  538. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/estop_link.stl +0 -0
  539. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/forearm_roll_link_collision.stl +0 -0
  540. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/gripper_link.stl +0 -0
  541. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/head_pan_link_collision.stl +0 -0
  542. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/head_tilt_link_collision.stl +0 -0
  543. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/l_wheel_link_collision.stl +0 -0
  544. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/laser_link.stl +0 -0
  545. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/r_wheel_link_collision.stl +0 -0
  546. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/shoulder_lift_link_collision.stl +0 -0
  547. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/shoulder_pan_link_collision.stl +0 -0
  548. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/torso_fixed_link.stl +0 -0
  549. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/torso_lift_link_collision.stl +0 -0
  550. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/upperarm_roll_link_collision.stl +0 -0
  551. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/wrist_flex_link_collision.stl +0 -0
  552. share/doc/dart/data/mjcf/openai/robotics/stls/fetch/wrist_roll_link_collision.stl +0 -0
  553. share/doc/dart/data/mjcf/openai/robotics/textures/block.png +0 -0
  554. share/doc/dart/data/mjcf/openai/robotics/textures/block_hidden.png +0 -0
  555. share/doc/dart/data/mjcf/openai/striker.xml +101 -0
  556. share/doc/dart/data/mjcf/openai/swimmer.xml +39 -0
  557. share/doc/dart/data/mjcf/openai/thrower.xml +127 -0
  558. share/doc/dart/data/mjcf/openai/walker2d.xml +62 -0
  559. share/doc/dart/data/mjcf/test/default.xml +17 -0
  560. share/doc/dart/data/mjcf/test/include_default.xml +8 -0
  561. share/doc/dart/data/mjcf/test/include_main.xml +12 -0
  562. share/doc/dart/data/obj/Body_Hip.obj +22830 -0
  563. share/doc/dart/data/obj/BoxSmall.obj +23 -0
  564. share/doc/dart/data/obj/foot.obj +10970 -0
  565. share/doc/dart/data/other/torus1.path +11991 -0
  566. share/doc/dart/data/other/torus1.tris +5329 -0
  567. share/doc/dart/data/other/torus2.path +11991 -0
  568. share/doc/dart/data/other/torus2.tris +12961 -0
  569. share/doc/dart/data/screencap/.KEEP +0 -0
  570. share/doc/dart/data/sdf/atlas/atlas_v3.urdf +914 -0
  571. share/doc/dart/data/sdf/atlas/atlas_v3_no_head.sdf +1541 -0
  572. share/doc/dart/data/sdf/atlas/atlas_v3_no_head.urdf +914 -0
  573. share/doc/dart/data/sdf/atlas/atlas_v3_no_head_soft_feet.sdf +1567 -0
  574. share/doc/dart/data/sdf/atlas/ground.urdf +28 -0
  575. share/doc/dart/data/sdf/atlas/head.dae +8607 -0
  576. share/doc/dart/data/sdf/atlas/head.stl +0 -0
  577. share/doc/dart/data/sdf/atlas/head_camera.dae +2326 -0
  578. share/doc/dart/data/sdf/atlas/head_camera.stl +0 -0
  579. share/doc/dart/data/sdf/atlas/l_clav.dae +1278 -0
  580. share/doc/dart/data/sdf/atlas/l_clav.stl +0 -0
  581. share/doc/dart/data/sdf/atlas/l_farm.dae +1204 -0
  582. share/doc/dart/data/sdf/atlas/l_farm.stl +0 -0
  583. share/doc/dart/data/sdf/atlas/l_foot.dae +1330 -0
  584. share/doc/dart/data/sdf/atlas/l_foot.stl +0 -0
  585. share/doc/dart/data/sdf/atlas/l_hand.dae +964 -0
  586. share/doc/dart/data/sdf/atlas/l_hand.stl +0 -0
  587. share/doc/dart/data/sdf/atlas/l_larm.dae +1378 -0
  588. share/doc/dart/data/sdf/atlas/l_larm.stl +0 -0
  589. share/doc/dart/data/sdf/atlas/l_lglut.dae +897 -0
  590. share/doc/dart/data/sdf/atlas/l_lglut.stl +0 -0
  591. share/doc/dart/data/sdf/atlas/l_lleg.dae +6660 -0
  592. share/doc/dart/data/sdf/atlas/l_lleg.stl +0 -0
  593. share/doc/dart/data/sdf/atlas/l_scap.dae +1531 -0
  594. share/doc/dart/data/sdf/atlas/l_scap.stl +0 -0
  595. share/doc/dart/data/sdf/atlas/l_talus.dae +374 -0
  596. share/doc/dart/data/sdf/atlas/l_talus.stl +0 -0
  597. share/doc/dart/data/sdf/atlas/l_uarm.dae +1204 -0
  598. share/doc/dart/data/sdf/atlas/l_uarm.stl +0 -0
  599. share/doc/dart/data/sdf/atlas/l_uglut.dae +398 -0
  600. share/doc/dart/data/sdf/atlas/l_uglut.stl +0 -0
  601. share/doc/dart/data/sdf/atlas/l_uleg.dae +9087 -0
  602. share/doc/dart/data/sdf/atlas/l_uleg.stl +0 -0
  603. share/doc/dart/data/sdf/atlas/ltorso.dae +614 -0
  604. share/doc/dart/data/sdf/atlas/ltorso.stl +0 -0
  605. share/doc/dart/data/sdf/atlas/mtorso.dae +266 -0
  606. share/doc/dart/data/sdf/atlas/mtorso.stl +0 -0
  607. share/doc/dart/data/sdf/atlas/pelvis.dae +8727 -0
  608. share/doc/dart/data/sdf/atlas/pelvis.stl +0 -0
  609. share/doc/dart/data/sdf/atlas/r_clav.dae +1278 -0
  610. share/doc/dart/data/sdf/atlas/r_clav.stl +0 -0
  611. share/doc/dart/data/sdf/atlas/r_farm.dae +1204 -0
  612. share/doc/dart/data/sdf/atlas/r_farm.stl +0 -0
  613. share/doc/dart/data/sdf/atlas/r_foot.dae +1330 -0
  614. share/doc/dart/data/sdf/atlas/r_foot.stl +0 -0
  615. share/doc/dart/data/sdf/atlas/r_hand.dae +904 -0
  616. share/doc/dart/data/sdf/atlas/r_hand.stl +0 -0
  617. share/doc/dart/data/sdf/atlas/r_larm.dae +1378 -0
  618. share/doc/dart/data/sdf/atlas/r_larm.stl +0 -0
  619. share/doc/dart/data/sdf/atlas/r_lglut.dae +897 -0
  620. share/doc/dart/data/sdf/atlas/r_lglut.stl +0 -0
  621. share/doc/dart/data/sdf/atlas/r_lleg.dae +6661 -0
  622. share/doc/dart/data/sdf/atlas/r_lleg.stl +0 -0
  623. share/doc/dart/data/sdf/atlas/r_scap.dae +1531 -0
  624. share/doc/dart/data/sdf/atlas/r_scap.stl +0 -0
  625. share/doc/dart/data/sdf/atlas/r_talus.dae +374 -0
  626. share/doc/dart/data/sdf/atlas/r_talus.stl +0 -0
  627. share/doc/dart/data/sdf/atlas/r_uarm.dae +1144 -0
  628. share/doc/dart/data/sdf/atlas/r_uarm.stl +0 -0
  629. share/doc/dart/data/sdf/atlas/r_uglut.dae +398 -0
  630. share/doc/dart/data/sdf/atlas/r_uglut.stl +0 -0
  631. share/doc/dart/data/sdf/atlas/r_uleg.dae +9087 -0
  632. share/doc/dart/data/sdf/atlas/r_uleg.stl +0 -0
  633. share/doc/dart/data/sdf/atlas/utorso.dae +28342 -0
  634. share/doc/dart/data/sdf/atlas/utorso.stl +0 -0
  635. share/doc/dart/data/sdf/atlas/utorso_mod.dae +16508 -0
  636. share/doc/dart/data/sdf/atlas/utorso_mod.stl +0 -0
  637. share/doc/dart/data/sdf/atlas/utorso_pack.dae +8521 -0
  638. share/doc/dart/data/sdf/atlas/utorso_pack.stl +0 -0
  639. share/doc/dart/data/sdf/benchmark.world +2510 -0
  640. share/doc/dart/data/sdf/double_pendulum.world +168 -0
  641. share/doc/dart/data/sdf/double_pendulum_with_base.world +263 -0
  642. share/doc/dart/data/sdf/empty.world +13 -0
  643. share/doc/dart/data/sdf/ground.world +48 -0
  644. share/doc/dart/data/sdf/materials/textures/atlas_cage_and_camera_diffuse_flat.jpg +0 -0
  645. share/doc/dart/data/sdf/materials/textures/drc_extremities_diffuse.jpg +0 -0
  646. share/doc/dart/data/sdf/materials/textures/drc_labels_1.jpg +0 -0
  647. share/doc/dart/data/sdf/materials/textures/drc_torso_head_diffuse.jpg +0 -0
  648. share/doc/dart/data/sdf/materials/textures/extremities_diffuse_unplugged.jpg +0 -0
  649. share/doc/dart/data/sdf/materials/textures/right_leg_diffuse_unplugged.jpg +0 -0
  650. share/doc/dart/data/sdf/materials/textures/torso_diffuse_unplugged.jpg +0 -0
  651. share/doc/dart/data/sdf/quad.sdf +867 -0
  652. share/doc/dart/data/sdf/test/force_torque_test.world +173 -0
  653. share/doc/dart/data/sdf/test/force_torque_test2.world +214 -0
  654. share/doc/dart/data/sdf/test/issue1193_revolute_test.sdf +70 -0
  655. share/doc/dart/data/sdf/test/issue1193_revolute_with_offset_test.sdf +70 -0
  656. share/doc/dart/data/sdf/test/issue1624_cubes.sdf +5037 -0
  657. share/doc/dart/data/sdf/test/single_bodynode_skeleton.world +55 -0
  658. share/doc/dart/data/sdf/test/test_issue1583.model +45 -0
  659. share/doc/dart/data/sdf/test/test_issue1596.model +182 -0
  660. share/doc/dart/data/sdf/test/test_skeleton_joint.world +278 -0
  661. share/doc/dart/data/skel/biped.skel +850 -0
  662. share/doc/dart/data/skel/bullet_collision.skel +174 -0
  663. share/doc/dart/data/skel/chain.skel +212 -0
  664. share/doc/dart/data/skel/cube.skel +71 -0
  665. share/doc/dart/data/skel/cubes.skel +137 -0
  666. share/doc/dart/data/skel/empty.skel +10 -0
  667. share/doc/dart/data/skel/freeChain.skel +212 -0
  668. share/doc/dart/data/skel/fullbody1.skel +1177 -0
  669. share/doc/dart/data/skel/ground.skel +31 -0
  670. share/doc/dart/data/skel/joint_limit.skel +123 -0
  671. share/doc/dart/data/skel/kima/abdomen.dae +18933 -0
  672. share/doc/dart/data/skel/kima/head.dae +34634 -0
  673. share/doc/dart/data/skel/kima/kima_human_edited.skel +933 -0
  674. share/doc/dart/data/skel/kima/kima_human_left_arm.skel +323 -0
  675. share/doc/dart/data/skel/kima/kima_human_left_leg.skel +327 -0
  676. share/doc/dart/data/skel/kima/l-clavicle.dae +20111 -0
  677. share/doc/dart/data/skel/kima/l-foot.dae +28208 -0
  678. share/doc/dart/data/skel/kima/pelvis.dae +35919 -0
  679. share/doc/dart/data/skel/kima/r-clavicle.dae +20090 -0
  680. share/doc/dart/data/skel/kima/thorax.dae +47337 -0
  681. share/doc/dart/data/skel/mesh_collision.skel +137 -0
  682. share/doc/dart/data/skel/shapes.skel +378 -0
  683. share/doc/dart/data/skel/skateboard.skel +222 -0
  684. share/doc/dart/data/skel/softBodies.skel +284 -0
  685. share/doc/dart/data/skel/soft_cubes.skel +134 -0
  686. share/doc/dart/data/skel/soft_open_chain.skel +241 -0
  687. share/doc/dart/data/skel/sphere.skel +74 -0
  688. share/doc/dart/data/skel/spheres.skel +118 -0
  689. share/doc/dart/data/skel/test/SimplePendulum.skel +141 -0
  690. share/doc/dart/data/skel/test/ball_joints.skel +49 -0
  691. share/doc/dart/data/skel/test/box_stacking.skel +346 -0
  692. share/doc/dart/data/skel/test/boxes.skel +52 -0
  693. share/doc/dart/data/skel/test/chainwhipa.skel +193 -0
  694. share/doc/dart/data/skel/test/collision_of_prescribed_joints_test.skel +249 -0
  695. share/doc/dart/data/skel/test/dof_attribute_test.skel +206 -0
  696. share/doc/dart/data/skel/test/double_pendulum.skel +76 -0
  697. share/doc/dart/data/skel/test/double_pendulum_ball_joint.skel +76 -0
  698. share/doc/dart/data/skel/test/double_pendulum_euler_joint.skel +78 -0
  699. share/doc/dart/data/skel/test/double_pendulum_with_base.skel +1390 -0
  700. share/doc/dart/data/skel/test/drop.skel +116 -0
  701. share/doc/dart/data/skel/test/drop_BENCHMARK.skel +10 -0
  702. share/doc/dart/data/skel/test/drop_unrotated_box.skel +156 -0
  703. share/doc/dart/data/skel/test/empty.skel +10 -0
  704. share/doc/dart/data/skel/test/file_info_world_test.skel +1177 -0
  705. share/doc/dart/data/skel/test/free_joints.skel +49 -0
  706. share/doc/dart/data/skel/test/gazebo/drop_test.skel +161 -0
  707. share/doc/dart/data/skel/test/gazebo/force_torque_test.skel +138 -0
  708. share/doc/dart/data/skel/test/gazebo/force_torque_test2.skel +171 -0
  709. share/doc/dart/data/skel/test/hybrid_dynamics_test.skel +172 -0
  710. share/doc/dart/data/skel/test/joint_actuator_type_test.skel +185 -0
  711. share/doc/dart/data/skel/test/joint_dynamics_elements_test.skel +103 -0
  712. share/doc/dart/data/skel/test/joint_friction_test.skel +80 -0
  713. share/doc/dart/data/skel/test/joint_limit_test.skel +80 -0
  714. share/doc/dart/data/skel/test/planar_joint.skel +167 -0
  715. share/doc/dart/data/skel/test/serial_chain_BENCHMARK.skel +10 -0
  716. share/doc/dart/data/skel/test/serial_chain_ball_joint.skel +212 -0
  717. share/doc/dart/data/skel/test/serial_chain_ball_joint_20.skel +412 -0
  718. share/doc/dart/data/skel/test/serial_chain_ball_joint_40.skel +812 -0
  719. share/doc/dart/data/skel/test/serial_chain_eulerxyz_joint.skel +224 -0
  720. share/doc/dart/data/skel/test/serial_chain_revolute_joint.skel +244 -0
  721. share/doc/dart/data/skel/test/simple_tree_structure.skel +108 -0
  722. share/doc/dart/data/skel/test/simple_tree_structure_ball_joint.skel +108 -0
  723. share/doc/dart/data/skel/test/simple_tree_structure_euler_joint.skel +111 -0
  724. share/doc/dart/data/skel/test/single_pendulum.skel +55 -0
  725. share/doc/dart/data/skel/test/single_pendulum_ball_joint.skel +55 -0
  726. share/doc/dart/data/skel/test/single_pendulum_euler_joint.skel +56 -0
  727. share/doc/dart/data/skel/test/spheres.skel +118 -0
  728. share/doc/dart/data/skel/test/test_adaptive_deformable.skel +88 -0
  729. share/doc/dart/data/skel/test/test_articulated_bodies.skel +112 -0
  730. share/doc/dart/data/skel/test/test_articulated_bodies_10bodies.skel +401 -0
  731. share/doc/dart/data/skel/test/test_double_pendulum.skel +105 -0
  732. share/doc/dart/data/skel/test/test_drop_box.skel +87 -0
  733. share/doc/dart/data/skel/test/test_drop_box_offset.skel +87 -0
  734. share/doc/dart/data/skel/test/test_drop_low_stiffness.skel +86 -0
  735. share/doc/dart/data/skel/test/test_drop_sphere.skel +86 -0
  736. share/doc/dart/data/skel/test/test_shapes.skel +324 -0
  737. share/doc/dart/data/skel/test/test_single_body.skel +55 -0
  738. share/doc/dart/data/skel/test/test_single_pendulum.skel +55 -0
  739. share/doc/dart/data/skel/test/translational_joints.skel +49 -0
  740. share/doc/dart/data/skel/test/tree_structure.skel +428 -0
  741. share/doc/dart/data/skel/test/tree_structure_ball_joint.skel +441 -0
  742. share/doc/dart/data/skel/test/tree_structure_euler_joint.skel +441 -0
  743. share/doc/dart/data/skel/two_cubes.skel +118 -0
  744. share/doc/dart/data/skel/vehicle.skel +322 -0
  745. share/doc/dart/data/test/hello_world.txt +1 -0
  746. share/doc/dart/data/urdf/KR5/KR5 sixx R650.urdf +397 -0
  747. share/doc/dart/data/urdf/KR5/ground.urdf +28 -0
  748. share/doc/dart/data/urdf/KR5/meshes/base_link.STL +0 -0
  749. share/doc/dart/data/urdf/KR5/meshes/bicep.STL +0 -0
  750. share/doc/dart/data/urdf/KR5/meshes/elbow.STL +0 -0
  751. share/doc/dart/data/urdf/KR5/meshes/forearm.STL +0 -0
  752. share/doc/dart/data/urdf/KR5/meshes/palm.STL +0 -0
  753. share/doc/dart/data/urdf/KR5/meshes/shoulder.STL +0 -0
  754. share/doc/dart/data/urdf/KR5/meshes/wrist.STL +0 -0
  755. share/doc/dart/data/urdf/drchubo/CMakeLists.txt +5 -0
  756. share/doc/dart/data/urdf/drchubo/drchubo.urdf +1508 -0
  757. share/doc/dart/data/urdf/drchubo/meshes/convhull_LAP_merged.stl +0 -0
  758. share/doc/dart/data/urdf/drchubo/meshes/convhull_LAR_merged.stl +0 -0
  759. share/doc/dart/data/urdf/drchubo/meshes/convhull_LEP_merged.stl +0 -0
  760. share/doc/dart/data/urdf/drchubo/meshes/convhull_LF1.stl +0 -0
  761. share/doc/dart/data/urdf/drchubo/meshes/convhull_LF2.stl +0 -0
  762. share/doc/dart/data/urdf/drchubo/meshes/convhull_LF3.stl +0 -0
  763. share/doc/dart/data/urdf/drchubo/meshes/convhull_LHP_merged.stl +0 -0
  764. share/doc/dart/data/urdf/drchubo/meshes/convhull_LHR_merged.stl +0 -0
  765. share/doc/dart/data/urdf/drchubo/meshes/convhull_LHY_merged.stl +0 -0
  766. share/doc/dart/data/urdf/drchubo/meshes/convhull_LKP_merged.stl +0 -0
  767. share/doc/dart/data/urdf/drchubo/meshes/convhull_LSP_merged.stl +0 -0
  768. share/doc/dart/data/urdf/drchubo/meshes/convhull_LSR_merged.stl +0 -0
  769. share/doc/dart/data/urdf/drchubo/meshes/convhull_LSY_merged.stl +0 -0
  770. share/doc/dart/data/urdf/drchubo/meshes/convhull_LWP_merged.stl +0 -0
  771. share/doc/dart/data/urdf/drchubo/meshes/convhull_LWR_merged.stl +0 -0
  772. share/doc/dart/data/urdf/drchubo/meshes/convhull_LWY_merged.stl +0 -0
  773. share/doc/dart/data/urdf/drchubo/meshes/convhull_NK1_merged.stl +0 -0
  774. share/doc/dart/data/urdf/drchubo/meshes/convhull_NK2.stl +0 -0
  775. share/doc/dart/data/urdf/drchubo/meshes/convhull_NKY_merged.stl +0 -0
  776. share/doc/dart/data/urdf/drchubo/meshes/convhull_RAP_merged.stl +0 -0
  777. share/doc/dart/data/urdf/drchubo/meshes/convhull_RAR_merged.stl +0 -0
  778. share/doc/dart/data/urdf/drchubo/meshes/convhull_REP_merged.stl +0 -0
  779. share/doc/dart/data/urdf/drchubo/meshes/convhull_RF1.stl +0 -0
  780. share/doc/dart/data/urdf/drchubo/meshes/convhull_RF2.stl +0 -0
  781. share/doc/dart/data/urdf/drchubo/meshes/convhull_RF3.stl +0 -0
  782. share/doc/dart/data/urdf/drchubo/meshes/convhull_RHP_merged.stl +0 -0
  783. share/doc/dart/data/urdf/drchubo/meshes/convhull_RHR_merged.stl +0 -0
  784. share/doc/dart/data/urdf/drchubo/meshes/convhull_RHY_merged.stl +0 -0
  785. share/doc/dart/data/urdf/drchubo/meshes/convhull_RKP_merged.stl +0 -0
  786. share/doc/dart/data/urdf/drchubo/meshes/convhull_RSP_merged.stl +0 -0
  787. share/doc/dart/data/urdf/drchubo/meshes/convhull_RSR_merged.stl +0 -0
  788. share/doc/dart/data/urdf/drchubo/meshes/convhull_RSY_merged.stl +0 -0
  789. share/doc/dart/data/urdf/drchubo/meshes/convhull_RWP_merged.stl +0 -0
  790. share/doc/dart/data/urdf/drchubo/meshes/convhull_RWR_merged.stl +0 -0
  791. share/doc/dart/data/urdf/drchubo/meshes/convhull_RWY_merged.stl +0 -0
  792. share/doc/dart/data/urdf/drchubo/meshes/convhull_TSY_merged.stl +0 -0
  793. share/doc/dart/data/urdf/drchubo/meshes/convhull_Torso_merged.stl +0 -0
  794. share/doc/dart/data/urdf/drchubo/package.xml +11 -0
  795. share/doc/dart/data/urdf/test/invalid.urdf +1 -0
  796. share/doc/dart/data/urdf/test/invalid_mesh.stl +1 -0
  797. share/doc/dart/data/urdf/test/invalid_mesh.urdf +10 -0
  798. share/doc/dart/data/urdf/test/issue838.urdf +86 -0
  799. share/doc/dart/data/urdf/test/joint_properties.urdf +60 -0
  800. share/doc/dart/data/urdf/test/missing_mesh.urdf +10 -0
  801. share/doc/dart/data/urdf/test/missing_package.urdf +10 -0
  802. share/doc/dart/data/urdf/test/primitive_geometry.urdf +12 -0
  803. share/doc/dart/data/urdf/test/testWorld.urdf +9 -0
  804. share/doc/dart/data/urdf/wam/meshes/images/base_gray_128x.jpg +0 -0
  805. share/doc/dart/data/urdf/wam/meshes/images/forearm_256x.jpg +0 -0
  806. share/doc/dart/data/urdf/wam/meshes/images/lpu_128x.jpg +0 -0
  807. share/doc/dart/data/urdf/wam/meshes/images/shoulder_256x.jpg +0 -0
  808. share/doc/dart/data/urdf/wam/meshes/images/upperarm_128x.jpg +0 -0
  809. share/doc/dart/data/urdf/wam/meshes/images/wrist_yaw_128x.jpg +0 -0
  810. share/doc/dart/data/urdf/wam/meshes/wam/wam1.STL +0 -0
  811. share/doc/dart/data/urdf/wam/meshes/wam/wam1.dae +187 -0
  812. share/doc/dart/data/urdf/wam/meshes/wam/wam1_collision.STL +0 -0
  813. share/doc/dart/data/urdf/wam/meshes/wam/wam2.STL +0 -0
  814. share/doc/dart/data/urdf/wam/meshes/wam/wam2.dae +187 -0
  815. share/doc/dart/data/urdf/wam/meshes/wam/wam2_collision.STL +0 -0
  816. share/doc/dart/data/urdf/wam/meshes/wam/wam3.STL +0 -0
  817. share/doc/dart/data/urdf/wam/meshes/wam/wam3.dae +187 -0
  818. share/doc/dart/data/urdf/wam/meshes/wam/wam3_collision.STL +0 -0
  819. share/doc/dart/data/urdf/wam/meshes/wam/wam4.STL +0 -0
  820. share/doc/dart/data/urdf/wam/meshes/wam/wam4.dae +187 -0
  821. share/doc/dart/data/urdf/wam/meshes/wam/wam4_collision.STL +0 -0
  822. share/doc/dart/data/urdf/wam/meshes/wam/wam5.STL +0 -0
  823. share/doc/dart/data/urdf/wam/meshes/wam/wam5.dae +187 -0
  824. share/doc/dart/data/urdf/wam/meshes/wam/wam5_collision.STL +0 -0
  825. share/doc/dart/data/urdf/wam/meshes/wam/wam6.STL +0 -0
  826. share/doc/dart/data/urdf/wam/meshes/wam/wam6.dae +187 -0
  827. share/doc/dart/data/urdf/wam/meshes/wam/wam6_collision.STL +0 -0
  828. share/doc/dart/data/urdf/wam/meshes/wam/wam7.STL +0 -0
  829. share/doc/dart/data/urdf/wam/meshes/wam/wam7.dae +137 -0
  830. share/doc/dart/data/urdf/wam/meshes/wam/wam7_collision.STL +0 -0
  831. share/doc/dart/data/urdf/wam/meshes/wam/wam_base.STL +0 -0
  832. share/doc/dart/data/urdf/wam/meshes/wam/wam_base.dae +103 -0
  833. share/doc/dart/data/urdf/wam/meshes/wam/wam_base_collision.STL +0 -0
  834. share/doc/dart/data/urdf/wam/wam.urdf +230 -0
  835. share/doc/dart/data/vsk/Nick01.vsk +398 -0
  836. share/doc/dart/data/vsk/SehoonVSK3.vsk +398 -0
  837. share/doc/dart/data/vsk/Yuting.vsk +398 -0
  838. share/doc/dart/data/vsk/test/empty.vsk +3 -0
  839. share/doc/dart/examples/CMakeLists.txt +44 -0
  840. share/doc/dart/examples/README.md +33 -0
  841. share/doc/dart/examples/add_delete_skels/CMakeLists.txt +19 -0
  842. share/doc/dart/examples/add_delete_skels/main.cpp +165 -0
  843. share/doc/dart/examples/atlas_puppet/CMakeLists.txt +19 -0
  844. share/doc/dart/examples/atlas_puppet/README.md +20 -0
  845. share/doc/dart/examples/atlas_puppet/main.cpp +930 -0
  846. share/doc/dart/examples/atlas_simbicon/AtlasSimbiconEventHandler.cpp +71 -0
  847. share/doc/dart/examples/atlas_simbicon/AtlasSimbiconEventHandler.hpp +56 -0
  848. share/doc/dart/examples/atlas_simbicon/AtlasSimbiconWidget.cpp +187 -0
  849. share/doc/dart/examples/atlas_simbicon/AtlasSimbiconWidget.hpp +85 -0
  850. share/doc/dart/examples/atlas_simbicon/AtlasSimbiconWorldNode.cpp +134 -0
  851. share/doc/dart/examples/atlas_simbicon/AtlasSimbiconWorldNode.hpp +75 -0
  852. share/doc/dart/examples/atlas_simbicon/CMakeLists.txt +19 -0
  853. share/doc/dart/examples/atlas_simbicon/Controller.cpp +996 -0
  854. share/doc/dart/examples/atlas_simbicon/Controller.hpp +203 -0
  855. share/doc/dart/examples/atlas_simbicon/README.md +20 -0
  856. share/doc/dart/examples/atlas_simbicon/State.cpp +674 -0
  857. share/doc/dart/examples/atlas_simbicon/State.hpp +336 -0
  858. share/doc/dart/examples/atlas_simbicon/StateMachine.cpp +222 -0
  859. share/doc/dart/examples/atlas_simbicon/StateMachine.hpp +134 -0
  860. share/doc/dart/examples/atlas_simbicon/TerminalCondition.cpp +111 -0
  861. share/doc/dart/examples/atlas_simbicon/TerminalCondition.hpp +102 -0
  862. share/doc/dart/examples/atlas_simbicon/main.cpp +102 -0
  863. share/doc/dart/examples/biped_stand/CMakeLists.txt +19 -0
  864. share/doc/dart/examples/biped_stand/README.md +20 -0
  865. share/doc/dart/examples/biped_stand/main.cpp +287 -0
  866. share/doc/dart/examples/box_stacking/CMakeLists.txt +19 -0
  867. share/doc/dart/examples/box_stacking/README.md +20 -0
  868. share/doc/dart/examples/box_stacking/main.cpp +417 -0
  869. share/doc/dart/examples/boxes/CMakeLists.txt +19 -0
  870. share/doc/dart/examples/boxes/README.md +20 -0
  871. share/doc/dart/examples/boxes/main.cpp +157 -0
  872. share/doc/dart/examples/drag_and_drop/CMakeLists.txt +19 -0
  873. share/doc/dart/examples/drag_and_drop/README.md +20 -0
  874. share/doc/dart/examples/drag_and_drop/main.cpp +101 -0
  875. share/doc/dart/examples/empty/CMakeLists.txt +19 -0
  876. share/doc/dart/examples/empty/README.md +20 -0
  877. share/doc/dart/examples/empty/main.cpp +164 -0
  878. share/doc/dart/examples/fetch/CMakeLists.txt +19 -0
  879. share/doc/dart/examples/fetch/README.md +20 -0
  880. share/doc/dart/examples/fetch/main.cpp +246 -0
  881. share/doc/dart/examples/hardcoded_design/CMakeLists.txt +19 -0
  882. share/doc/dart/examples/hardcoded_design/HardcodedEventHandler.cpp +71 -0
  883. share/doc/dart/examples/hardcoded_design/HardcodedEventHandler.hpp +56 -0
  884. share/doc/dart/examples/hardcoded_design/README.md +27 -0
  885. share/doc/dart/examples/hardcoded_design/main.cpp +186 -0
  886. share/doc/dart/examples/heightmap/CMakeLists.txt +19 -0
  887. share/doc/dart/examples/heightmap/README.md +20 -0
  888. share/doc/dart/examples/heightmap/main.cpp +460 -0
  889. share/doc/dart/examples/hello_world/CMakeLists.txt +19 -0
  890. share/doc/dart/examples/hello_world/README.md +20 -0
  891. share/doc/dart/examples/hello_world/main.cpp +114 -0
  892. share/doc/dart/examples/hubo_puppet/CMakeLists.txt +19 -0
  893. share/doc/dart/examples/hubo_puppet/README.md +20 -0
  894. share/doc/dart/examples/hubo_puppet/main.cpp +1464 -0
  895. share/doc/dart/examples/human_joint_limits/CMakeLists.txt +49 -0
  896. share/doc/dart/examples/human_joint_limits/HumanArmJointLimitConstraint.cpp +411 -0
  897. share/doc/dart/examples/human_joint_limits/HumanArmJointLimitConstraint.hpp +182 -0
  898. share/doc/dart/examples/human_joint_limits/HumanLegJointLimitConstraint.cpp +432 -0
  899. share/doc/dart/examples/human_joint_limits/HumanLegJointLimitConstraint.hpp +179 -0
  900. share/doc/dart/examples/human_joint_limits/main.cpp +157 -0
  901. share/doc/dart/examples/hybrid_dynamics/CMakeLists.txt +19 -0
  902. share/doc/dart/examples/hybrid_dynamics/README.md +17 -0
  903. share/doc/dart/examples/hybrid_dynamics/main.cpp +187 -0
  904. share/doc/dart/examples/imgui/CMakeLists.txt +19 -0
  905. share/doc/dart/examples/imgui/README.md +20 -0
  906. share/doc/dart/examples/imgui/main.cpp +289 -0
  907. share/doc/dart/examples/joint_constraints/CMakeLists.txt +19 -0
  908. share/doc/dart/examples/joint_constraints/Controller.cpp +110 -0
  909. share/doc/dart/examples/joint_constraints/Controller.hpp +105 -0
  910. share/doc/dart/examples/joint_constraints/README.md +22 -0
  911. share/doc/dart/examples/joint_constraints/main.cpp +242 -0
  912. share/doc/dart/examples/mixed_chain/CMakeLists.txt +19 -0
  913. share/doc/dart/examples/mixed_chain/README.md +35 -0
  914. share/doc/dart/examples/mixed_chain/main.cpp +188 -0
  915. share/doc/dart/examples/operational_space_control/CMakeLists.txt +19 -0
  916. share/doc/dart/examples/operational_space_control/README.md +20 -0
  917. share/doc/dart/examples/operational_space_control/main.cpp +338 -0
  918. share/doc/dart/examples/point_cloud/CMakeLists.txt +19 -0
  919. share/doc/dart/examples/point_cloud/README.md +20 -0
  920. share/doc/dart/examples/point_cloud/main.cpp +740 -0
  921. share/doc/dart/examples/rerun/CMakeLists.txt +19 -0
  922. share/doc/dart/examples/rigid_chain/CMakeLists.txt +19 -0
  923. share/doc/dart/examples/rigid_chain/README.md +19 -0
  924. share/doc/dart/examples/rigid_chain/main.cpp +110 -0
  925. share/doc/dart/examples/rigid_cubes/CMakeLists.txt +19 -0
  926. share/doc/dart/examples/rigid_cubes/README.md +91 -0
  927. share/doc/dart/examples/rigid_cubes/main.cpp +201 -0
  928. share/doc/dart/examples/rigid_loop/CMakeLists.txt +19 -0
  929. share/doc/dart/examples/rigid_loop/README.md +34 -0
  930. share/doc/dart/examples/rigid_loop/main.cpp +127 -0
  931. share/doc/dart/examples/rigid_shapes/CMakeLists.txt +19 -0
  932. share/doc/dart/examples/rigid_shapes/README.md +19 -0
  933. share/doc/dart/examples/rigid_shapes/main.cpp +250 -0
  934. share/doc/dart/examples/simple_frames/CMakeLists.txt +19 -0
  935. share/doc/dart/examples/simple_frames/README.md +27 -0
  936. share/doc/dart/examples/simple_frames/main.cpp +124 -0
  937. share/doc/dart/examples/simulation_event_handler/CMakeLists.txt +19 -0
  938. share/doc/dart/examples/simulation_event_handler/README.md +189 -0
  939. share/doc/dart/examples/simulation_event_handler/SimulationEventHandler.cpp +572 -0
  940. share/doc/dart/examples/simulation_event_handler/SimulationEventHandler.hpp +211 -0
  941. share/doc/dart/examples/simulation_event_handler/main.cpp +277 -0
  942. share/doc/dart/examples/soft_bodies/CMakeLists.txt +19 -0
  943. share/doc/dart/examples/soft_bodies/README.md +20 -0
  944. share/doc/dart/examples/soft_bodies/main.cpp +219 -0
  945. share/doc/dart/examples/speed_test/CMakeLists.txt +19 -0
  946. share/doc/dart/examples/speed_test/README.md +20 -0
  947. share/doc/dart/examples/speed_test/main.cpp +250 -0
  948. share/doc/dart/examples/tinkertoy/CMakeLists.txt +19 -0
  949. share/doc/dart/examples/tinkertoy/README.md +20 -0
  950. share/doc/dart/examples/tinkertoy/TinkertoyWidget.cpp +208 -0
  951. share/doc/dart/examples/tinkertoy/TinkertoyWidget.hpp +70 -0
  952. share/doc/dart/examples/tinkertoy/TinkertoyWorldNode.cpp +35 -0
  953. share/doc/dart/examples/tinkertoy/TinkertoyWorldNode.hpp +470 -0
  954. share/doc/dart/examples/tinkertoy/main.cpp +186 -0
  955. share/doc/dart/examples/vehicle/CMakeLists.txt +19 -0
  956. share/doc/dart/examples/vehicle/README.md +22 -0
  957. share/doc/dart/examples/vehicle/main.cpp +195 -0
  958. share/doc/dart/examples/wam_ikfast/CMakeLists.txt +22 -0
  959. share/doc/dart/examples/wam_ikfast/Helpers.cpp +148 -0
  960. share/doc/dart/examples/wam_ikfast/Helpers.hpp +46 -0
  961. share/doc/dart/examples/wam_ikfast/InputHandler.cpp +110 -0
  962. share/doc/dart/examples/wam_ikfast/InputHandler.hpp +73 -0
  963. share/doc/dart/examples/wam_ikfast/README.md +20 -0
  964. share/doc/dart/examples/wam_ikfast/WamWorld.cpp +46 -0
  965. share/doc/dart/examples/wam_ikfast/WamWorld.hpp +53 -0
  966. share/doc/dart/examples/wam_ikfast/ikfast/CMakeLists.txt +11 -0
  967. share/doc/dart/examples/wam_ikfast/ikfast/ikfast71.Transform6D.4_6_9_10_11_12_f8.cpp +14930 -0
  968. share/doc/dart/examples/wam_ikfast/osgWamIkFast.cpp +96 -0
  969. share/doc/dart/tutorials/CMakeLists.txt +12 -0
  970. share/doc/dart/tutorials/README.md +45 -0
  971. share/doc/dart/tutorials/tutorial_biped/CMakeLists.txt +19 -0
  972. share/doc/dart/tutorials/tutorial_biped/README +18 -0
  973. share/doc/dart/tutorials/tutorial_biped/main.cpp +374 -0
  974. share/doc/dart/tutorials/tutorial_biped_finished/CMakeLists.txt +19 -0
  975. share/doc/dart/tutorials/tutorial_biped_finished/README +18 -0
  976. share/doc/dart/tutorials/tutorial_biped_finished/main.cpp +532 -0
  977. share/doc/dart/tutorials/tutorial_collisions/CMakeLists.txt +19 -0
  978. share/doc/dart/tutorials/tutorial_collisions/README +18 -0
  979. share/doc/dart/tutorials/tutorial_collisions/main.cpp +506 -0
  980. share/doc/dart/tutorials/tutorial_collisions_finished/CMakeLists.txt +19 -0
  981. share/doc/dart/tutorials/tutorial_collisions_finished/README +18 -0
  982. share/doc/dart/tutorials/tutorial_collisions_finished/main.cpp +679 -0
  983. share/doc/dart/tutorials/tutorial_dominoes/CMakeLists.txt +19 -0
  984. share/doc/dart/tutorials/tutorial_dominoes/README +18 -0
  985. share/doc/dart/tutorials/tutorial_dominoes/main.cpp +394 -0
  986. share/doc/dart/tutorials/tutorial_dominoes_finished/CMakeLists.txt +19 -0
  987. share/doc/dart/tutorials/tutorial_dominoes_finished/README +18 -0
  988. share/doc/dart/tutorials/tutorial_dominoes_finished/main.cpp +559 -0
  989. share/doc/dart/tutorials/tutorial_multi_pendulum/CMakeLists.txt +19 -0
  990. share/doc/dart/tutorials/tutorial_multi_pendulum/README +18 -0
  991. share/doc/dart/tutorials/tutorial_multi_pendulum/main.cpp +443 -0
  992. share/doc/dart/tutorials/tutorial_multi_pendulum_finished/CMakeLists.txt +19 -0
  993. share/doc/dart/tutorials/tutorial_multi_pendulum_finished/README +18 -0
  994. share/doc/dart/tutorials/tutorial_multi_pendulum_finished/main.cpp +512 -0
@@ -0,0 +1,432 @@
1
+ /*
2
+ * Copyright (c) 2011-2025, The DART development contributors
3
+ * All rights reserved.
4
+ *
5
+ * The list of contributors can be found at:
6
+ * https://github.com/dartsim/dart/blob/main/LICENSE
7
+ *
8
+ * This file is provided under the following "BSD-style" License:
9
+ * Redistribution and use in source and binary forms, with or
10
+ * without modification, are permitted provided that the following
11
+ * conditions are met:
12
+ * * Redistributions of source code must retain the above copyright
13
+ * notice, this list of conditions and the following disclaimer.
14
+ * * Redistributions in binary form must reproduce the above
15
+ * copyright notice, this list of conditions and the following
16
+ * disclaimer in the documentation and/or other materials provided
17
+ * with the distribution.
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
19
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
+ * POSSIBILITY OF SUCH DAMAGE.
31
+ */
32
+
33
+ #include "HumanLegJointLimitConstraint.hpp"
34
+
35
+ #include <dart/dynamics/BodyNode.hpp>
36
+ #include <dart/dynamics/Joint.hpp>
37
+ #include <dart/dynamics/Skeleton.hpp>
38
+
39
+ #include <dart/common/Console.hpp>
40
+
41
+ #include <dart/external/odelcpsolver/lcp.h>
42
+
43
+ #include <iostream>
44
+
45
+ #define DART_ERROR_ALLOWANCE 0.0
46
+ #define DART_ERP 0.01
47
+ #define DART_MAX_ERV 1e+1
48
+ #define DART_CFM 1e-9
49
+
50
+ using namespace dart;
51
+ using namespace tiny_dnn;
52
+ using namespace tiny_dnn::activation;
53
+ using namespace tiny_dnn::layers;
54
+
55
+ double HumanLegJointLimitConstraint::mErrorAllowance = DART_ERROR_ALLOWANCE;
56
+ double HumanLegJointLimitConstraint::mErrorReductionParameter = DART_ERP;
57
+ double HumanLegJointLimitConstraint::mMaxErrorReductionVelocity = DART_MAX_ERV;
58
+ double HumanLegJointLimitConstraint::mConstraintForceMixing = DART_CFM;
59
+
60
+ //==============================================================================
61
+ HumanLegJointLimitConstraint::HumanLegJointLimitConstraint(
62
+ dynamics::Joint* hipjoint,
63
+ dynamics::Joint* _kneejoint,
64
+ dynamics::Joint* _anklejoint,
65
+ bool isMirror)
66
+ : ConstraintBase(),
67
+ mHipJoint(hipjoint),
68
+ mKneeJoint(_kneejoint),
69
+ mAnkleJoint(_anklejoint),
70
+ mThighNode(hipjoint->getChildBodyNode()),
71
+ mLowerLegNode(_kneejoint->getChildBodyNode()),
72
+ mFootNode(_anklejoint->getChildBodyNode()),
73
+ mIsMirror(isMirror),
74
+ mAppliedImpulseIndex(0)
75
+ {
76
+ assert(mHipJoint);
77
+ assert(mKneeJoint);
78
+ assert(mAnkleJoint);
79
+ assert(mThighNode);
80
+ assert(mLowerLegNode);
81
+ assert(mFootNode);
82
+
83
+ assert(mHipJoint->getNumDofs() == 3);
84
+ assert(mKneeJoint->getNumDofs() == 1);
85
+ assert(mAnkleJoint->getNumDofs() == 2);
86
+
87
+ assert(mThighNode->getSkeleton() == mLowerLegNode->getSkeleton());
88
+ assert(mLowerLegNode->getSkeleton() == mFootNode->getSkeleton());
89
+ assert(mKneeJoint->getParentBodyNode() == mThighNode);
90
+ assert(mAnkleJoint->getParentBodyNode() == mLowerLegNode);
91
+
92
+ mLifeTime = 0;
93
+ mActive = false;
94
+
95
+ // load neural net weights from external file
96
+ mNet.load(DART_DATA_PATH "/humanJointLimits/neuralnets/net-lleg");
97
+ }
98
+
99
+ //==============================================================================
100
+ void HumanLegJointLimitConstraint::setErrorAllowance(double allowance)
101
+ {
102
+ // Clamp error reduction parameter if it is out of the range
103
+ if (allowance < 0.0) {
104
+ dtwarn << "Error reduction parameter[" << allowance
105
+ << "] is lower than 0.0. "
106
+ << "It is set to 0.0." << std::endl;
107
+ mErrorAllowance = 0.0;
108
+ }
109
+
110
+ mErrorAllowance = allowance;
111
+ }
112
+
113
+ //==============================================================================
114
+ double HumanLegJointLimitConstraint::getErrorAllowance()
115
+ {
116
+ return mErrorAllowance;
117
+ }
118
+
119
+ //==============================================================================
120
+ void HumanLegJointLimitConstraint::setErrorReductionParameter(double erp)
121
+ {
122
+ // Clamp error reduction parameter if it is out of the range [0, 1]
123
+ if (erp < 0.0) {
124
+ dtwarn << "Error reduction parameter[" << erp << "] is lower than 0.0. "
125
+ << "It is set to 0.0." << std::endl;
126
+ mErrorReductionParameter = 0.0;
127
+ }
128
+ if (erp > 1.0) {
129
+ dtwarn << "Error reduction parameter[" << erp << "] is greater than 1.0. "
130
+ << "It is set to 1.0." << std::endl;
131
+ mErrorReductionParameter = 1.0;
132
+ }
133
+
134
+ mErrorReductionParameter = erp;
135
+ }
136
+
137
+ //==============================================================================
138
+ double HumanLegJointLimitConstraint::getErrorReductionParameter()
139
+ {
140
+ return mErrorReductionParameter;
141
+ }
142
+
143
+ //==============================================================================
144
+ void HumanLegJointLimitConstraint::setMaxErrorReductionVelocity(double erv)
145
+ {
146
+ // Clamp maximum error reduction velocity if it is out of the range
147
+ if (erv < 0.0) {
148
+ dtwarn << "Maximum error reduction velocity[" << erv
149
+ << "] is lower than 0.0. "
150
+ << "It is set to 0.0." << std::endl;
151
+ mMaxErrorReductionVelocity = 0.0;
152
+ }
153
+
154
+ mMaxErrorReductionVelocity = erv;
155
+ }
156
+
157
+ //==============================================================================
158
+ double HumanLegJointLimitConstraint::getMaxErrorReductionVelocity()
159
+ {
160
+ return mMaxErrorReductionVelocity;
161
+ }
162
+
163
+ //==============================================================================
164
+ void HumanLegJointLimitConstraint::setConstraintForceMixing(double cfm)
165
+ {
166
+ // Clamp constraint force mixing parameter if it is out of the range
167
+ if (cfm < 1e-9) {
168
+ dtwarn << "Constraint force mixing parameter[" << cfm
169
+ << "] is lower than 1e-9. "
170
+ << "It is set to 1e-9." << std::endl;
171
+ mConstraintForceMixing = 1e-9;
172
+ }
173
+ if (cfm > 1.0) {
174
+ dtwarn << "Constraint force mixing parameter[" << cfm
175
+ << "] is greater than 1.0. "
176
+ << "It is set to 1.0." << std::endl;
177
+ mConstraintForceMixing = 1.0;
178
+ }
179
+
180
+ mConstraintForceMixing = cfm;
181
+ }
182
+
183
+ //==============================================================================
184
+ double HumanLegJointLimitConstraint::getConstraintForceMixing()
185
+ {
186
+ return mConstraintForceMixing;
187
+ }
188
+
189
+ //==============================================================================
190
+ void HumanLegJointLimitConstraint::update()
191
+ {
192
+ const auto pi2 = math::constantsd::two_pi();
193
+
194
+ double qz = mHipJoint->getPosition(0);
195
+ double qx = mHipJoint->getPosition(1);
196
+ double qy = mHipJoint->getPosition(2);
197
+ double qe = mKneeJoint->getPosition(0);
198
+ double hx = mAnkleJoint->getPosition(0);
199
+ double hy = mAnkleJoint->getPosition(1);
200
+
201
+ double qz_d = mHipJoint->getVelocity(0);
202
+ double qx_d = mHipJoint->getVelocity(1);
203
+ double qy_d = mHipJoint->getVelocity(2);
204
+ double qe_d = mKneeJoint->getVelocity(0);
205
+ double hx_d = mAnkleJoint->getVelocity(0);
206
+ double hy_d = mAnkleJoint->getVelocity(1);
207
+
208
+ // if isMirror (right-lrg), set up a mirrored euler joint for hip
209
+ // i.e. pass the mirrored config to NN
210
+ if (mIsMirror) {
211
+ qz = -qz;
212
+ qy = -qy;
213
+ }
214
+
215
+ double qsin[8]
216
+ = {cos(qz),
217
+ sin(qz),
218
+ cos(qx),
219
+ sin(qx),
220
+ cos(qy + pi2),
221
+ cos(qe),
222
+ cos(hx + pi2),
223
+ cos(hy + pi2)};
224
+ vec_t input;
225
+ input.assign(qsin, qsin + 8);
226
+ vec_t pred_vec = mNet.predict(input);
227
+ double C = *(pred_vec.begin());
228
+
229
+ mViolation = C - 0.5;
230
+
231
+ // if not active, no variable matters, no need to update
232
+ mActive = false;
233
+ mDim = 0;
234
+
235
+ // active: mViolation <= 0 (C(q)-0.5<=0)
236
+ if (mViolation <= 0.0) {
237
+ if (mActive) {
238
+ ++mLifeTime;
239
+ } else {
240
+ mActive = true;
241
+ mLifeTime = 0;
242
+ }
243
+
244
+ // do back-propogation to obtain gradient
245
+ layer* l;
246
+ vec_t out_grad = {1};
247
+ vec_t in_grad;
248
+ for (int n = mNet.layer_size() - 1; n >= 0; n--) {
249
+ // implement chain rule layer by layer
250
+ l = mNet[n];
251
+ if (l->layer_type() == "fully-connected") {
252
+ auto Wb = l->weights();
253
+ vec_t W = *(Wb[0]);
254
+ in_grad.assign(W.size() / out_grad.size(), 0);
255
+ for (size_t c = 0; c < in_grad.size(); c++) {
256
+ in_grad[c] = vectorize::dot(
257
+ &out_grad[0], &W[c * out_grad.size()], out_grad.size());
258
+ }
259
+ } else {
260
+ // this is activation layer
261
+ std::vector<const tensor_t*> out_t;
262
+ l->output(out_t);
263
+ vec_t out_v = (*(out_t[0]))[0];
264
+
265
+ in_grad.assign(out_grad.begin(), out_grad.end());
266
+ // first arg (x) is used only to infer the size of input, which should
267
+ // be the same as output y
268
+ (dynamic_cast<activation_layer*>(l))
269
+ ->backward_activation(out_v, out_v, in_grad, out_grad);
270
+ }
271
+ out_grad.assign(in_grad.begin(), in_grad.end());
272
+ in_grad.clear();
273
+ }
274
+
275
+ mJacobian[0] = out_grad[0] * (-sin(qz)) + out_grad[1] * (cos(qz));
276
+ mJacobian[1] = out_grad[2] * (-sin(qx)) + out_grad[3] * (cos(qx));
277
+ mJacobian[2] = out_grad[4] * (-sin(qy + pi2));
278
+ mJacobian[3] = out_grad[5] * (-sin(qe));
279
+ mJacobian[4] = out_grad[6] * (-sin(hx + pi2));
280
+ mJacobian[5] = out_grad[7] * (-sin(hy + pi2));
281
+
282
+ // note that we also need to take the mirror of the NN gradient for
283
+ // right-leg
284
+ if (mIsMirror) {
285
+ mJacobian[0] = -mJacobian[0];
286
+ mJacobian[2] = -mJacobian[2];
287
+ }
288
+
289
+ // TODO: Normalize grad seems unnecessary?
290
+
291
+ Eigen::Vector6d q_d;
292
+ q_d << qz_d, qx_d, qy_d, qe_d, hx_d, hy_d;
293
+ mNegativeVel = -mJacobian.dot(q_d);
294
+
295
+ mLowerBound = 0.0;
296
+ mUpperBound = dInfinity;
297
+ mDim = 1;
298
+ }
299
+ }
300
+
301
+ //==============================================================================
302
+ void HumanLegJointLimitConstraint::getInformation(
303
+ constraint::ConstraintInfo* lcp)
304
+ {
305
+ // if non-active, should not call getInfo()
306
+ assert(isActive());
307
+
308
+ // assume caller will allocate enough space for _lcp variables
309
+ assert(lcp->w[0] == 0.0);
310
+ assert(lcp->findex[0] == -1);
311
+
312
+ double bouncingVel = -mViolation - mErrorAllowance;
313
+ if (bouncingVel < 0.0) {
314
+ bouncingVel = 0.0;
315
+ }
316
+ bouncingVel *= lcp->invTimeStep * mErrorReductionParameter;
317
+ if (bouncingVel > mMaxErrorReductionVelocity)
318
+ bouncingVel = mMaxErrorReductionVelocity;
319
+
320
+ lcp->b[0] = mNegativeVel + bouncingVel;
321
+ lcp->lo[0] = mLowerBound;
322
+ lcp->hi[0] = mUpperBound;
323
+
324
+ if (mLifeTime)
325
+ lcp->x[0] = mOldX;
326
+ else
327
+ lcp->x[0] = 0.0;
328
+ }
329
+
330
+ //==============================================================================
331
+ void HumanLegJointLimitConstraint::applyUnitImpulse(std::size_t index)
332
+ {
333
+ // the dim of constraint = 1, valid _index can only be 0
334
+ assert(index < mDim && "Invalid Index.");
335
+ assert(isActive());
336
+
337
+ const dynamics::SkeletonPtr& skeleton = mHipJoint->getSkeleton();
338
+ skeleton->clearConstraintImpulses();
339
+
340
+ for (std::size_t i = 0; i < 3; i++) {
341
+ mHipJoint->setConstraintImpulse(i, mJacobian[i]);
342
+ }
343
+ mKneeJoint->setConstraintImpulse(0, mJacobian[3]);
344
+ for (std::size_t i = 0; i < 2; i++) {
345
+ mAnkleJoint->setConstraintImpulse(i, mJacobian[4 + i]);
346
+ }
347
+
348
+ // Use the body which is placed later in the list of body nodes in this
349
+ // skeleton
350
+ skeleton->updateBiasImpulse(mFootNode);
351
+ skeleton->updateVelocityChange();
352
+
353
+ for (std::size_t i = 0; i < 3; i++) {
354
+ mHipJoint->setConstraintImpulse(i, 0.0);
355
+ }
356
+ mKneeJoint->setConstraintImpulse(0, 0.0);
357
+ for (std::size_t i = 0; i < 2; i++) {
358
+ mAnkleJoint->setConstraintImpulse(i, 0.0);
359
+ }
360
+
361
+ mAppliedImpulseIndex = index; // which is 0
362
+ }
363
+
364
+ //==============================================================================
365
+ void HumanLegJointLimitConstraint::getVelocityChange(
366
+ double* delVel, bool withCfm)
367
+ {
368
+ assert(delVel != nullptr && "Null pointer is not allowed.");
369
+ delVel[0] = 0.0;
370
+
371
+ if (mHipJoint->getSkeleton()->isImpulseApplied()) {
372
+ Eigen::Vector6d delq_d;
373
+ for (std::size_t i = 0; i < 3; i++) {
374
+ delq_d[i] = mHipJoint->getVelocityChange(i);
375
+ }
376
+ delq_d[3] = mKneeJoint->getVelocityChange(0);
377
+ for (std::size_t i = 0; i < 2; i++) {
378
+ delq_d[4 + i] = mAnkleJoint->getVelocityChange(i);
379
+ }
380
+ delVel[0] = mJacobian.dot(delq_d);
381
+ }
382
+
383
+ if (withCfm) {
384
+ delVel[mAppliedImpulseIndex]
385
+ += delVel[mAppliedImpulseIndex] * mConstraintForceMixing;
386
+ }
387
+ }
388
+
389
+ //==============================================================================
390
+ void HumanLegJointLimitConstraint::excite()
391
+ {
392
+ mHipJoint->getSkeleton()->setImpulseApplied(true);
393
+ }
394
+
395
+ //==============================================================================
396
+ void HumanLegJointLimitConstraint::unexcite()
397
+ {
398
+ mHipJoint->getSkeleton()->setImpulseApplied(false);
399
+ }
400
+
401
+ //==============================================================================
402
+ void HumanLegJointLimitConstraint::applyImpulse(double* lambda)
403
+ {
404
+ assert(isActive());
405
+
406
+ // the dim of constraint = 1
407
+ auto con_force = lambda[0];
408
+ mOldX = con_force;
409
+
410
+ for (std::size_t i = 0; i < 3; i++) {
411
+ mHipJoint->setConstraintImpulse(
412
+ i, mHipJoint->getConstraintImpulse(i) + mJacobian[i] * con_force);
413
+ }
414
+ mKneeJoint->setConstraintImpulse(
415
+ 0, mKneeJoint->getConstraintImpulse(0) + mJacobian[3] * con_force);
416
+ for (std::size_t i = 0; i < 2; i++) {
417
+ mAnkleJoint->setConstraintImpulse(
418
+ i, mAnkleJoint->getConstraintImpulse(i) + mJacobian[4 + i] * con_force);
419
+ }
420
+ }
421
+
422
+ //==============================================================================
423
+ dynamics::SkeletonPtr HumanLegJointLimitConstraint::getRootSkeleton() const
424
+ {
425
+ return mHipJoint->getSkeleton()->mUnionRootSkeleton.lock();
426
+ }
427
+
428
+ //==============================================================================
429
+ bool HumanLegJointLimitConstraint::isActive() const
430
+ {
431
+ return mActive;
432
+ }
@@ -0,0 +1,179 @@
1
+ /*
2
+ * Copyright (c) 2011-2025, The DART development contributors
3
+ * All rights reserved.
4
+ *
5
+ * The list of contributors can be found at:
6
+ * https://github.com/dartsim/dart/blob/main/LICENSE
7
+ *
8
+ * This file is provided under the following "BSD-style" License:
9
+ * Redistribution and use in source and binary forms, with or
10
+ * without modification, are permitted provided that the following
11
+ * conditions are met:
12
+ * * Redistributions of source code must retain the above copyright
13
+ * notice, this list of conditions and the following disclaimer.
14
+ * * Redistributions in binary form must reproduce the above
15
+ * copyright notice, this list of conditions and the following
16
+ * disclaimer in the documentation and/or other materials provided
17
+ * with the distribution.
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
19
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
+ * POSSIBILITY OF SUCH DAMAGE.
31
+ */
32
+
33
+ #ifndef EXAMPLES_HUMANJOINTLIMITS_HUMANLEGJOINTLIMITCONSTRAINT_HPP_
34
+ #define EXAMPLES_HUMANJOINTLIMITS_HUMANLEGJOINTLIMITCONSTRAINT_HPP_
35
+
36
+ #include <dart/dart.hpp>
37
+
38
+ #include <tiny_dnn/tiny_dnn.h>
39
+
40
+ DART_COMMON_MAKE_SHARED_WEAK(HumanLegJointLimitConstraint)
41
+
42
+ /// HumanLegJointLimitConstraint handles joint position limits on human leg,
43
+ /// representing range of motion of hip, knee and ankle joints.
44
+ class HumanLegJointLimitConstraint : public dart::constraint::ConstraintBase
45
+ {
46
+ public:
47
+ /// Constructor
48
+ explicit HumanLegJointLimitConstraint(
49
+ dart::dynamics::Joint* hipjoint,
50
+ dart::dynamics::Joint* kneejoint,
51
+ dart::dynamics::Joint* anklejoint,
52
+ bool isMirror);
53
+
54
+ /// Destructor
55
+ virtual ~HumanLegJointLimitConstraint() = default;
56
+
57
+ //----------------------------------------------------------------------------
58
+ // Property settings
59
+ //----------------------------------------------------------------------------
60
+
61
+ /// Set global error reduction parameter
62
+ static void setErrorAllowance(double allowance);
63
+
64
+ /// Get global error reduction parameter
65
+ static double getErrorAllowance();
66
+
67
+ /// Set global error reduction parameter
68
+ static void setErrorReductionParameter(double erp);
69
+
70
+ /// Get global error reduction parameter
71
+ static double getErrorReductionParameter();
72
+
73
+ /// Set global error reduction parameter
74
+ static void setMaxErrorReductionVelocity(double erv);
75
+
76
+ /// Get global error reduction parameter
77
+ static double getMaxErrorReductionVelocity();
78
+
79
+ /// Set global constraint force mixing parameter
80
+ static void setConstraintForceMixing(double cfm);
81
+
82
+ /// Get global constraint force mixing parameter
83
+ static double getConstraintForceMixing();
84
+
85
+ //----------------------------------------------------------------------------
86
+ // Friendship
87
+ //----------------------------------------------------------------------------
88
+
89
+ friend class dart::constraint::ConstraintSolver;
90
+ friend class dart::constraint::ConstrainedGroup;
91
+
92
+ protected:
93
+ //----------------------------------------------------------------------------
94
+ // Constraint virtual functions
95
+ //----------------------------------------------------------------------------
96
+
97
+ // Documentation inherited
98
+ void update() override;
99
+
100
+ // Documentation inherited
101
+ void getInformation(dart::constraint::ConstraintInfo* lcp) override;
102
+
103
+ // Documentation inherited
104
+ void applyUnitImpulse(std::size_t index) override;
105
+
106
+ // Documentation inherited
107
+ void getVelocityChange(double* delVel, bool withCfm) override;
108
+
109
+ // Documentation inherited
110
+ void excite() override;
111
+
112
+ // Documentation inherited
113
+ void unexcite() override;
114
+
115
+ // Documentation inherited
116
+ void applyImpulse(double* lambda) override;
117
+
118
+ // Documentation inherited
119
+ dart::dynamics::SkeletonPtr getRootSkeleton() const override;
120
+
121
+ // Documentation inherited
122
+ bool isActive() const override;
123
+
124
+ private:
125
+ /// leg joints involved
126
+ dart::dynamics::Joint* mHipJoint;
127
+ dart::dynamics::Joint* mKneeJoint;
128
+ dart::dynamics::Joint* mAnkleJoint;
129
+
130
+ /// leg body nodes involved
131
+ dart::dynamics::BodyNode* mThighNode;
132
+ dart::dynamics::BodyNode* mLowerLegNode;
133
+ dart::dynamics::BodyNode* mFootNode;
134
+
135
+ /// A workaround to have a de facto left-handed euler joint
136
+ /// for right hip, so it could share same limits with left hip.
137
+ /// left-leg set to false, right-leg set to true.
138
+ bool mIsMirror;
139
+
140
+ /// the neural network for calculating limits
141
+ tiny_dnn::network<tiny_dnn::sequential> mNet;
142
+
143
+ /// Gradient of the neural net function
144
+ Eigen::Vector6d mJacobian;
145
+
146
+ /// Index of applied impulse
147
+ std::size_t mAppliedImpulseIndex;
148
+
149
+ std::size_t mLifeTime;
150
+
151
+ double mViolation;
152
+
153
+ double mNegativeVel;
154
+
155
+ double mOldX;
156
+
157
+ double mUpperBound;
158
+
159
+ double mLowerBound;
160
+
161
+ bool mActive;
162
+
163
+ /// Global constraint error allowance
164
+ static double mErrorAllowance;
165
+
166
+ /// Global constraint error redection parameter in the range of [0, 1]. The
167
+ /// default is 0.01.
168
+ static double mErrorReductionParameter;
169
+
170
+ /// Maximum error reduction velocity
171
+ static double mMaxErrorReductionVelocity;
172
+
173
+ /// Global constraint force mixing parameter in the range of [1e-9, 1]. The
174
+ /// default is 1e-5
175
+ /// \sa http://www.ode.org/ode-latest-userguide.html#sec_3_8_0
176
+ static double mConstraintForceMixing;
177
+ };
178
+
179
+ #endif // EXAMPLES_HUMANJOINTLIMITS_HUMANLEGJOINTLIMITCONSTRAINT_HPP_