JuliaSpace / SatelliteToolbox.jl

A toolbox for satellite analysis written in julia language.
MIT License
249 stars 33 forks source link

Lambert solver #29

Open tmamedzadeh opened 5 years ago

tmamedzadeh commented 5 years ago

Is there a Lambert problem solver in SatelliteToolbox.jl? I used poliastro in Python and wondering whether there is such function in Julia?

helgee commented 5 years ago

I have a Julia port of poliastro's solver here: https://github.com/helgee/icatt-2016/blob/master/julia/lambert.jl#L27

For now you can just copy-paste it into your code.

tmamedzadeh commented 5 years ago

@helgee

Is it Izzo method?

I have the ODE of motion, how can I use your function?

function ode_solve(dy,y,p,t)
  r=(y[1]^2 + y[2]^2 + y[3]^2)

  dy[1] = y[4]
  dy[2] = y[5]
  dy[3] = y[6]
  dy[4] = -y[1]/r
  dy[5] = -y[2]/r
  dy[6] = -y[3]/r
end
ronisbr commented 5 years ago

Hi @Tarlan0001 ,

Unfortunately, we do not have one yet. But it is on my list of priorities to add one (or an interface to one) so that we can do this within SatelliteToolbox.jl.

cadojo commented 3 years ago

Just in case this is useful to someone, I have a Julia Lambert solver here which uses bijection (as described in Algorithm 58 of Vallado's Fundamentals of Astrodynamics and Applications). The code needs to be cleaned up, but I'd be happy to make changes to this algorithm, or implement one of the others if it would be useful for SatelliteToolbox