상세 컨텐츠

본문 제목

[드론 만들기] 용어

만들기/드론

by kwangpil 2020. 3. 28. 12:31

본문

 

이전 글...

 

드론 만들기

  

   하드웨어

      기본부품

         비행 제어기(FC)

            Pixhawk 시리즈

               Pixhawk의 GPS

               Pixhawk의 텔레메트리(Telemetry)              

               Pixhawk의 변속기(ESC)

                  QGroundControl에서 변속기(ESC) 교정하기 

               Pixhawk 4의 Power Management Board              

               Pixhawk 4

                  QGroundControl에서 Pixhawk 4 펌웨어 설치

                  QGroundControl에서 Pixhawk 4 설정하기 1/2

                  QGroundControl에서 Pixhawk 4 설정하기 2/2       

         모터

         배터리

            리튬 폴리머 배터리 팩

         변속기 (ESC)

         프로펠러 (Propeller)

         파워 분배기(PDB, Power Distribution Board)

         조종기(Radio Control)          

 

   소프트웨어

      MissionPlanner와 QGroundControl

      QGroundControl 설치

         QGroundControl 사용방법 1/4

         QGroundControl 사용방법 2/4

         QGroundControl 사용방법 3/4      

         QGroundControl 사용방법 4/4 

         QGroundControl에서 Pixhawk 4 펌웨어 설치

         QGroundControl에서 Pixhawk 4 설정하기 1/2

         QGroundControl에서 Pixhawk 4 설정하기 2/2

         QGroundControl에서 Pixhawk 파라미터 변경하기  

      VMware Workstation Pro 설치하기

         VMware Workstation Player에 Virtaul Machine 만들기

         VMware Workstation Player에 Ubuntu 설치하기

            Ubuntu(우분투) 터미널 명령어

            Ubuntu(우분투) 주요 디렉터리

            Ubuntu(우분투) 기초용어

 

   조립

      모터, 변속기에 커넥터 연결하기

      Power Management Board에 커넥터 연결하기

      변속기(ESC)와 Power Management Board 연결하기

      모터와 변속기(ESC) 연결하기

      QGroundControl에서 변속기(ESC) 교정하기

      GPS, Telemetry Pixhawk 4에 연결하기

    

   통신

      MAVLink

         MAVLink 설치하기

         MAVLink 라이브러리 생성하기

 

   개발

      드론 비행 시뮬레이터(Simulator)         

         툴체인(toolchain) 설치하기

            jMAVSim 사용하기 1/2

            jMAVSim 사용하기 2/2

            Gazebo 사용하기 1/4

            Gazebo 사용하기 2/4

            Gazebo 사용하기 3/4

            Gazebo 사용하기 4/4

      내장된 응용 프로그램 생성 및 실행하기

 

 

   비행

      쿼드콥터(Quadcopter) 비행 원리    

 

   문제해결

      Pixhawk와 Emax ESC(변속기) 호환문제 해결방법

 

   기타

      비행금지구역

      비행 시 주의 사항   

      멀티콥터 종류

      커넥터(connector)

      용어

 


 

완전 초짜의 드론 만들기 도전! 도전! 도전~!입니다.
맨땅에 헤딩~

인터넷 검색, 관련 사이트를 참고하여 Pixhawk 4(PX4)를 이용한 중/소형 쿼드콥터 드론을 만들려고 하고 있습니다.

참고만 하세요~!


픽스호크 4로 드론을 만들면서 접하게 되는 모르는 용어 정리.

 

adb
advanced debugger의 약자.
Solaris 1, 2, HP-UX에 기반을 둔 표준 유닉스 디버거

 

AHRS
Attitude/Heading Reference System의 약자로 자세·방위 참조 시스템을 말한다.

 

(Apache) Ant (Another Neat Tool)
자바 프로그래밍의 빌드 도구
빌드를 위한 환경구성을 위해서 XML 파일 사용

 

bash (배시)
리눅스, 맥 OS 등에 사용되는 기본 셸(Shell)로 Steve Bourne가 만든 유닉스 셸 프로그램인 sh를 향상시킨 것.

 

bash script (배시 스크립트)
일련의 명령어를 포함하고 있는 일반적인 텍스트.

 

baudrate(보 레이트/보드레이트)
직렬 데이터 통신에서 사용되는 전송속도로 1초 당 전송 가능한 최대 비트 수를 말한다.

 

bootloader(부트로더)
운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마무리하고 최종적으로 운영 체제를 시동시키기 위한 목적을 가진 프로그램을 말한다.

 

build(빌드)
프로그래밍한 코드를 실행파일로 만드는 과정 또는 결과물
전처리 -> 컴파일(어셈블리어로 번역) -> 어셈블(이진수 기계어로 변환) -> 링킹(실행파일)

 

