misty55의 등록된 링크

 misty55로 등록된 네이버 블로그 포스트 수는 26건입니다.

Python3 Dronekit-Python Install (RPi Bullseye ) [내부링크]

Device : Rasberry pi 4B OS : raspios-bullseye-arm64-lite Python : **** Python 3.9.2 ***** STEP 1: Check OS version STEP 2: sudo apt-get update STEP 3: sudo apt-get upgrade STEP 4: sudo apt-get install python3-pip python-dev-is-python3 STEP 5: sudo pip install pyserial STEP 6: sudo pip install dronekit STEP 7: Connect Pixhawk or APM to Raspberry pi ( by usb cable ) STEP 8: Write test Code ( sudo nano /home/pi/conn.py ) import dronekit connection_string='/dev/ttyACM0' try: vehicle=dronekit.conn

Python3 Dronekit-Python Install ( Rpi Bookworm ) [내부링크]

Device : Rasberry pi 4B OS : raspios-bookworm-arm64-lite Python : **** Python 3.11.2 ***** ( Python 3.10 above version ) STEP 1: Check OS version STEP 2: sudo apt-get update STEP 3: sudo apt-get update STEP 4: sudo apt install git python3-setuptools python3-pip STEP 5: sudo pip install pyserial --break-system-packages STEP 6: git clone https://github.com/dronekit/dronekit-python STEP 7: cd dronekit-python sudo python setup.py install STEP 8: Connect Pixhawk or APM to Raspberry pi ( by usb cab

Dronekit-Python 설치 ( Python3 버전 ) [내부링크]

Python2 버전이 중단됨에 따라 Python3 버전 기반으로 Dronekit- Python 설치과정을 업데이트 합니다. 1.Windows PC에서 Dronekit-Python 설치 가. Python 프로그램 다운로드 ( python-3.9.13 버전을 다운로드합니다. ) https://www.python.org/downloads/release/python-3913/ Python Release Python 3.9.13 The official home of the Python Programming Language www.python.org 나. Python 프로그램 설치 다. Dronekit-Python 설치 (1) 도스창을 띄운 후 pip install 업그레이드를 진행합니다. ( 필요시 ) 도스창에서 다음명령을 실행합니다. python3 -m pip install --upgrade pip (2) Dronekit-python 을 설치합니다. pip install pyserial (

DIY Cheap Obstacle Avoidance Drone [내부링크]

아두이노기반으로 간단한 장애물 회피 드론을 제작해 보았습니다. 초보적인 성능이지만 고가의 라이다 센서와 장애물회피 알고리즘을 추가하여 고도화 한다면, 다른 로봇 분야에 응용이 가능하다고 봅니다. 장애물 탐지센서로 VL53L0X 사용하였습니다. I built a simple obstacle-avoidance drone based on Arduino. It's a rudimentary performance. But If it has an expensive LiDAR sensor and good obstacle avoidance algorithm is added, it can be applied to other robot fields. vL53L0X was used as an obstacle detection sensor A. Picture of Drone and Sensor B. Operation description ( 동작설명 ) 센서는 장애물의 방향과 거리를 측정하고 위험거리 이내

DroneKit Python 소개 [내부링크]

1. DroneKit-Python 소개 DroneKit-Python은 빠른 네트워크 환경에서 개발자들이 companion computer ( 라즈베리파이, 인텔 에디슨, 라떼판다 등)에서 실행되는 애플리케이션 개발을 가능하게 해주고, ArduPilot 계열 Flight Controller와 통신할 수 있게 해줍니다. 이 애플리케이션은 기체의 움직임에 뛰어난 지능을 부여하고, 복잡한 계산이 필요하거나, 시간에 민감한 작업 (예: 컴퓨터 비전, 경로 계획 또는 3D 모델링)을 수행함으로써 오토파일럿 기능을 크게 향샹시킬 수 있습니다. 또한 DroneKit-Python은 저속통신 텔레메트리 모듈 (433Mhz, 915Mhz)을 활용하여 기체와 통신 하는 GCS에서도 사용될 수 있습니다. DroneKit-Python 라이브러리에서 제공하는 API 함수는 MAVLink를 통해 기체와 통신합니다. 그리고 접속된 기체의 상태 및 파라메터 정보를 파악할 수 있으며, 미션관리(웨이포인트 비행)와 기

