IoT自動壁殴り(?)代行ロギ犬

はじめに

世の中もうすぐクリスマスですね.僕は高校時代からクリスマスに向けて何かしら工作をすることにしています.リア充な人たちは友達や恋人とクリスマスを過ごすそうですね.一方非リアの人たちの中には焦って相手を探したり,「クリスマスには興味ない」と嘯いてみたり,いずれにしてもクリスマスが近づくとソワソワする人たちがいるそうですが,僕に言わせれば修行が足りません.一度煩悩を打ち払い,悟りを開くべく修行をしてみてはいかがでしょう.具体的には,そう,壁殴りとか.

そんなあなたにオススメなのが今日ご紹介するIoT自動壁殴りロギ犬(@rogiken_IoT)です.何かと忙しい現代人,修行をする時間も惜しいですね.そこで,最近流行りのIoT&自動化というソリューションをご提案します.IoTで修行して気軽に悟っちゃいましょう!!(バズワード感)

概要

インターネッツには幸せが溢れています.リア充な皆さんはインターネットで自分の幸せをお裾分けしようとしてくれています,TwitterとかInstagramにデートの写真上げてみたりとか.修行が足りない人がそれを見ると逆に心に傷を負ってしまうようですが,せっかく分けて頂いた幸せです,有効活用させていただきましょう.

IoT自動壁殴りロギ犬は,Instagramにアップロードされた”デート”あるいは”カップル”タグのついた写真のアップロード頻度を検出し,定期的に頻度に応じた力でモータを回して尻尾で壁を殴り(?)煩悩を打ち払ってくれます.そして,壁を殴ったときのパンチ力(尻尾力?)をTwitterに呟きます.リア充の幸せを原動力にして非リア充の煩悩を打ち払う,素晴らしい装置です.カワカミン的に言うと”言詞力”というやつですね.

直接壁を殴っても良かったのですが,思ったより五月蝿くて睡眠を妨げそうだったので床に置いたスポンジをぺしぺしします.動画はこちら

技術的な詳細

この章は技術的な話に興味がある人向けです.

システム構成

structure

上の図はシステムの構成を簡単に示した図です.1から8までの工程でIoT壁殴り代行を実現します.

  1. 定期的にRaspberry PiがInstagramに情報を要求
  2. Instagramからタグの情報が帰ってくる
  3. 得られたタグの流速を元に,殴る力の指令をSTM32マイコンに送る
  4. マイコンがロギ犬を制御
  5. ロギ犬が壁を殴る
  6. 壁がロギ犬に反作用を与える
  7. マイコンで反作用力を推定する
  8. 得られた反作用力推定値をRaspberry Piに返す
  9. Raspberry Piがツイートする

はい,9工程でしたね.図にツイッター入れるの忘れました.

マイコン基板は以前つくった倒立振子用のものをそのまま使っています.MCUはstm32f411,モータドライバはdrv8833,電流計測アンプはAD8417を採用しました.モータはロボサイトモータの30倍です.

こんな感じでネタに100%振った作品ですが,せっかく作るからには技術的に面白いこともやりたいということで,今回はブラシ付きDCモータの位置センサレス速度制御に挑戦しました.

エンコーダがなくてもモータを一定速度で回せるよってことです.「定電圧かければ速度なんてコントロールできるじゃん」と思うかもしれませんが,定電圧の場合には,例えば手で握るなどしてモータに負荷がかかると簡単に速度が変わってしまいます.センサレス速度制御系では,負荷がかかると自動的に電圧を増加して速度を一定に保とうとしてくれます.

制御系

制御系の構成です.ここで詳しく説明する余裕はない,というかここでできる程度の説明で理解できる人は論文読んでも理解できるはずなので,詳細は飛ばして,キーワードの簡単な説明と結果だけ載せます.

電圧外乱オブザーバ

「えーマジ電流PI制御ロギ!?」「キモーイロギ」「電流PI制御が許されるのは小学生までだよねーロギ」「キャハハハハロギ」

