「M5stack CORE2」タグアーカイブ

一脚 屈伸ロボ 爆誕

HomeMadeGarbage Advent Calendar 2021 |10日目

SHISEIGYO-2 Go 弐を応用して1脚ロボットを製作いたしましたので報告します。

SHISEIGYO-2 Go 爆誕 ーリアクションホイールへの道39ー

サーボテスト

手元にトルクの大きいサーボがありましたのでロボット足に使用できるのではとテスト

[amazonjs asin=”B07GNYZR3T” locale=”JP” title=”Goolsky サーボ DSSERVO DS3225 25KG メタルギア 高トルク 防水 デジタルサーボ RC Traxxas HSP カー ボート ヘリコプター ロボット 飛行機 用”]

 

アルミのアームも付いて力強くていい感じだったのでもう1個買って検証

 

なんだかいい感じ♪
このサーボで足を構築することにいたしました。
 

足構築

3Dプリンタでひざ下部 (素材: PLAフィラメント) を作製し、足先は滑り防止を兼ねてTPUフィラメントで構成しました。

いい感じの屈伸運動です。
 

一脚ロボ 検証

SHISEIGYO-2 のリアクションホイールを合体させました。
ホイールはそれぞれ2枚重ねにしてトルクを増強しています。

屈伸動作検証

リアクションホイールによる姿勢制御のゲイン調整を施して比較的安定した屈伸運動が実現できました。

 

足を延ばしすぎたり、急な高さ変動にはまだ追従できていません。

 

起き上がり機能追加

リアクションホイールの回転制御による自立も実現できました。

 

完成

リアクションホイールと足は別マイコンで検証していましたが、
M5Stack CORE2ひとつでの制御にまとめました。

 

 

構成はSHISEIGYO-2 Go 弐 とほぼ同様で球体駆動用360度連続回転サーボが足用サーボになっただけです。

[amazonjs asin=”B08J7YPH66″ locale=”JP” title=”M5Stack 開発ボード M5Stack Core2 開発キットデュアルコア32ビット240Mhz LX6プロセッサーUIFlow, MicroPython, A r d u i n o用”]

 

おまけ

開発途中で一脚ロボをAgility Roboticsのロボットと比較してみました 😆 

 

特殊球体ホイール バランスロボット SHISEIGYO-2 Go 弐

HomeMadeGarbage Advent Calendar 2021 |7日目

以前製作した球体ホイールによるバランスロボットを改良いたしましたので報告いたします。

SHISEIGYO-2 Go 球体ホイールを検討 ーリアクションホイールへの道41ー

 

SHISEIGYO-2 Go 弐

以前作った SHISEIGYO-2 Goをバッテリ駆動にして電源ラインを排除し、より自由に移動できるようにいたしました。

