콘텐츠로 건너뛰기
쿼드(QUAD) 드론연구소

쿼드(QUAD) 드론연구소

  • 👨‍✈️ 초보 파일럿
  • 🎖️ 개발자
  • 🥇 전문가
  • 💎 다이아몬드
  • 🛠️ Tech-Tip
  • 📝 블로그
  • ⚠️ 저작권
login
쿼드(QUAD) 드론연구소
쿼드(QUAD) 드론연구소

🕰️PX4와 ArduPilot의 개발 배경

4
  • ArduPilot 주요 개발자
  • ArduPilot
  • PX4 주요 개발자
  • PX4

📚드론 개발 라이브러리

10
  • 1.드론 개발자 로드맵(Load-Map)
  • 2.드론 개발 소프트웨어 개요
  • 3.MAVLINK
  • 4.PyMAVLink
  • 5.MavProxy
  • 6.MAVSDK
  • 7.MAVROS
  • 8.PX4 uORB with ROS 2
  • 9.자율주행드론 개발 프로세스
  • 10.학습 로드맵(Road-map)

🧩자율주행드론 시스템 아키텍처

4
  • Smart UAV is Robot!
  • PX4 System 아키텍쳐
  • PX4 Software 아키텍쳐
  • 쿼드(QUAD) 자율주행드론 UAV 시스템 아키텍처

🐧Linux (Ubuntu) 기초

14
  • Ubuntu 22.04 설치 (PC에 직접 설치)
  • Windows 10/11 WSL2 설치
  • Linux 개요
  • 리눅스 쉘 기본 명령어
  • 자주쓰는 명령어 정리 (Ubuntu 사용)
  • 자주 사용하는 터미널 명령어
  • Linux Package 에 대한 이해
  • su와 sudo 명령어 활용법
  • 리눅스 파일 시스템 이해하기
  • 리눅스 권한에 대한 이해
  • 빌드 시스템에 대한 이해
  • Make(Makefile) 사용 가이드
  • CMake 의 이해
  • CMake 사용 가이드

픽스호크(Pixhawk) 기초

29
  • 쿼드(QUAD) 자율주행 드론(UAV) 개발 키트
  • 픽스호크 드론의 기초 개요
  • 드론에 사용되는 물리학
  • 멀티콥터의 동작 원리
  • ArduPilot vs. PX4 선택
  • PX4 시스템 아키텍처
  • 지상국(Ground Control System) 선택
  • Pixhawk 6C 비행 컨트롤러
  • Pixhawk 6X 비행 컨트롤러
  • 드론에서 사용되는 센서간 통신제어 방식
  • Pixhawk 배선
  • Pixhawk 전원 공급
  • GPS/나침반
  • 거리 측정기 (LiDAR)
  • 고도(Altitude) 이해
  • 컴패니언 컴퓨터
  • 오프보드(Offboard) 제어
  • 컴패니언 컴퓨터 GPIO를 이용한 FC 제어
  • ESC(전자속도제어기)
    • ESC (전자속도제어기)
    • BLHeli32 및 BLHeli_S ESC
    • DShot ESC
    • DroneCAN ESC
    • PWM, OneShot 및 OneShot125 ESC
  • 무선제어시스템(Radio)
    • 무선 제어 시스템 (Radio)
    • 조종기/수신기
    • 수신기 RSSI 강도 표시
  • Telemetry 라디오
    • Telemetry 라디오
    • SiK Radio 설정
    • 다중 Point-to-Point 설정

Q250 사용 가이드

17
  • Q250 빠른 시작 가이드
  • QGroundControl 설치
  • Q250 펌웨어 재설치 (선택)
  • Q250 파라메터 설정
  • FS-i6x 조종기와 수신기 설정
  • 비행 모드
  • 전원 설정
  • Actuators (모터) 설정
  • Flight Behavior 설정
  • 텔레메트리 연결
  • GPS 연결
  • 컴패니언컴퓨터 전원 공급장치(UBEC) 사용 가이드
  • LED 컨트롤러 사용 가이드
  • 컴패니언 컴퓨터와 FC의 UART 케이블 연결
  • Optical-Flow & LiDAR 설정
  • 지자계 간섭 문제 해결
  • fake_gps (가상 GPS)

Q500 사용 가이드

10
  • Q500 사용 가이드 개요
  • QGroundControl 설치
  • Q500 펌웨어 설정
  • Q500 파라메터 설정
  • Radiomaster 조종기 설정
  • 수신기의 전파 수신 강도(RSSI) 설정
  • Pixhawk 6X Ethernet 설정
  • 컴패니언 컴퓨터와 FC 연결 설정
  • 시뮬레이터 사용 가이드
  • fake_gps (가상 GPS)

Q650 사용 가이드

