I' m looking for a trajectory generator (the algorithm doesn't matter, since I m going to write it using C++ ) that generates a trajectory (a parametric curve in space) defined point by point which is going lately to be feed into my quadrotor drivers.

I'm honest: I don't know where to start.

  1. Reading the following interesting answer. But the problem here is: the trajectory has a PD controller with it. My quadrotor should take just a parametric curve as input.
  2. OMPL: this library seems very powerful and interesting. It let the user to define a planner which many different algorithms. The problem is that it is not well documented, good examples and explanations are missing and till now I could'nt find anything related to quadrotors, which does use that library. There is an example for a quadrotor, which doesn't find my expectations and I cannot figure out, how to implement it in my package. I don't want just copy and paste code that I don't understand.
  3. B-Spline and Bezier Curve...and the whole family of parametric curves. I found very interesting libraries in internet that implement those algorithm directly C++. The problem here is: I can define some points in space, generate a spline that contains them and interpolate points for the PID controller in the quadrotor. The basic idea is like a dog chasing a rabbit. A point is generated from the start point of the spline and regularly sent to the quadrotor. The latter flies behind the point, trying to reach it until a goal point has been reached. What is the problem here?!? In this case I can only generate a curve based on geometric properties and not considering the dynamic and the kinematic of the quadrotor (which I would consider for a future project). The rabbit runs and has a tighter curve radius than the dog, which could result in a strange behavior of the quadrotor.

I'd like same good tips to point to the right direction.

Which kind of trajectory planner are usually developed fr such an application?

Thanks! Regards

  • $\begingroup$ Shouldn't a good controller free you from dynamics concerns when specifying a trajectory? $\endgroup$ Dec 25, 2014 at 13:36
  • $\begingroup$ Could you be more specific Daniel? $\endgroup$
    – Wilhelm
    Dec 25, 2014 at 15:28
  • $\begingroup$ A controller needs anyway a sort of a path or trajectory to follow $\endgroup$
    – Wilhelm
    Dec 25, 2014 at 15:29
  • $\begingroup$ What I mean: If you already have an acceleration-based controller, you can pretty much go ahead with defining a trajectory with B-splines or whatever you like. Note, however, the difference between a trajectory and a path: the former defines positions and velocities, the latter just positions, without any velocity information. $\endgroup$ Dec 25, 2014 at 16:05
  • $\begingroup$ I still don't understand what do you mean specifically. I wrote a controller using a backstepping integrator technique link pp.39. I acts on position, velocity. Acceleration is feedforwarded (in my code I put it simply to zero). $\endgroup$
    – Wilhelm
    Dec 25, 2014 at 17:25


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.