'Go to a specified global location (:py:class:`LocationGlobal` or :py:class:`LocationGlobalRelative`).
There is no mechanism for notification when the target location is reached, and if another command arrives
before that point that will be executed immediately.
You can optionally set the desired airspeed or groundspeed (this is identical to setting
:py:attr:`airspeed` or :py:attr:`groundspeed`). The vehicle will determine what speed to
use if the values are not set or if they are both set.
The method will change the :py:class:`VehicleMode` to ``GUIDED`` if necessary.
.. code:: python
# Set mode to guided - this is optional as the simple_goto method will change the mode if needed.
vehicle.mode = VehicleMode("GUIDED")
# Set the LocationGlobal to head towards
a_location = LocationGlobal(-34.364114, 149.166022, 30)
vehicle.simple_goto(a_location)
:param location: The target location (:py:class:`LocationGlobal` or :py:class:`LocationGlobalRelative`).
:param airspeed: Target airspeed in m/s (optional).
:param groundspeed: Target groundspeed in m/s (optional).'

def simple_goto(self, location, airspeed=None, groundspeed=None):

    if isinstance(location, LocationGlobalRelative):
        frame = mavutil.mavlink.MAV_FRAME_GLOBAL_RELATIVE_ALT
        alt = location.alt
    elif isinstance(location, LocationGlobal):
        frame = mavutil.mavlink.MAV_FRAME_GLOBAL_RELATIVE_ALT
        if (not self.home_location):
            self.commands.download()
            self.commands.wait_ready()
        alt = (location.alt - self.home_location.alt)
    else:
        raise APIException('Expecting    location    to    be    LocationGlobal    or    LocationGlobalRelative.')
    self._master.mav.mission_item_send(0, 0, 0, frame, mavutil.mavlink.MAV_CMD_NAV_WAYPOINT, 2, 0, 0, 0, 0, 0, location.lat, location.lon, alt)
    if (airspeed != None):
        self.airspeed = airspeed
    if (groundspeed != None):
        self.groundspeed = groundspeed
