Simulated copter lands when switching to Loiter

I am getting some strange behaviour from my simulated vehicles, the setup is the following:

Starting a simulated vehicle, e.g. via sim_vehicle.py -v ArduCopter
Connecting via udp port 14550 on QGroundControl
Taking off via the takeoff button of QGC and then clicking on the map to send the vehicle towards a GOTO point (vehicle switches to GUIDED).
If I switch to LOITER (via the drop down mode menu), the vehicle stops and immediately descends, lands and disarms. It acts as if I have switched to LAND, although the mode is clearly LOITER.

Am I missing something?

What controlling the throttle to mid to cause it to hold altitiude?

Um, I don’t understand what you mean. It’s a simulated vehicle, how can I control its throttle input?

Most likely, throttle stick is down, set it in the middle.
rc 3 1500

What’s to understand? What happens with a copter in Loiter with the throttle at zero? It’s no different in the simulator. A joystick/game controller is one way.

Yes, you are right. I am just wondering if there is an easy way to supply this input via software. Anyway, thank you for pointing me in the right direction.

From Mavproxy, try

rc 3 1000

Or mavlink message manual_control with z=0.

RC 3 1500 maybe if you want it to hover in Loiter. One interesting thing you can do if you don’t like Joystick control (I don’t) is to use a Flight Controller Running Betaflight as a Game Controller. Then you can use your regular Transmitter for the Simulator. Setting it up as a Joystick in Mission Planner is a bit fiddly but it works.

Thank you both. I don’t want to muck about with any hardware so the rc command in Mavproxy worked fine.
rc 3 1000 is too low but a value around 1500 works like a charm for the default copter in sim_vehicle (default max and min values are 1000 and 2000 so that makes sense).