드론 쿼드콥터

클린플라이트 설정 - 믹서 - Mixer

하늘이푸른오늘 2016. 9. 20. 17:09

믹서(Mixer)

클린플라이트는 custom mixing외에도 여러가지 mixing 설정을 지원합니다. Mixer 설정은 기체를 제어하기 위해 서보와 모터가 어떻게 함께 작동하는지를 결정합니다.

설정(Configuration)

내장 믹싱 설정을 사용하려면, 크롬 설정프로그램 GUI를 사용합니다. GUI에는 여러가지 믹서 우ㅠ형이 그림으로 있어, 적절한 연결을 만드는 데 도움이 됩니다. GUI에 관한 더 많은 정보는 이 문서의 설정(Configuration) 부분을 보세요.

명령어 입력방식(CLI)으로 믹서 유형을 설정할 수도 있습니다.

  1. [mixer list] 를 사용하여 지원되는 믹서의 리스트를 살펴봅니다.
  2. 믹서를 선택합니다. 예를 들어 [select TRI]를 쓰면 TRI 믹서를 사용하게 됩니다.
  3. [save] 명령을 사용하여 변경된 내용을 저장합니다.

지원되는 믹서 유형 (Supported Mixer Types)

NameDescriptionMotorsServos
TRITricopterM1-M3S1
QUADPQuadcopter-PlusM1-M4None
QUADXQuadcopter-XM1-M4None
BIBicopter (left/right)M1-M2S1, S2
GIMBALGimbal controlN/AS1, S2
Y6Y6-copterM1-M6None
HEX6Hexacopter-PlusM1-M6None
FLYING_WINGFixed wing; elevonsM1S1, S2
Y4Y4-copterM1-M4None
HEX6XHexacopter-XM1-M6None
OCTOX8Octocopter-X (over/under)M1-M8None
OCTOFLATPOctocopter-FlatPlusM1-M8None
OCTOFLATXOctocopter-FlatXM1-M8None
AIRPLANEFixed wing; Ax2, R, EM1S1, S2, S3, S4
HELI_120_CCPM
HELI_90_DEG
VTAIL4Quadcopter with V-TailM1-M4N/A
HEX6HHexacopter-HM1-M6None
PPM_TO_SERVO
DUALCOPTERDualcopterM1-M2S1, S2
SINGLECOPTERConventional helicopterM1S1
ATAIL4Quadcopter with A-TailM1-M4N/A
CUSTOMUser-defined
CUSTOM AIRPLANEUser-defined airplaneM1-M2S1-S8
CUSTOM TRICOPTERUser-defined tricopter

서보 설정 (Servo Configuration)

CLI [servo] 명령을 사용하면 서보 출력 설정을 정의할 수 있스빈다. CLI mixer [smix] 명령은 믹서가 내부 FC 데이터 (RC 입력, PID 안정화 출력, 채널 포워딩 등)와 서보 출력를 매핑하는 방법을 제어할 수 있습니다.

채널 포워딩 (Channel Forwarding)

채널 포워딩을 사용하면, AUX 채널을 PWM 5-8번 핀을 통해 직접 서보로 전달할 수 있습니다. 이 기능을 사용하려면, GUI에서 features 탭에서 설정하거나, CLI 명령 [feature CHANNEL_FORWARDING]를 사용합니다. 이렇게 하려면 PPM 또는 또다른 시리얼 RC 프로토콜을 작동시켜야 하는데, 현재 NAZE 와 SPRACINGF3 target에서 지원됩니다. 참고로, NAZE target에서 LED 기능을 활성화시켰다면 AUX1-2는 PWM13-14로 매핑됩니다. 따라서, 예를 들어, 이 기능을 수신기로 부터 Naze AUX1 에서 활성화시켰다면 서보 명령으로서 PWM5로 전달될 것입니다.?? So for instance if you enable this feature on a Naze AUX1 from your receiver will automatically be forwarded to PWM5 as a servo signal.

cli [servo]

[servo <min> <max> <middle> <angleMin> <angleMax> <rate> <forwardFromChannel> ]

  • <min>, <max> - 서보값의 최대 최소. 단위 uS
  • <middle> - 포워딩하지 않을 때 중간값. 서보 믹서로부터 나온 값이 여기에 더해짐
  • <anglemin>, <anglemax> - 사용하지 않음
  • <rate> - 서보믹서나 짐벌 입력에서 온 값에 대한 비율, -100% .. 100%
  • <forwardfromchannel> - <middle> 대신 RC 채널 값을 기준값으로 사용함. 서보는 주어진 RC 채널을 따르되, 서보 믹서에서 온 보정값이 적용됨. <min>, <max>는 계속 존중됨

서보 필터링 (Servo Filtering)

서보에 저대역 통과필터를 활성화시킬 수 있습니다. 예를 들어 airframe 에서 structural modes?? 를 피하는데 유용할 수 있습니다.

