관리 메뉴

개발자비행일지

NuttX 스터디 시작 본문

카테고리 없음

NuttX 스터디 시작

Cyber0946 2020. 2. 17. 18:21

#https://ko.wikipedia.org/wiki/%EC%95%84%EB%91%90%ED%8C%8C%EC%9D%BC%EB%9F%BF 참조 # 

 

아두파일럿 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

#PX4 and its collaboration with NuttX 한국전자통신연구원 kang, dongwook님 발표자료 참고

아두콥터는 프로토콜과 API로는 NuttX 운영체제를 기반으로 MAVLink uORB를 통신 프로토콜로 사용하며 그리고 하드웨어로는 STM32칩이나 AVR32칩같은 32비트 CPU 및 GPS등 센서들이 FC의 핵심을 구성하고 있다. 한편 가상 시뮬레이션인 ROS SITL가 개발을 위해 지원되고 있다.

Industrial Drone들의 운영체제는 비행 통제 컴퓨터와 미선 컴퓨터로 분리되어 있다. 

먼저 비행 통제 컴퓨터는 좌측의 그림과 같은 구조를 가지고 있으며, 그중에서도 RTOS부분은 NuttX가 담당하고 있다. 

미션 컴퓨터는 Linux 기반이다.

좌측의 비행통제컴퓨터의 구조를 좀 더 자세히 보면 다음과 같다. 

PX4는 상위 단에서 운영체제 처럼,  비행제어와 상태 평가를 위해 사용되는 인터페이스라고 할 수 있다. 

μicro Object Request Broker는 중간에서 메세지 큐의 역할을 하는데, 센서들로 부터 발행된 정보를 조합하여, 다시 뿌리는 역할을 하며, 이로 평가된 상태를 통세 상태로 최종적으로 발행한다. 

다음은 NuttX이다. 아래 그림을 보면서 조금 비약을 하자면  PX4가 User영역이며, uORB는 API NuttX는 커널의 시스템 콜의 역할을 한다는 생각이 든다. (이는 이제 막 이 부분을 공부하기 시작한 나의 개인적인 비약이다.)

Nuttx는 ROTS이며, PX4의 라이브러리 이다. 

Nuttx는 메모리 프로텍션 기능이 없다.

스케쥴링 방식은, – FIFO, round-robin, and “sporadic” scheduling

– semaphore

– dynamic memory allocation

– on-demand paging

– File systems

– NuttShell