Dronekit-Python 설치 [내부링크]

DroneKit-Python은 주로 기체에 장착되어 flight controller와 Serial 통신하는 Linux 기반 컴퓨터에서 사용하기 위한 것이며 또한 Linux, Windows 및 Mac OSX에 기반한 지상국 컴퓨터에서 기체와 WiFi 또는 텔레메트리를 사용하여 통신하는데 사용될 수 있습니다. 일반적으로 Linux 기반 OS에서 개발하는것 보다 윈도우 기반에서 개발하는것이 익숙하므로 윈도우 기반에서 설치를 먼저 진행합니다. 1.Windows PC에서 Dronekit-Python 설치 가. Python 프로그램 다운로드 https://www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org 위 사이트에서 자신의 OS 버전에 맞는 설치파일을 다운받아 설치합니다. Dronekit-Python 은 Python 2.7 기반에서 개발되었기 때문에 우리

Dronekit-Python용 Companion Computer [내부링크]

Dronekit-Python 설치방법을 알았으니 다음은 드론에 장착할 PC를 선정하는 단계가 되었습니다. 이것을 Companion Computer라 부릅니다. pixhawk 드론에 장착되어 pixhawk와 serail 통신으로 메세지를 주고 받고 지상국 (GCS : Ground Controll System )과 통신을 하는 PC를 말합니다. 1. Companion Computer 을 장착하는 이유 그럼 왜 PC 를 드론에 장착해야만 할까 ? 그냥 pixhawk가 GCS에서 명령을 수신받아 비행하면 될꺼 같은데 .... 이에 대한 이유는 아래와 같습니다. 4차 산업혁명시대에 맞춰 드론에 부가적인 특수한 장치 혹은 센서를 부착하고 비행한다고 가정해 봅시다. 가. Companion Computer에서 실행되는 S/W는 계산 집약적이거나 시간에 아주민감한 작업을 수행 할 수 있고, pixhawk (Flight Controller)의 펌웨어 기반의 성능보다 월등히 뛰어납니다. 나. pixha

Raspberry-pi에서 Dronekit-python 설치 (1) [내부링크]

이제 Companion Computer를 알아보았으니 한가지를 선택하여 설치를 진행볼 차례입니다. 가성비가 뛰어난 raspberry-pi zero w 버젼에서 진행해 보겠습니다. raspberry-pi 3B 또는 최신 raspberry-pi 4 버젼에서 진행하는것도 동일한 절차 입니다. 준비물은 라즈베리파이와 SD메모리카드, 그리고 윈도우즈 컴퓨터입니다. 설치진행 순서는 다음의 절차로 진행합니다. 1. SD 카드 포맷 S/W 설치 및 포맷 2. 이미지 라이팅 S/W 설치 3. 라즈비안 OS 다운로드 4. SD카드에 OS 이미지 파일 라이팅 5. 라즈비안 OS 설정 6. Dronekit-Python 설치 7. Pixhawk와 연결 (Wiring) 8. Pixhawk 파라메터 설정 1. SD 카드 포맷 S/W 설치 및 포맷 가. 윈도우즈 PC에서 SD카드 포맷 프로그램을 다운로드합니다. https://www.sdcard.org/downloads/formatter_4/eula_window

Raspberry-pi에서 Dronekit-python 설치 (2) [내부링크]

