月別アーカイブ:2021年06月

no image

未分類

Gitはじめ

2021/6/30  

Gitを使った開発というか学習環境をつくりたいなと思ってついつい後回しで作れてなかったのですが、今回すこし整理したので、忘備録。 ~作る環境~ GithubにあるJupyterNoteデータを取得⇒Visual Studio CodeのJupyterLab環境で編集⇒GithubのBranchにアップロードこれを、コマンドなしのGUI環境で行えるようにする。 ~必要なもの~ Githubのアカウント:(yaki0729/flying.penguin.y) ~必要なアプリ~ 環境はWindows10 GitHub Desktophttps://git-scm.com/download/winVisual Studio Codehttps://code.visualstudio.com/DownloadAnaconda(Python3.8.8)https://www.anaconda.com/products/individual#DownloadsGithttps://git-scm.com/download/winChrome ?https://www.google.com/intl/ja_jp/chrome/ Visual Studio Codeの設定

no image

未分類

つくりながら学ぶ! 深層強化学習 ~PyTorchによる実践プログラミング~①

2021/6/30  

とりあえず書籍の公式Gitにフォークして、サンプルデータをDL。Jupyterlabで動かしてみると、あっさり動作。書籍のサンプルすばらしい!Pythonはあんまり使ってない&数年ぶりなので、少しずつ読解。このサンプルプログラムは初心者に優しくないけれど、きれいなプログラムな気がする。正しい書き方の勉強にもなってよき。 2.5迷路探査 全訳することを目標にコメントつけました。 https://github.com/yaki0729/Deep-Reinforcement-Learning-Book/blob/yaki/program/2_5_Sarsa.ipynb

no image

未分類

Raspberry Pi でLCDディスプレイ(QAPASS1602a)を表示させる(Cコンパイル版、Python版)

2021/6/23  

~使用する部品~Raspberry Pi スターターキットから、①拡張コネクタ[GPIO Breakout kit](T字基盤+40pinパラレルケーブル)拡張コネクタをつないで、ブレッドボードに取り付ける。すべてのピンをブレッドボード上から使えるようにする。②ジャンパー4本(オスーメス)③LCDディスプレイ(1602) 0.可変抵抗を変えてLCD表示の調整 初期だと最低値になっていて、液晶表示がされません。 半分ぐらいまで回しておきましょう。 1.RpiのI2C通信をONにする 1-1デスクトップから ラズパイの設定から、I2C通信をONにして再起動。 1-2コードから場所:/boot/config.txt変更:dtparam=i2c_arm=on 再起動 2.モジュールデータの読み込み Osoyooの1602LCDディスプレイを使うのには、「i2c-bcm2708」と「i2c_dev」モジュールが必要らしい。 [Linuxコマンド] モジュール一覧を取得 lsmod|(パイプ)してgrepで「i2c」を含むの抽出 モジュールデータの場所: /etc/modules-load.d/modules.conf(本家には「/etc/modules」とあった) ここにモジュールを追加する。 3.シリアル通信番号の確認 i2cdetect [ピン番号] 3f⇒0x3f 27⇒0x27 4.サンプルプログラムのダウンロード wget:urlのデータをDLする(標準でカレントディレクトリ) C言語版 http://osoyoo.com/driver/pi3_start_learning_kit_lesson_13/i2c1602_lcd.c Python版 http://osoyoo.com/driver/pi3_start_learning_kit_lesson_13/i2c1602_lcd.py (どちらも初期設定はシリアル通信番号が「0x3f」) 5.サンプルプログラムを実行 5.1.C言語版 gcc:後述のファイルを-oのファイル名でコンパイルする。 gcc -Wall -o i2c1602_lcd i2c1602_lcd.c -lwiringPi (GNU Compiler Collection ⇒ GCC) 実行:コンパイルでできたファイルを叩く ./i2c1602_lcd 5.2.Pythonの場合 python:後述のpyファイルを実行 python ./i2c1602_lcd.py

no image

未分類

CONOHAでWordPressサーバ

2021/6/21  

このサイトは現在、CONOHAのVPSサーバで稼働している。 当初は自分でWordPressを構築しようと思っていたが、あんまり時間がないので、アプリケーションパッケージ化されている、KUSANAGIサーバーを使うことにした。 一瞬でWebサイトが完成。。。 サーバーの種類選択で「KUSANAGI簡単」を選択、VPSサーバを立ち上げる。 次に、「KUSANAGI管理」から、「サイトドメイン」と「メールアドレス」を入力する。 これだけで、既にサイトが出来上がっている。。。 あとは、ドメイン名のレコード管理をして、IPとドメインとの紐づけをする。 サイトにアクセスして、WordPressのインストールを完了する。 これだけで完成。 所要時間15分程度。。。恐ろしく速い。

no image

未分類

ドローンの種類

2021/6/30  

