00001 #ifndef RIDE_DIST_CTRL_HPP
00002 #define RIDE_DIST_CTRL_HPP
00003
00004
00005
00006
00007 #include "ride/formation.hpp"
00008 #include "ride/trajectory.hpp"
00009 #include <list>
00010
00011 namespace jafar {
00012
00013 namespace ride {
00014
00028 struct formParam {
00029 double Dmin;
00030 double a;
00031 double b;
00032 double c;
00033 double f;
00034 double e;
00035 double v;
00036 double dTimeMax;
00037 };
00038
00043 struct formCmd {
00044 double dx;
00045 double dy;
00046 double dspeed;
00047 double dheading;
00048 double dalt;
00049 };
00050
00055 struct formExtraState {
00056 double x;
00057 double y;
00058 double z;
00059 };
00060
00065 formCmd computeDistCtrl(int uavId, Formation const& formation, formParam const& param, std::list<formExtraState> const& others);
00066
00067 formCmd computeDistCtrlCurv(int uavId, Formation const& formation, Trajectory const& traj, formParam const& param, std::list<formExtraState> const& others);
00068
00069 }
00070
00071 }
00072
00073 #endif