Giter Club home page Giter Club logo

rigidbodysim.jl's Introduction

RigidBodySim

Build Status codecov.io Docs (latest) Docs (stable)

RigidBodySim provides Julia tools for simulation and visualization of systems of interconnected rigid bodies (both passive and controlled), built on top of RigidBodyDynamics, DifferentialEquations, and RigidBodyTreeInspector.

See the latest documentation and the quick start guide for more information and examples.

Demo video

The video below shows Atlas walking using the MIT Robot Locomotion Group controller, simulated in realtime using RigidBodySim.jl.

Note: RigidBodySim.jl is now using MeshCat instead of Director as its viewer; the video below has not yet been updated to reflect this change.

Watch the demo video

Off-screen, commands are being given to the robot using a separate user interface. The controller is unfortunately hard to set up, so a hands-on version of this demo is currently not available.

rigidbodysim.jl's People

Contributors

juliatagbot avatar mortenpi avatar rdeits avatar tkoolen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rigidbodysim.jl's Issues

Change from DiffEqBase to SciMLBase

DiffEqBase is the lowest common denominator for the DiffEq packages, not necessarily the whole SciML ecosystem, and so it has a lot DiffEq dependencies. These are generally not required by downstream packages. If what you're looking for is a way to define problems without having most dependencies, we recommend you use SciMLBase as the dependency since everything like ODEProblem, SteadyStateProblem, etc. is defined there. We basically recommend depending on SciMLBase for problem definitions, and solver packages for specific solvers, but generally most non-SciML packages should not be depending on DiffEqBase directly (given the split of SciMLBase in 2021)

For more details see: https://diffeq.sciml.ai/stable/features/low_dep/ and https://discourse.julialang.org/t/psa-the-right-dependency-to-reduce-from-differentialequations-jl/72757

Let me know if you need any help updating this, though for almost all dependents here it should be a trivial name change as you're actually using pieces from SciMLBase.

Deciding where bodies attach

Hey Koolen sorry once again for the trouble,

I am having an issue with attaching one body to another,
I want to define a "rope" to attach to a base, but when using the command "attach!" the rope attaches to the base from its middle and not the top (pic below explains).
Would you have an idea how can I attach the top of my rope to the base.

Btw I am using a Floating Joint, and defining the bodies in a Jupyter notebook using "SpatialInertia" and "RigidBody" commands

PeriodicController issue with Tsit5 integrator

using RigidBodySim, RigidBodyDynamics, Compat.Test

mechanism = rand_tree_mechanism(Float64, Revolute{Float64})
state = MechanismState(mechanism)
controltimes = Float64[]
initialize = (c, u, t, integrator) -> empty!(controltimes)
τ = similar(velocity(state))
Δt = 0.25

controller = PeriodicController(τ, Δt, function (τ, t, state)
    push!(controltimes, t)
    τ .= 0
end; initialize = initialize)

final_time = 25.3
problem = ODEProblem(Dynamics(mechanism, controller), state, (0., final_time))
sol = solve(problem, Tsit5(), abs_tol = 1e-10, dt = 0.05)
@test controltimes == collect(0. : Δt : final_time - rem(final_time, Δt))

Vern7 is fine though. For Tsit5, the first time the controller is called when docontrol[] == true, the time is not the same as the time at which the callback set docontrol[] to true. I believe this is due to a fairly recent DifferentialEquations change, but I haven't narrowed it down to a version yet.

Defining a propulsion force on RigidbodySim

Hey,

I've spent a while working with RigidbodySim using the Jupyter Notebook and following the Quick Start Guide notebook and so far I'm quite familiar with how things work a bit and I can define my own links and joints and inertias and some simple kinematics.

However I was wondering if it is possible define a certain propulsion force to an object and if so how can I do such.
To be a precise I have a simple geometry a box and I wanna see how much force would it take to lift this object box off the ground.

Thanks in advance

Handle constraints on configuration vector

The configuration vector q may need to satisfy certain constraints. For example, some parts of the configuration vector may represent unit quaternions, used to parameterize rotations. This should be handled.

Options:

  • callback that renormalizes the configuration vector periodically
  • explicitly incorporate constraints on the configuration vector into a DAEProblem
  • Baumgarte stabilization

