理系的な戯れ

理工学系とくにロボットやドローンに関する計算・プログラミング等の話題を扱って、そのようなことに興味がある人たちのお役に立てればと思っております。

StampFlyの制御プログラムのビルドと書き込み

はじめに M5Stack社のStampFLyのサンプル制御プログラムをビルドしてM5StampS3に書き込むための手順を解説したいと思います。 開発環境の準備から解説します。 StampFlyがなくてもビルドまではPCだけで確認できます。M5StampS3があれば書き込みまで試せます…

MuJoCoをM1MacBookとUbuntuでビルド&インストール

はじめに 最近物理シミュレーションにMuJoCoを使おうと思っているのでM1MacBookにソースからビルドしインストールしてみました。 以下は、公式のドキュメントを全面的に参考にしていますが、基本的なcmakeを使ったビルド方法を踏襲しています。 ビルド済みの…

M1 MacでOpenGL(GLSL)をビルド

はじめに OpenGLを勉強してドローンのシミュレーションの可視化に挑戦しようと思って、 Web上でOpenGLのサンプルプログラムなどを見つけてビルドしてみました。 すると・・・・ ビルド失敗!!! こんな事で、1日悪戦苦闘し、ようやくできたので、忘れない様…

Raspberry Pi Picoで制御するドローン「PicoCopter」の製作ガイド

はじめに 昨今話題のドローンの一種であるマルチコプタは制御しなければ絶対に浮いてられないため制御する対象としては大変面白く、マルチコプタを用いた制御工学の学びは学習のモチベーションの維持に最適だと思います。 ところが制御工学学習用に適したマ…

マイクロマウス(2輪ロボット)の走行時間の近似推定

はじめに 今回の記事は マイクロマウス Advent Calendar 2021 - Adventar の23日目の記事になります。 前回は、SHIMOTORI,Harukさんの「GazeboとSimulinkでロボトレーサをシミュレートする」でした。 マウサーなら無償でMatlab・Simulink使え、ROSで使えて便…

地磁気センサ校正のための楕円体のパラメータ推定における最小二乗法

はじめに 前回、地磁気センサの校正のために楕円体の方程式についてお話ししましたが、今回は 地磁気センサからのデータを集めて、楕円体のパラメータを最小二乗法で推定してみます。 rikei-tawamure.com はじめに 楕円体の方程式 最小二乗法 正規方程式を求…

地磁気センサ校正のための楕円体の方程式について

はじめに マルチコプターの方向を推定する。加速度センサ、角速度センサ、地磁気センサのうち、 特に地磁気センサを使用するためには校正が必要なため、校正をするソフトを構築する際の 楕円体に関する知識と、校正のための知識を整理したいと思います。 は…

マルチコプターの拡張カルマンフィルタによる9DOFセンサを用いたジャイロバイアス推定と姿勢推定

マルチコプターの飛行制御プログラムを何もないところから構築することを目指しています。その中で、ジャイロ、加速度計、地磁気センサが全部入っている9DOFセンサのLSM9DS1を用いてジャイロのバイアス推定とマルチコプターの姿勢(方向)推定を拡張カルマン…

Raspberry Pi Picoを使ってラジコン受信機からの信号を読み取りモータを回す

はじめに マルチコプタを制御するためにRaspberry Pi Pico(以下PIco)でラジコン受信機からの信号(S.BUS信号)を読み取り モータドライバ(ESC)にPWM信号を送りDutyを可変しブラシレスモータの回転数を制御してみました。 はじめに UARTで受信機の信号を…

カメラを注視点に向ける

はじめに マルチコプタのシミュレーションをしたいと考えた際に、計算結果を3次元CGで可視化したいと 思い始めると、動き回るマルチコプタを画面に収めるため、あたかもカメラがマルチコプタを 追い続けるような事を考えなければなりません。 前に、物体の…

家計管理について

はじめに 資産形成をめざす家計管理についてルーチン化しているので、特にこれから資産形成のための時間がたくさんある 若い人たちのためにおせっかいですが、ルーチンを説明してみようと思います。 なお、この記事は ほぼ、同じ内容をTwitterで呟いたのもの…

Raspberry Pi PicoのSPIでLSM9DS1を使用する

マルチコプタの飛行制御をするため STマイクロエレクトロニクスのMEMSセンサであるLSM9DS1をRaspberry Pi Pico(以下Pico)で使用する方法について解説しています。 LSM9DSは加速度、角速度、地磁気を各3軸づつ合計9つの情報が得られます。そのため9自由…

3次元における方向の表現

はじめに 飛行機、ロケット、ロボット等の物体あるいはそれらの搭載物といった 任意の物体(剛体)の3次元空間での方向をどの様に 表現するのかについて考えてみます。 はじめに 方向と向き 一つのベクトルだけでは物体の方向は表せない 二つのベクトルを使…

はてなブログURL変更の顛末

はじめに はてなブログでURLを変えました。 これまでの検索での実績などをリセットしない様にするにはどうするのか 僕はサーバを借りてSSL化と301リダイレクトで解決しました。 そこまで、自分なりに試行錯誤し得られた答えをお話しします。 はじめに 【まと…

ポートフォリオのリバランスのやり方