これは言い過ぎですね.実のところPI制御で何の問題もないんですけど,というかP制御+電圧外乱オブザーバって2自由度PI制御の1つなんですけど,電圧外乱オブザーバを使うと調整次第でちょっと性能が良くなるし,なによりパラメータが直感的なので調整も簡単です.モータのパラメータの同定もほぼ必要ありません.周期は約45 μsです.

逆起電力推定オブザーバ

やってることは電圧外乱オブザーバとほぼ同じです.というか電圧外乱オブザーバより逆起電力推定のほうが有名かもしれません.モータのパラメータの同定が必要ですが,まあ今回は雰囲気見ながらいい感じに調整しました.

外乱オブザーバ

「えーマジ速度PI制御ロギ!?」(以下略

速度制御ループはP制御+外乱オブザーバという構成にしました.制御周期は1 msです.

反力推定オブザーバ

やってることは外乱オブザーバとほぼ同じです.ついでに逆起電力推定オブザーバとも同じです.そもそも電圧外乱オブザーバと逆起電力推定オブザーバは,機械系の外乱オブザーバと反力推定オブザーバを回路系に持ってきたものなので.

実際の応答

上の方に置いた動画の動きをした際の,各種データを下の図に示します.

irefres

図1 電流指令値と応答値

cfob

図2 速度推定値

rfob

図3 外力推定値

図1の青線が電流の指令で,赤線が応答値です.もうちょっとゲインを攻めていい気がしますが,ちょちょいっとやった割にはいい感じだと思います.1.4秒以降はモータに印加する電圧を0に固定しているのに謎の電流が検出されていて,アナログ系の性能の悪さがわかります.

図2が逆起電力推定による速度推定(減速後)の結果です.0から0.2秒位まで等加速度運動をして,衝突してちょっと反動があってから0.5秒まで速度がゼロになっています.0.5秒から1.4秒までが速度センサレス制御です.指令値は2rad/sなので,推定値がよく追従していることがわかります.実際の速度がどうなっているか比較したいところですが,面倒なのでパスです.

図3が反力推定の結果です.0.2秒当たりで反作用力がピョコんっと立っていて,衝突の瞬間のインパクトが検出できていることがわかります.1.4秒あたりは初期位置に戻るときのストッパーに当たったときですね.ストッパとの衝突を検知したら電流を0にするようにしているので,これ以降の電流指令値は0になっています.

制作に至る経緯

ここから先は備忘録というか,部内の人向けというか,まあそんな感じです.

そもそも最初にこのネタを思いついたときは,「ツイッターでクリスマスデートの写真とか平気であげる人に反応して壁を殴る&自動リツイート」って感じでした.正直あまり乗り気じゃなかったのですが,まあ他に面白いネタも思い浮かばなかったのでこの方針でいくことにしました.

そこで去年のクリスマスのツイートをデートなどをキーワードに絞ってみたところ,「おすすめデートスポット」みたいな業者やら「デートしたい」「デート笑(男同士,アニメキャラと)」的なものばかりが引っかかり,情報の質が大変悪いことがわかりました.

困った僕はリア充の生態の調査を開始,やがて「最近のリア充はInstagramに写真をあげる」らしいことを知りました.

というわけでこんな感じで構成が決まったのですが,InstagramのAPIがいつの間にか申請制になっていて個人利用ではタグ情報がAPI経由で引っ張れなくなってたりとか,様々な困難を乗り越えてここまで来ました.

Instagramだとリツイートがないので当初の予定とは異なりましたが,ほんとにリツイートすると気分を害される方が多数いらっしゃると思うので,これで良かったと思います.そもそも最初に乗り気じゃなかった理由が基本的にネガティブ方面のネタだったからなので.最終的にはポジティブ風にまとめられて(?),技術的にも楽しいことができたので良しとします.

広告

IoT自動壁殴り(?)代行ロギ犬」への1件のフィードバック

  1. ピンバック: ブラシ付きDCモータのセンサレス制御のためのパラメータ同定 | 慶應義塾大学ロボット技術研究会

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中