理系的な戯れ

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

マクローリン展開でcosを近似

マクローリン展開の打ち切り誤差を調べてみました.マイクロマウスのようなロボットのオドメトリによる走行軌跡の計算における三角関数の積分をマクローリン展開した多項式を適当な次数で打ち切った式を用いる方法が提唱されています.そこで,まずはマクロ…

JupyterLabのインストール

はじめに こんにちは、こうへいです。 最近は、普段使いの計算環境はJupyterLabにしています。 pythonを使ってちょこちょこ計算をするのに ものすごく便利に使えていて、OSを選ぶ必要がなくて超いけています。 Dropboxのようなローカルと同期してくれる,ク…

3体問題アポロ8号のキセキ

はじめに こんにちは、こうへいです。 いつの間にか記事数が50記事になりました! COVID-19に関する情報が気になりブログ更新をサボっていて申し訳ないのですが 今日は前回に引き続き、3体問題について見ていきます。 取り扱う話題のベースはアポロ8号で…

2体問題のシミュレーション

はじめに 前回ウイルス感染のパンデミックのシミュレーションをしてみたのですが、 粒子のクラスを一般的な移動のシミュレーションに使えそうなので すこし、改良して使ってみようかなと思いました。 数値計算を考えるときに2体問題は解析的に解けるけど3…

Pythonでワシントンポストのコロナシミュレーションを再現してみた

はじめに こんにちは、こうへいです。 今日は、コロナウイルスの伝搬状況を ワシントンポストがシミュレーションしていまして それが面白かったので、自分でも書いてみたいと思って、コーディングの練習も兼ねて挑戦したお話です。 シミュレーションの概要 W…

ニューラルネットワークは電気羊の夢を見るか(1)

はじめに こんにちは、こうへいです。 近頃はAIや機械学習が話題にならない日はない感じとなりましたが、AIの中身を知る人はほとんどいないと思われます。 かく言う僕もその一人ですが、多くのAIの中身はニューラルネットワークであると言われています。 そ…

ミサイルの誘導法対決

はじめに こんにちは、こうへいです。 今日はミサイルの誘導法について取り組みたいと思います。 ミサイルを誘導する方法として主なものに「単純追尾航法」と「比例航法」があります、本記事ではそれらを対決させてみたいと思います。 ゲームとかでミサイル…

億万長者になる!

はじめに 今のところは億万長者では無いですが、最近は やり方次第では誰でも計画的にそこに近づけるのではと言う実感を得ています。 いまは毎日、食うために妻共々死ぬ思いで一生懸命働いていますが 収入を増やし、節約し、投資をすると言う王道を 如何に着…

トランジスタのスイッチング高速化

はじめに トランジスタで作ったインバータが遅れるのと なまっているのがオシロの測定で確認できたので。 高速化について検証しました。 ことの発端は、 昨日の記事のトランジスタインバータ回路の応答が遅れる事に触たれた S.BUS回路用の反転回路の信号測定…

S.BUSプロトコル

ドローンを含めロボットを遠隔操作に広く普及しているS.BUS通信ですが、S.BUS信号のデコードやエンコードの必要が出るためS.BUSプロトコルについてまとめました.

名刺は後転しながら前に落ちていく

はじめに こんにちは、こうへいです。 昨日、Twitterに投稿してみたんですが、誰でも見たことありそうなのですが、そう言われると、確かめてみたくなるネタではないかと個人的に思っています。 名刺や葉書を前に放ると必ず後ろ周りしながら落ちていきます。…

転がり抵抗測定(2)

はじめに こんにちは、こうへいです。 前回、転がり抵抗を測ってみたのですが,何種類かの重量を用意して垂直荷重の変化に応じた転がり抵抗を計測しようと思います. rikei-tawamure.com はじめに 転がり抵抗の推定 運動方程式とつりあいの方程式 並進の運動…

転がり抵抗測定

はじめに 電流フィードバックの記事で転がり抵抗を知りたくなったので,測る方法を考えて,測ってみました. kouhei-no-homepage.hatenablog.com 測り方 スロープを用意して,タイヤを両端に付けた軸を初速0から転がして,転がりに要した時間を計測します.…

Pythonで考えるDCモータの制御(9)電流フィードバックと根軌跡

はじめに こんにちは、こうへいです。 今日はDCモータの電流フィードバックについて考えてみます。 電流をフィードバックをして電流値にゲインをかけると、 PI制御の速度制御系にD項を加えるのと同じ効果がでるはずです。 これは、速度の微分の加速度が電流…

Pythonで考えるDCモータの制御(8)Interact&Bokehによるインタラクティブな台形制御の計算

はじめに こんにちは、こうへいです。 先日、モータの台形加減速制御について考えてみました。 kouhei-no-homepage.hatenablog.com 比例ゲインや積分ゲインをインタラクティブに変えて、応答の変化を見たいと思い、 jupyter notebookでintractを使用して改良…

Pythonで考えるDCモータの制御(7)伝達関数計算用関数

