I'm working on a RTL collision avoidance project using a forward oriented Maxbotix sonar, Arduino Mega, and Pixhawk mounted on an F450 Quad.
One annoying issue I cannot seem to fix when the arduino loads a mission and activates auto_mode - "Failsafe: terrain data missing."
I'm starting to wonder auto mode can only function with terrain data?
Things I've tried thus far:
1) Setting TERRAIN_DATA and TERRAIN FOLLOW params to 0 and/or 1. Same result.
2) Changing the frame of reference (MAV_FRAME) of the waypoints - I believe I should be using MAV_FRAME_GLOBAL_RELATIVE_ALT. I have also tried MAV_FRAME_GLOBAL and MAV_FRAME_MISSION with the same result for any waypoint requiring long, lat and alt parameters. The waypoints are received, but the moment I switch to auto - Failsafe. Any other MAV_FRAMEs appear not to have been implemented yet.
3) Even though I'm not using a rangefinder in any way with ArduCopter, I've seen some issues around caused by the parameters. None of my RNGFND parameters are active as I'm not using one on the Pixhawk - the Maxbotix is only connected to the Arduino directly. Regardless, I've tried increasing the RNGFND_MAX_CM and RNGFND_MIN_CM, no luck.
4) Worth confirming, I've tried this with a GPS fix and without a GPS fix - same result
Ideally, I just want it to execute the arduino-loaded mission and get a rough idea of its altitude with the barometer for now (much as I would like a lidar or another maxbotix).
I was under the impression MAV_FRAME_GLOBAL_RELATIVE_ALT with an alt of 0 means the quad will proceed on waypoint while maintaining its current altitude i.e. the altitude it is at during RTL.
If anyone could help before I go bald from pulling my own hair out, it would be much appreciated!
Let me know if any logs or my arduino code would help!