Defining PID controller on RigidBodyDynamics

Hi,

The topic that I am working on is a box carrying a small cargo, and I am looking to stabilize this one when it's flying, so I am seeking how to define a PID controller.

I'm working with julia using RigidBodyDynamics within Jupyter Notebook. I was searching how to define a PID controller but unfortunately I didn't find any function to apply it.

Is it possible to define a certain function and if how can I do it.

Thank you in advance.

More helpful exports

I've noticed that it's kind of annoying to have to do using MeshCatMechanisms just to be able to construct a GUI(mechanism, URDFVisuals(urdf)). We could instead have RigidBodySim.Visualization re-export a few things, since using RigidBodySim.Visualization is a bit more obvious than explaining (and remembering) to load a whole different package as well.

Or we could just have RigidBodySim itself export URDFVisuals.

PeriodicCallback associated with PeriodicController is never created if PeriodicController is called from a different control! function

For example, wrapping a PeriodicController in another callable, like:

periodic_controller = PeriodicController(v, dt, inner_controller)
my_controller(T, t, state) = periodic_controller(T, t, state)
dynamics = Dynamics(mech, my_controller)
problem = ODEProblem(dynamics, state)

causes the automatic PeriodicCallback not to be added to the ODEProblem, which results in the inner_controller only ever being called once, not every dt.

The safest solution seems to be requiring users to add the periodic callback for each periodic controller.

Compatibility issue with Atom.jl

I'm not entirely sure what MeshCat.jl is, but it's giving me install issues:

(v1.1) pkg> dev RigidBodySim
[ Info: Path `C:\Users\accou\.julia\dev\RigidBodySim` exists and looks like the correct package, using existing path
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package WebIO [0f1e0344]:
 WebIO [0f1e0344] log:
 ├─possible versions are: [0.1.0-0.1.10, 0.1.12, 0.2.0-0.2.8, 0.3.0-0.3.4, 0.4.0-0.4.2, 0.6.0-0.6.2, 0.7.0, 0.8.0-0.8.1, 0.8.3-0.8.9, 0.8.11] or uninstalled
 ├─restricted to versions 0.2.6-* by RigidBodySim [e61f16d8], leaving only versions [0.2.6-0.2.8, 0.3.0-0.3.4, 0.4.0-0.4.2, 0.6.0-0.6.2, 0.7.0, 0.8.0-0.8.1, 0.8.3-0.8.9, 0.8.11]
 │ └─RigidBodySim [e61f16d8] log:
 │   ├─possible versions are: 1.3.0 or uninstalled
 │   └─RigidBodySim [e61f16d8] is fixed to version 1.3.0
 ├─restricted by compatibility requirements with Atom [c52e3926] to versions: [0.8.1, 0.8.3-0.8.9, 0.8.11]
 │ └─Atom [c52e3926] log:
 │   ├─possible versions are: [0.1.0-0.1.1, 0.2.0-0.2.1, 0.3.0, 0.4.0-0.4.6, 0.5.0-0.5.10, 0.6.0-0.6.17, 0.7.0-0.7.15, 
0.8.0-0.8.8, 0.9.0-0.9.1, 0.10.0-0.10.1] or uninstalled
 │   └─restricted to versions 0.10.1 by an explicit requirement, leaving only versions 0.10.1
 └─restricted by compatibility requirements with MeshCat [283c5d60] to versions: [0.1.8-0.1.10, 0.1.12, 0.2.0-0.2.8, 0.3.0-0.3.4, 0.4.0-0.4.2, 0.7.0] — no versions left
   └─MeshCat [283c5d60] log:
     ├─possible versions are: [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0] or uninstalled     ├─restricted to versions * by RigidBodySim [e61f16d8], leaving only versions [0.0.1-0.0.3, 0.1.0-0.1.2, 0.2.0-0.2.3, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0]
     │ └─RigidBodySim [e61f16d8] log: see above
     └─restricted by compatibility requirements with MeshCatMechanisms [6ad125db] to versions: [0.2.1-0.2.3, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0]
       └─MeshCatMechanisms [6ad125db] log:
         ├─possible versions are: [0.0.1-0.0.6, 0.1.0-0.1.1, 0.2.0-0.2.1, 0.3.0, 0.4.0, 0.5.0] or uninstalled
         └─restricted to versions 0.1.1-* by RigidBodySim [e61f16d8], leaving only versions [0.1.1, 0.2.0-0.2.1, 0.3.0, 0.4.0, 0.5.0]
           └─RigidBodySim [e61f16d8] log: see above

Originally posted by @ChrisRackauckas in #113 (comment)

Build failure on julia 1.0.2

Does the build expect 7z to be on the path?

(v1.0) pkg> add RigidBodySim
   Cloning default registries into C:\Users\fschmidt\.julia\registries
   Cloning registry General from "https://github.com/JuliaRegistries/General.git"
 Resolving package versions...
 Installed TreeViews ─────────────────── v0.3.0
 Installed AssetRegistry ─────────────── v0.1.0
 Installed Compat ────────────────────── v1.4.0
 Installed RecursiveArrayTools ───────── v0.18.4
 Installed NLSolversBase ─────────────── v7.1.1
 Installed DiffResults ───────────────── v0.0.3
 Installed OrderedCollections ────────── v1.0.2
 Installed RigidBodySim ──────────────── v1.0.0
 Installed BinaryProvider ────────────── v0.5.3
 Installed Observables ───────────────── v0.2.3
 Installed IniFile ───────────────────── v0.5.0
 Installed LoopThrottle ──────────────── v0.0.3
 Installed MechanismGeometries ───────── v0.1.2
 Installed MacroTools ────────────────── v0.4.4
 Installed NaNMath ───────────────────── v0.3.2
 Installed DiffEqBase ────────────────── v4.31.0
 Installed SpecialFunctions ──────────── v0.7.2
 Installed ExponentialUtilities ──────── v1.3.0
 Installed CoordinateTransformations ─── v0.5.0
 Installed DiffEqCallbacks ───────────── v2.3.0
 Installed WebIO ─────────────────────── v0.4.2
 Installed Widgets ───────────────────── v0.4.3
 Installed DiffBase ──────────────────── v0.3.2
 Installed MbedTLS ───────────────────── v0.6.6
 Installed FunctionalCollections ─────── v0.4.0
 Installed Blink ─────────────────────── v0.8.1
 Installed Reexport ──────────────────── v0.2.0
 Installed HTTP ──────────────────────── v0.7.1
 Installed BinDeps ───────────────────── v0.8.10
 Installed Parameters ────────────────── v0.10.2
 Installed ColorTypes ────────────────── v0.7.5
 Installed Rotations ─────────────────── v0.9.1
 Installed AxisAlgorithms ────────────── v0.3.0
 Installed CSSUtil ───────────────────── v0.1.0
 Installed IterTools ─────────────────── v1.1.1
 Installed Hiccup ────────────────────── v0.2.2
 Installed Distances ─────────────────── v0.7.3
 Installed Mustache ──────────────────── v0.5.8
 Installed WebSockets ────────────────── v1.1.0
 Installed Interpolations ────────────── v0.10.6
 Installed Pidfile ───────────────────── v1.1.0
 Installed MeshIO ────────────────────── v0.3.1
 Installed DataStructures ────────────── v0.14.0
 Installed Mux ───────────────────────── v0.5.3
 Installed OrdinaryDiffEq ────────────── v4.17.2
 Installed JSExpr ────────────────────── v0.3.1
 Installed DiffEqOperators ───────────── v3.4.0
 Installed RecipesBase ───────────────── v0.6.0
 Installed DiffEqDiffTools ───────────── v0.7.1
 Installed MsgPack ───────────────────── v0.2.0
 Installed Calculus ──────────────────── v0.4.1
 Installed MuladdMacro ───────────────── v0.2.1
 Installed StaticArrays ──────────────── v0.10.0
 Installed GeometryTypes ─────────────── v0.7.1
 Installed LightXML ──────────────────── v0.8.0
 Installed GenericSVD ────────────────── v0.2.0
 Installed Tables ────────────────────── v0.1.11
 Installed ForwardDiff ───────────────── v0.10.1
 Installed InteractBase ──────────────── v0.8.1
 Installed NLsolve ───────────────────── v3.0.1
 Installed Requires ──────────────────── v0.5.2
 Installed OffsetArrays ──────────────── v0.9.0
 Installed WoodburyMatrices ──────────── v0.4.1
 Installed TypeSortedCollections ─────── v1.0.0
 Installed MeshCat ───────────────────── v0.4.0
 Installed FileIO ────────────────────── v1.0.4
 Installed LineSearches ──────────────── v7.0.1
 Installed Knockout ──────────────────── v0.2.0
 Installed Ratios ────────────────────── v0.3.0
 Installed Lazy ──────────────────────── v0.13.2
 Installed Measures ──────────────────── v0.3.0
 Installed CommonSubexpressions ──────── v0.2.0
 Installed MeshCatMechanisms ─────────── v0.2.1
 Installed JSON ──────────────────────── v0.20.0
 Installed Roots ─────────────────────── v0.7.4
 Installed FixedPointNumbers ─────────── v0.5.3
 Installed DiffRules ─────────────────── v0.0.7
 Installed IteratorInterfaceExtensions ─ v0.1.1
 Installed TableTraits ───────────────── v0.4.0
 Installed URIParser ─────────────────── v0.4.0
 Installed Colors ────────────────────── v0.9.5
 Installed DocStringExtensions ───────── v0.5.0
 Installed RigidBodyDynamics ─────────── v1.2.0
  Updating `C:\Users\fschmidt\.julia\environments\v1.0\Project.toml`
  [e61f16d8] + RigidBodySim v1.0.0
  Updating `C:\Users\fschmidt\.julia\environments\v1.0\Manifest.toml`
  [bf4720bc] + AssetRegistry v0.1.0
  [13072b0f] + AxisAlgorithms v0.3.0
  [9e28174c] + BinDeps v0.8.10
  [b99e7846] + BinaryProvider v0.5.3
  [ad839575] + Blink v0.8.1
  [70588ee8] + CSSUtil v0.1.0
  [49dc2e85] + Calculus v0.4.1
  [3da002f7] + ColorTypes v0.7.5
  [5ae59095] + Colors v0.9.5
  [bbf7d656] + CommonSubexpressions v0.2.0
  [34da2185] + Compat v1.4.0
  [150eb455] + CoordinateTransformations v0.5.0
  [864edb3b] + DataStructures v0.14.0
  [c5cfe0b6] + DiffBase v0.3.2
  [2b5f629d] + DiffEqBase v4.31.0
  [459566f4] + DiffEqCallbacks v2.3.0
  [01453d9d] + DiffEqDiffTools v0.7.1
  [9fdde737] + DiffEqOperators v3.4.0
  [163ba53b] + DiffResults v0.0.3
  [b552c78f] + DiffRules v0.0.7
  [b4f34e82] + Distances v0.7.3
  [ffbed154] + DocStringExtensions v0.5.0
  [d4d017d3] + ExponentialUtilities v1.3.0
  [5789e2e9] + FileIO v1.0.4
  [53c48c17] + FixedPointNumbers v0.5.3
  [f6369f11] + ForwardDiff v0.10.1
  [de31a74c] + FunctionalCollections v0.4.0
  [01680d73] + GenericSVD v0.2.0
  [4d00f742] + GeometryTypes v0.7.1
  [cd3eb016] + HTTP v0.7.1
  [9fb69e20] + Hiccup v0.2.2
  [83e8ac13] + IniFile v0.5.0
  [d3863d7c] + InteractBase v0.8.1
  [a98d9a8b] + Interpolations v0.10.6
  [c8e1da08] + IterTools v1.1.1
  [82899510] + IteratorInterfaceExtensions v0.1.1
  [97c1335a] + JSExpr v0.3.1
  [682c06a0] + JSON v0.20.0
  [bcebb21b] + Knockout v0.2.0
  [50d2b5c4] + Lazy v0.13.2
  [9c8b4983] + LightXML v0.8.0
  [d3d80556] + LineSearches v7.0.1
  [39f5be34] + LoopThrottle v0.0.3
  [1914dd2f] + MacroTools v0.4.4
  [739be429] + MbedTLS v0.6.6
  [442fdcdd] + Measures v0.3.0
  [931e9471] + MechanismGeometries v0.1.2
  [283c5d60] + MeshCat v0.4.0
  [6ad125db] + MeshCatMechanisms v0.2.1
  [7269a6da] + MeshIO v0.3.1
  [99f44e22] + MsgPack v0.2.0
  [46d2c3a1] + MuladdMacro v0.2.1
  [ffc61752] + Mustache v0.5.8
  [a975b10e] + Mux v0.5.3
  [d41bc354] + NLSolversBase v7.1.1
  [2774e3e8] + NLsolve v3.0.1
  [77ba4419] + NaNMath v0.3.2
  [510215fc] + Observables v0.2.3
  [6fe1bfb0] + OffsetArrays v0.9.0
  [bac558e1] + OrderedCollections v1.0.2
  [1dea7af3] + OrdinaryDiffEq v4.17.2
  [d96e819e] + Parameters v0.10.2
  [fa939f87] + Pidfile v1.1.0
  [c84ed2f1] + Ratios v0.3.0
  [3cdcf5f2] + RecipesBase v0.6.0
  [731186ca] + RecursiveArrayTools v0.18.4
  [189a3867] + Reexport v0.2.0
  [ae029012] + Requires v0.5.2
  [366cf18f] + RigidBodyDynamics v1.2.0
  [e61f16d8] + RigidBodySim v1.0.0
  [f2b01f46] + Roots v0.7.4
  [6038ab10] + Rotations v0.9.1
  [276daf66] + SpecialFunctions v0.7.2
  [90137ffa] + StaticArrays v0.10.0
  [3783bdb8] + TableTraits v0.4.0
  [bd369af6] + Tables v0.1.11
  [a2a6695c] + TreeViews v0.3.0
  [94a5cd58] + TypeSortedCollections v1.0.0
  [30578b45] + URIParser v0.4.0
  [0f1e0344] + WebIO v0.4.2
  [104b5d7c] + WebSockets v1.1.0
  [cc8bc4a8] + Widgets v0.4.3
  [efce3f68] + WoodburyMatrices v0.4.1
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [8bb1440f] + DelimitedFiles
  [8ba89e20] + Distributed
  [7b1f6079] + FileWatching
  [b77e0a4c] + InteractiveUtils
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [9abbd945] + Profile
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [1a1011a3] + SharedArrays
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [4607b0f0] + SuiteSparse
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  Building WebIO ───────────→ `C:\Users\fschmidt\.julia\packages\WebIO\Rk8wc\deps\build.log`
  Building Knockout ────────→ `C:\Users\fschmidt\.julia\packages\Knockout\JIqpG\deps\build.log`
  Building InteractBase ────→ `C:\Users\fschmidt\.julia\packages\InteractBase\Q4IkI\deps\build.log`
  Building LightXML ────────→ `C:\Users\fschmidt\.julia\packages\LightXML\k3mJ4\deps\build.log`
  Building SpecialFunctions → `C:\Users\fschmidt\.julia\packages\SpecialFunctions\fvheQ\deps\build.log`
  Building DiffEqBase ──────→ `C:\Users\fschmidt\.julia\packages\DiffEqBase\nW6r3\deps\build.log`
  Building MbedTLS ─────────→ `C:\Users\fschmidt\.julia\packages\MbedTLS\r1Ufc\deps\build.log`
  Building Blink ───────────→ `C:\Users\fschmidt\.julia\packages\Blink\vKGzM\deps\build.log`
  Building MeshCat ─────────→ `C:\Users\fschmidt\.julia\packages\MeshCat\GlxLQ\deps\build.log`
  Building RigidBodySim ────→ `C:\Users\fschmidt\.julia\packages\RigidBodySim\ZC9wn\deps\build.log`
┌ Error: Error building `RigidBodySim`:
│ WARNING: could not import Base.quit into AtomShell
│ ERROR: LoadError: IOError: could not spawn `7z x electron-v2.0.5-win32-x64.zip -oatom`: no such file or directory (ENOENT)
│ Stacktrace:
│  [1] _jl_spawn(::String, ::Array{String,1}, ::Cmd, ::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:367
│  [2] (::getfield(Base, Symbol("##494#495")){Cmd})(::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:509
│  [3] setup_stdio(::getfield(Base, Symbol("##494#495")){Cmd}, ::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:490
│  [4] #_spawn#493(::Nothing, ::Function, ::Cmd, ::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:508
│  [5] _spawn at .\process.jl:504 [inlined]
│  [6] #run#504(::Bool, ::Function, ::Cmd) at .\process.jl:662
│  [7] run at .\process.jl:661 [inlined]
│  [8] (::getfield(Blink.AtomShell, Symbol("##1#2")))() at C:\Users\fschmidt\.julia\packages\Blink\vKGzM\src\AtomShell\install.jl:48
│  [9] cd(::getfield(Blink.AtomShell, Symbol("##1#2")), ::String) at .\file.jl:85
│  [10] install() at C:\Users\fschmidt\.julia\packages\Blink\vKGzM\src\AtomShell\install.jl:27
│  [11] top-level scope at none:0
│  [12] include at .\boot.jl:317 [inlined]
│  [13] include_relative(::Module, ::String) at .\loading.jl:1044
│  [14] include(::Module, ::String) at .\sysimg.jl:29
│  [15] include(::String) at .\client.jl:392
│  [16] top-level scope at none:0
│ in expression starting at C:\Users\fschmidt\.julia\packages\RigidBodySim\ZC9wn\deps\build.jl:2
└ @ Pkg.Operations C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Pkg\src\Operations.jl:1097

(v1.0) pkg>

Parameter Identification example

Hi there!

I was just wondering if the dynamics object could be used for parameter Identification with DiffEq? As I understand it, that was the motivation back in the day.

Thanks in advance!

Method Error with atframe

I was trying to visualize the ODE solution after simulation was done, and I got an error from the 'atframe()' function.
I am not sure why but the error is about the argument 'frame'. I checked the var types and the package .jl code but could not find the root of the problem.

I had the same problem with the quickstart example, so I think it is independent of the mechanism inputs.
Can it be a dependency problem?

Thank you for your amazing work and contributions @tkoolen @rdeits.

atframe(animation, MeshCatMechanisms.visualizer(mvis), frame) do frame_vis

Here is the error description:

LoadError: MethodError: no method matching atframe(::RigidBodySim.Visualization.var"#20#21"{MechanismVisualizer{MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Fixed{Float64}}}, Vector{Joint{Float64, Prismatic{Float64}}}}, 2}}, MeshCat.Visualizer}, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}}, ::MeshCat.Animation, ::MeshCat.Visualizer, ::Int64)
�[0mClosest candidates are:
�[0m atframe(::Any, ::MeshCat.Animation, �[91m::Integer�[39m) at C:\Users\User.julia\packages\MeshCat\GlCMx\src\atframe.jl:96
MethodError: no method matching atframe(::RigidBodySim.Visualization.var"#20#21"{MechanismVisualizer{MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Fixed{Float64}}}, Vector{Joint{Float64, Prismatic{Float64}}}}, 2}}, MeshCat.Visualizer}, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}}, ::MeshCat.Animation, ::MeshCat.Visualizer, ::Int64)
Closest candidates are:
atframe(::Any, ::MeshCat.Animation, ::Integer) at C:\Users\User.julia\packages\MeshCat\GlCMx\src\atframe.jl:96