ドローンには必ず動作制御等をつかさどるFC(フライトコントローラー)が入っています。 FCはマイコンで、マイコンのOSにあたるファムウェアによって動いています。 ファムウェアはいくつか種類がありますが、大きく分けると3つあります。 ではそれぞれ紹介していきましょう。 それぞれの系が同じであれば、ファムウェアの書き換えで使える可能性が高くなります。 Naza系(ナザ) (公式: https://www.dji.com/jp ) NAZAはDJIが開発・使用しているファムウェアで、DJI製品に使われています。 製品ドローンの世界シェアNo.1の企業で、ファムウェアベースで見て最も使われているのだと思います。 DJI製ドローンはクローズドな開発であり、OSでいうAppleのような存在です。 なので、DJIのは後からファムウェア変更をするのが難しく、改造しやすさは低いです。 調べてないですが、DJI製ドローンにもBetaflight系やArduPilot系のファムウェアがあります。それらであればファムウェアの書き換えで改造できるかも。 プログラミングでいうと、DJI専用SDK(Software Development Kit)がありSDKを使って自動操縦経路や操作画面など(?)プログラミングで作成できます。 ( https://enterprise.dji.com/jp/sdk ) ArduPilot系(アルドゥパイロット) (公式: https://ardupilot.org/dev/docs/trademark.html ) 3Dロボティクス社などが中心になったArduPilotプロジェクトによって体系化された、乗り物全般の操作用のファムウェアになります。 ドローンのフルスタックファムウェアといえるでしょう。 母体団体の分裂や統合によって種々のバージョンがあり、そのためかネット上で代名詞的に使われる呼び名がいろいろあります。(ArduPilot、Pixhawk、APM、PX4など) オープンソースによる開発のため、コミュニティがもっとも大きくフォーラムなどで盛んに情報交換されています。公式のリファレンスも情報量も多いです。 ですが、検索などしても日本語ソースになるとあまり情報がない印象です。 書籍でも、ArduPilotによる機体自作の専門書籍はいまだに見つけられていません(21年5月現在)。 Pixhawk PX4 BetaFlight系(ベタフライト) (公式: https://betaflight.com/ ) BetaFlight系のファムウェアは、比較的軽重量なFCに使われています。5インチやそれ以下のペラサイズの小型ドローン向けです。 マニュアル操作でRC(Radio Control)ドローンを動かしたい、FPV(First Peson View)でゴーグルを使いたいなどの用途に適しています。 軽量化のためか用途ごとにいろいろながあります。 パソコンとの接続にはブラウザ(Chrome)を使います。 (拡張機能「Betaflight-Configurator」:https://chrome.google.com/webstore/detail/betaflight-configurator/kdaghagfopacdngbohiknlhcocjccjao?hl=ja) カンパニーコンピュータは不要で、プロポ受信機とFCなどで機体になります。 BetaFlight より早く、より精密に飛行させるにはBetaFlightが最適なファムウェアでしょう。 FPV機やFPVゴーグルでのドローンレースなど向けに開発されています。FPV用途で最も人気のあるファムウェアです。ドローンでよく使われますが、飛行機(プレーン)用にも利用できます。 CleanFlight(クリーンフライト) BetaFlightの派生で、プログラミングしやすいようにされているそうです。 BetaFlightに移植されつつある様子。 iNav(アイナブ?) https://github.com/iNavFlight/inav/wiki iNavは、BetaFlightからのフォーク(Gitで引用開発)されたBetaFlight派生ファムウェアです。自動飛行機能の拡充がはかられれています。目的地への飛行や自動帰還ができます。 その他のファムウェア開発 BaseFlight系 BaseFlightは8ビットのVultiWiiを32ビットにした初のFPVフライトコントローラー。 後発のBetaFlightへと発展? OpenPilot系 ドローン開発黎明期を支えたプロジェクトの1つ LibrePilot(リブレパイロット) OpenPilotからフォークされたのがLibrePilotになります。GCPもあり、見やすい画面で機能も充実していますがArduPilotより機能が少ないです。 Libreはヘリ・ドローン両方で使えます。 フリーのOfficeソフトLibreとの関係は分かりません。 dRobin OpenPilotからの派生。FPV利用のために開発された。 TauLabs 自動飛行用にOpenPilotより派生。 Kiss クローズドな開発。FlyDuinoのKISS機で使われている。 MustiWii MultiWiiは、ドローンを制御するためのオープンなソフトウェア。もともと、Nintendo Wiiのリモコンにあるセンサー類とArduinoを掛け合わせて作られたフライトコントローラー。 現在レーシング/FPV向けフライトコントローラで有名なCleanflightやBetaflightの派生元となっている。 ※AruduinoのマイコンATmega328Pは8bitであり、レーシング/FPV向けでは性能が足りなかったみたいで、BaseflightやCleanflightは8bitのMultiWiiのコードを32bit版に置き換えたところから始まったようだ。 Paparazzi(パパラッチ) オープンソースによる開発ですが、対応するハードウェアが少ないです。 まだ開発が行われております。 参考資料(21年5月) Complete List of Flight Controller Firmware Projectshttps://blog.dronetrest.com/flight-controller-firmware/Create it Myselfhttps://create-it-myself.com/research/inactive-flight-controller-firmware-2019/

© 2021 技術科・情報科のサイト Powered by AFFINGER5