Ardupilot control by rosrun

I am new to ardupilot. I set up my Gazebo simulation through this link Using Gazebo Simulator with SITL — Dev documentation. I am trying to use this rosrun message rosrun mavros mavcmd takeoffcur 0 0 5 to take off the drone same as what I did for the PX4 simulation after arming it. However, I am receiving the below error
Taking-off from current coord: Lat: -35.3632622 Long: 149.1652375
Request failed. Check mavros logs. ACK: 4
Please help, thank you!

are you in guided mode?

Thanks! Is it the only mode that I can take off the drone?

I tried guided mode. I can successfully take off by the rosrun message. However, I can arm but I can’t take off through the ROSLIB. I can take off in PX4 simulation.

I do not know what ROSLIB is. We use MAVROS and it works great.

ROSLIB uses MAVROS communication plugins. After take-off and landing, the mode changes, I need to keep changing it back to guided mode, is there another way? Thanks!

After take-off, the mode doesn’t change, but how should I make the drone fly higher? In PX4, I can just use the take-off message again, but it doesn’t work here. Thanks!

Could anyone help? Thanks!