제어기에 대해서 검토하는 와중에 레퍼런스가 있었으면 좋겠다는 생각이 들어서 기록해놓는 글.
참고한 자료는 아래와 같다.
https://px4.github.io/Firmware-Doxygen/dd/d8c/mc__pos__control__main_8cpp.html
PX4 Firmware: src/modules/mc_pos_control/mc_pos_control_main.cpp File Reference
Multicopter position controller. Definition in file mc_pos_control_main.cpp.
px4.github.io
필자는 픽스호크를 직접 써본 적이 없기 때문에 그냥 내부 제어기만 확인하는 용도로써 코드를 참고하였다.
위의 링크에 들어가면 다음을 확인할 수 있다.
다음과 같이 각 코드의 관계를 나타내주면서 개별 코드에도 접근할 수 있다.
위의 go to document로 들어가면 각 코드 간의 include 관계도 확인할 수 있는 듯하다.
위의 코드를 읽기에는 가독성이 떨어지는 것 같아서 아래 깃허브에서 코드를 다운받았다.
https://github.com/PX4/PX4-Autopilot
GitHub - PX4/PX4-Autopilot: PX4 Autopilot Software
PX4 Autopilot Software. Contribute to PX4/PX4-Autopilot development by creating an account on GitHub.
github.com
(지금 확인한 건데) 위의 사이트와 깃허브에서 제공하는 코드가 완벽하게 일치하지 않는 것을 확인했다.
제어기 확인해야하는데 덕분에 일이 늘었다(...)
참고로 저 깃허브에서 제어기 쪽을 보려면 src/modules로 들어가야한다.
그리고 pixhawk에서 제공해주는 platform이 autogyro, fixed wing, submarines(uuv), rovers, VTOL, multicopters 등 다양하고 각 시스템에 맞는 제어기를 다른 사람들이 커밋한 것으로 보인다.
https://docs.px4.io/main/en/airframes/airframe_reference.html#hexarotor-coaxial
위의 링크는 픽스호크에서 제공하는 airframe의 종류에 대해 소개하고 있다.
코드를 확인할 때도 시스템을 확인하고 봐야한다.
픽스호크 사이에서 제공하는 프레임
- Airship
- Autogyro : (위키) 헬리콥터와 달리 주회전날개가 자유회전하면서 비행에 필요한 양력을 얻어 비행하는 항공기의 일종. 다른 이름으로 자이로콥터라고 한다.
- Balloon
- Copter : 도데카콥터, 헥사콥터, 쿼트로터, 옥타로터 등
- Plane : 일반 비행기, Flying wing, Plane A-Tail
- Rover
- VTOL
다음과 같다. 내가 살펴보고자 하는 시스템은 멀티콥터 (위의 Copter)이다.
다음에 다룰 내용
Position control
https://px4.github.io/Firmware-Doxygen/dir_4892fa330f71d17f65cfcd3ee8646b5e.html
Attitude control
https://px4.github.io/Firmware-Doxygen/db/de4/_attitude_control_8cpp_source.html
Rate control
https://px4.github.io/Firmware-Doxygen/dir_2cc0c9047201483ad095cd0b602beaa8.html
'기타 > 설계 프로젝트 System Design' 카테고리의 다른 글
[프로젝트] 솔리드웍스 파일(SLDASM)을 Obj 파일로 변환하기 (0) | 2022.08.29 |
---|---|
[프로젝트] DATCOM Input 파일 예시와 output 파일 예시 (4) | 2022.03.15 |
[시뮬레이션] Flight Gear 사용법 (2) MATLAB과 연동 (2) | 2022.02.08 |
[시뮬레이션] Flight gear 사용법 (1) 기본 설치 및 간단한 것들 (0) | 2022.02.06 |
[프로젝트] Iterative Design Process (0) | 2021.01.19 |