ROS is bad.
Background: https://docs.lyceum.ml/dev/
bash> cd hebi
bash> julia --project
julia> ]
(hebi) pkg> registry add https://github.com/Lyceum/LyceumRegistry
(hebi) pkg> instantiate
(hebi) pkg> resolvetestsysid function currently compares two models after setting one to have
the wrong damping values for two joints.
It correctly recovers the correct values, assuming the same parameters for the two different motors.
julia> include("src/runhebi.jl")
julia> h = HebiPickup()
julia> h2 = HebiPickup()
julia> a = getsincontrols(h, 2000)
julia> result = testsysid(h, h2, a; optm=:LBFGS)
julia> result.minimizer
6-element Array{Float64,1}:
0.4989704738104854
0.09929717145680375
0.010059651430875389
0.009927101543924597
0.5005574377220603
0.1057254675069472The gradsysid function is an example of LBFGS optimization with a finite differenced
graddient function that uses multi-threading. It may be currently buggy.
julia> include("src/runhebi.jl")
julia> h = HebiPickup()
julia> dt, pos, vel, act, eff = datafile("data/example2.csv")
julia> result = filesysid(vcat(pos, vel), h, act; optm=:LBFGS, batch=6000:10000)
julia> hebivars = gethebivars()
julia> hv = hebivars(result.minimizer)
julia> hv.x8_damping