'가속도센서'에 해당되는 글 2건

  1. 2017.03.13 쿼드콥터용 비행제어기(FC)의 원리(1)
  2. 2014.02.26 Multiwii란?


쿼드콥터(Quadcopter)는 다음 그림에서와 같이 모터 4개의 상대적인 회전속도에 의해 비행이 제어됩니다. 시계방향(CW)으로 회전하는 모터들에 장착되는 프로펠러를 '푸셔(Pusher) 프로펠러'라 부르고 반시계방향(CCW)으로 회전하는 모터들에 장착되는 프로펠러를 '트랙터(Tractor) 프로펠러'라 부릅니다.



  • Yaw Left - 시계방향으로 회전하는 모터 ①, ③의 회전속도의 합 > 반시계방향으로 회전하는 모터 ②, ④의 회전속도의 합

  • Yaw Right - 시계방향으로 회전하는 모터 ①, ③의 회전속도의 합 < 반시계방향으로 회전하는 모터 ②, ④의 회전속도의 합

  • Hovering - 시계방향으로 회전하는 모터 ①, ③의 회전속도의 합 = 반시계방향으로 회전하는 모터 ②, ④의 회전속도의 합


소위 Hovering(정지 비행)은 전체 토크(Torque)가 상쇄되어 드론이 공중에서 정지하는 것이며, 이러한 상황에서 모든 프로펠러들이 발생시키는 추력의 합이 드론의 무게보다 크거나 작을 경우, 드론은 수직으로 상승(Throttle Up) 혹은 하강(Throttle Down)을 합니다.


  • Pitch Up(후진) - 전면에 위치한 모터 ①, ②의 회전속도의 합 > 후면에 위치한 모터 ③, ④의 회전속도의 합

  • Pitch Down(전진) - 전면에 위치한 모터 ①, ②의 회전속도의 합 < 후면에 위치한 모터 ③, ④의 회전속도의 합


  • Roll Left - 우측에 위치한 모터 ①, ④의 회전속도의 합 > 좌측에 위치한 모터 ②, ③의 회전속도의 합

  • Roll Right - 우측에 위치한 모터 ①, ④의 회전속도의 합 < 좌측에 위치한 모터 ②, ③의 회전속도의 합


전체 프로펠러들의 중력방향 추력의 합이 드론의 무게와 동일 할 경우, 드론은 좌측 혹은 우측으로 수평비행을 하게 됩니다.



모터 ①, ②, ③, ④의 회전속도를 각각 라 하고 모터들에 장착된 프로펠러들이 발생시키는 전체 추력을 라 할 때, 각 모터들의 회전속도와 오일러 각도의 변화량  및 추력의 변화량 과의 관계는 다음 수식으로 표현할 수 있습니다.



위 식을 행렬식으로 나타내면 다음과 같습니다.



그러므로 각 모터의 회전속도 관점에서 다음과 같이 나타낼 수 있다.



위 식을 시간 에서 오일러 각도 및 추력의 변화량을 시간 증분을 이용해 표시하면 다음과 같습니다.



위 식에서 는 시간 에서 Tx(송신기)로부터 수신한 비행명령어이고, 는 시간 에서 각종 센서들을 이용하여 추정한 드론의 상태추정치이며, 는 드론의 비행제어기가 수행하는 함수로 볼 수 있습니다. 이 경우, 첨자 ''는 desired(Tx가 원하는)의 ''로 대체할 수 있고, 첨자 ''은 Estimated(센서융합기가 추정한)의 ''로 대체할 수 있습니다.



Tx에 조정키들을 움직여 오일러 각도 및 추력으로 구성된 비행명령어 를 드론에 송신하고, 드론의 Rx(수신기)는 이 비행명령어를 받아서 비행제어기(FC)에 전달합니다. 센서융합기는 자이로 센서, 가속도 센서 및 지자기 센서를 이용해 측정한 회전운동 상태측정치 와 기압 센서를 이용해 측정한 고도측정치 을 적절히 융합해 각 센서들의 오차가 최대한 제거된 상태추정치 를 계산해 비행제어기에 전달합니다. 비행제어기는 Rx로부터 받은 비행명령어를 센서융합기가 보내온 상태추정치와 비교해 그 차이 값을 이용해 각 모터들의 회전속도를 계산합니다. 여기서 첨자 'M'은 Measured(각종 센서들이 측정한)을 의미합니다.


