[프로젝트] Pixhawk 사에서 쓰는 controller 분석 (1)

2022. 11. 14. 22:36·기타/설계 프로젝트 System Design

제어기에 대해서 검토하는 와중에 레퍼런스가 있었으면 좋겠다는 생각이 들어서 기록해놓는 글.

 

참고한 자료는 아래와 같다.

 

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
'기타/설계 프로젝트 System Design' 카테고리의 다른 글
  • [프로젝트] 솔리드웍스 파일(SLDASM)을 Obj 파일로 변환하기
  • [프로젝트] DATCOM Input 파일 예시와 output 파일 예시
  • [시뮬레이션] Flight Gear 사용법 (2) MATLAB과 연동
  • [시뮬레이션] Flight gear 사용법 (1) 기본 설치 및 간단한 것들
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (458)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (21)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 유학 생활 Daily (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Dear abby
    고체역학
    Python
    Linear algebra
    Julia
    옵시디언
    생산성
    obsidian
    LaTeX
    인공지능
    Statics
    논문작성법
    텝스공부
    딥러닝
    텝스
    수치해석
    논문작성
    MATLAB
    ChatGPT
    JAX
    에러기록
    수식삽입
    Zotero
    Numerical Analysis
    IEEE
    우분투
    WOX
    pytorch
    teps
    matplotlib
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[프로젝트] Pixhawk 사에서 쓰는 controller 분석 (1)
상단으로

티스토리툴바