Skip to content

Commit

Permalink
Merge pull request #38 from tkoolen/doc-fixes
Browse files Browse the repository at this point in the history
Minor doc fixes, add readme.
  • Loading branch information
tkoolen authored Feb 6, 2018
2 parents 76474c3 + 28d24c7 commit 617b6be
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 12 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
[![codecov.io](http://codecov.io/github/tkoolen/RigidBodySim.jl/coverage.svg?branch=master)](http://codecov.io/github/tkoolen/RigidBodySim.jl?branch=master)
[![Docs (latest)](https://img.shields.io/badge/docs-latest-blue.svg)](https://tkoolen.github.io/RigidBodySim.jl/latest)

***This package is currently under construction.***
RigidBodySim provides Julia tools for simulation and visualization of systems of interconnected rigid bodies (both passive and controlled), built on top of [RigidBodyDynamics](https://github.com/tkoolen/RigidBodyDynamics.jl), [DifferentialEquations](https://github.com/JuliaDiffEq/DifferentialEquations.jl), and [RigidBodyTreeInspector](https://github.com/rdeits/RigidBodyTreeInspector.jl).

See the [latest documentation](https://tkoolen.github.io/RigidBodySim.jl/latest) for more information.
13 changes: 8 additions & 5 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# RigidBodySim

RigidBodySim provides Julia tools for simulation and visualization of rigid body dynamics.
RigidBodySim provides Julia tools for simulation and visualization of systems of interconnected rigid bodies.

RigidBodySim is mainly built on top of the following packages:

* [RigidBodyDynamics](https://github.com/tkoolen/RigidBodyDynamics.jl) for construction of rigid body dynamics mechanisms and evaluation of their dynamics.
* [DifferentialEquations](https://github.com/JuliaDiffEq/DifferentialEquations.jl) packages, for numerical integration of the differential equations.
* [RigidBodyTreeInspector](https://github.com/rdeits/RigidBodyTreeInspector.jl) for visualization.
Expand All @@ -15,13 +16,14 @@ RigidBodySim does not attempt to abstract away its dependence on these packages,
## Functionality

RigidBodySim currently provides the following key features:

* Convenient creation of [`DiffEqBase.ODEProblem`s](http://docs.juliadiffeq.org/release-4.0/types/ode_types.html) given a [`RigidBodyDynamics.MechanismState`](http://tkoolen.github.io/RigidBodyDynamics.jl/release-0.4/mechanismstate.html#RigidBodyDynamics.MechanismState) and, optionally, a controller.
* Integration with [RigidBodyTreeInspector](https://github.com/rdeits/RigidBodyTreeInspector.jl) for visualization, both during simulation and after. The visualizer window can also control (currently, pause or terminate) the simulation.
* Easy simulation of a digital controller running at a fixed rate (see [PeriodicController](@ref control)).

## Performance

Performance is currently fair. For example, we have used RigidBodySim to perform a 10-second simulation of the humanoid robot [Atlas (v5)](https://en.wikipedia.org/wiki/Atlas_(robot)) standing on flat ground with a controller running at 100 Hz in 13 seconds with the Tsitouras 5/4 variable-step integrator on a 3GHz machine.
Performance is fairly good. For example, we have used RigidBodySim to perform a 10-second simulation of the humanoid robot [Atlas (v5)](https://en.wikipedia.org/wiki/Atlas_(robot)) standing on flat ground with a controller running at 100 Hz in 13 seconds with the Tsitouras 5/4 variable-step integrator on a 3GHz machine.

## Installation

Expand All @@ -38,7 +40,7 @@ Download links and more detailed instructions are available on the [Julia](http:
To install the latest tagged release of RigidBodySim, simply run

```julia
Pkg.add("RigidBodySim") 
Pkg.add("RigidBodySim")
```

To check out the master branch and work on the bleeding edge (generally, not recommended), additionally run
Expand All @@ -50,11 +52,12 @@ Pkg.checkout("RigidBodySim")
### First steps

To load the package, use the command:
```

```julia
using RigidBodySim
```
It is recommended to follow the [quick start guide](@ref quickstart) to get up to speed.

It is recommended to follow the [quick start guide](@ref quickstart) to get up to speed.

## Contents

Expand Down
6 changes: 1 addition & 5 deletions src/control.jl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ PeriodicController(τ, Δt, control; initialize = DiffEqBase.INITIALIZE_DEFAULT,
```
where `control` is a controller satisfying the standard RigidBodySim controller signature
(`control(τ, Δt, state)`), Δt is the simulation time interval between calls to the
(`control(τ, Δt, state)`), `Δt` is the simulation time interval between calls to the
`control` function, and `τ` is used to call `control`.
The `initialize` and `save_positions` keyword arguments are documented in
the [`DiscreteCallback`](http://docs.juliadiffeq.org/release-4.0/features/callback_functions.html#DiscreteCallback-1)
Expand All @@ -31,10 +31,6 @@ this `PeriodicCallback`, as it is automatically created and
added to the `ODEProblem` when the `PeriodicController` is passed into the
following `DiffEqBase.ODEProblem` constructor overload:
```julia
DiffEqBase.ODEProblem(state::MechanismState, tspan, controller::PeriodicController; callback = nothing)
```
```
ODEProblem(state, tspan, controller::PeriodicController; callback)
```
Expand Down
2 changes: 1 addition & 1 deletion src/visualization.jl
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ representing the state of the mechanism that was simulated, and will be modified
* `max_fps`: the maximum number of frames per second to draw. Default: `60.0`.
* `realtime_rate`: can be used to slow down or speed up playback compared to wall time. A `realtime_rate` of `2`
will result in playback that is sped up 2x. Default: `1.0`.
* `pause_pollint`: how often to poll for commands coming from the director window when playback is paused.
* `pause_pollint`: how often to poll for commands coming from the director window when playback is paused. Default: $DEFAULT_PAUSE_POLLINT.
# Examples
Expand Down

0 comments on commit 617b6be

Please sign in to comment.