-
Notifications
You must be signed in to change notification settings - Fork 49
/
index.html
7 lines (7 loc) · 10.5 KB
/
index.html
1
2
3
4
5
6
7
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Home · RigidBodyDynamics.jl</title><link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link href="assets/documenter.css" rel="stylesheet" type="text/css"/></head><body><nav class="toc"><h1>RigidBodyDynamics.jl</h1><select id="version-selector" onChange="window.location.href=this.value" style="visibility: hidden"></select><form class="search" id="search-form" action="search.html"><input id="search-query" name="q" type="text" placeholder="Search docs"/></form><ul><li class="current"><a class="toctext" href="index.html">Home</a><ul class="internal"><li><a class="toctext" href="#Design-features-1">Design features</a></li><li><a class="toctext" href="#Functionality-1">Functionality</a></li><li><a class="toctext" href="#Installation-1">Installation</a></li><li><a class="toctext" href="#About-1">About</a></li><li><a class="toctext" href="#Related-packages-1">Related packages</a></li><li><a class="toctext" href="#Contents-1">Contents</a></li><li><a class="toctext" href="#Citing-this-library-1">Citing this library</a></li></ul></li><li><a class="toctext" href="quickstart.html">Quick start guide</a></li><li><a class="toctext" href="spatial.html">Spatial vector algebra</a></li><li><a class="toctext" href="joints.html">Joints</a></li><li><a class="toctext" href="rigidbody.html">Rigid bodies</a></li><li><a class="toctext" href="mechanism.html">Mechanism</a></li><li><a class="toctext" href="mechanismstate.html">MechanismState</a></li><li><a class="toctext" href="algorithms.html">Kinematics/dynamics algorithms</a></li><li><a class="toctext" href="customcollections.html">Custom collection types</a></li><li><a class="toctext" href="caches.html">Cache types</a></li><li><a class="toctext" href="simulation.html">Simulation</a></li><li><a class="toctext" href="benchmarks.html">Benchmarks</a></li></ul></nav><article id="docs"><header><nav><ul><li><a href="index.html">Home</a></li></ul><a class="edit-page" href="https://github.com/JuliaRobotics/RigidBodyDynamics.jl/blob/master/docs/src/index.md"><span class="fa"></span> Edit on GitHub</a></nav><hr/><div id="topbar"><span>Home</span><a class="fa fa-bars" href="#"></a></div></header><h1><a class="nav-anchor" id="RigidBodyDynamics-1" href="#RigidBodyDynamics-1">RigidBodyDynamics</a></h1><p>RigidBodyDynamics implements various rigid body dynamics and kinematics algorithms.</p><h2><a class="nav-anchor" id="Design-features-1" href="#Design-features-1">Design features</a></h2><p>Some of the key design features of this package are:</p><ul><li><p>pure Julia implementation, enabling seamless support for e.g. automatic differentiation using <a href="https://github.com/JuliaDiff/ForwardDiff.jl">ForwardDiff.jl</a> and symbolic dynamics using <a href="https://github.com/JuliaPy/SymPy.jl">SymPy.jl</a>.</p></li><li><p>easy creation and modification of general rigid body mechanisms (including basic <a href="http://wiki.ros.org/urdf">URDF</a> parsing).</p></li><li><p>extensive checks that verify that coordinate systems match before computation, with the goal of making reference frame mistakes impossible</p></li><li><p>flexible caching of intermediate results to prevent doing double work</p></li><li><p>fairly small codebase and few dependencies</p></li><li><p>singularity-free rotation parameterizations</p></li></ul><h2><a class="nav-anchor" id="Functionality-1" href="#Functionality-1">Functionality</a></h2><p>Current functionality of RigidBodyDynamics includes:</p><ul><li><p>kinematics/transforming points and free vectors from one coordinate system to another</p></li><li><p>transforming wrenches, momenta (spatial force vectors) and twists and their derivatives (spatial motion vectors) from one coordinate system to another</p></li><li><p>relative twists/spatial accelerations between bodies</p></li><li><p>kinetic/potential energy</p></li><li><p>center of mass</p></li><li><p>geometric/basic/spatial Jacobians</p></li><li><p>momentum</p></li><li><p>momentum matrix</p></li><li><p>momentum rate bias (= momentum matrix time derivative multiplied by joint velocity vector)</p></li><li><p>mass matrix (composite rigid body algorithm)</p></li><li><p>inverse dynamics (recursive Newton-Euler)</p></li><li><p>dynamics</p></li><li><p>simulation, either using an off-the-shelf ODE integrator or using an included custom Munthe-Kaas integrator that properly handles second-order ODEs defined on a manifold.</p></li></ul><p>There is currently partial support for closed-loop systems (parallel mechanisms); more features will be added soon in this area. Contact is not yet supported.</p><h2><a class="nav-anchor" id="Installation-1" href="#Installation-1">Installation</a></h2><h3><a class="nav-anchor" id="Installing-Julia-1" href="#Installing-Julia-1">Installing Julia</a></h3><p>Download links and more detailed instructions are available on the <a href="http://julialang.org/">Julia</a> website. The latest release of RigidBodyDynamics.jl requires version 0.6 of Julia (the latest stable version).</p><div class="admonition warning"><div class="admonition-title">Warning</div><div class="admonition-text"><p>Do <strong>not</strong> use <code>apt-get</code> or <code>brew</code> to install Julia, as the versions provided by these package managers tend to be out of date.</p></div></div><h3><a class="nav-anchor" id="Installing-RigidBodyDynamics-1" href="#Installing-RigidBodyDynamics-1">Installing RigidBodyDynamics</a></h3><p>To install the latest tagged release of RigidBodyDynamics, simply run</p><pre><code class="language-julia">Pkg.add("RigidBodyDynamics") </code></pre><p>To check out the master branch and work on the bleeding edge (generally, not recommended), additionally run</p><pre><code class="language-julia">Pkg.checkout("RigidBodyDynamics")</code></pre><h2><a class="nav-anchor" id="About-1" href="#About-1">About</a></h2><p>This library was inspired by <a href="https://bitbucket.org/ihmcrobotics/ihmc-open-robotics-software">IHMCRoboticsToolkit</a> and by <a href="http://drake.mit.edu">Drake</a>.</p><p>Most of the nomenclature used and algorithms implemented by this package stem from the following resources:</p><ul><li><p>Murray, Richard M., et al. <em>A mathematical introduction to robotic manipulation</em>. CRC press, 1994.</p></li><li><p>Featherstone, Roy. <em>Rigid body dynamics algorithms</em>. Springer, 2008.</p></li><li><p>Duindam, Vincent. <em>Port-based modeling and control for efficient bipedal walking robots</em>. Diss. University of Twente, 2006.</p></li></ul><h2><a class="nav-anchor" id="Related-packages-1" href="#Related-packages-1">Related packages</a></h2><ul><li><p><a href="https://github.com/rdeits/RigidBodyTreeInspector.jl">RigidBodyTreeInspector.jl</a> - 3D visualization of RigidBodyDynamics.jl <code>Mechanism</code>s using <a href="https://github.com/RobotLocomotion/director">Director</a>.</p></li></ul><h2><a class="nav-anchor" id="Contents-1" href="#Contents-1">Contents</a></h2><ul><li><a href="quickstart.html#Quick-start-guide-1">Quick start guide</a></li><li><a href="spatial.html#Spatial-vector-algebra-1">Spatial vector algebra</a></li><ul><li><a href="spatial.html#Index-1">Index</a></li><li><a href="spatial.html#Types-1">Types</a></li><li><a href="spatial.html#The-@framecheck-macro-1">The <code>@framecheck</code> macro</a></li><li><a href="spatial.html#Functions-1">Functions</a></li></ul><li><a href="joints.html#Joints-1">Joints</a></li><ul><li><a href="joints.html#Index-1">Index</a></li><li><a href="joints.html#The-Joint-type-1">The <code>Joint</code> type</a></li><li><a href="joints.html#Functions-1">Functions</a></li><li><a href="joints.html#JointTypes-1"><code>JointType</code>s</a></li></ul><li><a href="rigidbody.html#Rigid-bodies-1">Rigid bodies</a></li><ul><li><a href="rigidbody.html#Index-1">Index</a></li><li><a href="rigidbody.html#The-RigidBody-type-1">The <code>RigidBody</code> type</a></li><li><a href="rigidbody.html#Functions-1">Functions</a></li></ul><li><a href="mechanism.html#Mechanisms-1">Mechanisms</a></li><ul><li><a href="mechanism.html#Index-1">Index</a></li><li><a href="mechanism.html#The-Mechanism-type-1">The <code>Mechanism</code> type</a></li><li><a href="mechanism.html#mechanism_create-1">Creating and modifying <code>Mechanism</code>s</a></li><li><a href="mechanism.html#Basic-functionality-1">Basic functionality</a></li></ul><li><a href="mechanismstate.html#MechanismState-1">MechanismState</a></li><ul><li><a href="mechanismstate.html#Index-1">Index</a></li><li><a href="mechanismstate.html#The-MechanismState-type-1">The <code>MechanismState</code> type</a></li><li><a href="mechanismstate.html#Functions-1">Functions</a></li></ul><li><a href="algorithms.html#Algorithms-1">Algorithms</a></li><ul><li><a href="algorithms.html#Index-1">Index</a></li><li><a href="algorithms.html#The-DynamicsResult-type-1">The <code>DynamicsResult</code> type</a></li><li><a href="algorithms.html#Functions-1">Functions</a></li></ul><li><a href="caches.html#StateCache-1"><code>StateCache</code></a></li><li><a href="simulation.html#Simulation-1">Simulation</a></li><ul><li><a href="simulation.html#Index-1">Index</a></li><li><a href="simulation.html#Basic-simulation-1">Basic simulation</a></li><li><a href="simulation.html#Lower-level-ODE-integration-interface-1">Lower level ODE integration interface</a></li></ul><li><a href="benchmarks.html#Benchmarks-1">Benchmarks</a></li></ul><h2><a class="nav-anchor" id="Citing-this-library-1" href="#Citing-this-library-1">Citing this library</a></h2><pre><code class="language-bibtex">@misc{rigidbodydynamicsjl,
author = "Twan Koolen and contributors",
title = "RigidBodyDynamics.jl",
year = 2016,
url = "https://github.com/JuliaRobotics/RigidBodyDynamics.jl"
}</code></pre><footer><hr/><a class="next" href="quickstart.html"><span class="direction">Next</span><span class="title">Quick start guide</span></a></footer></article></body></html>