in resources/drone_orbit.py [0:0]
def take_snapshot(self):
if not os.path.exists(self.image_dir):
os.makedirs(self.image_dir)
# first hold our current position so drone doesn't try and keep flying while we take the picture.
pos = self.client.getMultirotorState().kinematics_estimated.position
self.client.moveToPositionAsync(pos.x_val, pos.y_val, self.z, 0.25, 3, airsim.DrivetrainType.MaxDegreeOfFreedom,
airsim.YawMode(False, self.camera_heading))
responses = self.client.simGetImages([airsim.ImageRequest(
0, airsim.ImageType.Scene)]) # scene vision image in png format
response = responses[0]
filename = self.photo_prefix + \
str(self.snapshot_index) + "_" + str(int(time.time()))
self.snapshot_index += 1
airsim.write_file(os.path.normpath(
self.image_dir + filename + '.png'), response.image_data_uint8)
print("Saved snapshot: {}".format(filename))
# cause smooth ramp up to happen again after photo is taken.
self.start_time = time.time()