byu-magicc / roscopter

*Under Development* - A fully-featured multirotor autopilot for ROS
http://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=2324&context=facpub
52 stars 38 forks source link

ROScopter Command Messages are Misleading #69

Open natetoombs opened 2 years ago

natetoombs commented 2 years ago

The first message mode is MODE_NPOS_EPOS_DPOS_YAW, which is fine; it commands the NED position and yaw. However, starting with the next mode (MODE_NVEL_EVEL_DPOS_YAWRATE), the velocities that are commanded are no longer in the inertial frame, but in the vehicle 1 frame (translated to the body, then yawed). While the down position "DPOS" or velocity/acceleration in other message modes is correct because the k axis of the v1 frame aligns with the down direction of the inertial frame, it seems wrong to have the message say "NVEL" or later "NACC" when the command is in the v1 frame, so not necessarily north.

It looks like the controller uses x, y, z as the v1 frame coordinates. Would it be appropriate to rename the command modes to align with that notation? Or should the controller be changed to use inertial frame coordinates, because maybe it would be more valuable to command velocity and accelerations in north and east directions?