ArduPilot has a built-in altitude limit. The parameter is called FENCE_ALT_MAX.
(doesn’t work for me yet — TODO)
FENCE modes
| Value | What |
|---|---|
FENCE_TYPE = 1 |
circle only (radius) |
FENCE_TYPE = 2 |
altitude only |
FENCE_TYPE = 3 |
circle + altitude |
Parameters can be loaded via the indoor.parm file:
sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console \
--add-param-file=/home/aleks/git/proj/claudedrone/simulation/config/ardupilot/indoor.parm