29 lines
810 B
Python
29 lines
810 B
Python
import airsim
|
|
import os
|
|
|
|
# connect to the AirSim simulator
|
|
client = airsim.MultirotorClient()
|
|
client.confirmConnection()
|
|
# get control
|
|
client.enableApiControl(True)
|
|
# unlock
|
|
client.armDisarm(True)
|
|
# Async methods returns Future. Call join() to wait for task to complete.
|
|
client.takeoffAsync().join()
|
|
|
|
|
|
# keep fly in square path until get images
|
|
client.moveByVelocityAsync(0, 0, 0, 1).join()
|
|
# client.moveOnPathAsync([airsim.Vector3r(100, 0, -10)], 0.1, 60, airsim.DrivetrainType.ForwardOnly, airsim.YawMode(False, 0)).join()
|
|
|
|
# take video from bottom camera and show using cv2
|
|
raw = client.simGetImage("bottom_center", airsim.ImageType.Scene)
|
|
airsim.write_file(os.path.normpath("./data/004.png"), raw)
|
|
|
|
|
|
client.landAsync().join()
|
|
# lock
|
|
client.armDisarm(False)
|
|
|
|
# release control
|
|
client.enableApiControl(False) |