3セルのリポバッテリ(11.1V)を24Vに昇圧してモータに給電します。

  • 24V昇圧DCDCコンバータ
    [bc url=”https://store.shopping.yahoo.co.jp/suzakulab/pololu-2582.html#”]
  • 3セル LiPoバッテリ
    [amazonjs asin=”B017VOKXRC” locale=”JP” title=”Kypom K6 11.1V 450mAh 35C70C リポ バッテリー”]

 

また球体ホイールの左右間に細いスリットを設けて右折左折がよりスムーズに実行できる工夫も施しました。

 

360度連続回転サーボで半球をそれぞれ独立で制御して移動します。

  • 360度連続回転 Feetech FS90R マイクロサーボ
    [amazonjs asin=”B076F5VWG7″ locale=”JP” title=”360度連続回転 Feetech FS90R マイクロサーボ 6V 9G 5個入り”]

 

動作

 

バッテリ内蔵によって縦横無尽に移動が可能になりました。
左右への旋回もスムーズです。

 

 

M5Stack Japan Creativity Contest 2021

SHISEIGYO-2 Go 弐を M5Stack Japan Creativity Contest 2021 に応募しましたところ 3位入賞することができました!

[bc url=”https://protopedia.net/prototype/2418″]

 

M5Stack社のジミー・ライ社長が受賞作品を選定しコメントをくれて、しかも参加賞までいただける素晴らしいコンテストなので是非来年も実施してほしいです (ジミー社長 非常にお忙しいでしょうが。。)。

 

 

追記

2022/1/15 3位入賞 賞品が届きました!

特別色でキンピカでラグジュアリーなM5Stack CORE2をいただきました。
キレイ!嬉しい!

SHISEIGYO-2 Go 球体ホイールを検討 ーリアクションホイールへの道41ー

前回は山形大学の開発した球状歯車を参考に2軸 姿勢制御モジュール SHISEIGYO-2 のホイールへの応用を試しました。

SHISEIGYO-2 Go 爆誕 ーリアクションホイールへの道39ー

 

 

球体ホイールの検討

ホイールを球状にすることによって、移動が非常に安定することが前回わかりました。

しかし、球状歯車を自由自在に動かして様々な方向に移動させるには
機構が複雑になりそうで技術的にも難しいです。

どうしてもSHISEIGYO-2 Go を自由自在に動かしたいのでホイールを再検討いたしました。

 

ORENICS

半球にそれぞれ歯車の溝をつくり、独立して動く機構を考案いたしました。

 

2つの360°回転サーボでそれぞれ回します。

 

[amazonjs asin=”B076F5VWG7″ locale=”JP” title=”360度連続回転 Feetech FS90R マイクロサーボ 6V 9G 5個入り”]

 

動作

 

まだまだ自由自在というわけにはいきませんが、方向転換とカーブ走行が実現できました。

 

おわりに

ここでは球体ホイールを検討、製作し動作確認を実施いたしました。

球体を構成するそれぞれの半球の接地精度や制御方法を精査して、縦横無尽に走り回るSHISEIGYO-2 Go を目指したい思います。

それでは次の道でお会いしましょう!

追記

調整 (2021/6/26)

走行調整中

なかなかいい感じになってきました。

次の記事

姿勢制御装置とバーサライタの融合 ーリアクションホイールへの道50ー

SHISEIGYO-2 Go ホイール検討 球状歯車を味見 ーリアクションホイールへの道40ー

前回 2軸 姿勢制御モジュール SHISEIGYO-2にギアのホイールを追加して移動できるようにしました。

SHISEIGYO-2 Go の爆誕でした。

SHISEIGYO-2 Go 爆誕 ーリアクションホイールへの道39ー

今回はホイールの検討を進めましたので報告させていただきます。

 

 

ABENICS

先日 Twitterでとんでもない動画を観ました。

 
めっちゃヤバない?動画もカッコいいし

模倣

気づいたらFusion360を開いて球状歯車を作っていました。

動画を参考にギアを360°回して球体を作り、直交するものとANDをとれば完成です。

 

 

いじくってみると更に面白さと凄さを感じることができました。
体験って重要ですね。

 

SHISEIGYO-2 Goへの応用

早速、こしらえた球状歯車をSHISEIGYO-2 Goで試してみました。

 

以下のように360°回転サーボに普通のギアを付けて球状歯車を回している(左のサーボは重量バランスのためのダミー)のですが、たまにギアがロックしてしまい振動が大きくあまりスムーズに動けませんでした。

 

球状歯車をL字の固定具で四方から挟むように固定していたのですが
安定性向上のためにTPUフィラメントでホルダーをこしらえました。

 

しかし、大きな改善はありませんでした。。。
やはり回す方のギアも専用の複雑な形状に加工が必要そうです。

 

SHISEIGYO-2 Go 爆走

専用の回しギアのモデリングはあまりにも難しそうなので断念し、
ギア1個を回転させた以下の写真右の球状歯車を試してみました。

 

したら、いい感じにホールドもできてロックせずにスムーズにまわり
SHISEIGYO-2 Go 爆走したよね。

 

このスピードで動けたら申し分なくSHISEIGYO-2 Go ですね!!

 

おわりに

球状歯車をためして思いがけない進展を得ることができました。

しかし、せっかく球状のホイールを採用するのであれば前後移動だけでは寂しいですね。

もっと縦横無尽に動かしたいです。
別に歯車状である必要もない気がしてきているので検討進めたいと思います。

それでは次の道でお会いしましょう!

次の記事

バッテリ内蔵 姿勢制御モジュール SHISEIGYO-3 Unplugged  ーリアクションホイールへの道42ー

SHISEIGYO-2 Go 爆誕 ーリアクションホイールへの道39ー

私が姿勢制御モジュールの研究を開始して、もうすぐ1年が経とうとしています。
多くの学びと成果を得たのですが、このたびもう一歩前進することができました。

姿勢制御モジュールはあくまで”モジュール”
何かの構成要素の一つとして活用してこそであると常々考えておりました。

今回、1例となる活用実験が成功しましたので報告させていただきます。

 

 

SHISEIGYO-2 Go 爆誕

以前製作し、レシピ販売も実施している2軸 姿勢制御モジュール SHISEIGYO-2 の支点をタイヤにして倒立を保ったまま前後移動できないかと考えました。

 

早速、結果をご覧ください。

見事に1つのタイヤを支点に倒立前後移動が実現できました。

 

タイヤ

タイヤは360°回転サーボと3Dプリンタで出力したギアで構成しました。

 

[amazonjs asin=”B076F5VWG7″ locale=”JP” title=”360度連続回転 Feetech FS90R マイクロサーボ 6V 9G 5個入り”]

 

ギアを連動させての機構は初めてやりましたが、なかなかうまくいきました。
もう3Dプリンタで何でもできちゃいますね。

ギア機構もっと勉強しよっと 🙄 

参考

 

SHISEIGYO-2 Go 動作

SHISEIGYO-2 Go は起き上がり動作も可能です。

 

坂道だってなんのその

 

おわりに

SHISEIGYO-2 をモジュールとして活用することによって、比較的簡単に1輪走行ロボットを実現することができました。

引き続き自作の姿勢制御モジュールの活用実験に励みたいと考えております。

次の記事

SHISEIGYO-2 Go ホイール検討 球状歯車を味見 ーリアクションホイールへの道40ー

SHISEIGYO-2 を改良しました ーリアクションホイールへの道36ー

2軸の姿勢制御モジュール SHISEIGYO-2のM5Stack CORE2用アプリを改良いたしました。

 

上の動画のように各制御パラメータをタッチパネルで変更できるようにしました。
調整した変数はメモリに保存され電源OFF後も保持されます。

コード書き込みや外部からの通信も必要なく変数が調整できますので非常に使いやすくなりました。

動作時の演出もささやかですが追加させていただきました。
 

変数保持

タッチパネルで変更した変数は NVS(Non-volatile storage不揮発性のメモリ)に保持されます。

Preferencesライブラリを使用いたしました。
ライブラリ使用方法については以下を参考にいたしました。

[bc url=”https://www.kerislab.jp/posts/2017-06-16-esp32-preferences/”]
 

Arduinoコード

コードは以下にアップしておりますのでご参照ください。

https://gist.github.com/homemadegarbage/aa009fec3e0b91eb4d2233683147852f

 

SHOPのご案内

SHISEIGYO-2の製作レシピを以下で販売しております。
筐体3Dモデルも以下で無料ダウンロード可能です。

SHISEIGYO-2 の製作レシピ

 

また部品搭載済みのM5Stack CORE2用SHISEIGYO-2 駆動モジュールも販売しておりますので、是非ご検討ください。

SHISEIGYO-2 駆動モジュール

次の記事

SHISEIGYO-3 eternal 改良 ーリアクションホイールへの道38ー

2軸 姿勢制御モジュール SHISEIGYO-CORE2 完成 ーリアクションホイールへの道31ー

前回は M5Stack CORE2 を用いて、2軸 姿勢制御モジュール SHISEIGYO-CORE2  の製作を開始いたしました。

はじめてのレザークラフト – キーケース製作 –

 

ここでは SHISEIGYO-CORE2 の完成にむけて諸々調整いたしましたので報告させていただきます。

 

 

安定性向上

モータ制御のパラメータを調整して安定性を向上させました。

かなりの外乱を加えても転倒しません。

 

ディスプレイ表示調整

当初は以下のように表示がカクカクでした。

 

@TobozoTagada さんにディスプレイ表示周りのコードを添削いただき、表示をヌルヌルにしていただきました!

 

これは非常に嬉しいです。見事にM5Stack CORE2 の素晴らしさを引き出していただきました!
本当にありがとうございます!! 🙂 

 

起き上がり動作実現

筐体の足の長さやモータ回転動作を調整し、物理ブレーキなしでの起き上がり動作を実現いたしました。

M5Stack CORE2のタッチパネルボタンを押すと立ち上がります。

 

おわりに

遂に2軸 姿勢制御モジュール SHISEIGYO-CORE2  が完成いたしました。

物理ブレーキなしでの点倒立達成は快挙といえるのではないでしょうか。

この可愛い倒立動作を是非皆さんにも楽しんでいただきたいので、SHISEIGYO-1のように早速製作レシピを執筆したいと考えております。

それでは次の道で!!

次の記事

3軸 姿勢制御モジュール SHISEIGYO-3 改良 ーリアクションホイールへの道32ー

2軸 姿勢制御モジュール SHISEIGYO-CORE2 爆誕 ーリアクションホイールへの道30ー

以前 SHISEIGYO-3 開発中にM5Stack CORE2 を壊してしまいました。
そうしましたところナント! M5Stack様よりM5Stack CORE2 をご提供いただきました!

 

本当にありがとうございます 🙂 !!こういった援助は非常に助かります。

[bc url=”https://www.switch-science.com/catalog/6530/”]

 

ここでは前にAdafruit CLUE を用いて製作した2軸姿勢制御モジュール  SHISEIGYO-2をM5Stack CORE2 で作ってみましたので報告いたします。

2軸 姿勢制御モジュール SHISEIGYO-2 爆誕 ーリアクションホイールへの道27ー

SHISEIGYO-CORE2の爆誕でございます。

 

 

SHISEIGYO-CORE2製作

フライホイール2個をM5Stack CORE2で制御します。

 

モータの接続用端子や5V降圧DCDCはM5Stack用BUSモジュールに実装してM5Stack CORE2に接続しました。

[bc url=”https://www.switch-science.com/catalog/6062/”]

電源は外部から24V ACアダプタから供給して、モータ用電源としています。
24VからDCDCで5V生成してM5Stack CORE2に給電します。

[amazonjs asin=”B07XNQFSB2″ locale=”JP” title=”24V汎用ACアダプター DC24V 5A 最大120W スイッチング式電源アダプター 24V LED テープライト・ビデオカメラ・監視カメラ用 アダプター パワーサプライ AC100V→DC24V 変換アダプター AC DC安定化電源”]

 

M5Stack CORE2には6軸IMUセンサ MPU6886が搭載されており、平面状の2軸(x, y)のセンサ値でそれぞれのモータを制御します。

 

完成!

 

動作

Adafruit CLUE 版ではディスプレイ表示のために遅延が発生しバランスが若干不安定でしたが、M5Stack CORE2はESP32が搭載されているのでデュアルタスクでディスプレイ表示とモータ制御実施で非常に安定しています。

起き上がり動作も現在調整中です。
下の動画は板をしいて少しモジュールを起こした状態での起き上がり動作です。

 

おわりに

今回は提供いただいたM5Stack CORE2で2軸姿勢制御モジュールを製作してみました。

まだまだ起き上がり動作の調整やディスプレイ表示のちらつき改善など課題がございますので、検討進めたいと思います!

 

それでは次の道で!!

次の記事

3軸 姿勢制御モジュール SHISEIGYO-3 改良 ーリアクションホイールへの道32ー

3軸 姿勢制御モジュール SHISEIGYO-3 の開発過程と今後の予定

HomeMadeGarbage Advent Calendar 2020 |23日目
Arduino Advent Calendar 2020|23日目

今夏より姿勢制御モジュールの開発に凝っており、以下のように

今から50日前に3軸姿勢制御モジュールの完成を想定していたのですが、開発にはつきもののイレギュラーなことが起こり
現在完成には至っておりません。

ここでは言い訳としまして3軸姿勢制御モジュール SHISEIGYO-3の開発過程と今後の課題をまとめさせていただきます。

 

 

SHISEIGYO-1

SHISEIGYO-3の前に開発したSHISEIGYO-1を簡単に紹介させていただきます。

1軸の姿勢制御モジュール SHISEIGYO-1はリアクションホイールを1個搭載して辺倒立します。
また物理ブレーキなしでの起き上がり倒立も実現しました。

 

SHISEIGYO-2

SHISEIGYO-3と並行して2軸の姿勢制御モジュール SHISEIGYO-2も製作いたしました。

 

SHISEIGYO-3 開発過程

ここにSHISEIGYO-3の開発過程を記します。

点倒立検討

まずはX軸とY軸の2軸の制御で点倒立は実現できると考え、M5Stack Core2を用いて
Y軸を真ん中のリアクションホイール、X軸をサイドのリアクションホイール2個で制御してみましたがうまくいきませんでした。

3軸 姿勢制御モジュール SHISEIGYO-3 への挑戦そして挫折 ーリアクションホイールへの道16ー

 

そこで3つのリアクションホイールを独立に制御しての点倒立を目指しました。
3つのモータを独立に制御するにはM5Stack Core2ではピンが足りなかったので、
真ん中のモータをM5Stack Core2で制御して、サイドのモータ2個をそれぞれATOM Matrix で制御しました。

更にフライホイ―ルのサイズを直径8cmのものから12cmに変更してトルクを向上させました。

 

恒久的ではないですが、3軸でのモータ制御で点倒立動作の確認をすることができました。

ちなみに筐体は3Dプリンタで作製しました。

マイコン削減

M5Stack Core2 とATOM Matrix 2個で点倒立動作を確認できましたが、もったいないのでM5Stack Core2のみでのモジュール制御を検討しました。

必然的にIMUセンサも1つになるので、座標変換して両サイドのモータ軸に対する角度や角速度を算出し倒立動作確認いたしました。

 

M5Stack Core2単体でモータ3個制御するにはピンが足りなかったため、ロジック制御ピンとして M5Stack用 I/O拡張ユニットを使用して対応しました。

 

しかし不幸なことに、ここでの作業の際に過電圧印可によりM5Stack Core2を壊してしまいました。。。

起き上がり辺倒立検討

マイコンを破壊してしまったので、ひとまず点倒立動作は置いておいて起き上がり動作の検討を実施いたしました。

SHISEIGYO-1は物理ブレーキなしにリアクションホイールの回転制御のみで起き上がり動作を実現しています。
SHISEIGYO-3でも物理ブレーキなしでの起き上がりを検討したところ。。。

モータから煙が出て壊れてしまいました。

要因としましてはフライホイールのサイズを大きくしたことと、モータ3個の実装を実現するためにSHISEIGYO-1よりもサイズの小さいものを使用しており負荷が大きくかかったためだと思います。

SHISEIGYO-1ではロングバージョンのブラシレスモータID-549XWを使用し、
SHISEIGYO-3ではショートバージョンのブラシレスモータID-529XWを3個使用していました。

起き上がりのために高速で回転し反転を繰り返して破壊しました。。。

物理ブレーキ検討

物理ブレーキなしでの起き上がりは断念して物理ブレーキの検討を開始しました。

TPUフィラメントを用いてバンドブレーキを製作し、サーボでブレーキを動かしての起き上がり辺倒立動作を実現することができました。

ここでは、筐体の倒立辺の角を丸めたり筐体を肉抜きして軽量化するなどの努力もしております。

ESP32採用

マイコンにESP32の開発ボードを採用しました。
潤沢にピンがあるので拡張ユニットなしに3個のモータを制御できました。

3軸 姿勢制御モジュール SHISEIGYO-3 ESP32とMPU6050の使用 ーリアクションホイールへの道22ー

 
IMUセンサとしてMPU6050を使用しディスプレイも付けました。

倒立角 動的再調整システム確立

安定的な点倒立を実現するためにモータの回転数をフィードバックして倒立のための目標姿勢角度を動的に調整するシステム(IDRS:Inverted angle Dynamic Readjustment System )を確立しました。

 

まだまだ恒久的とは言えませんが、IDRSによって長時間の点倒立が実現できています。
ショートバージョンモータを一個 燃やしてしまったため、両サイドのモータをショートモータID-529XW、
真ん中をロングモータID-549XWを使用しております。
この非対称性が恒久的点倒立を難しくしていると考えております。

以下はIDRSの効能を示す動画です。

起き上がり点倒立実現

バンドブレーキを両サイドのホイールにも搭載し起き上がり点倒立を検討しました。

 

バンドブレーキに皮を張るなどの改良も加えて、点倒立動作を実現することができました。

 

SHISEIGYO-3 今後の課題

今後の課題としまして、破壊してしまったショートバージョンブラシレスモータID-529XWを入手しID-529XW3個での安定点倒立の実現が挙げられます。

AliExpressで購入済ですが配送に時間がかかるので、入手次第取り掛かりたいと思います。

[bc url=”https://ja.aliexpress.com/item/4000995486260.html”]

 

おわりに

なんとか起き上がり点倒立動作の実現には至りましたがまだまだ完成とは言えない状況です。

これからもSHISEIGYO-3の開発に向けて昇進いたします。

さいごに開発年表を記します。

SHISEIGYO-3 開発年表

2020/10/15 SHISEIGYO-3の開発開始

2020/10/22 2軸制御での点倒立 断念

2020/11/09 3軸制御での点倒立動作 確認

2020/11/16 IMUセンサ 1個での点倒立動作確認
       M5Stack CORE2 破壊

2020/11/17 起き上がり動作検証時にブラシレスモータ破壊 

2020/11/18 物理ブレーキによる起き上がり辺倒立動作実現

2020/11/24 マイコンにESP32開発ボードを採用

2020/11/29 倒立角 動的再調整システム確立

2020/12/03 起き上がり点倒立 実現

 

M5Stackと私

HomeMadeGarbage Advent Calendar 2020 |13日目
M5Stack Advent Calendar 2020|13日目

今年は多くのM5Stack社製品を入手し堪能させていただきました。

入手した製品とその活用を振り返り、今後のM5Stack製品の活用への自身の触媒にできればと考えております。
私はこの振り返りをスイングバイと呼んでいます。

皆様の参考にもなれれば幸いと存じます。

 

 

UnitV

K210とカメラのみというシンプルなユニットで一目ぼれして購入しました。

[amazonjs asin=”B084X5795S” locale=”JP” title=”UnitV AI Camera”]

画像有線シリアル転送

UnitV で撮影した画像をシリアルでM5StickC に転送して表示してみました。

UnitV で画像シリアル転送の味見 ーエッジAI活用への道 12ー

 

UnitVとM5StackC 間はUnitVに付属された4ピンコネクタケーブルでつないだだけです。
UnitVにはバッテリは搭載されていませんがM5StackCから電源供給され駆動できます。

画像無線ストリーミング

UnitVと接続したM5StickCをサーバにしてUnitV撮影映像をストリーミングいたしました。

UnitV と M5StickC で動画ストリーミングを堪能 ーエッジAI活用への道 13ー

 
UnitVの撮影画像をストリーミングしてスマホのブラウザで表示しています。

画像認識

以前に作成したオリジナルの金魚認識モデルを用いてUnitVで金魚を認識してその座標から金魚のステータスを判別できるか検証しました。

オリジナル金魚認識モデルの生成 ーエッジAI活用への道 3ー

 
水槽の横にUnitVを配置して金魚の座標データを取得します。

 
取得した座標のグラフより1時~5時の間で明らかに移動量が減っており、就寝していることが見て取れました。

 

 

ATOM Echo

コンパクトな筐体にマイクやスピーカが搭載された高機能な製品です。

[amazonjs asin=”B08BXKLRL8″ locale=”JP” title=”M5Stack ATOM Echo スマートスピーカー開発キット”]

 
ATOM Echoを用いてコンシェルジュロボットを製作しました。

定期的に発話させるmp3のURLをラズパイサーバからATOMにUDPで送信します。
URLを受けてストリーミング再生し、その後にATOM Ech0に接続した気圧センサの測定値をサーバにUDPで返します。

気圧測定値を受けてサーバで気圧報告用の発話mp3 URLをATOMに送ってストリーミング再生します。

ATOMでのストリーミング再生中にサーボをランダムで動かしてティラノくんの口を動かします。

 

ATOM Matrix

25セルのLEDマトリクスが搭載されたコンパクトな製品です。

[amazonjs asin=”B0879JWK8F” locale=”JP” title=”M5Stack ATOM Matrix ESP32 Development Kit”]

バーサライタ

LEDマトリクスがついていますのでバーサライタを作ってみました。

回転計を自作

 
筐体は3Dプリンタで出力して作製しました。

 

上のバーサライタではLEDを5個しか使用せずもったいなかったので、LEDマトリクスを分断して25個全て使用するバーサライタも製作しました。

NeoPixel でバーサライタ検討

 
ATOM MatrixのLEDマトリクス基板をぶった切って、バー状にしました。
4mmピッチ 25セルのLEDバーが仕上がりました。
(こっちのほうがよっぽどもったいない)

 
1線式のNeopixcelですので高速で高分解能表示は難しいですが、狭ピッチなLEDバーができましたので、それなりのアニメーション表示が実現できました。

SHISEIGYO-1

ATOM Matrixを用いて1軸 姿勢制御モジュールを製作しました。

1軸 姿勢制御モジュール SHISEIGYO-1 完成 ーリアクションホイールへの道14ー

 
ATOM Matrixに搭載された慣性センサMPU6886で姿勢角を計測してモータを回して倒立動作を維持するモジュールです。

 
製作レシピも以下で販売しておりますので宜しくお願い致します(税込み 500円)。

https://shop.homemadegarbage.com/product/shiseigyo-1_recipe/

 

M5Stack Core2

オリジナルのM5Stackの最新版です。

[bc url=”https://www.switch-science.com/catalog/6530/”]

有難いことにM5Stack社様より提供いただき、2020/8/20には手元にあったので
日本一早くM5Stack Core2に触れていたかもしれません。

 
SHISEIGYO-1を3軸に拡張させたSHISEIGYO-3にM5Stack CORE2を使用してみました。

SHISEIGYO-1 作例と代替部品の紹介

 

 

こちらは安定した起き上がり点倒立を目指して目下開発中です。

3軸 姿勢制御モジュール SHISEIGYO-3 起き上がり点倒立達成 ーリアクションホイールへの道24ー

HomeMadeGarbage Advent Calendar 2020 |3日目

前回は倒立メソッドを確立し安定した点倒立実現の可能性を見出すことができました。

1軸 姿勢制御モジュール 物理ブレーキの検証 ーリアクションホイールへの道12ー

ここではいよいよ起き上がり点倒立を目指します。

 

 

ディスプレイ搭載

マイコンにESP32を使用しており、味気ないのでI2Cディスプレイを追加実装しました。

以下のディスプレイを使用しました。

[amazonjs asin=”B017M15MNE” locale=”JP” title=”EasyWordMall iic i2c OLEDモジュール ディスプレイ 0.96インチ ブルー&イエロー51マイクロコントローラ12864 Arduino用”]

上部(y = 0~15)がイエローで下部(y = 16~63)がブルーで表示されます。

 

ライブラリは以下を使用しました。
 https://github.com/adafruit/Adafruit_SSD1306

構成

ディスプレイ表示をデュアルタスクの別コアで処理するために、6軸センサMPU6050とは違うI2Cピンを設定して接続しました。

動作

各モータの姿勢角や各傾きをインジケータで表示するようにしました。

参考

 

ブレーキ追加

センターのホイールのブレーキと同様に、TPUフィラメントによるバンドブレーキを両サイドのホイールにも追加しました。

 

マイクロサーボで引っ張っています。

[amazonjs asin=”B07PHFQY6B” locale=”JP” title=”Miuzei サーボモーター マイクロサーボ 9g 10個セット デジタル・サーボ”]

 

動作

辺倒立後に、サイドの両ホイールを起き上がる方向に徐々に高速回転させて
ブレーキをかけて起き上げます。

 

 

やはりなかなか難しいです。。。もろもろ調整して起き上がり点倒立を目指します。

 

ホイールの最高速度やブレーキ解除時間や倒立時のフィードバック係数など各種パラメータを調整する必要があるので非常に難しいです。。
現代制御が分からないので古典制御でゴリゴリフィードバック係数いじって調整しています。。。

以下のようにスマホアプリBlynk を用いてESP32とBLE通信してパラメータ調整しました。

 

実現!!

まだ確度や倒立の安定性は低いですが、ついに起き上がり点倒立が実現できました!!

おわりに

できるかどうかもわからない状態から遂にここまで来ることができました!

今後は起き上がりの確度と点倒立時の安定性の向上を目指します。

最終的にはSHISEIGYO-1と同様に皆さんのご家庭でも楽しめるレシピにして提供できればと考えております。

それでは次の道で!

 

NGシーン

まだ点倒立が完全に安定してないのでOKもNGもないのだが。。

次の記事

はじめてのレザークラフト – キーケース製作 –

3軸 姿勢制御モジュール SHISEIGYO-3 安定点倒立メソッドの確立 ーリアクションホイールへの道23ー

前回はマイコンにESP32、IMUに6軸モーションセンサMPU6050を採用し、
ブラシレスモータを制御し点倒立調整の準備をいたしました。

3軸 姿勢制御モジュール SHISEIGYO-3 ESP32とMPU6050の使用 ーリアクションホイールへの道22ー

ここでは安定点倒立を目指し制御方法の検討を実施しましたので報告します。

 

 

点倒立に向けて

1軸の時のように単純に3つのモータを目標の角度で倒立させる制御をするのみでは下の動画のように倒立後に自転してしまいます。

この回転を抑えるために以下の2つの方法で検討をいたしました。

手法① 自転を検出してモータ制御

倒立後の自転時に各モータが一方方向に回転してしまうので、
モータ速度をフィードバックして回転を打ち消す方法を試しました。

 

しかし、余計に回ってしまい自転を抑制する方法を見出すことはできませんでした。

手法② 倒立後にモータの回転を抑制

続いて逆に倒立後にモータの回転を抑制する方法を試しました。

SHISEIGYO-3の各モータは以下の式でフィードバックをかけて制御しています。

$$T_m = -K_{d1}・θ_b-K_{d2}・\dotθ_b-K_{d3}・\dotθ_w$$
$$T_mはモータのトルク、θ_bはモジュールの傾き、\dotθ_wはホイールの角速度、K_{dx}はそれぞれの係数$$

上式の第三項によって、モータは倒立後も等速で回転することがあります。
例えば床が傾いていたり、センサの誤差や筐体自体がアンバランスな場合です。

この倒立後の等速回転のために点倒立時にモジュールが自転してしまうので、
ここではこの等速回転を抑えるような制御を試してみました(詳細は次節にて)。

完ぺきではありませんが、冒頭は非常に安定した倒立が実現されています。

したがってここではこのホイールの倒立後の等速回転を抑える手法を採用します。

 

倒立角 動的再調整システム

手法②では、倒立後のモータ回転速度を上式の第一項の角度にフィードバックして、
逐一 倒立ターゲット角度をモータ回転速度によって調整する手法を確立しました。

この手法を 倒立角動的再調整システム Inverted angle Dynamic Readjustment System (IDRS)と命名しました。

“IDRS” 非常にカッコいいです。

これによって倒立後に徐々に各モータの等速回転がゼロになる姿勢で安定するはずです。
しかし、前節の動画のようにまだ完ぺきには自転を抑えることはできませんでした。

更に工夫を加え、センターのモータはサイドのモータよりも急速にモータ回転速度の倒立角へのフィードバックをかけるようにしました。

なかかな惜しいです。
IDRSが効いているようですので、あとはパラメータ調整するのみです。

 

動作

IDRSのパラメータを調整して安定倒立を目指しました。

1分以上の点倒立が実現できました。
このIDRSを更に調整すれば恒久的な点倒立が実現できそうです。

SHISEIGYO-3は今後ディスプレイを付けたり、モータを変えたりブレーキを追加する予定ですので、
とりあえずメソッドは確立できたので更なる微調整は後に回したいと思います。
 

おわりに

ここでは安定点倒立を実現するメソッドIDRSを確立することができました。

次は起き上がり点倒立を目指したいと思います。

この道も佳境に入ってまいりました!
いろいろ難しいこともあるかと思いますが
諦めずに頑張ります!

それでは次の道でお会いしましょう。

次の記事

3軸 姿勢制御モジュール SHISEIGYO-3 起き上がり点倒立達成 ーリアクションホイールへの道24ー

3軸 姿勢制御モジュール SHISEIGYO-3 ESP32とMPU6050の使用 ーリアクションホイールへの道22ー

以前 M5Stack CORE2単体でブラシレスモータを制御して短時間ではありますが点倒立を実現しました。

3軸 姿勢制御モジュール SHISEIGYO-3 マイコン削減 ーリアクションホイールへの道19ー

 

しかし誤ってM5Stack CORE2を過電圧印可で破壊してしまい、これまでは物理ブレーキシステムの検討を行っておりました。

 

3軸 姿勢制御モジュール SHISEIGYO-3 物理ブレーキ検討2 ーリアクションホイールへの道21ー

 

ここでは、M5Stack CORE2の代わりにESP32評価ボードと6軸モーションセンサMPU6050を用いてみましたので報告させていただきます。

 

 

ESP32の利用

物理ブレーキシステムの検討もある程度メドがついたので、
そろそろどうしても点倒立の検討を行いたくなってしまいました。

 
ということでESP32評価ボードと6軸モーションセンサMPU6050でSHISEIGYO-3を構築することにしました。

[amazonjs asin=”B07MH58JS2″ locale=”JP” title=”Aideepen ESP32 ESP-32S Aideepen 2個セット ESP-32ワイヤレスWiFi Bluetooth 2.4GHz CP2102マイクロUSBデュアルコアESP32-WROOM-32開発ボード”]

[amazonjs asin=”B06Y2WW8DY” locale=”JP” title=”waves 2個 GY-521 MPU-6050 3軸ジャイロ+3軸加速度センサ”]

 

構成

ESP32評価ボードはM5Stack CORE2のように周辺部品がないので
ピンが潤沢にありモータ3つでも余裕で接続できました。

3つしか所有していないショートブラシレスモータID-529XWを1つ燃やしてしまったので、
真中モータをロングバージョンのID-549XWを使用しています(もうボロボロの状態でこの道を進んでおります。。。)

 

 

 
ちょっとディスプレイがないのが寂しいですが。。。

 

MPU6050のArduinoライブラリは以下を使用しました。
 https://github.com/ElectronicCats/mpu6050

MPU6050のDMP (Digital Motion Processor)は使用せずに これまで同様、
加速度センサとジャイロの生データをカルマン・フィルタかけて姿勢角と角速度を導出しました。

参考

 

動作

ESP32でも以前 確立した座標変換による制御でMPU6050ひとつでもモータ3つ制御して辺倒立が実現できております。

 

点倒立はあいかわらず回転してしまうので長時間できません。

 

おわりに

やっとこれで点倒立の安定性向上に向けて検討が開始できます!

パラメータ調整はスマホアプリBlynkをもちいてESP32とBLEで通信して実施する予定です。
ごっそりパラメータあるのでこれまた時間かかりそうです。。。

 

果たして安定点倒立は実現されるのでしょうか?
それでは次の道でお会いしましょう。

次の記事

3軸 姿勢制御モジュール SHISEIGYO-3 安定点倒立メソッドの確立 ーリアクションホイールへの道23ー

3軸 姿勢制御モジュール SHISEIGYO-3 物理ブレーキ検討2 ーリアクションホイールへの道21ー

前回はTPUフィラメントを用いてバンドブレーキを製作し、起き上がり倒立を実現しました。

3軸 姿勢制御モジュール SHISEIGYO-3 物理ブレーキ検討 ーリアクションホイールへの道20ー

ここでは前回の課題となったモータを3つ筐体に実装した状態での起き上がり辺倒立を目指します。

 

 

起き上がり辺倒立

モータ1個を実装した状態ではロングモータ(ID-549XW)でもショートモータ(ID-529XW)でも起き上がり辺倒立が確実にできるようになりました。

 

しかし、残りのモータを実装すると重量が増し高速(24V)状態でブレーキングしても起き上がれなくなってしまいました。。

 

筐体加工

SHISEIGYO-1と同様に倒立するエッジをφ6mmで丸めて再出力してみました。

 

 

動作

新筐体でショートモータ3つ実装した状態で起き上がり動作を試してみました。

無事に起き上がり辺倒立が実現されました!!

エッジ丸めるだけでだいぶ変わるんですね。
最初から丸めとくべきだった。。

おわりに

SHISEIGYO-3で起き上がり辺倒立が達成できたので次は安定点倒立を実現させて、
起き上がり点倒立を試してみたいと思います。

それではまた次の道で!!

追記

モジュールの総重量 (20/11/23)

どうもこのバンドブレーキではモジュールの総重量が990gを超えると起き上がれないということがわかりました。

 

内側の筐体の裏面を肉抜き加工して3Dプリントしてみました。

 

肉抜き加工で軽量化でき外側の筐体を全部つけても無事倒立できました!

 

以後はモジュールの総重量にも配慮して製作進めていきます。

次の記事

3軸 姿勢制御モジュール SHISEIGYO-3 物理ブレーキ検討2 ーリアクションホイールへの道21ー

3軸 姿勢制御モジュール SHISEIGYO-3 物理ブレーキ検討 ーリアクションホイールへの道20ー

前回はM5Stack Core2 ひとつでモータ3つを制御して長時間ではないですが点倒立動作を実現しました。

3軸 姿勢制御モジュール SHISEIGYO-3 マイコン削減 ーリアクションホイールへの道19ー

いよいよ長時間の点倒立を目指そうと思ったのですが、誤ってM5Stack Core2 に過電圧を突っ込んでしまい破壊してしまいました。。

仕方ないのでここではATOM Matrix を用いてSHISEIGYO-3の起き上がり動作を検討することにしました。
 

 

物理ブレーキなしでの起き上がり検討

SHISEIGYO-1は物理ブレーキなしで起き上がり倒立を実現しました。
SHISEIGYO-3も同様に物理ブレーキなしでホイールの回転制御のみでの倒立を試してみたのですが、全く起き上がらずしばらくするとモータから煙が出て壊れてしまいました。。。 😥 

 

SHISEIGYO-3はモータ3つを筐体に収めるためにSHISEIGYO-1で使っていたモータ(ID-549XW)より小さいモータ(ID-529XW)を使用しており、更にホイールも大きくなっているため負荷が大きかったのだと思います。

 

モジュールの総重量もSHISEIGYO-3は1kg以上なので物理ブレーキなしでの起き上がりは難しそうです。

 

試しにモータを1個にして軽くして、更にモータもサイズとパワーの大きいID-549XWにして、モータ電源24Vで最速で回転させてから反転させてもビクともしませんでした。。

 

SHISEIGYO-3の場合は物理ブレーキなしでの起き上がりは不可能であることがわかりました。

 

物理ブレーキ検討

起き上がりには物理ブレーキを使用するしかないことがわかりましたので
検討せざるを得ません。

物理ブレーキはSHISEIGYO-1の時に検討して失敗しているのでリベンジとなります。

1軸 姿勢制御モジュール 物理ブレーキの検証 ーリアクションホイールへの道12ー

 

aliexpressに姿勢制御モジュールが比較的安く売っており、その動画でブレーキ付きのモジュールがあるのを発見しました。

[bc url=”https://ja.aliexpress.com/item/4001229287395.html?channel=twinner”]

以下の動画の冒頭の機種がブレーキ付きの辺倒立モジュールです。

ホイールの側面を覆うようにブレーキが配置されアームを動かしてブレーキングしているようです。

これを参考に物理ブレーキを試作してみました。

 

まずTPUフィラメントでブレーキとなるリングを出力しました。

 

出力したブレーキを適当な長さに切って固定し、アームにはマイクロサーボを使用しました。

[amazonjs asin=”B07PHFQY6B” locale=”JP” title=”Miuzei サーボモーター マイクロサーボ 9g 10個セット デジタル・サーボ”]

動作

とりあえず調整なしでモータを起動させてみました。

なんと筐体がひっくり返るほどのトルクを得ることができました!!

筐体に固定したモータは1個のみでモータも大きいID-549XWを使用しています。

 

起き上がり動作

ブレーキのタイミングやホイールの回転数を調整して、起き上がり動作を実現させました。

ちなみにこちら 一方方向でしか起き上がれません。
サーボのトルクをあげればホイールの回転に負けずにブレーキング出来るかもしれませんが マイクロサーボは小さくて実装しやすいですし経済的なので
ひとまずOKとします。

 

おわりに

SHISEIGYO-3の筐体で物理ブレーキによる起き上がり辺倒立動作が確認できました。

起き上がり点倒立も夢ではないことがわかり大変うれしいです。
しかしまたまた課題が産出されました。以下の通りです。

  • 課題④-1
    ショートモータ(ID-529XW)でも起き上がり辺倒立が可能か?
     
  • 課題④-2
    モータを3つ筐体に実装しても起き上がれるか?
  • 課題④-3
    物理ブレーキ使用により電源電圧24Vを低減できるか?

 

前進するたびに課題がドンドン増えますが
また次の道で検討点実験進めたいと思います!

次の記事

姿勢制御装置とバーサライタの融合 ーリアクションホイールへの道50ー