cmake
크로스 플랫폼(cross flatform) 빌드 시스템 생성기로 지정한 운영체제에 맞는 makefile 생성.

 

cmake ..
현재 디렉토리에서 makefile 생성.
cmake .. 명령 후 make 명령으로 makefile 실행.

 

compile (컴파일)
프로그래밍한 코드를 기계언어(어셈블리어)로 변환
결과물은 object file(*.o)
빌드 중 어셈블리어 번역, 기계어로 변환 과정, 또는 링킹까지 포함한 과정을 컴파일이라고 하기도 함

 

console(콘솔)
사용자와 컴퓨터 사이에 대화할 수 있는 입력장치로 윈도우의 명령 프롬프트도 콘솔의 한 종류다.

 

copyleft
copyright(저작권)과 구별되는 개념으로 창작물을 자유롭게 복사하고 수정할 수 있는 권리이다.
수정된 2차 장착물의 경우 1차 창작물과 마찬가지로 copyleft 규제를 동일하게 갖는다.

 

CRC(순환중복검사)
cyclic redundancy check의 약자로 통신 시스템에서 네트워크를 통해서 데이터를 전송할 때 전송된 데이터에 오류가 있는지  검출하는 방법.

 

cross platform (크로스 플랫폼)
멀티 플랫폼 (multi platform)이라고도 하며 프로그램이나 하드웨어 등이 윈도우나 유닉스 등 다양한 운영체제에서 사용가능한 것을 말함.

 

CSV
comma-seperated values의 약자로 몇 가지 필드(field)를 쉼표로 구분한 텍스트 데이터 또는 텍스터 파일을 말한다.

 

Datagram
패킷 교환(packet switching)에서 발신자와 수신자 사이에 어떤 데이터 교환없이 각각의 패킷이 독립적으로 취급되어 목적지까지 전송되는 방식으로 이 패킷은 발신자와 수신자 사이 간의 경로 지정을 위한 충분한 정보를 가지고 있다.

 

debugging(디버깅)
컴퓨터 프로개름 개발 중 시스템의 논리적인 오류나 비정상적인 버그(연산)을 찾아내고 그 원인을 밝히고 수정하는 작업 과정을 말한다.

 

distributed computing (분산 컴퓨팅)
여러 대의 컴퓨터가 통신망으로 연결되어 마치 한 대의 컴퓨터처럼 동작하는 것

 

dropout (드롭아웃)
자기 기억 장치에 데이터를 기억하거나 또는 자기 기억 장치에서 데이터를 꺼내올때 발생하는 오차

 

dynamic library
런 타임 시점에 라이브러리 파일을 링킹(linking)하며 라이브러리가 직접 프로그램에 포함되는 것이 아니기때문에 메모리 효율이 static library보다 좋음. 
여러 프로그램이 동시에 공유해서 사용가능하기 때문에 shared library라고도 함
확장자명이 윈도우에서는 *.dll, 리눅스에서는 *.so

 

embedded system(임베디드 시스템)
기계나 전자장치에 마이크로프로세서, 메모리, 입출력 장치를 장착해서 특정 기능을 수행하도록 하는 시스템

 

file descriptor (파일 기술자)
운영체제에서 파일을 사용할 때 그 파일을 규정하는 고유한 번호.

 

Firmware(펌웨어)
소프트웨어와 하드웨어의 중간에 해당하는 것으로 소프트웨어를 하드웨어화한 것이다. 펌웨어 프로그램을 통해서 하드웨어를 제어한다.

 

Firmware flash(펌웨어 플래쉬)
플래쉬 메모리에 있던 펌웨어를 다른 새로운 펌웨어로 덮어쓰는 것.

 

flight stack
자율비행 드론 용 안내(guidance), 네비게이션, 제어 알고리즘의 집합체

 

GDB
GNU Debugger의 약자.
상세 내용은 GNU Debugger 참조.

 

GeoTag(지오태그)
사진이나 동영상 등에 지리적 정보를 삽입하는 것.

 

GNU
그누(GNU)는 "GNU's Not Unix!"의 약자며 운영체제의 한 종류이면서 컴퓨터 소프트웨어의 모음집으로 복사, 사용, 연구, 수정, 배포등 제한이 없는 자유소프트웨어(free software).

 

GNU Debugger
GNU 시스템의 기본 디버거(degubber)로 유닉스 기반의 시스템에서 동작하는 이식성이 있는 디버거.
C, C++, 포트란 등 여려 프로그래밍 언어를 지원.

 

GUI(그래픽 사용자 인터페이스)
graphical user interface의 약자로 사용자가 텍스트 기반의 사용자 인터페이스, 입력 명령 라벨 등을 대신하여 그래픽을 통해서 컴퓨터 같은 전자장치와 상호작용할 수 있는 작업환경.

 

