강의

멘토링

로드맵

Inflearn brand logo image
Hardware

/

Embedded IoT

STM32 ドローン開発のすべてをゼロから始める

※ 本講義は22年9月から全面無料化されました。 STM32CubeIDEという無料のコンパイラを使用して、STM32F4の高性能自作ドローンのFCC飛行制御システムを最初から最後まで自分で開発する唯一の講義です。 ArduPilotやPixhawkなどのドローンオープンソースを使用せず、センサーインターフェイスからPID制御まですべて自分で実装するため、ドローン制御システムや組み込みシステムのすべての開発プロセスを経験して学習することができます。 専門外の初心者でも簡単に従えるように、授業ではすべてのソースコードとハードウェアの組み立て方法についてゆっくり説明します。 ゆっくり従うだけで、自分で開発したドローンで市販品よりも安定した飛行を体験することができます。

  • lbiith3934
IoT
Dron
Thumbnail

学習した受講者のレビュー

こんなことが学べます

  • STM32F4 ベースの高性能ドローン飛行制御システムの開発

  • STM32CubeIDE の使い方

  • CubeMx の使い方

  • STM32F4 HAL および LL ドライバーの使用法 (主に LL を使用)

  • 組み込みシステム開発プロセス

  • 自作ドローンFC開発

  • 9軸(BNO080)および6軸(ICM-20602)センサー、気圧センサー(LPS22HH)インターフェース

  • UBLOX NEO M8N インターフェイスおよびデータ解析(u-center 使用)

  • FlySky FS-iA6B 受信機インターフェース(iBus)およびデータパース、FS-i6 送信機設定

  • クワッドロータードローン機体の設定方法

  • TIM を使用した PWM の生成方法

  • ESC 較正と ESC プロトコルの種類 (Standard PWM、Oneshot、Multishot、Dshot など)

  • 3DR テレメトリの設定 (3DR radio config の使用)

  • ドローン状態情報の送受信(センサーデータ、FS-i6送信機データ、バッテリー電圧、PID制御ゲインなど)

  • 追加機能 - PIDゲインのEEPROM保存、バッテリー電圧チェック(ADC)および低電圧アラーム

  • 安全のための機能 - 起動時のセンサー状態検査、Fail-safe など

  • ドローンの姿勢制御手法 - PID制御

  • シングル PID 制御理論と実験

  • ダブルPID制御理論と実験

※本講義は22年9月から全面無料化されました。ぜひ講義評価やMハイブYouTubeチャンネルの購読とよろしくお願いします!

※講義用ドローンキットはこちらで購入できます。 (クリック)

※ソースコードは羽毛ハブからダウンロードできます。 (クリック)

こんにちはM-HIVE ChrisPです。

本講座はSTM32F4 Micro Controllerを利用した自作ドローンの開発講座で、ドローンの飛行制御システム(Flight Control System)開発のためのセンサーインターフェースからPID制御までの全過程を取り上げます。

他のドローン開発講座とは異なり、STM32F4を利用してセンサーインターフェースから始めてPID制御まで、すべてのソースコードを直接一つずつ作成する講義です。オープンソースを使用せずにすべての機能を直接1つずつ実装するため、ドローンを開発する過程と組み込みファームウェア開発過程を簡単に理解できます。

さらに、本講義で開発したドローンは、pixhawk、ardupilotなどの商用品に比べて性能が全く劣らないため、単純教育用ドローンを超えて研究用、産業用にも応用可能です。また、本講座で使用するMH-FC V2.2はドローンだけでなく、動く全ての無人移動体に適用可能なので、無人車のようなシステムにも応用できるでしょう!

講義で使用するドローン部品完成したドローンの様子

PID制御理論とコード実装センサーデータの受信とデータの可視化

                     

一軸PID制御テスト最終フライト

講義は合計3つのパート、12のチャプターで構成されています。

パート1では、FC(Flight Controller)の基礎

  • CH1.組み込みシステム開発のためのデバッグ環境の構築
  • CH2.センサーインターフェース(BNO080 9軸センサー、ICM-20602 6軸センサー、LPS22HH気圧センサー)
  • CH3。 GPSデータの受信と解析(M8N)
  • CH4。受信機データ受信(FS-i6送信機、FS-iA6B受信機)
  • CH5。機体設定(QAV210)
  • CH6。モーター駆動(Oneshot125 PWM)

