Hi,
I have an initial mission that consists of:
1.) Takeoff
2.) Waypoint
3.) Condition Yaw
4.) Loiter Unlimited at the Waypoint
After the mission is on step #4 or even while the Mission is executing, I would like to update the Yaw angle and the altitude of the Quadcopter via a GCS and then Loiter again. (i.e. in effect update steps 2 and 3 above.)
I've been reading through the firmware and Mission Planner code and came up with the following approaches:
1.) While the Quad is in the "Loiter Unlimited" mode, clear the mission and then send a new mission with just mission steps 2-4 from above. I'm not sure if I will need to switch to Loiter mode then back to AUTO mode to rerun the mission.
2.) Send a new waypoint with the new altitude, current=2 (guided) to change altitude, this will switch to loiter automatically once it is at the new waypoint (it doesn't look like rotating to a specific Yaw angle is supported with this approach so maybe I'd need to send another "Condition Yaw" command or use the ROI command?)
3.) Looking at: http://qgroundcontrol.org/mavlink/waypoint_protocol#waypoint_file_format, perhaps I could update steps 2 &3 of the mission with a mission_write_partial_list, then set the current waypoint to #2 above?
Other ideas? Any suggestions on the best approach are appreciated.
(I'm not sure if "Condition Yaw" will actually force the Quad to Yaw since I haven't tested this in the field yet.)
Replies
BTW, I found this posting where "Condition Yaw" (really compass heading) did in fact cause the platform to rotate to the given yaw angle:
http://www.diydrones.com/forum/topics/change-yaw-in-flight-or-at-a-...
Rob,
You should (in an ideal world) be able to send a do-yaw command from the gcs while it's flying a mission or loitering in a similar way to how you can send a change-alt command at any time. I also don't see a drop-down in the mission planner's Actions tab (Flight Data screen) that would allow you to send the command though and I've had a look at the code and I see special code in the GCS_Mavlink.pde to handle the change-alt request but nothing about do-yaw so I think it probably won't work.
I don't think uploading or changing waypoints during a mission is a good idea or will even work actually. ArduPlane/ArduRover support this and copter will as well once the AP_Mission library is complete and integrated into plane, rover, copter. That library has been under development for many months in a kind of start-stop fashion so it's hard to give a real estimate.
The easiest thing to do is to try to modify that GCS_Mavlink.pde file a bit to allow the do-yaw command to get through during a mission somehow.
Looks like Mission Planner's "Restart Mission" just sets the current waypoint to 0:
https://github.com/diydrones/MissionPlanner/blob/master/GCSViews/Fl...
which calls:
https://github.com/diydrones/MissionPlanner/blob/master/Mavlink/MAV...
So maybe if I just save the updated mission and set current waypoint to 0 it will work?
Anybody know any of any issues with this approach?