hardfault(하드폴트)
예외 처리 메커니즘으로 처리할 수 없을 때 발생하는 메시지로 복구할 수 없는 시스템 오류

 

hard real time system (경성 실시간 시스템)
시간 제약 조건을 엄격힌 준수해야 하는 실시간 시스템.
예) 인공위성, 미사일, 핵 발전소 등

 

hdop
horizontal dilution of precision의 약자로 수평좌표의 위치 정밀도를 방해하는 정도.

 

HITL (Hardware In The Loop)
실시간으로 엠베디드 시스템의 개발 및 테스트를 할 수 있는 시뮬레이터(simulator).

 

hovering (호버링)
드론이 일정 고도를 유지하면서 정지 비행을 하는 것

 

IDL (Interface Description/Definition Language, 인터페이스 정의 언어)
소프트웨어 컴포넌트의 인터페이스 표현을 위한 보편적인 언어로 한 언어에 국한되지 않는 언어중립적인 방법으로 인터페이스를 표현함으로써 다른 언어를 사용하는 소프트웨어 컴포넌트와의 통신을 가능하게 함.

 

kernel(커널)
컴퓨터의 운영체제의 핵심이 되는 컴퓨터 프로그램으로 시스템의 모든 것을 통제.

 

KML (키홀 마크업 언어)
Keyhole Markup Language의 약자로 XML을 기초로한 형식의 파일로 2 차원의 지리적인 정보를 포함.

 

Kconfig
리눅스 커널(Linux Kernel) 용으로 개발된 선택기반 설정 시스템으로 빌드 타임 옵션(build time option)과 활성화/비활성화하는 feature를 선택하는데 일반적으로 사용.

 

library(라이브러리)
소프트웨어 개발에 쓰이는 하부 프로그램들의 모임.

 

Linking (링킹)
object 파일들을 라이브러리와 함께 동작하는 실행 파일로 만드는 과정
linking에는 static linking과 dynamic linking이 있음

 

Little Endian
메모리 주소 값 저장 방식 중 하나로 LSB가 낮은 주소에 데이터 할당

 

LLDB (low-level debugger)
mac OS의 Xcode에서 기본 디버거로 데스크탑, iOS 장치, 시뮬레이터에서 C, Objective -C, C++ 디버깅을 지원

 

LSB (Least Significant Bit, 최하위 비트) 
이진수의 데이터에서 가장 낮은 위치의 비트

 

make
유닉스 계열 운영 체제에서 소프트웨어 개발을 위해서 주로 사용되는 프로그램 빌드 도구로 makefile을 해석하여 프로그램을 빌드함.

 

makefile
컴파일해서 실행파일을 만들 수 있는 과정을 서술하는 표준 문법에 따라 파일들 사이의 의존성과 각 파일에 필요한 작업을 정의해 놓은 파일

 

microcontroller(마이크로컨트롤러)
마이크로프로세서에 입출력 장치를 하나의 칩으로 만들어서 일정한 기능을 수행하도록 하는 컴퓨터

 

Metadata
데이터에 관한 구조화된 데이터로 다른 데이터를 설명해 주는 데이터

 

Microkernel(마이크로커널)
운영체제의 커널에서 필요한 것만 남긴 초소형 커널(kernel).

 

Middleware (미들웨어)
컴퓨터 소프트웨어의 한 형태로 응용 소프트웨어와 운영체제 사이에서 조정과 중개의 역할을 한다.

 

NSH/nsh
NuttShell 참조

 

NuttShell(NSH)
Nuttx용의 간소한 셸(shell) 프로그램.

 

NuttX
임베디드 시스템(embedded system)의 플랫폼으로 ARM, AVR, AVR32, HCS12, LM32, MIPS, RISC-V, SuperH, Xtensa XL6, Z80등의 마이크로프로세서(microcontroller)나 마이크로컨트롤러(microprocessor)에 사용가능한 운영 체제로 커널 유형은 마이크로커널(Microkernel)이다. 
픽스호크 프로젝트 및 Flight controller에 사용되는 운영체제.

 

OSD
On-screen display 약자.
1. 모니터조정기능
모니터의 성능, 예를 들자면 밝기, 크기 등을 조정할 수 있는 기능
2. 비행정보확인장치
비행정보, 예를 들면 비행 시간, 거리, 고도 등의 정보를 표시해주며

 

overhead(오버헤드)
특정 작업을 처리하기 위해 필요한 간접적인 처리 시간, 메모리, 대역폭 또는 다른 자원.

 

packet(패킷)
컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이며 제어정보와 사용자 데이터로 구성되어 있다.

 

packet loss(패킷 손실)
한 개 또는 그 이상의 패킷이 네트워크를 지나서 목적지점에 도달하지 못하는 것.

 

