I noticed there is a “waypoint” interface in mavros. Does it support OFFBOARD mode? If it supports, how to start the mission without QGC?
What I want to do is use a Raspberry Pi to control the drone. Now I can takeoff and land. And I know the “setpoint_position” can achieve the goal, but I want to use the global coordinates.
Thanks for any reply.
You can write a mission with global coordinates to the drone through the mavros service mavros/mission/push. This mission will be stored on SD card and then it can be read through the QGC. But I have the same problem. I do not know how to run this mission without the RC.
My Python code to write mission:
def waypoint_push_client(data): waypoint_clear_client() wl = WaypointList() wp = Waypoint() wp.frame = 3 wp.command = 22 # takeoff wp.is_current = True wp.autocontinue = True wp.param1 = data['altitude'] # takeoff altitude wp.param2 = 0 wp.param3 = 0 wp.param4 = 0 wp.x_lat = data['latitude'] wp.y_long = data['longitude'] wp.z_alt = data['altitude'] wl.waypoints.append(wp) for point in data: wp = Waypoint() wp.frame = 3 wp.command = 16 # simple point wp.is_current = False wp.autocontinue = True wp.param1 = 0 # takeoff altitude wp.param2 = 0 wp.param3 = 0 wp.param4 = 0 wp.x_lat = point['latitude'] wp.y_long = point['longitude'] wp.z_alt = point['altitude'] wl.waypoints.append(wp) try: service = rospy.ServiceProxy( 'mavros/mission/push', WaypointPush) if service.call(wl.waypoints).success: print 'write mission success' else: print 'write mission error' except rospy.ServiceException, e: print "Service call failed: %s" % e def waypoint_clear_client(): try: response = rospy.ServiceProxy( 'mavros/mission/clear', WaypointClear) return response.call().success except rospy.ServiceException, e: print "Service call failed: %s" % e return False
Does anyone know how to run a mission without RC?
Thank you very much.
Dose the mission must be read through the QGC? I push some waypoints through the mavros service and then change the mode to AUTO.MISSION, the mission will start if I run the QGC (SITL). It’s no problem. But how to start the mission without QGC?
Maybe this will be helpful for you: http://forum.erlerobotics.com/t/solved-waypoint-for-ros-take-off-land-script/611/9
I apparently had the wrong settings for PX4 in the SITL. Recompilation of the project SITL helped me. In the SITL, the mission now starts normally. On a real drone mission is also launched and even without the RC.
The mission itself is read and displayed in the QGC