5. 라즈비안 OS 설정 마이크로 SD 카드에 라즈비안 OS 이미지 파일 라이팅이 끝나면 OS 부팅 및 설정작업을 시작합니다. 가. OS 부팅 라즈베리파이 컴퓨터에 키보드, 모니터, 전원을 연결합니다. 라즈베리파이 제로버젼을 사용하시는 분은 별도의 Micro USB 허브를 별도로 구비하셔야 키보드를 연결하실 수 있습니다. 부팅이 완료되면 모니터에 다음과 같은 로그인 화면이 나옵니다. 갑자기 로그인 하라고 나옵니다. 기본 계정은 pi, 기본 패스워드는 raspberry 입니다. 로그인을 하시면 OS 설치 및 부팅이 완료됩니다. 나. OS 설정 이제부터 본격적으로 라즈베리파이에 Dronekit-python 설치를 위한 기본설정을 시작해 봅니다. (1) pi 사용자 계정 비밀번호 변경 (2) WIFI 설정 (3) 인터페이스 설정 (4) SSH 클라이언트 프로그램으로 원격접속 (1) pi 사용자 계정 비밀번호 변경 sudo raspi-config 명령을 입력 후 실행하면 아래의 화면이 나옵

Raspberry-pi에서 Dronekit-python 설치 (3) [내부링크]

6. Dronekit-Python 설치 자 이제 마지막으로 라즈베리파이에 Dronekit-python을 설치할 차례가 되었습니다. 매뉴얼에는 sudo apt-get install python-pip python-dev 패키지 설치 후 Dronekit-python을 설치한다라고 되어있으나 설치도중 에러가 발생하므로 아래와 같은 패키지를 추가로 설치합니다. sudo apt-get install python-pip python-dev python-lxml libxml2-dev libxslt1-dev sudo pip install dronekit 명령으로 Dronekit-python을 설치합니다. pixhawk와 라즈베리파이 상호간 serial 통신을 위해 sudo pip install pyserial 명령으로 파이썬 패키지를 추가로 설치합니다. pip freeze | grep dronekit 명령을 실행하여 현재 설치된 Dronekit-python 이 잘설치되었는지 확인합니다. 필자의 경

Dronekit-Python 코딩 1.기본동작 및 속성 [내부링크]

지난 시간까지 여러분은 Companion Cumputer, Dronekit-python, SITL 등의 개발을 위한 기본적인 사항을 습득하셨습니다. 자 이제부터 본격적으로 Dronekit-python 라이브러리를 이용하여 코딩을 들어가 볼차례입니다. 지금 드론에 배터리를 연결하고, 라즈베리파이 Companion Cumputer에 ssh 접속하시려 하셨다면 아쉽더라도, 한쪽으로 다 치우시고 개발용 노트북 혹은 데탑 PC를 부팅하시고 준비해 주십시요. 지난 시간에 왜 개발용 PC에서 해야하는지 설명드렸습니다. 그러니 충분히 연습이 끝난 후 실제 드론 기체에 적용하는 것은 제 강좌가 다 끝난 이후에 해보시기 바랍니다. 이번강의 시간에 알려드릴 내용은 아래와 같습니다. 1. 소스실행 및 결과확인 2. 상태 정보확인 및 속성값 설정 3. Flight Mode 종류 및 설정 4. Arm and Disarm 1. 소스 실행 및 결과확인 가. SITL(가상드론)을 먼저 실행합니다. pc에 도스창을

Dronekit-Python 코딩 2. 기체의 속성정보 및 파라메터 [내부링크]

전시간에는 기본동작 및 속성과 시동거는 법을 학습하였습니다. 이제부터 본격적으로 심화과정에 들어갈 차례입니다. 기본설명 이후 하단의 예제를 실행하여 결과를 확인하실 수 있습니다. 이 또한 SITL 기반에서 하는 것을 추천드립니다. 실제 여러분이 가진 pixhawk 드론에 연결하여 실행한다면, pixhawk에 설치하신 펌웨어 버젼에 따라 본 강의에서 실행한 예제 결과와 다르게 나올 수 있습니다. 여러분이 pixhawk 보드에 설치한 Copter 펌웨어 버젼이 업그레이드 됨에따라 일부 파라메터가 사라지고 , 새로 나타난 파라메터가 있습니다. 하지만 본 강의 내용을 이해하는데는 문제가 없으니 신경쓰지 않으셔도 됩니다. 이번에 강의할 내용은 아래와 같습니다. 1. 속성정보 확인 2. 속성정보 설정 3. 속성값 모니터링 4. Home location 5. 파라메터 확인 및 설정 1. 속성정보 확인 지난 시간에 설명드린대로 dronekit.connect() 함수를 실행하시면 vehicle객체를