packet switching (패킷 교환)
컴퓨터 네트워크와 통신 방식 중 하나로 작은 블록의 패킷으로 데이터를 전송하고 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방법.

 

platform(플랫폼)
응용 프로그램을 실행할 수 있는 컴퓨터 시스템으로 운영체제, 마이크로프로세서, 보조 프로그램, 마이크로 칩 등을 포함한다.

 

point to point (점대점 방식)
통신에서 두 개의 장치를 유선/무선으로 일대일로 직접 연결하는 방식

 

polling (폴링)
여러 개의 장치/프로그램이 동일 회선을 사용하는 환경에서 주로 사용하는 전송 제어방식으로 장치/프로그램의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송, 수신 등의 자료처리를 시작하도록 명령하는 방식.

 

posix (Portable Operating System Inferface, 포직스)
이식 가능한 운영 시스템 인터페이스의 약자로 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위해서 IEEE가 제정한 유닉스 애플리케이션 프로그래밍 인터페이스 규격이다.

 

ROMFS (ROM filesystem)
EEPROM에 중요한 파일 굽기 같은 수많은 기능이 없는 매우 단순한 파일 시스템
공간 효율성, 소형, 읽기 전용 파일 시스템으로 원래 리눅스용 파일 시스템이고 리눅스 기본 프로젝트에서 사용되었음

 

POSIX (Portable Operation System Interface, 이식 가능 운영체제 인터페이스)
이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE가 제정한 애플리케이션 인터페이스 규격.
끝자리 X는 유닉스 호환 운영체제에 붙이는 X에서 유래.

 

protocol(프로토콜)
컴퓨터 사이에 정보를 주고받는 통신방법에 대한 규칙과 약속.

 

RTPS
Real Time Publish Subscribe의 약자로 유니 캐스트 또는 멀티 케스트에서 UDP 같은 신뢰성이 낮은 전송에서 안정적인 발행/구독 통신 용의 프로토콜.

 

SDK (Software Development Kit, 소프트웨어 개발 키트)
소프트웨어 개발 툴의 집합으로 한 번에 설치 가능한 패키지 형태.

 

shared library
dynamic library 참고

 

shell(셸)
운영체제에 접속하기 위한 사용자의 인터페이스로 운영체계의 가장 바깥부분에서 사용자의 명령어를 처리한다.

 

SHP (형상파일)
Shapefile의 약자로 벡터 형식인 지리적 데이터를 저장하는 단순한 파일 포맷.

 

SITL (Software In The Loop)
하드웨어 없이 가상으로 시뮬레이션을 할 수 있는 시뮬레이터(simulator).

 

static library (정적 라이브러리)
링크 단계에서 라이브러리를 실행 바이너리에 포함시키는 라이브러리로 독립적인 실행은 가능하지만 너무 많이 사용하면 메모리 공간 효율성이 떨어짐
확장자명은 윈도우 *.lib, 리눅스 *.a

 

toolchain(툴 체인)
다른 컴퓨터나 시스템의 소프트웨어를 만드는 데 사용되는 프로그램 개발도구들의 집합.

 

UART(범용 비동기화 송수신기)
Universal asynchronous receiver/transmitter의 약자로 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종이다. UART는 일반적으로 EIA RS-232, RS-422, RS-485와 같은 통신 표준과 함께 사용한다. UART의 U는 범용을 가리키는데 이는 자료 형태나 전송 속도를 직접 구성할 수 있고 실제 전기 신호 수준과 방식(이를테면 차분 신호)이 일반적으로 UART 바깥의 특정한 드라이버 회로를 통해 관리를 받는다는 뜻이다.

 

UAVCAN
Uncomplicated Application-level Vehicular Communication and Networking의 약자로 다양한 통신 전송을 사용하여 안정적인 차량의 내부 통신을 위해 설계된 경량 프로토콜

 

UDP
User Datagram Protocol의 약자로 인터넷에서 사용하는 프로토콜 중 가장 단순한 구조로 데이터를 주고 받을 양단 간에 연결을 설정하지 않고 수신자가 데이터를 받을 준비를 확인하는 단계를 거치지 않고 단방향으로 정보를 전송한다.

 

Verbose Logging (상세 로깅)
컴퓨터 로깅 모드 중 하나로 일반 로깅 모드보다 더 많은 정보를 기록하기 때문에 대용량의 로그파일을 생성하며 이 로그파일을 이용해서 문제 분석 해결 가능하지만 성능이 느려질 수 있는 단점도 있음.

 

VTOL (Vertical take-off and landing, 수직 이착륙기)
수직으로 이륙, 착륙하는 비행체.

 

WGS 84
World Geodetic System의 약자로 1984년에도 지도, 측지 목적으로 미국 국방성에서 개발한 지구 중심 좌표계로 GPS 측량 시 WGS84 타원체를 사용한다.

 


 

관련글 더보기

댓글 영역