はじめに ポートフォリオは時間が経つにつれて、各銘柄の価格変動等で当初のバランスから乖離します。 そのため、狙ったリスクとリターンが得られなくなる可能性があります。 場合によっては狙ったものより良い結果が得られる可能性もあるわけですが、 「よ…

Raspberry Pi Picoのcmakeを用いたオリジナルプロジェクト

はじめに Raspberry Pi Picoのプログラム制作において pico-sdkを使用して開発したいと思います。 その場合に、独自のプロジェクトを一から作る基本的な手順についてまとめておきます。 この記事は「Getting Started with Raspberry Pi Pico」(以下参考資料…

Raspberry Pi PicoのUARTでラジコン受信機の信号を読む

はじめに Raspberry Pi Pico(以下Pico)でマルチコプタのドローンを制御しようと考えています。 そこでFutabaさんのS.BUS対応のラジコンの受信機をPicoに接続して、情報を読み取ってみたいと思います。 S.BUS信号はシリアル通信の規格なので、UARTで読み取…

Raspberry Pi PicoでPWM出力

はじめに Raspberry Pi Pico(以下Pico)の心臓部のRP2040ですが、これが単体で売り出されるようです。 趣味の人たちが、これで自作のマイコンボードを作って遊ぶことも考えられます。 今回は、PicoでPWMを出してみたいと思います。 モータ等を制御する際に…

Raspberry Pi PicoでLチカ

はじめに Raspberry Pi Pico(以下Pico)を購入したので、C言語でLチカできるまでを紹介します。 USBメモリとして認識される PicoはPCに接続するとUSBメモリととして認識されます。 接続する際に、下図のBOOTSELボタンを押しながら接続することで外付けドラ…

早期退職で支払う国民年金と国民健康保険

はじめに 最近は世知辛い世の中で サラリーマンでも安泰とも限らなくなってきました 万一のことも考え 早期退職した場合に支払うことになる 国民年金と国民健康保険について勉強したのでその備忘録です。 はじめに 国民年金 国民健康保険 健康保険の任意継続…

フライトコントローラの設計と製作

はじめに 昨今はドローンと呼ばれるマルチコプタを趣味でも仕事でも作っています。 フライトコントローラや4in1ESCボードは沢山ありますが、どれも流通期間が大変短く ひどい場合は1年たつと同じものが手に入らない状況にあります。 新たに新しいボードを探…

JuliaをJupyterLabで始める

はじめに 今回はJuliaをインストールしてJupyteLabで使う方法についてまとめました。 前から昨今話題になっているJuliaが気になっていました。 Pythonの様に記述しやすくて Cの様に早い という触れ込みです。 新しい言語覚えるのはそれなりに大変だし 既習の…

日々こうしたいなと思うこと

はじめに 先日50歳になり、前から少し意識していたことについて改めてつぶやかせていただきました。 50歳になって日々こうしたいなと思う事諸々・好きなことをする・嫌なことはやらない・主導的にうごく・ルーチンは時間割を作ってやる・まず手を動かす…

ドローンをガメラの様に飛行させる

はじめに ドローンにガメラ飛びをさせたい・・・ 唐突なお話しですが、最近ではすっかりドローンと呼ばれるようになったマルチコプタをガメラの様に回転しながら飛行させるにはどうしたら良いのかと言うのが本記事の内容です。 これは私の私的興味によるもの…

現代ポートフォリオ理論(MPT)

はじめに ついに満50歳を迎えたこうへいですが、生家が商売をしていて常々いつか商売に失敗して 「何もかんも無くなる無くなる」と育てられたせいか、 お金については使う時はパッと使いますが割とシビアに計画的だったりします。 ちなみに言われてた通り…

ライントレースロボットのシミュレーション

ライントレースロボットのシミュレーションアイキャッチ はじめに ロボットランサーはじめました(昔ばなし) 機械学会主催のロボットグランプリのロボットランサー競技と言うトラック上の白線コース上をロボットが走行して、 トラック周辺にある的を槍で突…

移動ロボットの壁沿い走行制御について

はじめに マイクロマウス の様な移動ロボットを壁に沿って走らせたいと言う場面は、 教育用のデモ走行やその他の簡単なアプリケーションでは多く見かけられると思います。 何かの軌跡に沿って走らせたいと言うのもさらなる応用として考えられます。 今回は無…

Pythonで考えるDCモータの制御(10)PWM制御におけるLocked Anti-Phase方式とSign-Magnitude方式について

はじめに 今回の話題はDCモータをHブリッジにより駆動する際の Locked Anti-Phase PWM方式と Sign-Magnitude PWM方式の それぞれがどの様なもので どの様な違いがあるのかを説明させて頂きます。 モータ制御に関連して僕が実際に作ったロボットの話題を一つ…

グラフ理論と迷路探索

はじめに マイクロマウスの迷路探索では探索アルゴリズムとして左手法、トレモー法,足立法などがあるのですが そういった観点とは別に迷路をノードとエッジに見立てたグラフとしてとらえて、ダイクストラ法で 最短経路を見出そうというお話をしたいと思いま…

物理シミュレーションによるオドメトリの検証

はじめに 前回は横滑り運動を考察しましたが、マイクロマウスのような2輪差動式の移動ロボットのシミュレーションについてもプログラムを作ることができました。 そこで、自己位置推定のオドメトリ計算について 直線近似 円弧近似 横滑りを考慮した場合の直…