드론은 Tx를 이용하지 않고 GPS 경로비행을 할 수도 있습니다. 한편으로, 센서융합기는 드론의 회전운동 상태측정치 와 GPS 수신기와 기압 센서를 이용해 측정한 병진운동 상태측정치 를 함께 융합하여 센서 오차들을 좀 더 줄일 수 있습니다. 여기서 는 위치벡터, 는 속도 벡터, 는 고도를 의미한다. 아래 그림에서 센서융합기는 드론의 회전운동 및 병진운동 상태측정치를 융합하여 자이로 센서와 가속도 센서의 오차가 최대한 제거된 상태추정치 를 비행제어기에 전달하고, 비행제어기는 Rx로부터 전달 받은 비행명령어 혹은 GPS 비행경로 좌표와 상태추정치를 비교해 그 차이 값을 이용하여 각 모터들의 회전속도를 계산합니다. 여기서 'lon'은 longitude(경도), 'lat'는 latitude(위도)의 약자입니다.




Posted by Nature & Life

 

Multiwii(멀티위) 보드는 멀티콥터(Multicopter)를 제어하는 비행제어보드(Flight Control Board, FCB) 중의 하나이며, 이 제어보드를 구동하기 위한 아두이노(Arduino) IDE에 기반을 둔 공개 소스 소프트웨어(Open source software)를 Multii라고 합니다. 최근에 Multiwii는 Autopilot-Mega(APM)와 나란히 전 세계적인 대중화를 이끄는데 특히 Multii는 가격 경쟁력 면에서 우수한 비행 제어보드로 알려집니다.

 

Multiwii에 대한 자세한 정보는 다음의 링크를 참고하시기 바랍니다.

http://www.multiwii.com/

 

또한 Multiwii 비행 제어보드를 구동하기 위한 [공개] 소프트웨어 혹은 펌웨어와 GUI 설정 프로그램은 다음 링크에서 다운로드 받을 수 있습니다.

http://code.google.com/p/multiwii/

 

근래에 사용되어지는 Multiwii 비행 제어보드는 CRIUS MWC Standard Edition(SE) Flight Controller v2.5로 특징은 다음과 같습니다. 여기서 MWC 'Multiwii copter'를 의미합니다.

 

CRIUS Multiwii Standard Edition(SE) v2.5

 

 

Features:

  • 6 PWM input channels for standard receiver or PPM SUM receiver

  • Up to 8-axis motor output [Up to Hexacopter]

  • Supported 2-axis gimbal and auto trigger controll

  • FTDI/UART port for upload firmware, debug, Bluetooth module or LCD display

  • I2C port for extend sensor, I2C LCD/OLED display or I2C-GPS NAV board for GPS and Sonar

  • Ultra low noise 3.3V LDO voltage regulator

  • ATMega 328P Microcontroller

  • MPU6050C 6 axis gyro/accel with Motion Processing Unit(3축 자이로 + 3축 가속도 센서)

  • HMC5883L 3-axis digital magnetometer(3축 지자계/나침판 센서)

  • BMP085 digital pressure sensor(기압/압력/고도 센서)

  • PCA9306DP1 logic level converter

 

 

Multiwii 소프트웨어 즉, 펌웨어(firmware)는 아두이노 AVR 개발보드인 Pro Mini, Pro Micro 또는 Mega를 이용하여 업로드할 수 있으며, 3축 자이로 + 3축 가속도 센서는 기체의 자기 안정화를 위해서 필요하고, 기압(압력, 고도) 센서는 게체의 고도를 고정할 때에 요구되며, 3축 지자계(나침판) 센서는 기체의 진행방향을 고정(locked heading or heading hold)시키기 위해서 필요합니다.

 

 

 

Posted by Nature & Life