question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

C++ Implementation

See original GitHub issue

We will use this issue to flesh out some key designs of the C++ interface.

There are a few core components that are required.

  • Trajectory representation;
  • Constraint representation;
  • LP solver wrapper;
  • Core TOPPRA pipeline;
  • Matrix manipulation libraries in C++?

I am most inexperienced with trajectory representation in C++. Use OpenRAVE before with its representation, but bringing it over is a huge dependency that I am not willing to make. In the Python implementation I am basically using scipy.interpolate extensively.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:19 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
jmirabelcommented, Apr 29, 2020

The main algorithm has been implemented so I think this issue can be closed. Bug reports or feature requests can go into their own specific issue. @hungpham2511 if you agree, I let you close.

2reactions
jmirabelcommented, Apr 13, 2020

Here is what I am most familiar with:

  • matrix representation: Eigen
  • trajectory representation: there are two different things to represent: the path (i.e. a non time-parameterized curve in the configuration space) and the time parameterisation. I don’t have strong opinion on this but I think it should be independent of OpenRave.
  • constraint representation: I guess here, we need a dynamic library. I am very familiar with Pinocchio and I think it is a good candidate for this task.

That being said, I think the core TOPPRA pipeline is agnostic of the trajectory and constraint representation, as long as we define an abstract base class. I think it would be great to be able to use the C++ implementation with any dynamic library and with any trajectory representation.

We could then add a second library in the repo that contains the implementation of the constraints using the dynamic library of our choice and some trajectory representation.

We should also discuss what license the code will have. Do you have any constraints on this ?

Read more comments on GitHub >

github_iconTop Results From Across the Web

C - What are C implementations? - Stack Overflow
A standard conforming C implementation consists of a compiler that translates compilation units as mandated by the standard, ...
Read more >
Implementation - C
The statement is, more or less, stating that an implementation is software which turns C code into an executable in a specific environment....
Read more >
4 C Implementation-Defined Behavior
A conforming implementation of ISO C is required to document its choice of behavior in each of the areas that are designated “implementation...
Read more >
Linked List Implementation in C Programming Language | Part 3
This video demonstrates the code implementation of a linked list in the C Programming language.
Read more >
C (programming language) - Wikipedia
C is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found