Stepper Motor S-Curve Equation

Overview ステッピングモーターを用いた二輪移動システムの滑らかな駆動の為に、三次曲線を用いたS字加減速の方程式を求めました。 その方程式と実際に動かした時の挙動を紹介します。 直進 直進は、加速区間、定速区間、減速区間の3つの区間で構成されます。 現在の速度から最高速度に達するまで加速する加速区間と、 最高速度を維持したまま走行する定速区間、 そして、最高速度から元の速度まで減速する減速区間です。 方向転換(片回転方式) 停止状態から外輪のみを回転させて方向転換を行う方式です。 外輪は加速・定速・減速を行います。 片輪のみの駆動なので消費電力が抑えられるかもしれません。 方向転換には比較的広い空間が必要です。 方向転換(逆回転方式) 停止状態から両輪を逆回転させて方向転換を行う方式です。...

5 minute read

Fisher-Yates shuffle

Overview Android上で画像をモザイク化して、それを復元(逆モザイク化)する簡単なアプリを作りました。 モザイク化は画像を細かなパーツに分割し並び替えています。 並び替えのアルゴリズムは Fisher-Yates shuffle1のアルゴリズムを採用しています。 そして、Fisher-Yates shuffleをJNI(Java Native Interface)を通したネイティブコード(C/C++) で実装し、より高速化を図っています。 復元はモザイク処理時に使用した並び替え順情報を使って復元しています。 従って、復元にはモザイク化した際に使用した並び替え順情報が必要です。 これは人工知能を使ってモザイクを消すような先端技術ではありません。 画像の暗号化の問題点...

5 minute read

Satellite Track

Overview 近年、ロケットの打ち上げに伴って、超小型人工衛星が放出される事が多くなりました。 超小型人工衛星は、コストが小さく、開発期間も短くて済むことから、 教育機関が宇宙研究目的で開発するようになりました。 少しずつ開発ノウハウが浸透してきたせいで、 学生たちの研究課題としての利用に移ってきたようです。 先日(2021年11月9日)は、JAXAのイプシロンロケット5号機の打ち上げが成功し、 複数の超小型人工衛星を放出しました。 その1つにKOSEN-1という名称の人工衛星がありますが、 これは全国の国立高専10校が連携して開発したものだそうです。 驚くことに、この人工衛星に搭載されているコンピュータはRaspberry Pi Zeroを改造したもので、 数百円〜数千円程度で簡単に手に入る民生品です。 筆者が半導体会社に入社した当時、...

2 minute read

Inverted Pendulum without Encoder

Overview エンコーダーを使わない倒立振子を開発しました。 一般的に、倒立振子は振子部分の角度・角速度を測るジャイロセンサーと、 台車部分の速度・走行距離を測るエンコーダーの2つを用いますが、 エンコーダーは機械設計技術が必要だったり、使用できるモーターの種類が限定されたり、 高価であったり、と難易度が高いと思います。 そこで、エンコーダーを使わずにソフトウェアで代用する方法を考え、 シミュレーションと実装を行ったので、ここに紹介します。 Source Code Source code may be found...

4 minute read

Augmented Reality (AR)

Overview GoogleのARCore技術を利用したAugmented Reality (AR)拡張現実のAndroidアプリを開発しました。 Androidのカメラの中で3Dモデルの飛行機を任意の経路で飛ばすことができます。 Source Code Source code may be found as the Kotlin...

3 minute read

Flight Simulation

Overview 飛行力学の専門書1を参考に、長距離戦略爆撃機(XB-70A)2の運動方程式を求め、 オイラー法による数値解法で、操舵制御による飛行経路を3D表示するPythonプログラムを作成しました。 Source Code Source code may be found as the Python3 program in...

4 minute read