MeshCatMechanisms.jl
MeshCatMechanisms.jl copied to clipboard
`Animation()` not working
Hi,
Ive been trying to follow the example at
https://github.com/JuliaRobotics/MeshCatMechanisms.jl/blob/master/examples/demo.ipynb
but the animations don't work.
The error message is below. Tested on a Mac, in IJulia, running Julia 1.7.2
If anyone could help point me towards the issue I can try to help fix the bug.
Thanks Dev
MethodError: no method matching StaticArrays.Size(::TypeVar)
Closest candidates are:
StaticArrays.Size(::Union{StaticArrays.Dynamic, Int64}...) at ~/.julia/packages/StaticArrays/0T5rI/src/traits.jl:67
StaticArrays.Size(::StaticArrays.TSize{S}) where S at ~/.julia/packages/StaticArrays/0T5rI/src/matrix_multiply_add.jl:194
StaticArrays.Size(::Tuple{Vararg{Union{StaticArrays.Dynamic, Int64}}}) at ~/.julia/packages/StaticArrays/0T5rI/src/traits.jl:66
...
Stacktrace:
[1] call
@ ~/.julia/packages/Cassette/34vIw/src/context.jl:456 [inlined]
[2] fallback
@ ~/.julia/packages/Cassette/34vIw/src/context.jl:454 [inlined]
[3] _overdub_fallback(::Any, ::Vararg{Any})
@ ~/.julia/packages/Cassette/34vIw/src/overdub.jl:586 [inlined]
[4] overdub
@ ~/.julia/packages/Cassette/34vIw/src/overdub.jl:586 [inlined]
[5] StaticArrays.Size(::Type{StaticArrays.SVector})
@ ~/.julia/packages/StaticArrays/0T5rI/src/traits.jl:90 [inlined]
[6] overdub
@ ~/.julia/packages/StaticArrays/0T5rI/src/traits.jl:90 [inlined]
[7] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::Type{StaticArrays.Size}, ::Type{StaticArrays.SVector})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[8] size(::Type{StaticArrays.SVector})
@ ~/.julia/packages/StaticArrays/0T5rI/src/abstractarray.jl:4 [inlined]
[9] overdub
@ ~/.julia/packages/StaticArrays/0T5rI/src/abstractarray.jl:4 [inlined]
[10] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::typeof(size), ::Type{StaticArrays.SVector})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[11] overdub
@ ~/.julia/packages/StaticArrays/0T5rI/src/convert.jl:114 [inlined]
[12] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::typeof(StaticArrays.length_match_size), ::Type{StaticArrays.SVector}, ::StaticArrays.Args{Tuple{Float64, Float64, Float64}})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[13] adapt_size(::Type{StaticArrays.SVector}, ::StaticArrays.Args{Tuple{Float64, Float64, Float64}})
@ ~/.julia/packages/StaticArrays/0T5rI/src/convert.jl:86 [inlined]
[14] overdub
@ ~/.julia/packages/StaticArrays/0T5rI/src/convert.jl:86 [inlined]
[15] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::typeof(StaticArrays.adapt_size), ::Type{StaticArrays.SVector}, ::StaticArrays.Args{Tuple{Float64, Float64, Float64}})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[16] construct_type(::Type{StaticArrays.SVector}, ::StaticArrays.Args{Tuple{Float64, Float64, Float64}})
@ ~/.julia/packages/StaticArrays/0T5rI/src/convert.jl:79 [inlined]
[17] overdub
@ ~/.julia/packages/StaticArrays/0T5rI/src/convert.jl:79 [inlined]
[18] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::typeof(StaticArrays.construct_type), ::Type{StaticArrays.SVector}, ::StaticArrays.Args{Tuple{Float64, Float64, Float64}})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[19] (StaticArrays.SVector)(::Float64, ::Float64, ::Float64)
@ ~/.julia/packages/StaticArrays/0T5rI/src/convert.jl:152 [inlined]
[20] overdub
@ ~/.julia/packages/StaticArrays/0T5rI/src/convert.jl:152 [inlined]
[21] translation(::Transform3D{Float64})
@ ~/.julia/packages/RigidBodyDynamics/8B04X/src/spatial/transform3d.jl:50 [inlined]
[22] overdub
@ ~/.julia/packages/RigidBodyDynamics/8B04X/src/spatial/transform3d.jl:50 [inlined]
[23] overdub
@ ~/.julia/packages/RigidBodyDynamics/8B04X/src/spatial/transform3d.jl:68 [inlined]
[24] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::typeof(inv), ::Transform3D{Float64})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[25] overdub
@ ~/.julia/packages/RigidBodyDynamics/8B04X/src/mechanism_state.jl:1013 [inlined]
[26] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::typeof(relative_transform), ::MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Revolute{Float64}}}}, 1}}, ::CartesianFrame3D, ::CartesianFrame3D)
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[27] overdub
@ ~/.julia/packages/MeshCatMechanisms/PfrGE/src/visualizer.jl:146 [inlined]
[28] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::typeof(MeshCatMechanisms._render_state!), ::MechanismVisualizer{MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Revolute{Float64}}}}, 1}}, Visualizer}, ::MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Revolute{Float64}}}}, 1}})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[29] _render_state!(::MechanismVisualizer{MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Revolute{Float64}}}}, 1}}, Visualizer})
@ ~/.julia/packages/MeshCatMechanisms/PfrGE/src/visualizer.jl:135 [inlined]
[30] overdub
@ ~/.julia/packages/MeshCatMechanisms/PfrGE/src/visualizer.jl:135 [inlined]
[31] overdub
@ ~/.julia/packages/MeshCatMechanisms/PfrGE/src/visualizer.jl:168 [inlined]
[32] overdub(::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, ::typeof(set_configuration!), ::MechanismVisualizer{MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Revolute{Float64}}}}, 1}}, Visualizer}, ::Vector{Float64})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[33] (::MeshCatMechanisms.var"
@ ~/.julia/packages/MeshCatMechanisms/PfrGE/src/animate.jl:45 [inlined]
[34] overdub
@ ~/.julia/packages/MeshCatMechanisms/PfrGE/src/animate.jl:45 [inlined]
[35] overdub(overdub_context#299::Cassette.Context{nametype(AnimationCtx), Tuple{Animation, Int64}, Nothing, Cassette.var"##PassType#301", Nothing, Nothing}, overdub_arguments#300::MeshCatMechanisms.var"#5#6"{MechanismVisualizer{MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Revolute{Float64}}}}, 1}}, Visualizer}, Interpolations.GriddedInterpolation{Vector{Float64}, 1, SegmentedVector{JointID, Float64, Base.OneTo{JointID}, Vector{Float64}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Float64})
@ Cassette ~/.julia/packages/Cassette/34vIw/src/overdub.jl:0
[36] atframe
@ ~/.julia/packages/MeshCat/oC0sL/src/atframe.jl:100 [inlined]
[37] Animation(mvis::MechanismVisualizer{MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Revolute{Float64}}}}, 1}}, Visualizer}, times::Vector{Float64}, configurations::Vector{SegmentedVector{JointID, Float64, Base.OneTo{JointID}, Vector{Float64}}}; fps::Int64)
@ MeshCatMechanisms ~/.julia/packages/MeshCatMechanisms/PfrGE/src/animate.jl:44
[38] Animation(mvis::MechanismVisualizer{MechanismState{Float64, Float64, Float64, TypeSortedCollections.TypeSortedCollection{Tuple{Vector{Joint{Float64, Revolute{Float64}}}}, 1}}, Visualizer}, times::Vector{Float64}, configurations::Vector{SegmentedVector{JointID, Float64, Base.OneTo{JointID}, Vector{Float64}}})
@ MeshCatMechanisms ~/.julia/packages/MeshCatMechanisms/PfrGE/src/animate.jl:37
[39] top-level scope
@ In[10]:1
[40] eval
@ ./boot.jl:373 [inlined]
[41] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
@ Base ./loading.jl:1196
1
Hi @dev10110, can you try to downgrade the version of StaticArrays.jl and see if that fixes the issue?
] add [email protected]
Closing this issue as it has been fixed. See https://github.com/JuliaArrays/StaticArrays.jl/issues/1047#issuecomment-1181610210.