パート2では、通信と追加機能

  • CH7。追加機能(EEPROM、バッテリ電圧チェック、ジャイロオフセット除去、BNO080キャリブレーション)
  • CH8。無線データの送受信(機体状態情報の送信と制御パラメータの受信、講義用GCSの使用法)
  • CH9。安全機能(Fail-safeなど安全のための機能)

パート3では飛行制御(PID Control)

  • CH10。 PID制御の準備
  • CH11。ロール、ピッチコントロール(ダブルPID)
  • CH12。ヘディング制御(シングルPID)

の順に進みます。

本講義ではSTM32F405RGT Cortex M4マイクロコントローラをメインプロセッサとして使用し、姿勢制御用のBNO080 9軸センサICM-20602 6軸センサと高度制御用のLPS22HH気圧センサを使用します。また、屋外自動飛行のためのUBLOX M8N GPSデータ受信まで扱います。 (ただし、高度制御とGPS制御は本講義では扱わない)

このコースの目的は、高性能ドローンを開発することですが、その開発プロセスについてより深く取り上げます。

ドローン飛行のための最も基本的なステップであるセンサーデータインターフェースから姿勢制御のためのPID Controlまでカバーします。

組み込みアプリケーションを開発するためのプロセスを集中的に説明し、それらを合わせてドローン飛行制御システムが完成します。

お得な動画講義になるよう常に努力します。

- M-HIVE ChrisP

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 고성능 드론의 기초부터 비행제어까지 하나씩 직접 개발하고 싶으신 분

  • STM32 を使用して、高度なアプリケーションを開発したい方

  • 電気、通信、制御、機械、航空などの専攻学生

  • ドローン関連従事者

  • 組み込みシステム開発プロセスを体験してみたい方

  • Arduino나 8bit MCU에서 32bit MCU로 넘어가려고 하시는 분

  • PID 制御の基本概念を学習し、実際に動作を実装したい方

  • 高水準の組み込みプロジェクトを実践してみたい方

  • ドローン関連研究機関および教育機関

  • 無人移動体に関するプロジェクトを進めている方

前提知識、
必要でしょうか?

  • この講座で使用される MH-FC V2.2 Flight Controller は必須です!! (なければ進行できません!! M-HIVE スマートストアで購入できます)

  • ドローン構成部品 (BLDC モーター、ESC、プロペラ、フレーム、バッテリーなど。M-HIVE ネイバー カフェでリストを確認してください)

  • Windows 系 PC および STM32CubeIDE

  • C言語中級以上が必要

  • 基本的な回路知識が必要です

  • STM32F4 またはマイクロコントローラー (MCU) 開発経験必須

こんにちは
です。

5,331

受講生

134

受講レビュー

283

回答

5.0

講座評価

2

講座

カリキュラム

全体