설정 (Configuration)

현재 CLI를 통해서만 설정할 수 있습니다.

  1. [set servo_lowpass_freq = nnn]를 사용하여 cutoff 주파수를 선택합니다. 유효한 값은 10Hz 에서 400 Hz로, 2급(second order) 필터가 사용됩니다.
  2. [set servo_lowpass_enable = ON]을 사용하면 필터링을 활성화시킬 수 있습니다.

튜닝(Tuning)

아래는 필터 cutoff를 튜닝하는 방법중 하나입니다.

  1. 먼저 기체가 문제 있는 축에서 적어도 어느정도 자유롭게 이동할 수 있는지 확인합니다. 예를 들어, tricopter에서 yaw가 진동한다면, 콥터가 적어도 좌측 우측으로 몇도 정도 회전할 수 있지 확인합니다. 무게중심 인근 서스펜션이 이상적입니다. 다른 방법으로, 비록 튜닝이 약간 더 지루해질지라도 그냥 기체를 날리고, 없애고자하는 문제 상황을 촉발시켜봅니다. (Ensure your vehicle can move at least somewhat freely in the troublesome axis. For example, if you are having yaw oscillations on a tricopter, ensure that the copter is supported in a way that allows it to rotate left and right to at least some degree. Suspension near the CG is ideal. Alternatively, you can just fly the vehicle and trigger the problematic condition you are trying to eliminate, although tuning will be more tedious.)
  2. 기체의 평가하고자하는 축의 끝부분을 살짝 건드립니다. 의문시되는 서보를 움직이도록 직접 명령하는 것도 사용할 수 있습니다. tricopter 예에서는 꼬리쪽 봉의 끝을 옆쪽에서 밀어보거나, 송신기를 사용해 yaw 명령을 내립니다.
  3. 기체가 몇초 정도 흔들리거나, 계속해서 진동한다면, 필터 cutoff 주파수를 줄여야 합니다. [servo_lowpass_freq]의 값을 반으로 줄이고, 이전 단계를 반복합니다.
  4. 진동이 약 1초 이내에 줄어들거나, 아얘 나타나지 않으면 완료된 것입니다. 저장을 하시고 나가세요.

맞춤식 모터 믹싱(Custom Motor Mixing)

맞춤식 모터 믹싱을 사용하면 완전히 맞춤화된 모터 설정이 가능합니다. 각각의 모터는 해당 모터를 위한 맞춤식 믹싱 테이블로 정의되어야 합니다. 비행 콘트롤러의 무게중심을 기준으로 각 모터가 얼마나 가까운지를 반영해야 합니다. 무게중심에 가까운 모터는 멀리있는 모터보다 조금 움직이게 할 필요가 있습니다. (Custom motor mixing allows for completely customized motor configurations. Each motor must be defined with a custom mixing table for that motor. The mix must reflect how close each motor is with reference to the CG (Center of Gravity) of the flight controller. A motor closer to the CG of the flight controller will need to travel less distance than a motor further away.)

CLI에서 맞춤식 믹서를 설정하는 순서:

  1. [mixer custom] 명령으로 맞춤식 믹싱을 가능하게 합니다.
  2. [mmix reset] 을 사용하여, 기존의 맞춤식 믹싱을 삭제합니다.
  3. [mmix load <name>]을 사용하여 기존의 믹서를 불러올 수도 있습니다.
  4. 각각의 모터에 mmix 명령을 일으킵니다.

The mmix statement has the following syntax: 

mmix 문의 문법은 : mmix n THROTTLE ROLL PITCH YAW

믹싱테이블 변수정의
n

모터 ordering 번호

THROTTLE

Indicates how much throttle is mixed for this motor. All values used in current configurations are set to 1.0 (full throttle mixing), but other non-zero values may be used. Unused set to 0.0.

ROLL

Indicates how much roll authority this motor imparts to the roll of the flight controller. Accepts values nominally from -1.0 to 1.0.

PITCHIndicates the pitch authority this motor has over the flight controller. Also accepts values nominally from -1.0 to 1.0.
YAWIndicates the direction of the motor rotation in relationship with the flight controller. 1.0 = CCW -1.0 = CW.

참고 : mmix 명령은 활성화되지 않은 모터믹스를 보여줄 수도 있습니다. 맞춤식 모터 믹스는 막춤식 믹서를 사용하는 모델에 대해서만 활성화됩니다.

참고 : 모든 모터 번호가 0에서 시적하도록 설정해야 합니다. 이전의 모터번호에 대한 mmix 명령이 없을 경우, 명령이 무시됩니다. (믹서는 THROTTLE 값이 0인 첫번째에서 정지합니다.

맞춤식 서보 믹싱(Custom Servo Mixing)

(이하 생략합니다.)

===

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Mixer.md