Dronekit-Python 코딩 4. 위치 및 속도 기반 이동(1) [내부링크]

회사 프로젝트 수행으로 오랫동안 올리지 못한 강좌를 다시 시작합니다. 지난번 강의에서는 기체에 시동걸고 특정 고도로 제자리 이륙, 특정좌표로 이동, RTL 등의 기능을 설명드렸습니다. 이번 강좌에서는 좀더 고급기능으로 넘어갑니다. 다소 이해가 안되는 부분이 있으니 자세히 찬찬히 정독하셔야 합니다. 이번 자율주행의 고급과정은 아래와 같습니다. 1. 기체이동 설명 2. 위치기반(경위도 기준)이동 3. 위치기반(홈포지션 거리 기준)이동 4. 속도기반이동 5. 기체 헤딩제어 및 관심영역(ROI) 6. 기타사항 1. 기체이동 이론설명 일단 하늘을 비행하는 기체는 3차원 공간에서 움직입니다. 일반적인 2D에서 X,Y 좌표 뿐만아니라 고도라는 Z좌표도 관여하게 됩니다. 고도 좌표를 등한시하면, 땅에 부딪치는 불상사가 발생합니다. 그럼 빈 공간인 하늘을 비행하는 기체를 원하는 곳으로 이동시키기 위해서는 반드시 기준이 되는 좌표계가 필요합니다. 일단 위치기반 이동에선 WGS84(World Geode

Dronekit-Python 코딩 4. 위치 및 속도 기반 이동(2) [내부링크]

지난번 강좌에서 이론 강의를 충실히 학습하셨다면 , 이제 예제로 확인하실 차례입니다. 이번 예제는 다소 어렵고 내용도 깁니다. 정신을 집중하고 이해가 안가실 경우 여러번 정독바랍니다. 본 예제에서는 기체의 비행모드가 GUIDED 모드상태에서 기체 이동제어 및 명령을 보내는 방법을 보여줍니다. 또한 위치기반 이동방법의 세 가지 방법과, 속도 벡터를 설정하여 이동을 제어하는 두 가지 명령을 보여줍니다. 그리고 YAW(기체헤딩방향), 관심영역, 속도 및 홈 위치를 제어하는 방법을 확인 하실 수 있습니다. 이번 강의를 숙지하신다면 PC에서 pixhawk 드론 위치제어의 거의 모든 사항을 습득 하신것이나 다름없습니다. 아래 링크에서 예제를 다운받아 실행해 보시기 바랍니다. 첨부파일 guided_set_speed_yaw.zip 파일 다운로드 1. 예제실행 가. SITL 실행 : 도스창에서 옵션없이 dronekit-sitl copter 명령으로 실행.(홈위치는 호주 어느곳. . .) 나. Mis

Dronekit-Python 코딩 5 Missions 기능 [내부링크]

이번 강좌에서는 AUTO 비행모드에서 실행되는 Mission 기능을 Dronekit-python에서 제어하는 방법에 대하여 알아볼 것입니다. 그러자면 Mission Planner 프로그램을 이용하여 mission 을 설정하는 방법과 필드에서 실행하는 방법이 먼저 학습되어야 합니다. 사전 지식은 아래의 사이트에서 확인 후 ,본 강좌를 학습하시기 바랍니다. https://ardupilot.org/copter/docs/auto-mode.html Auto Mode — Copter documentation Docs » First Flight with Copter » Flight Modes » Auto Mode Edit on GitHub Auto Mode In Auto mode the copter will follow a pre-programmed mission script stored in the autopilot which is made up of navigation commands (i.

Dronekit-Python 코딩 6 Channel Overrides [내부링크]

이번강좌에서 기체 channel 정보를 확인하는 방법과 channel 재정의 하는방법을 학습합니다. pixhawk 기반 기체를 조립하셨다면, 기본설정에서 아래의 그림과 같이 [Radio Calibration] 메뉴에서 조종기의 신호 범위값을 설정하셨을 겁니다. 설정된 RC 채널별 Min, Max 값은 pixhawk의 파라메터 [RCx_MIN], [RCx_MAX] 항목에 저장 됩니다. 이 값을 Dronekit-Python 코드에서 확인 및 설정 가능합니다. 게다가 조종기 대신 코드에서 가상의 RC 신호값을 pixhawk에 보낼 수 도있습니다. 1. RC 채널별 최소, 최대값 확인 2. RC channel overiding 3. 예제소스 4. 필요성 및 주의점 1. RC 채널별 pwm 최소, 최대값 확인 사용자마다 다른 제조사의 조종기를 사용합니다. 모든 조종기의 최대 최소 신호 범위값이 동일하다면 좋겠지만, 조종기마다 채널별 최소, 최대 범위 값이 다르고, 특정 채널은 Reverse

Dronekit-Python 강좌를 마치며. . . [내부링크]

지금까지 Dronekit-python 강좌를 진행했습니다. 다소 수박 겉 핥기식의 따라하기 강좌였지만 초보자 및 처음 입문하시는 분에게는 도움이 될겁니다. 기본적인 내용 및 줄거리는 Dronekit-python 사이트의Documents를 근간으로 하고 제 경험을 가미하였습니다. 제 강좌에서 소개되지 않은 Dronekit-python 예제가 있습니다. [Create Attribute in App], [ Follow Me ],[Drone Delivery], [Flight Replay] 4가지가 있습니다. 새로운 사항을 학습하는 아닌 응용단계 정도의 내용이라 소개하지 않았습니다. 기존에 학습하신 내용으로 충분히 이해가 되실겁니다. 다만 [Drone Delivery]편의 경우는 CherryPy 웹 애플리케이션으로 개념정도만 소개한 것으로 실전에 사용하기에는 무리가 있습니다. 실제 드론배송은 간단해 보이지만 고려해야할 사항이 산더미입니다. 지금까지는 Raspberry pi를 Companion

Dronekit-SITL Flight Mode 변경이 안될 경우 [내부링크]

Dronekit-SITL을 사용하여 개발 시 Flight Mode 변경이 안될 경우입니다. 제 강좌를 쓸 당시 실행이 되는 것을 확인 하였는데 지금 현재 실행해보니 안되는 군요 실제 Pixhawk 에서는 Flight Mode가 변경이 잘되나 Dronekit-SITL 애서만 실행이 안되는 문제입니다. 이 문제는 pymavlink 버전 문제로 보입니다. 아래와 같이 예전 버전으로 재설치 하시면 실행됩니다. 1. 기존 설치 삭제 pip uninstall dronekit-sitl pip uninstall pymavlink 2. 예전 버젼으로 재설치 pip install dronekit-sitl==3.3.0 pip install pymavlink==2.4.8 3. 실행 및 테스트 dronekit-sitl copter

DIY RC Transmitter and PWM, PPM, SBUS Receiver (2) [내부링크]

Part 2 : PWM RC Receiver Arduino based pwm rc receiver. One wire per channel , too many wires but simple. Below is 8ch arduino pwm receiver. 기본이 되는 아두이노 기반 pwm 수신기 입니다. 인터넷과 유튜브에 많은 예제가 있습니다. 1 채널당 1개의 선을 사용합니다. 아래의 수신기는 8채널을 지원합니다. A. What is PWM Signal ? This article is "Just blindly follow DIY cource". If you have time, check below site. 시간이 되시면 아래의 사이트에서 PWM 의 개념을 확인하시면 좋습니다. 본 강의는 이론보다는 따라하기 실습이므로 개념 설명은 생략합니다. https://en.wikipedia.org/wiki/Pulse-width_modulation Pulse-width modulation - Wi

SITL (Software In The Loop) 설치 및 실행 [내부링크]

Python 코드를 실행하여 실제 pixhawk와의 연결을 해봤습니다. 자 그럼 본격적인 dronekit-python 라이브러리 설명이 뒤따르겠지 라고 기대하셨겠지만 그 전에 반드시 해야할 과정이 있습니다. SITL (Software In The Loop) 드론 시뮬레이터 설치입니다. SITL (Software In The Loop) 시뮬레이터를 사용하면 실제 드론없이 (자신의 개발자 PC에서 편하게) DroneKit-Python을 이용하여 프로그램을 만들고 테스트 할 수 있습니다. SITL은 기본적으로 Linux (x86 아키텍처 만), Mac 및 Windows 또는 가상 머신에서 실행될 수 있습니다. 아쉽게도 우리가 사용하는 Raspberry pi 는 ARM 계열 CPU 이므로 설치하실 수 없습니다. 1. SITL (Software In The Loop) 필요성 그럼 왜 실제 pixhawk 대신 윈도우즈 PC에 SITL을 설치하고 드론 시뮬레이터를 대상으로 개발해야 할까요 ? 그

DIY RC Transmitter and PWM, PPM, SBUS Receiver (4) [내부링크]

Part 4 : SBUS RC Receiver Arduino based SBUS RC receiver. It is widely used in RC transmitter/receivers these days. 요즘 RC 조종기/수신기에서 많이 사용중인 통신방식입니다. SBUS 통신에 대한 자세한 이론은 역시 생략합니다. S.BUS 또는 Serial BUS는 Futaba, FrSky에서 공통적으로 사용하고 있습니다. 하나의 신호선만을 사용하여 최대 16개의 채널을 지원합니다. SBUS 신호는 Arduino UART의 TX 핀에 연결되어 출력합니다. A. What is SBUS ? SBUS is a bus protocol for receivers to send commands to servos. Unlike PWM, SBUS uses a bus architecture where a single serial line can be connected with up to 16 servos wit

DIY RC Transmitter and PWM, PPM, SBUS Receiver (3) [내부링크]

Part 3 : PPM RC Receiver Arduino based PPM rc receiver. One wire send multiple signal. Below is 8ch arduino pwm receiver. 아두이노 기반 PPM RC Receiver 입니다. 아래의 수신기는 8채널을 지원합니다. pwm 보다 전선이 감소되어 만들기 간편합니다. 다만 PPM을 지원하지 않는 Flight controller를 사용하시는 분은 스킵 바랍니다. A. What is PPM ( Pulse Position Modulation ) ? Check below site. It's better than wikipedia. http://www.endurance-rc.com/ppmtut.php Endurance R/C Guide to PWM and PPM PWM and PPM are two common words used in the R/C industry. PWM stands for Pulse W

DIY RC Transmitter and PWM, PPM, SBUS Receiver (1) [내부링크]

Arduino based RC Transmitter and PWM, PPM, SBUS receiver. 아두이노 기반 RC 조종기 및 PWM, PPM , SBUS 버전 수신기 입니다. Part 1 : Arduino Based RC Transmitter ( 조종기 ) A. Parts and materials ( 부품 및 준비물 ) Prototype PCB Board Protobard Arduino Nano Arduino Joystick 3 Position toggle switch 2 Position toggle switch nrf24l01 transceiver module Etc…. ( cable , power switch, DIY case, 9v battery ) B. Wiring Diagram ( 부품과 아두이노 배선연결 ) C. Arduino delvelopment and Source code ( 아두이노 개발 ) 1. Download nRF24L01 Library downloa

Dronekit-python에서 pixhawk 연결 [내부링크]

라즈베리파이 제로 버전에 Dronekit-python 설치 방법을 설명드렸고, 라즈베리파이와 pixhawk간의 물리적 ...

Dronekit Python 강좌를 시작하며.... [내부링크]

Pixhawk 또는 APM 기반으로 드론을 자작하고 비행을 좀 해보신 분들이라면 , 한번쯤 생각하게 됩니다. ...

Dronekit-Python 코딩 3. Takeoff & Simple Go to [내부링크]

지금까지 Dronekit-python을 이용하여 기본동작 , 속성정보 및 파라메터 확인 및 모니터링에 대하여 학습...