AirSim無人機起飛降落、線性位置控制及速度控制代碼
一、起飛降落代碼
import airsim
# 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()
client.landAsync().join()
# lock
client.armDisarm(False)
# release control
client.enableApiControl(False)
二、位置控制代碼
import airsim
import time
# connect to the AirSim simulator
client = airsim.MultirotorClient()
client.enableApiControl(True) ? # get control
client.armDisarm(True) ? ? ? ? ?# unlock
client.takeoffAsync().join() ? ?# takeoff
# square flight
client.moveToZAsync(-3, 1).join() ? ? ? ? ? ? ? # 上升到3m高度
client.moveToPositionAsync(5, 0, -3, 1).join() ?# 飛到(5,0)點坐標(biāo)
client.moveToPositionAsync(5, 5, -3, 1).join() ?# 飛到(5,5)點坐標(biāo)
client.moveToPositionAsync(0, 5, -3, 1).join() ?# 飛到(0,5)點坐標(biāo)
client.moveToPositionAsync(0, 0, -3, 1).join() ?# 回到(0,0)點坐標(biāo)
client.landAsync().join() ? ? ? # land
client.armDisarm(False) ? ? ? ? # lock
client.enableApiControl(False) ?# release control
三、速度控制代碼
import airsim
import time
client = airsim.MultirotorClient() ?# connect to the AirSim simulator
client.enableApiControl(True) ?# 獲取控制權(quán)
client.armDisarm(True) ?# 解鎖
client.takeoffAsync().join() ?# 第一階段:起飛
client.moveToZAsync(-3, 1).join() ?# 第二階段:上升到3米高度
# 飛正方形
client.moveByVelocityZAsync(1, 0, -3, 5).join() ?# 第三階段:以1m/s速度向前飛5秒鐘
client.moveByVelocityZAsync(0, 1, -3, 5).join() ?# 第三階段:以1m/s速度向右飛5秒鐘
client.moveByVelocityZAsync(-1, 0, -3, 5).join() ?# 第三階段:以1m/s速度向后飛5秒鐘
client.moveByVelocityZAsync(0, -1, -3, 5).join() ?# 第三階段:以1m/s速度向左飛5秒鐘
# client.moveByVelocityZAsync(10,?0,?-3,?5).join() ?
# client.moveByVelocityZAsync(0,?10,?-3,?5).join()??
# client.moveByVelocityZAsync(-10,?0,?-3,?5).join()?
# client.moveByVelocityZAsync(0,?-10,?-3,?5).join()??
# 懸停 2 秒鐘
client.hoverAsync().join() ?# 第四階段:懸停2秒鐘
time.sleep(2)
client.landAsync().join() ?# 第五階段:降落
client.armDisarm(False) ?# 上鎖
client.enableApiControl(False) ?# 釋放控制權(quán)
AirSim無人機起飛降落、線性位置控制及速度控制代碼的評論 (共 條)