53件 ∙ (31時間 21分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

81件

5.0

81件の受講レビュー

  • Taewan Sung님의 프로필 이미지
    Taewan Sung

    受講レビュー 3

    平均評価 5.0

    5

    100% 受講後に作成

    평소 임베디드 제품 개발에 관심을 가지고 있었습니다. 몇 권의 C언어책과 유튜브 예제 따라하기로는 한계가 있던차에 인프런 드론 개발 강좌를 듣게 되었습니다. LED 켜기 부터 PID 제어까지 하나 하나씩 따라하면서 임베디드 제품 개발 노하우를 배울 수 있었습니다. 각종 센서 데이터를 수신, 처리하고 무선 송수신 장치와 통신하면서 제한된 시간안에 드론 자세를 조정하는 코딩 방법을 알게되었습니다. 꼼꼼한 설명을 따라서 코딩했더니 드론 비행도 무난히 성공했습니다. 통신 프로토콜 구조체 정의, 형변환, 타이머 사용법, while 루프 에서 함수 호출 요령 등 임베디드 개발에 필요한 코딩 노하우를 익히실 수 있습니다. C는 좀 알고 있는데 매번 LED 켜고 끄는 예제에서 실력이 제자리이신 분들에게 이 강좌를 강력히 추천드립니다. 강의 만드시느라 고생 많으셨습니다. 감사합니다~

    • ChrisP
      知識共有者

      안녕하세요 별점 5점 정말 감사드립니다! 본 강의에서 다룬 외부장치와 통신하는 내용, 센서인터페이스하는 방법, 특정 주기대로 원하는 동작을 수행하도록 하는 방법 등은 아주 중요하고 자주 사용되는 기능들인데 다른 강의에서 잘 다루지 않는 것 같습니다. 어떤 제품을 개발하든, 위의 내용들은 반드시 알고 있어야 하고, 따라서 본 강의에서는 그런 내용들을 좀 더 깊이 다루려고 했는데 잘 전달이 되었길 바랍니다. 그럼 항상 안전한 비행하시기 바라고, 충분히 연습 후 비행을 하시기 바라겠습니다! 감사합니다.

  • 최영윤님의 프로필 이미지
    최영윤

    受講レビュー 1

    平均評価 5.0

    5

    83% 受講後に作成

    안녕하세요. 현재 강의를 듣고있는 대학생입니다. 어려울수 있는 강의내용을 잘 풀어서 설명해주시고, 어려운 부분이 있으면 질문 게시판 또는 카페를 통해 피드백을 주시는데 이부분이 정말 인터넷강의에서 답답할 수 있는 부분을 해소해주셔서 현장에서 듣는 강의처럼 들을 수 있어 너무 좋습니다. stm32를 처음 접해보았는데 강의를 보며 진도를 따라가고 실습을 하다보니 공부가 많이 된것같습니다. 앞으로도 좋은 강의 부탁드리고, 관심있는 강의가 있으면 또 찾아 보겠습니다!!!!!

    • ChrisP
      知識共有者

      별점 5점에 수강평도 정말 감사합니다. 앞으로 진행하시면서도 질문 있으시면 언제든 질문 올려주시면 확인하는대로 답글 달아드리도록 하겠습니다! 그럼 안전하고 즐거운 드론 개발되시기 바랍니다~

  • 20001540님의 프로필 이미지
    20001540

    受講レビュー 2

    平均評価 3.5

    5

    100% 受講後に作成

    인강은 답변이 없거나 늦는 점이 가장 큰 애로점인데 여기 인강은 답변이 빠르고 답변을 100% 해줘서 최고입니다.

    • ChrisP
      知識共有者

      평점 5점 정말 감사드립니다! 저도 온라인 강의의 한계를 잘 알고있어서 최대한 수강생분들 애로사항이 있으면 최대한 빠르게 해결해드리려고 노력하고 있습니다. 물론 오프라인보다야 부족하겠지만,, 앞으로도 애로사항이 있으시면 최대한 신속하게 답변해드리도록 하겠습니다. 그럼 안전하고 즐거운 드론 개발 되시기 바라겠습니다~ 감사합니다 :)

  • lms님의 프로필 이미지
    lms

    受講レビュー 1

    平均評価 5.0

    5

    100% 受講後に作成

    준비를 참 많이 하셨을텐데 확인하는 입장에서는 순식가에 전부 들었습니다. 이해 하기 쉽게 설명해주셔서 좋구 다음 인강 빨리 주셔요~~~~~~~~~~ 기다리겠습니다.

    • ChrisP
      知識共有者

      별점 5점 감사합니다 ㅎㅎ 남은 강의들도 이해하기도 쉽고 따라하기도 쉽게 준비하겠습니다. 여러 사정들에 의해 계속 딜레이 되고 있어서 죄송하다는 말씀 드립니다 ㅠㅠ 최대한 빨리 진행하겠습니다! 감사합니다~

  • 최재국님의 프로필 이미지
    최재국

    受講レビュー 1

    平均評価 5.0

    5

    87% 受講後に作成

    꿀잼~

    • ChrisP
      知識共有者

      별점5점 감사합니다~ 하나씩 구현하면서 더욱 더 꿀잼을 느끼실 수 있을겁니다 ㅎㅎ 마지막까지 알차고 재밌는 강의 되도록 노력하겠습니다. 감사합니다!!

無料

lbiith3934の他の講座

知識共有者の他の講座を見てみましょう!