hungpham2511 / toppra

robotic motion planning library
https://hungpham2511.github.io/toppra/index.html
MIT License
625 stars 170 forks source link

Implementation of the algorithm in C++? #43

Closed oPiZiL closed 4 years ago

hungpham2511 commented 5 years ago

I don't have any plan to do that in the near future. That said, the main difficulty is that there are no fast LP solvers for small-sized problems in C++, or that I couldn't find any.

JadBatmobile commented 5 years ago

Any updates on this topic?

pbeeson commented 5 years ago

I know at least one person that HAS done this (and even constrained through jerk, not just acceleration), but it's not open source. Perhaps they might at least be willing to share which c++ solver they used. I will ping them to see.

JadBatmobile commented 5 years ago

Thank you sir

pbeeson commented 5 years ago

It looks like the programmer just rolled his own LP Solver for c++. If I hear more about this being licensed or opened, I'll follow-up on this issue.

JadTawil-theonly commented 4 years ago

Hey Patrick,

Any updates on this ?

pbeeson commented 4 years ago

Looks like the company he did this for is keeping this as private IP for now.

On Tue, Nov 26, 2019 at 1:01 PM JadTawil-theonly notifications@github.com wrote:

Hey Patrick,

Any updates on this ?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/hungpham2511/toppra/issues/43?email_source=notifications&email_token=AA5N7RSNRA5MX7DKA7ZBX53QVVXBFA5CNFSM4HHZGKCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFHDCGA#issuecomment-558772504, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5N7RVOOFR2WHSRFLOW5F3QVVXBFANCNFSM4HHZGKCA .

JadTawil-theonly commented 4 years ago

Thank you sir

oPiZiL commented 4 years ago

I don't have any plan to do that in the near future. That said, the main difficulty is that there are no fast LP solvers for small-sized problems in C++, or that I couldn't find any.

How about the glpk

EmanueleSiego commented 4 years ago

I don't have any plan to do that in the near future. That said, the main difficulty is that there are no fast LP solvers for small-sized problems in C++, or that I couldn't find any.

How about the glpk

OSQP is a great open-source QP solver that my colleague is testing for his master thesis. I think it can be used for LP too.

hungpham2511 commented 4 years ago

Yes, both (glpk and osqp) are good solvers. However, since they are designed for problems having much larger sizes than those solved by toppra, there will be speed penalties.

zhaodong1986 commented 4 years ago

maybe could try Mike Hohmeyer's implementation for R. Seidel's LP solver(https://github.com/cgrushko/seidel-lp-solver) and tranlate it with C++

jmirabel commented 4 years ago

I don't have any plan to do that in the near future. That said, the main difficulty is that there are no fast LP solvers for small-sized problems in C++, or that I couldn't find any.

Hello, In the article, you used qpOASES, which a C++ library. Any reason not to use it in the C++ implementation ? I am thinking in implementing your algorithm.

hungpham2511 commented 4 years ago

Sure qpOASES is a really good solver, but it's not specialized to small LP problems. Thus it's unlikely that we would gain any speed benefits from implementing TOPPRA in C++ using qpOASES. I already use qpOASES Python wrapper in this version.

That said, having an interface in C++ is by itself a really nice thing already. Actually I have thought of doing that for a while but unfortunately didn't find the chance to do that.

jmirabel commented 4 years ago

My primary goal is the C++ interface. The execution time is not a hard constraint for me.

jmirabel commented 4 years ago

We can collaborate on this topic if you have some time for this.

hungpham2511 commented 4 years ago

In that case I don't see any problem with reimplementing toppra using qpoases as the underlying solver.

We can collaborate on this topic if you have some time for this.

That sounds great! Let's do that then.

hungpham2511 commented 4 years ago

@jmirabel Let's discuss the C++ interface design in this issue: https://github.com/hungpham2511/toppra/issues/82

hungpham2511 commented 4 years ago

An initial version is released in #100. Thus I will close this issue.