9
  • Q650 사용 가이드 개요
  • QGroundControl 설치
  • Q650 펌웨어 설정
  • Q650 파라메터 설정
  • 조종기 설정
  • 수신기의 전파 수신 강도(RSSI) 설정
  • Pixhawk 6X Ethernet 설정
  • 컴패니언 컴퓨터와 FC 연결 설정
  • H-Flow 설정 가이드

첫 비행 및 튜닝

12
  • 첫 비행 및 튜닝 개요
  • 첫 비행 지침
  • 수동비행 지침
  • 임무 비행
  • 지오펜스
  • 안전지점(Rally Points)
  • 비행 모드
  • 지형 추적/유지
  • PID 튜닝
  • 비행 기록 분석
    • 비행 기록 분석
    • Flight Review를 이용한 로그 분석
    • 비행기록 분석 실습

PX4-Toolchain 개발환경 구성

4
  • Windows 10/11 WSL2 설치
  • ROS(1) + PX4 Toolchain 구성
  • Gazebo Classic 시뮬레이터 사용하기
  • ROS2 + PX4 Toolchain 구성

MAVLink-Python 프로그래밍

17
  • MAVLINK 개요
  • Python MAVLink 라이브러리 사용
  • 드론에 연결하기(Connect)
  • MAVLINK 메시지 주고받기
  • 비행 모드 (PX4 멀티콥터)
  • MAV_CMD
  • PX4 ‘OFFBOARD” 와 Ardupilot ‘GUIDED’ 모드 차이
  • PX4 Offboard 모드에서만 유효한 주요 MAV_CMD
  • 드론에 시동걸기(MAV_CMD_COMPONENT_ARM_DISARM)
  • 이륙하기(MAV_CMD_NAV_TAKEOFF)
  • 이동하기(SET_POSITION_TARGET_GLOBAL_INT)
  • 이동하기(SET_POSITION_TARGET_LOCAL_NED)
  • 기수 방향과 속도 변경
  • [별첨]참고 자료
  • MAVLINK 신뢰성 보장
    • MAVLINK 신뢰성 보장
    • MAVLINK 2 메시지 서명
    • [참고]HMAC-SHA256이란?

🛠️Tech-Tip

2
  • MAVLink Router
  • 쿼드(QUAD) 자율주행 드론용 컴패니언컴퓨터 소프트웨어 – Jetson Orin-Nano 용 (Ver.3.1-Ubuntu 22.04)
카테고리 보기
  • Home
  • Docs
  • 🛠️Tech-Tip
  • 쿼드(QUAD) 자율주행 드론용 컴패니언컴퓨터 소프트웨어 – Jetson Orin-Nano 용 (Ver.3.1-Ubuntu 22.04)

쿼드(QUAD) 자율주행 드론용 컴패니언컴퓨터 소프트웨어 – Jetson Orin-Nano 용 (Ver.3.1-Ubuntu 22.04)

3 min read

quad-compsd-orin-nano-3.0.0 포함 소프트웨어

  • NVIDIA Jetpack 6.2 – New!!!
  • Ubuntu 22.04.5 LTS, Kernel 5.15.148-tegra
  • ROS2 Humble
  • CUDA (12.6.68)
  • cuDNN (9.3.0.75)
  • TensorRT (10.3.0.30)
  • VPI (3.2.4)
  • OpenCV (4.11.0) –CUDA 빌드!!!
  • Jtop
  • terminator Terminal
  • MAVSDK C++ (3.8) – New!!!
  • MAVSDK-Python (3.8) – Upgrade!!!
  • MAVROS ROS2 Humble 버전
  • PX4 uORB ROS2 Library (px4_ros_com, px4_msg)
  • PX4 ROS2 DDS Agent (Micro XRCE-DDS Agent – v3.0.1)
  • 쿼드(QUAD) 드론연구소 PX4 OFFBOARD 코드 샘플

SD카드 제작시 56GB로 할당되어 있으나 GParted 소프트웨어를 이용하여 SD카드 용량에 최대치까지 확장하여 사용할 수 있습니다.

GParted 설치($ sudo apt-get install gparted)

계정 로그인

  • ID: quad
  • Password: quad1234

CUDA

CUDA 12.6.85 사용을 위한 환경 변수는 .bashrc 파일에 설정되어 있습니다.

export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}

ROS 2

ROS2 Humble 버전이 설치되어 있습니다.

