hello_airsim -> magnetometer

전민권·2025년 3월 11일

airsim

목록 보기
4/7

airsim

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}

1. magnetic_field_body

  • 자기장 측정 값 (3D 벡터)
  • 자력계가 드론의 봍체 좌표게에서 측정한 자기장의 세기와 방향을 나타냄

x_val, y_val, z_val는 각각 자기장의 X,Y,Z 성분

2. magnetic_field_covariance

  • 자기장 측정의 공분산 (불확실성)
  • 자기장 측정의 불확실성(오차 범위)를 나타내는 값
    • 공분산이 없기 때문에 빈 리스트 [ ]임. 측정의 정확도가 높거나, 공분산 데이터를 제공하지 않는다는 의미일 수 있습니다.

      공분산 : x, y의 관계를 측정

  1. 양의 공분산 : 두 변수는 같은 방향으로 변화 (x가 증가하면 y도 증가)

  2. 음의 공분산 : 두 변수는 반대 방향으로 변화 (x가 증가하면 y는 감소)

  3. 공분산 0 : 두 변수는 서로 관련 없다.

0개의 댓글