From ba29266e4bec78c64f1d428fc371808bbe2f6340 Mon Sep 17 00:00:00 2001 From: Henrique Ferrolho Date: Thu, 12 Nov 2020 11:33:39 +0000 Subject: [PATCH] [Docs] Adds content to home page --- docs/src/assets/diagram.drawio | 1 + docs/src/assets/diagram.svg | 3 +++ docs/src/index.md | 35 +++++++++++++++++++++++++++++++++- docs/src/tutorial.md | 2 ++ 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 docs/src/assets/diagram.drawio create mode 100644 docs/src/assets/diagram.svg diff --git a/docs/src/assets/diagram.drawio b/docs/src/assets/diagram.drawio new file mode 100644 index 0000000..fecc43d --- /dev/null +++ b/docs/src/assets/diagram.drawio @@ -0,0 +1 @@ +7VjbUtswEP2azLQPYXyLSR9DAoUpFIbAlD4qsWILZK+RZeLw9V3bcnyDAA2ZpNC8xHu0Wkl7dtdad8yhn3wXJPTOwKG8Y2hO0jFHHcPQdXMf/1JkkSO2/S0HXMEcpVQCY/ZIFagpNGYOjWqKEoBLFtbBKQQBncoaRoSAeV1tBry+akhc2gLGU8Lb6C/mSC9H+5pW4seUuZ5sDPik0FVA5BEH5hXIPOyYQwEg8yc/GVKe+q5wSz7v6JnR5b4EDeRrJnRPZmfDez7j9+fH+p3QzSE97fbV3uSiOC918PhKBCE9cCEg/LBEDwTEgUNTqxpKpc4pQIigjuAtlXKhuCSxBIQ86XM1ShMmbyrPv1NTez0ljRJlORMWSsj3mW7u2eMrKIJYTOmKM+tL52PQUvCpFAucJygnkj3U7RMVPe5Sbzn1AhiubGgq0pH5Pa3yM3IDKuotS6sblES4VCobJWsDIciiohamCtGKVQu7xTpaIwhe0rdq+viQ76CQKh4qoSyw3hBkypcPhMfKu5cwgXRXqlzYHCk8mAh8cmVGdo7MINt7GZ32fQzFQDfK4muACroWJuVgYeXL9eXo6GthC3eemyuWaMR9GdVpWM49Juk4JFkgzbGy1SNYHYgKSZPV8diOs6QoFDUizH0lz8sioxelw6sUGLsRSNXIrND4dpbMFkvXERVdh85YgH7B2UEY57FYcxy6QNa9E0kBd3QIHAQiAQRp1ZgxzhsQ4cwNUJyiyyjiB6lDGZbegRrwmeNkJecpOuplKOW2KFv6BugxX0mPsSl6vm2jUr9j1bU/ctXt72DVtVv5fCFgwqnfrrcjGk0FCyWDYNfqotXbdl3UrX/ljoQeFoubqlCZlYrltEzaxN1KsZAn2irFdW9h63GqtZLjzXcO66k7x9X55WDvlm/k0lF9g3YM0+nRvmO1Xrc40jcmpm2/Tzq28lHfej7u/8/H1+dj0TK/mI/rvp/X47TdIvw8vUBgDBzDd2MdwkkIYTofM8fQfgQMM2lnGwareYnYfiYaLdauBAmev0t8zFbhr1u5jfUKeruXO0dGfPZIPhEvzYTZAV56bV5iiV31J2HE1naOkXaXVHybwlJ2S6cS1CrbLP1Nv22y9KNYfpPOe9Hyw755+Ac= \ No newline at end of file diff --git a/docs/src/assets/diagram.svg b/docs/src/assets/diagram.svg new file mode 100644 index 0000000..b375a26 --- /dev/null +++ b/docs/src/assets/diagram.svg @@ -0,0 +1,3 @@ + + +
Robot Model
(URDF)
Robot Model...
User-defined inputs
User-defined inputs
Problem
Description
Problem...
TORA.jl
TORA.jl
NLP Solver
(Ipopt or Knitro)
NLP Solver...
Transcription
Transcription
Optimization
Optimization
Output
Output
Robot Trajectory
Robot Trajectory
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/docs/src/index.md b/docs/src/index.md index b9b01fa..c5214f7 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,3 +1,36 @@ # TORA.jl -Documentation for TORA.jl +*TORA* stands for **T**rajectory **O**ptimization for **R**obot **A**rms. + +To get started, see the [Tutorial](@ref). + +## Summary + +This package allows users to define tasks for robot manipulators with simple *high-level descriptions*. Then, TORA.jl does the heavy-lifting! +It converts those descriptions into numerical optimization problems, which are in turn tackled by state-of-the-art solvers. +The final result of the optimization is a full trajectory (joint *positions*, joint *velocities*, and joint *torques*) taking into account the whole-body dynamics of the system. +These trajectories can be commanded to your favourite robot, either in simulation or in real life. + +```@raw html +
+ diagram +
Diagram 1. Intended use of this package.
+
+``` + +## Functionality + +Currently, the highlights of TORA.jl are as follows: + +- Simple interface to define constrained motion-planning problems +- Formulation of the optimal control problem using *Direct Transcription* +- Optimization of NLP problems using state-of-the-art solvers ([Ipopt.jl](https://github.com/jump-dev/Ipopt.jl) and [KNITRO.jl](https://github.com/jump-dev/KNITRO.jl)) +- Full system dynamics enforced with either *forward* or *inverse* dynamics ([RigidBodyDynamics.jl](https://github.com/JuliaRobotics/RigidBodyDynamics.jl)) +- Automatic differentiation of sparse Jacobians ([ForwardDiff.jl](https://github.com/JuliaDiff/ForwardDiff.jl) and [SparseDiffTools.jl](https://github.com/JuliaDiff/SparseDiffTools.jl)) +- Automatic sparsity detection of Jacobians ([SparsityDetection.jl](https://github.com/SciML/SparsityDetection.jl)) +- Visualization of robot models and motion plans ([MeshCat.jl](https://github.com/rdeits/MeshCat.jl)) + +## About + +Overall, the *direct transcription* technique implemented in TORA.jl stems from: +- Betts, John T. [*Practical Methods for Optimal Control and Estimation Using Nonlinear Programming*](https://epubs.siam.org/doi/book/10.1137/1.9780898718577). SIAM, 2010. diff --git a/docs/src/tutorial.md b/docs/src/tutorial.md index ef6471f..5a22fd6 100644 --- a/docs/src/tutorial.md +++ b/docs/src/tutorial.md @@ -1,5 +1,7 @@ # Tutorial +This tutorial assumes you have already installed Julia and TORA.jl. See [Installation](@ref). + !!! info A [Jupyter](https://jupyter.org/) notebook of this tutorial is available [here](https://github.com/ferrolho/TORA.jl/blob/main/notebooks/Tutorial.ipynb).