변경은 ~/.bashrc 파일에 ROS 환경변수의 주석(#) 처리를 변경하여 설정할 수 있습니다.

###ROS2 Env.
source /opt/ros/humble/setup.bash
source /usr/share/colcon_cd/function/colcon_cd.sh
export _colcon_cd_root=/opt/ros/humble/
source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash
source ~/ros2_ws/install/setup.bash

alias cb='colcon build --symlink-install'
alias cbp="colcon build --symlink-install --packages-select"
alias cbe="colcon build --symlink-install --event-handlers console_direct+"
alias cbv="colcon build --symlink-install --verbose"
#ROS_DOMAIN_ID=111 #Set your unique ID

MAVROS

MAVROS는 ROS 2 Humble 버전이 설치되어 있으며 사용하는 ROS 환경에 따라 자동으로 설정 됩니다.

ROS 2 Humble MAVROS

quad@orin-nano:~$ apt list --installed | grep mavros
ros-humble-mavros-extras/jammy,now 2.9.0-1jammy.20241128.095159 arm64 [installed]
ros-humble-mavros-msgs/jammy,now 2.9.0-1jammy.20241128.024938 arm64 [installed]
ros-humble-mavros/jammy,now 2.9.0-1jammy.20241128.092210 arm64 [installed]

ROS2 MAVROS 실행

jetson@orin-nano:~/$ ros2 launch mavros px4.launch

ROS2 PX4 uORB

~/ros2_ws/src ROS2 작업공간에 설치되어 있습니다.

quad@orin-nano:~/ros2_ws/src$ ls -l
total 16
drwxrwxr-x  9 jetson jetson 4096 aug 10 08:30 mavros
drwxrwxr-x  6 jetson jetson 4096 aug 10 11:08 offb_mavros_py
drwxrwxr-x  6 jetson jetson 4096 aug 10 15:26 px4_msgs
drwxrwxr-x 11 jetson jetson 4096 aug 10 15:27 px4_ros_com

자세한 내용은 쿼드(QUAD) 온라인 교육 교재를 참고 하시기 바랍니다.

MAVSDK-Python

quad@orin-nano:~$ pip show mavsdk
Name: mavsdk
Version: 3.8.0
Summary: Python wrapper for MAVSDK
Home-page: https://github.com/mavlink/MAVSDK-Python
Author:
Author-email:
License:
Location: /home/quad/MAVSDK-Python
Editable project location: /home/quad/MAVSDK-Python
Requires: aiogrpc, grpcio, protobuf
Required-by:

jetson-stats

Jetson Nano 실행 모니터링 및 오버 클컥, 냉각 제어 등 다양한 기능을 사용하여 Jetson Nano를 보다 편리하게 사용할 수 있습니다.

OpenCV 4.11.0 (CUDA build version)

CUDA로 빌드된 OpenCV 4.12.0-dev 버전을 탑재하여 GPU를 사용하여 보다 고속의 영상처리를 수행할 수 있습니다.

​OpenCV 버전 확인

quad@orin-nano:~/ros2_ws$ python3

Python 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

>>> cv2.__version__

'4.11.0-dev'

>>>

[참고.1] I/O 디바이스에 대한 읽기/쓰기 권한 부여 방법

Jetson Orin의 USB나 GPIO를 통해 FC와 연결등 I/O 디바이스를 사용하고자 할때는 디바이스에 대한 읽기/쓰기 권한을 부여해야 어플리케이션에서 정상적으로 장치에 데이터를 R/W 할수 있습니다.

예: USB TTL 보드 to FC 연결시 /dev/ttyUSB0 파일 권한 체크 및 권한 부여. (dialout Group에 quad 유저 추가)

sudo usermod -aG dialout "$(id -un)"


[참고.2] Jetson Orin Nano 개발자 키트 펌웨어 업그레이드 가이드

Jetson Orin Nano 개발자 키트의 펌웨어 버전이 36.x 이하라면 펌웨어를 업그레이드 해야 합니다.

업그레이드 방법은 아래 링크를 참고 하시기 바랍니다.

JetPack 6 Developer Guide – Upgrade Orin Nano Without a Linux Host

사용 문의

사용 문의 및 개선사항은 소프트웨어 정품 구입자를 위한 “쿼드(QUAD) 드론연구소 공식 카페”를 통해 문의 해 주시면 감사하겠습니다.

https://cafe.naver.com/maponarooo


라이센스(License)

  • 개인용
  • 회사나 학교 등 멀티유저용
  • 문의처 : (031)-680-1311
  • 한국저작권위원회 컴퓨터프로그램 저작물 저작권 등록번호 : C2024-029034

소프트웨어 라이센스문의 및 구매

소프트웨어 이미지 라이센스 구매 관련 문의는 아래 링크를 통해 가능합니다.

쿼드(QUAD) Tel. (031)-680-1311

업데이트된 날짜 2025년 11월 21일

당신의 감정은 어떤가요?

  • Happy
  • 보통
  • 슬픈

이 문서 공유 :

  • Facebook
  • X
  • LinkedIn
  • Pinterest

제공 BetterDocs

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

© 2025 쿼드(QUAD) 드론연구소 - Kadence WP의 워드프레스 테마

  • 👨‍✈️ 초보 파일럿
  • 🎖️ 개발자
  • 🥇 전문가
  • 💎 다이아몬드
  • 🛠️ Tech-Tip
  • 📝 블로그
  • ⚠️ 저작권
Korean
English