Takeoff mode in indoor environment

I am working to make my pixhawk based multicopters (hexacopter and coaxial octacopter) operate in indoor environment (devoid of GPS) using offboard with ROS. My plan is to automate the entire operation through offboard script, including arming, takeoff, waypoint navigation, and landing.

The arming and waypoint navigation through the offboard script is done, but I also wish to use the Takeoff and Land mode indoors, by calling the takeoff and land services of MAVROS. The problem, however, is that it requires the use of GPS coordinates.

Is there any workaround to use the takeoff and land services without using GPS coordinates?

My reason for using the takeoff service instead of directly giving the takeoff waypoints as local_position_setpoint in local coordinate, as mentioned in MAVROS Offboard example, is that when directly giving local waypoints, the takeoff is not smooth. I have tried several experiments and the takeoff service gives better performance.