
import airsim
client = airsim.MultirotorClient() # 멀티로터 클라이언트 인스턴스 선언
client.confirmConnection() # 1초마다 연결 상태를 확인후
client.enableApiControl(True) # API 제어를 활성화하거나 비활성화합니다
client.armDisarm(True) # 드론 시동걸기
client.takeoffAsync().join() # 드론 이륙, join 사용하면 작업이 끝날 때까지 대기
# 자력계 데이터
magnetometer_data = client.getMagnetometerData()
s = pprint.pformat(magnetometer_data)
print("magnetometer_data: %s" % s)
magnetometer_data: <MagnetometerData> { 'magnetic_field_body': <Vector3r> {
'x_val': 0.2441370040178299,
'y_val': -0.06701282411813736,
'z_val': 0.3653114140033722},
'magnetic_field_covariance': [ ],
'time_stamp': 1741707143711215616}
x_val, y_val, z_val는 각각 자기장의 X,Y,Z 성분
공분산이 없기 때문에 빈 리스트 [ ]임. 측정의 정확도가 높거나, 공분산 데이터를 제공하지 않는다는 의미일 수 있습니다.
공분산 : x, y의 관계를 측정
양의 공분산 : 두 변수는 같은 방향으로 변화 (x가 증가하면 y도 증가)
음의 공분산 : 두 변수는 반대 방향으로 변화 (x가 증가하면 y는 감소)
공분산 0 : 두 변수는 서로 관련 없다.