# -*- coding: utf-8 -*- """ Created on Wed Aug 7 15:04:14 2019 @author: arm and disarm """ import asyncio from mavsdk import start_mavlink from mavsdk import connect as mavsdk_connect start_mavlink() drone = mavsdk_connect(host="127.0.0.1") async def ArmAndDisarm(): print("-- Arming") await drone.action.arm() print("-- Waiting") await asyncio.sleep(10) print("-- Disarming") await drone.action.disarm() loop = asyncio.get_event_loop() loop.run_until_complete(ArmAndDisarm())
async def getBattery(): global battery_level async for battery in drone.telemetry.battery(): battery_level = battery.remaining_percent return ######################################################################### # MAVLink configuration ######################################################################### start_mavlink( connection_url="serial:///dev/ttyUSB0:57600") #Connection to drone drone = mavsdk_connect(host="127.0.0.1") #Connect drone to host async def run(): conn_state = drone.core.connection_state() async for state in conn_state: if state.is_connected: return state.uuid async def get_fw(): info = await drone.info.get_version() return info
belief.append((coords, truth[int(coords[0]), int(coords[1])])) async def plot_belief(drone): async for pos in drone.telemetry.position(): global belief measurements = np.array([((*b[0]), b[1]) for b in belief]) plt.scatter(measurements[:, 0], measurements[:, 1], c=measurements[:, 2]) plt.pause(0.01) if __name__ == "__main__": start_mavlink(connection_url="udp://:14552") drone = mavsdk_connect(host="127.0.0.1") belief = [] #fill in the space with 2D gaussian N_CELLS = 100 # 1 for cell equiv. to 1 m x, y = np.meshgrid(np.linspace(-1, 1, N_CELLS), np.linspace(-1, 1, N_CELLS)) #100x100 cells d = np.sqrt(x * x + y * y) sigma, mu = 1.0, 0.0 truth = np.exp(-((d - mu)**2 / (2.0 * sigma**2))) # define space sp = Space(origin=(37.331553, -121.882767))
#!/usr/bin/env python3 import asyncio from mavsdk import start_mavlink from mavsdk import connect as mavsdk_connect start_mavlink(connection_url="serial:///dev/ttyUSB0:57600") drone = mavsdk_connect(host="127.0.0.1") battery_level = 0.0 async def getBattery(): global battery_level async for battery in drone.telemetry.battery(): battery_level = battery.remaining_percent return asyncio.ensure_future(getBattery()) loop = asyncio.get_event_loop() loop.run_until_complete(getBattery()) print(battery_level)