# Defining a trajectory for a quadrotor

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

• Shouldn't a good controller free you from dynamics concerns when specifying a trajectory? – Daniel Eberts Dec 25 '14 at 13:36
• Could you be more specific Daniel? – Dave Dec 25 '14 at 15:28
• A controller needs anyway a sort of a path or trajectory to follow – Dave Dec 25 '14 at 15:29
• 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. – Daniel Eberts Dec 25 '14 at 16:05
• 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). – Dave Dec 25 '14 at 17:25