Julia 1.0

Installing the package in julia 1.0 has errors in build. Adding the packages the errors will disappear, however in the end there is the error: "UndefVarError: @sprintf not defined".

julia> using RigidBodySim
[ Info: Precompiling RigidBodySim [e61f16d8-a6b7-5689-8d03-627c2b27ebce]
ERROR: LoadError: LoadError: ArgumentError: Package RigidBodySim does not have WebIO in its dependencies:                                                           
- If you have RigidBodySim checked out for development and have
  added WebIO as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with RigidBodySim
Stacktrace:
 [1] include at ./boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at ./loading.jl:1038
 [3] include at ./sysimg.jl:29 [inlined]
 [4] include(::String) at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/RigidBodySim.jl:3
 [5] top-level scope at none:0
 [6] top-level scope at none:2
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/visualization.jl:36
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/RigidBodySim.jl:10
ERROR: Failed to precompile RigidBodySim [e61f16d8-a6b7-5689-8d03-627c2b27ebce] to /home/phelipe/.julia/compiled/v1.0/RigidBodySim/s3FmJ.ji. 

After "add WebIO"

julia> using RigidBodySim
[ Info: Precompiling RigidBodySim [e61f16d8-a6b7-5689-8d03-627c2b27ebce]
┌ Warning: Package RigidBodySim does not have WebIO in its dependencies:- If you have RigidBodySim checked out for development and have
│   added WebIO as a dependency but haven't updated your primary
│   environment's manifest file, try `Pkg.resolve()`.
│ - Otherwise you may need to report an issue with RigidBodySim
└ Loading WebIO into RigidBodySim from project dependency, future warnings for RigidBodySim are suppressed.
WARNING: could not import Base.quit into AtomShell
ERROR: LoadError: LoadError: ArgumentError: Package RigidBodySim does not have CSSUtil in its dependencies:                                                         
- If you have RigidBodySim checked out for development and have
  added CSSUtil as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with RigidBodySim
Stacktrace:
 [1] include at ./boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at ./loading.jl:1038
 [3] include at ./sysimg.jl:29 [inlined]
 [4] include(::String) at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/RigidBodySim.jl:3
 [5] top-level scope at none:0
 [6] top-level scope at none:2
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/visualization.jl:38
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/RigidBodySim.jl:10
ERROR: Failed to precompile RigidBodySim [e61f16d8-a6b7-5689-8d03-627c2b27ebce] to /home/phelipe/.julia/compiled/v1.0/RigidBodySim/s3FmJ.ji. 

After "add CSSUtil"

julia> using RigidBodySim
[ Info: Precompiling RigidBodySim [e61f16d8-a6b7-5689-8d03-627c2b27ebce]
┌ Warning: Package RigidBodySim does not have WebIO in its dependencies:- If you have RigidBodySim checked out for development and have
│   added WebIO as a dependency but haven't updated your primary
│   environment's manifest file, try `Pkg.resolve()`.
│ - Otherwise you may need to report an issue with RigidBodySim
└ Loading WebIO into RigidBodySim from project dependency, future warnings for RigidBodySim are suppressed.
ERROR: LoadError: LoadError: ArgumentError: Package RigidBodySim does not have DataStructures in its dependencies:                                                  
- If you have RigidBodySim checked out for development and have
  added DataStructures as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with RigidBodySim
Stacktrace:
 [1] include at ./boot.jl:317 [inlined]
 [2] include_relative(::Module, ::String) at ./loading.jl:1038
 [3] include at ./sysimg.jl:29 [inlined]
 [4] include(::String) at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/RigidBodySim.jl:3
 [5] top-level scope at none:0
 [6] top-level scope at none:2
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/visualization.jl:40
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/RigidBodySim.jl:10
ERROR: Failed to precompile RigidBodySim [e61f16d8-a6b7-5689-8d03-627c2b27ebce] to /home/phelipe/.julia/compiled/v1.0/RigidBodySim/s3FmJ.ji.

After "add DataStructures"

julia> using RigidBodySim
[ Info: Precompiling RigidBodySim [e61f16d8-a6b7-5689-8d03-627c2b27ebce]
┌ Warning: Package RigidBodySim does not have WebIO in its dependencies:- If you have RigidBodySim checked out for development and have
│   added WebIO as a dependency but haven't updated your primary
│   environment's manifest file, try `Pkg.resolve()`.
│ - Otherwise you may need to report an issue with RigidBodySim
└ Loading WebIO into RigidBodySim from project dependency, future warnings for RigidBodySim are suppressed.
ERROR: LoadError: LoadError: LoadError: UndefVarError: @sprintf not defined
Stacktrace:
 [1] top-level scope
 [2] include at ./boot.jl:317 [inlined]
 [3] include_relative(::Module, ::String) at ./loading.jl:1038
 [4] include at ./sysimg.jl:29 [inlined]
 [5] include(::String) at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/RigidBodySim.jl:3
 [6] top-level scope at none:0
 [7] top-level scope at none:2
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/visualization.jl:164
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/visualization.jl:159
in expression starting at /home/phelipe/.julia/packages/RigidBodySim/owYRZ/src/RigidBodySim.jl:10
ERROR: Failed to precompile RigidBodySim [e61f16d8-a6b7-5689-8d03-627c2b27ebce] to /home/phelipe/.julia/compiled/v1.0/RigidBodySim/s3FmJ.ji. 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.