はじめに こんにちは、こうへいです。 これまで、繰り返し繰り返し、伝達関数などの計算を行い、そろそろ同じことの繰り返しに飽きてきたので Pythonの関数に落とし込もうと思い、プロトタイプを作ってみました。 伝達関数を分母と分子の多項式の係数を与え…

Pythonで考えるDCモータの制御(6)台形加減速

はじめに こんにちは、こうへいです。 制御工学についてもおさらいができました。 rikei-tawamure.com 前々回のお話までで、台形信号をラプラス変換の世界でどのように表現し、 計算ではどのように扱えば良いのかの見通しが立ちました。 rikei-tawamure.com …

Pythonで考えるDCモータの制御(5)制御の基礎の基礎とPython

はじめに 制御工学に関する計算とPython 余談 今回は制御についてです ラプラス変換と逆変換 ラプラス変換 ラプラス逆変換 ラプラス変換はしんどい?! 道具としてのラプラス変換:微分方程式を解く道具 微分方程式を代数方程式へ シンプルな操作の代償とし…

Pythonで考えるDCモータの制御(4)台形入力

はじめに こんにちは、こうへいです。 モータ制御する時に、台形状に加減速する事がよくあると思います。前回、ランプ入力を考えましたが、 台形状の目標値を作り出すのに、ランプ信号が役に立ちます。 rikei-tawamure.com そこで、今回は 台形状の入力をど…

Pythonで考えるDCモータの制御(3)ランプ入力に対する1型PI制御の応答

はじめに こんにちは、こうへいです。 前回まで、DCモータの速度PI制御について考えてみました。 rikei-tawamure.com これからは、さらに進んでマイクロマウスやロボットでは速度を台形状に制御する事が多いので、 その検証をできるように考えてみたいと思う…

Pythonで考えるDCモータの制御(2)モータのPI制御について

はじめに こんにちは、こうへいです。 とりあえず分割することにしました Pythonで考えるDCモータの制御が漠然とだらだらと思いつくままに、書き続けたためか、自分の文章力がないためか 長くなってきたので、分割することにしました。 でも、一記事にまとめ…

Pythonで考えるDCモータの制御(1)モデルによるステップ応答の比較

はじめに こんにちは、こうへいです 初めてチャレンジしたロボットランサーから、 DCモータの制御をこれまで取り扱う事が多かったんですが 同じ事を何度も繰り返しているので、一度整理して見たくなりました。 これまでの記事と確実に重複しますが、それを承…

基盤起こしに挑戦!ドローンフライトコントローラ用S.BUSセレクタ編

はじめに こんにちは、こうへいです。 今日は平日なので、趣味の活動もショートですが、以前からやりたかった、 ドローン用フライトコントローラーのためのS.BUS信号セレクターの基板起こしをはじめました。 ドローンの自律化のために 夏に飛行ロボコンに学…

STM32を用いたモータ速度過渡応答取得

はじめに こんにちは、こうへいです。 3連休も今日で終わりです。この連休も理系的な活動が充実しました。 今年の成人式は無事に終わったのかな? 慣れないSTM32で、周期的にモータからの角度情報を得られる様になったので、 当初の目的の1724モータ速度応…

STM32でインターバルタイマ割込み

はじめに こんにちは、こうへいです。 今回は周期的にモータの回転速度を計測するために、タイマで周期的な割込みを発生して 決めておいた関数を実行できるようになりたいと思います。 以前にも書きましたが、エンコーダはあくまで最初の角度が0の相対的な…

STM32でエンコーダパルスのアップダウンカウント

はじめに みなさんこんにちは、こうへいです。 昨日は、旧知のご夫婦と新年会をして美味しいお酒を飲みました。理系的な活動はおやすみでした。 (仕事では常に理系的なはずですが、それ以外の仕事も結構あります・・) 今回はエンコーダのパルスでアップダ…

STM32でシリアル通信

はじめに 今回の記事は、 STM32マイコンでシリアル通信をして モータの回転数情報を得るプログラムを構築するにはどうしたら良いのかを説明します。 前回までで、モータの実験をするのを目標にして、 MacBookにSTM32の開発環境を構築して、Lチカができるよう…

NUCLEO-F446REでLチカ成功

はじめに こんにちは、こうへいです。 STM32の開発環境をMacBookに構築していましたがST-Link Serverのインストールで失敗しました。 そちらは、保留にしていましが「ええい!ままよ」とばかり、とりあえずLチカプログラムを作成して書き込んでみることにし…

STM32開発環境をMacBookに整える

はじめに こんにちは、こうへいです。 昨日に引き続きMacにSTM32の開発環境を整えたいと思います。 僕のPCは2017の12inchMacBookです。 はやくエンコーダーからのパルスを読み取りたいです。 rikei-tawamure.com はじめに ダウンロードとインストール Javaイ…

モータ実験の準備で秘蔵品を出す

はじめに こんにちは、こうへいです。 今日から、仕事が始まりました。休み中にモータシミュレーションについて考えたり、 コードを書いたりしたので、実際にモータを使って実験と比較したくなりました。 あいにくまともに動くDCマウスがないので、いつか使…