「Arduino」タグアーカイブ

SHISEIGYO-1 Walker Jr. 差動駆動型リンク機構で歩行

0
0

前回はSHISEIGYO-1 Walker Jr. の足に平行リンク機構を採用し、ヒザのある歩行を実現いたしました。

SHISEIGYO-1 Walker Jr. ヒザ爆誕

ここでは差動駆動型リンク機構を試しましたので報告いたします。

 

差動駆動型リンク機構

差動駆動型リンク機構を用いれば、モータを上部に2個配置するのみでヒザ上げや足の前後移動が可能になります。

 

早速 Fusin360上でSHISEIGYO-1 Walker Jr. の足に差動駆動型リンク機構を取り入れてみました。

非常にいい感じです。

足製作

CAD設計した足を3Dプリントして組み立てます。

 

片足完成。うまくいった。

 

もう片方も完成。遂に憧れの屈伸運動ができるようになりました。

参考

  • ROBO-ONEにチャレンジ! 二足歩行ロボット自作ガイド

 

足動作検証

差動駆動型リンク機構の足が完成しましたので、歩行に向けて足踏み動作を確認しました。

 

機構の関節の締め付けが甘く足踏みのたびに回転してしまいましたが、調整で改善しました。

足踏み動作も実現されましたので いよいよ歩行に挑戦です。

 

逆運動学

差動駆動型リンク機構によって足先の上下、前後移動が可能になりました。
これまではサーボモータの角度を直接指定して動作させてきましたが、ここからは足先の座標を指定して逆運動学でサーボ角度を算出して制御します。

座標は以下のように定義しました。

 

逆運動学 算出

前方サーボの角度$θ_1$は余弦定理を用いて導出します。ちなみに$L$は大腿、下腿の長さ(36mm)。

$L^2 = L^2 + {l_d}^2 – 2{L}{l_d}\cos{θ_1}’  $

${θ_1}’ = \cos^{-1} \left(\frac{l_d}{2{L}} \right)$

$$θ_1 = φ + {θ_1}’  = φ +\cos^{-1} \left(\frac{l_d}{2{L}} \right) $$

$$      但し、φ = \tan^{-1} \left(\frac{x}{y} \right)$$

$$       l_d = \sqrt{x^2 + y^2}$$

 

後方サーボの角度$θ_2$も余弦定理を用いて導出します。

${l_d}^2 = L^2 + L^2 – 2{L}{L}\cos{θ_2}’ = 2L^2 – 2L^2\cos{θ_2}’$

${θ_2}’ = \cos^{-1} \left(\frac{2L^2-{l_d}^2}{2{L}^2} \right)$

$$θ_2 =\pi-θ_1-{θ_2}’ = \pi-θ_1-\cos^{-1} \left(\frac{2L^2-{l_d}^2}{2{L}^2} \right)$$

以上より、足先の座標(x, y)からサーボモータの角度を導出できるようになりました。

動作

まずは逆運動学で足の高さを指定して、屈伸と足踏み動作を確認しました。

なめらかで非常に良い動きです。サーボの駆動音も低減されました。

 

歩行

いよいよ歩行です。
SHISEIGYO-2 Walkerで検証した歩行メソッドを適応させます。

 

ヒザによる足上げを伴う歩行が遂に実現されました。

 

歩みを徐々に速くしてみた。

 

おわりに

ここではSHISEIGYO-1 Walker Jr. の足に差動駆動型リンク機構を採用し、さらに足を逆運動学で制御することでの歩行動作を確認いたしました。

差動駆動型リンク機構によって片足サーボ2個のみで足先の上下前後動作ができ、
逆運動学によってスムーズな移動が実現されました。

その半面、機構が複雑になったことにより足のブレも大きくなり若干バランスが悪化しフライホイールの調整は難しかったです。
今後の課題といたしましては差動駆動型リンク機構による足の製作の精度向上が挙げられます。

SHISEIGYO-1 Walker Jr. は1週間ほどで大きく進化しましたので、引き続き取り組んでいきます!

SHISEIGYO-1 Walker Jr. ヒザ爆誕

0
0

前回は1個のリアクションホイールでバランスする小型の2足歩行ロボット”SHISEIGYO-1 Walker Jr. “の誕生を報告いたしました。

SHISEIGYO-1 Walker Jr. ヒザ爆誕

今回は足について更に検討してみましたので報告いたします。

 

リンク機構

足の検討に際しまして、まずリンク機構について学習しました。
CADソフトFusion360で機構を構成し動作を確認します。

上はオーソドックスな平行四辺形型のリンク機構動作を試したものです。
上辺を水平に固定すれば、縦の辺をどの角度にしても下辺は水平を保っています。

図らずも前回作製した SHISEIGYO-1 Walker Jr. の足はこの機構を使用しており、
長辺2つをサーボで動かしている格好となっております。


ロボット犬 Mini Pupper の足もこの機構の変形版であることが分かります。

平行リンク機構

更に辺を追加した平行リンク機構の動作は以下の通りです。

上辺を水平に固定すれば、残りの横の辺は水平を保持します。
更にヒザのような機構がうまれ下部の辺の角度も変えることで人間のような足の動作ができております。

差動駆動型リンク機構

平行リンク機構では下腿の角度を変えるにはヒザより下にモータを配置する必要があります。
以下の差動駆動型リンク機構を用いれば、上部にモータを配置することが可能となります。

差動駆動型リンク機構は上部にモータを2つ配置して、大腿と下腿を制御できる素晴らしい気候であることを学びました。

参考

平行リンク機構による足

ここでは平行リンク機構を用いでSHISEIGYO-1 Walker Jr.の足を再構築しヒザのある歩行を目指します。

 

足上部の大体の辺2本をサーボで動かし、下腿は直角固定で動かしてみます。

平行リンク機構の採用でヒザができました!生命感が少し増したようにも感じます。
前回に比べ足が長くなり高くなったのでフライホイールは2枚重ねにしてトルクを向上しています。

しかし下腿は直角で固定しましたので足を後方に下げた際に逆関節になってしまいます。

より生物らしい歩行を目指すのであれば、差動駆動型リンク機構を導入する必要がありそうです。

引き続き検討を進めます。

 

次の記事

SHISEIGYO-1 Walker Jr. 差動駆動型リンク機構で歩行

SHISEIGYO-1 Walker Jr. 爆誕

1
0

これまでリアクションホイールでバランスする2足歩行ロボットを3体ほど製作してきました。

SHISEIGYO-1 Walker 参 を実現させたい俺6 ーバッテリ内蔵ー

この度、4台目の製作を実施いたしましたので報告させていただきます。

 

コンセプト

今回は足を小さく構築して、安定度を向上し素早い歩行を目指します。

 

足用のサーボモータにはFEETECH のミニサーボを採用しました。

製作

コントローラとIMUセンサはこれまでのSHISEIGYO-1 Walkerと同様にESP32とMPU6050を採用します。

ミニサーボFT1117Mを4個使用して足を構築します。

 

倒立動作

3Dプリントした足をサーボアームに固定。片足を2つのサーボを使用して構成します。

取り付けた足での倒立動作を確認いたしました。

歩行検討

サーボ角度をざっくり指定して歩行を試しました。それなりに歩けています。

 

歩行の可能性が確認できましたので、足の角度を正弦波形でスムーズに動かしてみます。
若干バランスが悪いですが立派に2足歩行ができています。

 

更にLiPoバッテリを搭載し、電源コードなしでの動作を実現しました。

SHISEIGYO-1 Walker Jr.

SHISEIGYO-1 Walkerの4号機として ここまで作ってきましたが 仕上がりが思いのほかこじんまりしたので、
セカンドブランド 『SHISEIGYO-1 Walker Jr.』を立ち上げることにしました。

足を小さく作ることができましたので、安定度も高く素早い動作も可能です。

足再検討

歩行動作の更なる安定を目指して、足の形状を変えてみます。

足幅を長くしました。

 

断面はエッジを立てています。

 

これにより、更に安定度が増し歩幅を大きくとることが可能になりました。

 

おわりに

ここでは新しいコンセプトのSHISEIGYO-1 Walkerの製作に取り組み、
SHISEIGYO-1 Walker Jr.がこの度 誕生いたしました。

これまでのSHISEIGYO-1 Walkerとは異なるフォルムと動作を実現でき大変良かったです。

(仕上がりが想像よりも地味であったため 完成時に少し心が折れたのはナイショ)

次の記事

SHISEIGYO-1 Walker Jr. 爆誕

Arduino MKR WiFi 1010 ベランダ太陽光発電 気象観測システム 1周年

0
0

2021年9月21日から本格運用を開始しましたベランダ太陽光発電 気象観測システムが遂に1周年を迎えました。

まだまだ元気に動いておりますよ。

 

構成おさらい

ベランダ太陽光発電 気象観測システムの構成は以下の通り。
マイコン Arduino MKR WiFi 1010に気圧センサ、温湿度センサとLiPoバッテリ、ソーラパネルを接続したのみです。

Arduino MKR WiFi 1010にはパワーマネージメントIC BQ24195Lが搭載されており、LiPoバッテリを接続してマイコンへの給電電圧生成やLiPoバッテリのチャージをコントロールします。

BQ24195Lの入力電源の定格が22Vと高い値であったことに着目し、ソーラパネルによる運用ができるのではと考え本運用が開始されました。

(Arduino MKR WiFi 1010のオフィシャルVin最大定格は6Vです。
実施の際は自己責任で宜しくお願い致します。)

部品

  • Arduino MKR WiFi 1010
  • 温湿度センサ SHT31
  • 大気圧センサーモジュール BMP280
  • LiPoバッテリ 1200mAh
  • 8W ソーラパネル

1年間のデータ

気温

札幌の年間の気温差はかなり広いですね。。

湿度

気圧

バッテリ電圧

LiPoバッテリ電圧も低下し続けることはなく、ソーラパネルより充電され電圧を保てています。

2022年6月末に急激に電圧が下がっていますが、こちらは風でソーラパネルが倒れていることに4日ほど気づかず電圧が低下してしまいました。
パネル設置し直したのちに正常に充電がされています。

ソーラパネル電圧

我が家のベランダは東向きで1日の日照量がそれほど多くないですが、無事に1年間動き続けてくれました。

思い出

1年間いろんなことがございました。

トンガ火山噴火

2022年 1/15~1/17トンガ火山噴火による衝撃波を気圧計で観測しました。
これには大変驚きましたし、思わぬ形で地球が丸であることを実感しました。

雪にも負けず

札幌は雪も多いので大変です。。。
こまめに除雪しますが、白いためか意外と全く発電されなということはなく電圧はそれなりに出るので気づきにくい。

パネルが2個ありますが本システムは右で、
左はコチラ☟

USB充電ステーション ーベランダ太陽光発電所への道8ー

温湿度センサ変更

温湿度センサは何種類か変更しております。
2022年4月にも変更しました。

Arduino MKR WiFi 1010 ベランダ太陽光発電 気象観測システム 1周年

データ取得頻度変更

2022年6月にはデータ取得頻度を10分→3分に変更しました。
バッテリ電圧低下も問題なく運用できております。

台風

台風が接近するとグングン気圧が下がる様子が観測されます (2022年9月)。

おわりに

簡素な構成で開始した本ベランダ太陽光発電 気象観測システムですが、無事に1年間元気に動いてくれました。

まだまだ元気に動いてくれると思うので引き続き気象データを楽しみたいと思います。

DCモータで点倒立 SHISEIGYO-2 DC  ーリアクションホイールへの道52ー

2
0

以前、ミニ四駆のDCモータを用いて1軸の姿勢制御モジュール SHISEIGYO-1 DC を製作いたしました。

SHISEIGYO-1 DC の製作レシピ

 

ここではミニ四駆 DCモータを用いての2軸 姿勢制御モジュールを製作し点倒立を目指しました。

 

構成

構成は単純にSHISEIGYO-1 DC のモータ駆動部を2倍にしただけです。
ホイールが倍になり制御ピンが増えたのでコントローラにはM5Stack Core2 を採用しました。

モータドライバDRV8835はモータを2個駆動できますが駆動能力向上のためにモータ1個に対してドライバ出力をパラにして使用しています。

モータの回転は磁気エンコーダで検出します。

部品

筐体ベース組立て

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

 

M5Stack core2 はM5Stack Japan Creativity Contest 2021 の景品の金ぴかのモノを使用します。実にゴージャスです。

制御コードは以前ブラシレスモータで製作したSHISEIGYO-2のものをベ-スにDCモータ用にカスタマイズしました。

 

モータとエンコーダを3Dプリントした筐体に固定

 

電気結線

モータドライバやエンコーダをブレッドボードを使用しつつマイコンに接続してピン配を検討します。

 

使用ピン決定後にはんだ付け。
結線にはM5Stack用BUSモジュールを用いました。

 

 

 

倒立動作確認

いよいよ倒立動作を目指します。

倒立時のモータの制御パラメータは以前のSHISEIGYO-2の時と同様にCore2のタッチパネルで調整します。

辺倒立

以下のような三角柱の治具を3Dプリントして、まずは辺倒立動作を確認します。

 

X軸 OK

 

Y軸 OK

点倒立

各軸での辺倒立が確認できましたので、三角柱を点倒立用の棒に変えて倒立動作を目指します。

 

だいぶ いい感じに

 

点倒立達成!!


比較的大きなCore2を載せてDCモータで2軸での点倒立の実現には若干の不安がありましたが無地に達成することができました。

 

SHISEIGYO-1 Walker 参 を実現させたい俺6 ーバッテリ内蔵ー

4
2

前回はSHISEIGYO-1 Walker 参 の歩行動作の実現を確認できました。

SHISEIGYO-1 Walker 参 を実現させたい俺6 ーバッテリ内蔵ー

SHISEIGYO-1 Walker 参はリアクションホイールでバランスをとり、格安シリアルサーボLX-244で構成された足で歩行します。

 

バッテリ内蔵

高トルクのシリアルサーボLX-244で足を構成しましたので、念願だったバッテリ搭載を実施しました。

構成

部品

動作

無事にバッテリ搭載できました。
電源コードなくなって快適♪

歩行

バッテリ内蔵でコードレス化に成功したのでどこまでも歩けるはずですが、
なかなかスピード出せず安定性含めて調整が必要です。

もっとサクサク歩けるようにして一緒に散歩行きたいな。

SHISEIGYO-1 Walker 参 を実現させたい俺5 ー歩行検討3ー

0
2

だいぶ期間があいてしまいましたが、シリアルサーボLX-244で足を構築しリアクションホイールでバランスをとる二足歩行ロボット”SHISEIGYO-1 Walker 参” の歩行検討を実施いたしました。

前回は歩行動作の自動化を目指し歩行動作をプログラミングしましたが上手くいかず、サーボのギアに若干遊びがあるためではないかと結論付けました。

SHISEIGYO-1 Walker 参 を実現させたい俺4 ー歩行検討2ー

 

前回のおさらい

前回は歩行の自動化を試みましたが、機体の振動が大きく実現できませんでした。

 

シリアルサーボLX-244には若干ギアの遊びがあり、これが振動の原因でないかと考えました。

ギアの遊び低減検討

前回の段階でバネでギアの遊びの低減する方法のアドバイスをいただいておりましたので 試してみました。


ちょうどよいバネをダイソーで見つけました。

 

このバネを機体の股関節2か所に3Dプリントした治具を用いて固定しました。

 

この状態で歩行を試してみたのですが大きな改善はなく、そもそも股関節のロール軸サーボを固定する土台の強度が弱いことに気づきました。

股関節強度改善

ロール軸サーボの固定があまいことが判明しましたので、バネは取り外して3Dプリントした板治具で強化しました。

 

前面と裏面に治具でねじ止め固定しました。倒立が非常に安定しました♪


サーボの問題ではなく単純に私の作りこみがあまいだけでした。
サーボを疑ってしまい申し訳ございませんでした (m´・ω・`)m ゴメン…

歩行検討

股関節サーボの固定を強化し倒立が安定したので、早速歩行動作を実施しました。

見事に一歩踏み出せました!!

 

もう一方の足でも踏み出せました!!

おわりに

ついにSHISEIGYO-1 Walker 参 の歩行動作が実現できました!

当初はシリアルサーボLX-244のギアの遊びで歩行動作は無理だと思っていましたが、単純に作りこみがあまいだけでした。。。
当たり前ですがロボットは頑丈に作らないといけませんね。
いずれ金属加工なども検討したいものです。

しかし、ここでは大きな進捗を得ましたので、次に向けて頑張りたいです。

歩行動作の最適化やバッテリ内蔵など検討いたします。

次の記事

SHISEIGYO-1 Walker 参 を実現させたい俺6 ーバッテリ内蔵ー

SHISEIGYO-1 Walker 参 を実現させたい俺4 ー歩行検討2ー

0
0

前回はシリアルサーボLX-244で構築した足の形状を検討し、遠隔で足の位置を手入力で指定しながら足を交差させての一歩を踏み出すことができました。

SHISEIGYO-1 Walker 参 を実現させたい俺1 ーサーボ味見ー

 

ここでは手動による足座標指定ではなくシーケンスをプログラムしての歩行を目指します。

 

 

歩行シーケンス検討

以下は手動で足座標指定して歩行の一歩を踏み出した動画です。

 

ここでは歩行動作のシーケンスを組んで自動で歩くことを目指しました。

足を前方に出すまでは非常にスムーズに実現できました。

しかし。。。

足を前に出した次は出した足を下げる動作に入ります。

 

 

足を閉じる際に機体が震えてリアクションホイールによるバランスの保持が難しい状態になってしまいます。。。

 

要因考察

動作中に機体が震えてバランスを崩す現象はたびたび起こりなかなか歩行動作の実現ができない状況です。

要因としまして
若干サーボのギアに遊びがあり動いてしまうために、特定の姿勢で機体が震えリアクションホイールでのバランス保持が難しいためであることがわかりました。

 

 

シリアルサーボLX-244は低価格ではありますが高トルクで指定角度への移動精度も高く歩行動作実現が 可能であると考えたのですが、大きな壁にぶち当たってしましました。

 

おわりに

ここでは歩行動作の自動化を目指しましたがサーボの機械的精度のために実現には至りませんでした。

サーボギアの遊びによる振動をどうにかしないといけないわけですが、SHISEIGYO-1 Walker 初号機で使用したサーボKRS-3301 ICSではサーボ停止時の振動は無かったので、
このシリーズのサーボで高トルクの製品を採用すれば解決する可能性はあります。
しかし、非常に高額となってしまいます。

 

バネによる補助のアドバイスをいただいたので次回はコチラを検討したいと思います。

 

それではまた。

次の記事

SHISEIGYO-1 Walker 参 を実現させたい俺5 ー歩行検討3ー

SHISEIGYO-1 Walker 参 を実現させたい俺3 ー歩行検討1ー

0
0

前回はシリアルサーボLX-244で2足を構築し、リアクションホイールによる自立動作を確認しました。

SHISEIGYO-1 Walker 参 を実現させたい俺1 ーサーボ味見ー

ここからはついに歩行に向けて検証進めたいと思います。

 

 

足の形状検討

歩行検討の前に更なる安定性向上を目指し、足先の形状を再検討しました。

 

足自体の高さを低くし幅広くして、傾いた際にフレームが接触しないようにしました。

動作確認

新しい足によって主に高さ低減のために安定性が向上し以下のように、かなり高速に前後の重心移動ができるようになりました!

この時点でシリアルサーボLX-244の精度とトルクには大きな問題はないことを確信いたしました。

 

歩行検討

遂に歩行にむけて検討を開始します!

まずはBLEを介してコントローラのESP32と通信して、地道に足座標を指定して動作確認します。

かなり道のりは険しそうです。。

足形状再検討

歩行検討の際に足を交差させるときに接地してる足を下げるとバランスを崩して前方に転ぶので足先を長くすることにしました。

歩行検討

新しい足で歩行動作を検討しました。

 

足の交差に成功し、一歩踏み出すことができました!!
以下は10倍速動画です。

おわりに

ここでは足の形状の検討を実施して安定性を向上し、足を交差させての一歩を踏み出すことができました。

次は手動によるものではなくシーケンスをプログラムしての歩行を目指します。
なるべく早い周期での歩行を目指したいと考えております。

それではまた。

次の記事

SHISEIGYO-1 Walker 参 を実現させたい俺4 ー歩行検討2ー

SHISEIGYO-1 Walker 参 を実現させたい俺2 ー倒立実現ー

0
0

前回はシリアルサーボLX-244を用いて片足動作を確認しました。

SHISEIGYO-1 Walker 参 を実現させたい俺1 ーサーボ味見ー

 

精度も良くSHISEIGYO-1 Walker の実現に使えそうと判断しましたので、ここでは更に検証を進めます。

 

 

両足構成

シリアルサーボLX-244を追加購入し、片足4つずつ計8個のサーボを用いて両足動作を確認しました。

前回同様に専用のコントローラを介してArduino UNOで制御しています。

力強く非常にスムーズでいい動きです。

 

リアクションホイールも搭載してみました。
こちらはESP32で直接 シリアルサーボLX-244を制御しています。

サーボのトルクも十分で全く問題ないようです。

 

リアクションホイールによる倒立

足先をかまぼこ状にして、倒立動作を確認します。

 

倒立動作を確認しました。しかし若干安定度に欠けます。

 

フライホイールを2枚から3枚に増やしてみました。

 

重心前後運動

倒立の安定度確認や足の構成の調整チェックを重心の前後移動動作で実施しました。
もろもろ調整しつつ動作確認。

 

足の形状や取り付け位置を調整して安定して重心移動ができるようになりました。

 

おわりに

無事にリアクションホイールによる倒立で重心移動まで確認できました。
シリアルサーボLX-244の動作精度には全く問題がないと現状では考えております。

ここからは歩行に向けて検証進めたいと思います。

次の記事

SHISEIGYO-1 Walker 参 を実現させたい俺3 ー歩行検討1ー

SHISEIGYO-1 Walker 参 を実現させたい俺1 ーサーボ味見ー

0
0

これまで2機種のリアクションホイールによってバランスする2足歩行ロボットを製作してきました。

初代のSHISEIGYO-1 Walker は歩行には成功しましたが使用したシリアルサーボ(KRS3301)のトルクが十分でなく、重心が低くゆっくりとした動作となりました。

 

二代目のSHISEIGYO-1 Walker 弐 は高トルクのPWMサーボ (RDS3218) を採用し素早い動作が可能となりましたが、サーボの動作角度の精度が低く足を交差させる歩行は断念しました。

 

いつかは高トルクで高精度のサーボモータを入手し完全版のSHISEIGYO-1 Walker 参 を実現したいと考えておりました。

近藤科学のシリアルサーボではKRS2572が高トルクであり、恐らく精度も高いと思われます。

但し、非常に高額です。。。

 

SHISEIGYO-1 Walker 参 の実現はしばらく難しいと考えておりました。
しかし先日 高トルクで低額のシリアルサーボを見つけましたので、ここではそのサーボの精度を検証してみましたので報告いたします。

 

 

シリアルサーボ LX-224

以下のシリアルサーボ LX-244を購入しました。トルクも十分で価格もPWMサーボと変わらないです。

サイズはPWMサーボ RDS3218 と同じです。

 

専用のコントローラも購入しました。

 

動作はコントローラと専用ソフトを使用して割と簡単にできました。サーボIDを割り当てたり、動作のシーケンスも組むことができました。

 

精度比較

LX-244の動作精度を PWMサーボ RDS3218 と比較してみました。

シリアルサーボ LX-244のほうは明らかに制動がかかっており精度もバッチリのようです。
上の実験ではLX-244の動作速度を最速で実施しているので若干オーバーシュート気味です。これは動作速度の調整で改善できそうです。

動作精度もさることながら各種パラメータを取得できることもシリアルサーボの魅力ですね。

 

片足構築

LX-244を3個使用して足を構築しました。
制御は専用コントローラにArduino UNOから信号を送って実施しました。

マイコンからの制御は以下を参考にしました。

 

屈伸動作

力強く割と滑らかな動作が実現されました。

 

コレはSHISEIGYO-1 Walker 参 の実現も夢ではないかもしれません。
引き続き検証進めます。

次の記事

SHISEIGYO-1 Walker 参 を実現させたい俺3 ー歩行検討1ー

Arduino MKR WiFi 1010 ベランダ太陽光発電 温湿度センシング検討

0
1

2021/9/22からベランダに設置している、太陽光発電 気象観測システムが止まることなく無事に北海道の厳しい冬を越すことができたことを前回報告させていただきました。

RaspberryPi サーバ & WordPress ブログ を XSERVER に サーバ移転

 

長い冬が終わり気温が上がってきまして、ずーっと保留にしてきた比較的気温が高い時に発生する温度と湿度の値の跳ね上がり現象が現れ始めました。

 

腰を据えてこの問題と向き合いましたので報告いたします。

 

温湿度センサ交換

これまで温湿度センサはDHT11からDHT22にかえて運用してきましたが、いずれも値の跳ね上がり現象が発生しています。

Arduino MKR WiFi 1010 をソーラで楽しむ 3 -温湿度センサ変更-

新温湿度センサ SHT31

凝りもせず再び温湿度センサを変えてみました。

https://github.com/adafruit/Adafruit_SHT31

 

 

しかし、結果は変わらず日中に値が上昇する結果となりました。。。

ということは日中お弁当箱の中は確実にこの温度になっているということです。

 

お弁当箱 加工

お弁当箱を百葉箱のように通気性がよく直接日光が当たらないように工夫しました。
側面に穴を複数開けて、フタにプラ板で天井を設けました。

あっさり解決しました。。w

屋根が効いたようです。早く気づけよという話ですね。。。

温湿度センサのDHT11とDH22  疑ってごめんなさい 😥

 

引き続き運用続けます。

追記

2022/6/1 データ取得頻度変更

 

データ取得頻度を10分から3分に変更しました。
消費電力は増えますが問題なく太陽光発電で運用できています。

次の記事

Arduino MKR WiFi 1010 ベランダ太陽光発電 気象観測システム 1周年

SHISEIGYO-1 Walker 弐 を実現させたい俺2 ー歩行検討ー

0
0

前回は高トルク中華サーボで足を構築して、リアクションホイールでバランスをとるロボット(2号機)を検討しました。

SHISEIGYO-1 Walkerを実現させたい俺2 ー歩行検討1ー

 

サーボの大きさや動作角度の精度を鑑みて以下のようなガニ股型のロボットにいたしました。

 

ここでは歩行を検討いたしました。

 

 

歩行検討

重心を片足に載せて、他方の足を上げて進行方向に出し重心をシフトして他方の足を戻すを繰り返します。

歩幅は1cmと大きくないですが
流石 20kg・cmと高トルクのサーボなので、かなり高速の重心移動が実現できました。

 

足底をかまぼこ状にしてリアクションホイールでバランスをとっているので、床が傾いても足が滑らなければ平気でバランスして歩行します。

 

SHISEIGYO-1 Walker

1軸のリアクションホイールでバランスとりつつ 2足歩行するロボットは今回で2台目の製作となります。

 

1号機はシリアルサーボ KRS3301を使用しました。 トルクが足りず( 6.0kg・cm)、ゆっくりとした歩行しかできませんでした。

 

今回 高トルクのサーボの使用で速い重心移動が確認できましたので、次回は高トルクでかつ精度の高いサーボを使用して高速での足を交互に進める歩行を目指したいです。

KRS-2572あたりが最適でしょうか。価格も高いので少しづつ集めて製作進めたいと思います。

 

おわりに

ここでは高トルクPWMサーボでのSHISEIGYO-1 Walker 2号機の歩行を検討しました。

課題は残りましたが、それは希望とも言え リアクションホイールによるバランス機構を用いてスムーズに2足歩行するロボットの実現確度はかなり自身の中で向上しました。目を閉じればもう姿が見えているほどです。

ただ理想と考えるサーボを導入するには資金が必要となりそうなのでコツコツ貯めていきたいと思います(過剰な労働は絶対にしたくないので)。

 

余談ですが。今回 SHISEIGYO-1 Walker 弐 をTwitterにアップしたところ、以下のようであると感想をいただきました。

  • チャップリン
  • どじょうすくい
  • タイムボカンエンディングテーマで出てくるマージョ一味

ガニ股がレトロな印象を与えているのでしょうね 😆 

そういえば平成以降ガニ股はとんと見なくなった気がいたします。
現在ガニ股は競合がいない状況ですので何かチャンスがあるかもしれません。

SHISEIGYO-1 Walker 弐 を実現させたい俺1 ーキックオフー

0
0

以前に姿勢制御リアクションホイールに足をつけて2足歩行ロボットを製作しました。

シリアルサーボで足踏み -シリアルサーボと距離を詰めたい俺4-

 

1号機のSHISEIGYO-1 Walkerはシリアルサーボ KRS3301を使用しておりました。

ゆっくりではありますが、リアクションホイールによる自律的重心移動動作を実現し2足歩行を実現できました。
但し、サーボのトルクが6.0kg・cm程度と低くホイールを重くできないなどの制約もありました。

ここでは足に使用するサーボモータをかえて2号機 (SHISEIGYO-1 Walker 弐) の製作を実施します。

 

 

サーボモータ入手

AliExpressで高トルクのサーボを購入いたしました。

 

アルミフレームもついて連結しやすく、簡単に足的なモノを構成できました。

ちなみに上の動画で使用してるコントローラは以下。
50HzのDuty 5~10%のPWM信号を出力します。

 

 

合計8個のサーボで両足を構成して、ESP32の評価ボードとモータドライバ PCA9685で動かしてみました。

 

 

屈伸動作は逆運動学で足高さを指定して動かしています。

SHISEIGYO-1 Walkerを実現させたい俺2 ー歩行検討1ー

 

SHISEIGYO-1 Walker 弐 製作

ESP32の評価ボードとモータドライバ PCA9685にIMUセンサMPU6050を加えて、更にブラシレスモータを制御します。

 

組立てました。
1号機のSHISEIGYO-1 Walkerより大きくなりました。
足は同様にかまぼこ状です。

 

倒立も実現できましたが、高さがあるためか少しフラフラしています。

ホイールは市販のアルミホイールを2枚重ねにしておもさが約125gありますが、サーボが強力なので全く問題ありません。
3枚重ねにして更に重くして試してみましたが、モータが熱くなって苦しそうなので2枚にしました。

調整

倒立がフラフラなので、極力ホイール高さを低くしてみました。
足の付け根を上げて、モータ固定位置を下げました。

 

だいぶ安定してきました。

 

BLEでESP32に信号をおくって手動で前後動作させました。

若干不安定で怖いです。。

再調整

色々足の構成を変えて、高さを低くして安定性の向上など目指しましたがあまりうまくいきませんでした。

 

足の高さを変えると足を交差させて足底を一直線にする際に他方の足に干渉してしまうなどの問題がありました。

またこのサーボの場合 角度指定の際にばらつきがあり(正方向と逆方向時に静止位置が異なったりする)、複雑な動作は難しいかなという結論に至りました。

 

方針変更

今回のサーボは高トルクですがサイズが大きく角度の精度も低いので、1号機のように足を交差させての歩行は難しいと判断しました。
以下のような構成にして歩行を目指すことにしました。

足をロールさせるサーボを減らして、足1本あたり3個のサーボ
合計6のサーボを使用して足を構成しています。

 

前後動作も比較的安定しているので、歩行動作にも可能性ありです。

 

ちなみに足底はかまぼこ状なのでホイール回転なしでは自立しません。

 

 

おわりに

ここでは高トルクの中華サーボでのリアクションホイール2足歩行ロボットの製作を開始しました。

製作の過程でサーボの特性を理解しつつ調整を重ねだいぶ方針が固まってきました。

次回は歩行を目指したいと思います。

それではまた。

次の記事

SHISEIGYO-1 Walker 弐 を実現させたい俺2 ー歩行検討ー

Arduino MKR WiFi 1010 ベランダ太陽光発電 気象システム 無事越冬

0
0

2021/9/22からベランダに設置している、太陽光発電 気象システムが止まることなく無事に越冬できました。

Arduino MKR WiFi 1010 をソーラで楽しむ 1 -ベランダ気象データ測定-

 

 

 

気象システム

システムのおさらいです。
Arduino MKR WiFi 1010 に温湿度センサと気圧センサを接続し、LiPoバッテリを8Wソーラパネルで充電しながら運用しています。
10分おきに起床してLiPoバッテリ電圧とソーラ発電電圧と気象データ(温度、湿度、気圧)をUDP送信してスリープします。

 

  • Arduino MKR WiFi 1010

     
  • 温湿度センサー DHT22

     
  • 大気圧センサーモジュール BMP280

     
  • LiPoバッテリ 1200mAh

     
  • 8Wソーラパネル (6V用)

パワーマネージメント

Arduino MKR WiFi 1010には入力定格22VのパワーマネージメントIC BQ24195Lが搭載されており、コントローラ用のロジック電源生成とLiPoバッテリの充電動作を実施しています。

高い入力電圧耐圧のBQ24195Lのおかげで開放電圧10.8Vの8W出力のパネルソーラパネルを直接Vinに接続することができ、LiPoバッテリを充電しながらの長期運用が実現できました。

但しArduino MKR WiFi 1010のオフィシャルVin最大定格は6Vです。
実施の際は自己責任で宜しくお願い致します。

参考

 

無事に越冬

本システムをベランダに置いて2021/9/22から運用し、
2022/3/17まで止まることなく動き続けています(176日連続動作)。
引き続き運用していく予定です。

気温

気圧

湿度

LiPoバッテリ電圧

ソーラパネル電圧

 

データをブラウザでみえる化

お母ちゃんに気象システムからのデータをブラウザから見れるようにしてもらいました。

RaspberryPi サーバ & WordPress ブログ を XSERVER に サーバ移転

これで端末からいつでも気象情報をチェックできます。

 

氷点下時のバッテリ電圧

気温が-8℃以下になるとバッテリ電圧の低下がみられました。

気温

LiPoバッテリ電圧

 

ソーラパネルからの電圧は普段通り供給されているので、低温によるバッテリ電圧の低下といえます。

ソーラパネル電圧

 

バッテリ電圧低下時でも3.8V以上を保持しており、システム動作に異常はありませんでした。
気温が-10℃以下になると危なかったかもしれませんが、今冬は無事に超えることができました。

 

トンガ火山噴火 衝撃波

2022/1/15のトンガ火山噴火の衝撃波による気圧変化を本システムでも観測しました。

 

 

逆方向と2周目の3回のピークを観測しました。
これには非常に驚きました。

 

 

温湿度センサ

観測当初から見られた温湿度センサの値の跳ね上がり現象がここ最近再びみられるようになりました。

 

同様に湿度にもピークが出るので温湿度センサDHT22の何かに起因しているものと考えています。

 

こちらはセンサ交換も視野に入れつつ、原因検証すすめます。

 

おわりに

Arduino MKR WiFi 1010 ベランダ太陽光発電 気象システムの長期運用状況について報告いたしました。

すでに冬を超えて半年近く動作しています。
特殊機材の追加なしにマイコンとソーラとバッテリとセンサのみで実施できる非常に経済的なシステムであるといえます。

今後は温湿度センサのピーク値の原因解明と現行では10分おきのデータ取得周期を消費電力と相談しながら縮めていこうと考えております。

次の記事

Arduino MKR WiFi 1010 ベランダ太陽光発電 気象システム 無事越冬

球体POVつくってみた -球体POV製作への道 その10-

0
0

先日、スリップリングを用いて姿勢制御モジュールとPOVの融合による新たな表現を検証いたしました。

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

 

ここでは姿勢制御POVの機構をそのまま流用して、長年の夢であった球体POVを作ってみました。
およそ6年かかった”球体POV製作への道”ついに完結です!

LEDテープ比較 Neopixel vs Dotstar -球体POV製作への道 その7-

 

 

筐体製作

6年前とは異なり、現在の私には良いブラシレスモータと素晴らしい3Dプリンタがございます。

直径10cmのリングを3Dプリントし、

 

SPI LEDテープ (41セル) をリングに貼り付けて、姿勢制御POVのホイールの代わりに固定しました。

 

簡単に球体POVが完成してしまいました。テクノロジーの進歩を感じずにはいられません。

構成

 

球体POV動作確認

まずはリングのみを載せて回転させてみました。
3Dプリントしたリング自体は軽いので問題なく高速回転できています。

 

リングの片側にLED (21セル) を付けて動作確認
ブラシレスモータのエンコーダ出力 (1周 100パルス) でLEDの色を変えて表示を確認しました。

問題なく1周100分割でRGBY 4色で点灯できました。

 

リングのもう一方に20セルのLEDを貼り付けます。他方のLEDの間にセルが配置されるように貼り付けました。

合計で41セルのLEDとなりましたが無事に1周100分割でRGBY 4色で点灯できました。
回転速度は約1400rpmです。24V ブラシレスモータはさすがに速いです。

 

LEDセルを増やしたことで表示密度も向上いたしました。

 

全白で表示させてLEDの位置による光の違いの有無の確認を実施しました。

LEDの場所 極に近いほど経路長が短くなるので 明るさに違いが出るかと思いましたが、 それほど差はありませんでした。
正面から見ると発光方向が傾くのでいい感じに 均等になっているのかもしれません。

表示画の経路長輝度補正の必要はいらないと判断しました。

 

動作

アスペクト比 2:1の地球の絵を表示してみました。
 Equirectangular-projection.jpg 

画像を100×47の画像に縮小し、各ピクセルの色を検出しLED用のファイルに変換し表示させました。

LEDセルは41ですがリング下部の接続部にはLEDがないので縦47ピクセルとしました。

それほど画素数は多くないですが、なかなかきれいに表示されました!

 

おわりに

ここでは前回に製作した姿勢制御POVを流用して、長年の夢であった球体POVを製作しました。

約6年前に球体POV製作への道を立ち上げて頓挫しておりましたが
この間に3Dプリンタを入手しハンディーバーサライタや姿勢制御モジュールを製作し、
技能の向上と良い部品とのめぐりあわせがあり この度容易に完成させることができました。

いろんな絵を表示させてみたいのですが なかなか球体を展開した画像を用意するのは難しいものですね。
画像生成方法も検討しないといけません。

 

追記

2022/3/13 絵の表示について

球体POVを製作されている やまたい@ものつくり さんから
球体中央は画像修正しなくてもいい感じに絵が表示できるというアドバイスをいただきました。

 

試しにうまい棒のアイツで試してみました。
以下のように真ん中に顔を配置してアスペクト比2:1の画像にして表示してみました。

 

なかなかいい感じ♪

 

小学館のアイツも同様に表示

 

本当に極端な加工なしでも絵だしできますね。
色々表示させて楽しみたいと思います。

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

0
0

前回は 1軸 姿勢制御モジュール SHISEIGYO-1のホイールにLEDをつけてバーサライタ動作させてみました。

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

 

姿勢制御モジュールのホイールはバランス状況によって正転・逆転及び回転スピードが変わるので、安定した画の表示は出来ませんでした。

 

スリップリング

前回はホイールにLEDと制御用のマイコン(Adafruit Trinket M0)と回転検出用フォトリフレクタを載せてワイヤレスチャージモジュールで無線電源給電しました。

ここでは画の表示にホイールを駆動するブラシレスモータのエンコーダ出力を使用したいと考えました。
エンコーダによる回転検出値でLEDの点灯パターンを制御すればホイールの正転・逆転及び回転スピードが変わっても表示する画に影響はありません。
しかし問題はどのようにエンコーダ出力値をLED制御に反映させるかです。

そこで遂にスリップリングに手を出してしまいました。

 

スリップリングは回転部に電源線や信号線を接続できるコネクタです。

 

ここでは4線のスリップリングを用いて回転部のSPI入力LEDと接続します。

 

SHISEIGYO-1 POV 構築

購入したスリップリングをSHISEIGYO-1のモータに通したかったのですが、シャフトが短く埋もれてしまいました。。

 

マウントハブと平行ピンでシャフトを延長してスリップリングとフライホイールを固定しました。

 

凄く仰々しくなってしまいました。。

完成

スリップリングの回転部用の配線に11セルのLEDを接続し、他方の配線をSHISEIGYO-1のコントローラであるATOM Matrixに接続します。

 

ATOM Matrix (デュアルコア) で姿勢制御しつつモータエンコーダ出力(1周100分解能)に基づいてSPI LEDを制御します。

 

動作

まずはホイール1周を4分割して4色で発光
エンコーダで回転位置を検出してホイール速度や正転・逆転に依存しない表示を確認。

倒立動作も問題なく出来ています。

 

アニメーション表示

LEDのセル数が少なく回転速度も一定ではなくそれほど早くないので、きれいな表示は出来ていませんがスリップリングの使用によってかつてない表現が実現できました。

 

おわりに

ここでは初めてのスリップリング体験を堪能し、姿勢制御モジュールとPOVの融合による新たな表現を検証いたしました。

今後はスリップリングを用いたガチPOVの製作も検討したいなと考えております。

それではまた。

次の記事

DCモータで点倒立 SHISEIGYO-2 DC  ーリアクションホイールへの道52ー

デジタルおかもち2

0
0

前回はサーボモータを用いてデジタルおかもちを製作しました。

デジタルおかもち

前回において以下の課題や疑問が生じました

  • サーボの応答が遅いのか
  • 制御が遅いのか
  • そもそも制御の思想自体が誤っているのか
  • 手で持って移動させているのが悪いのか(実際サーボの移動に影響されてリンギングすることもあった)

 

 

ブラシレスモータを試してみた

試しに姿勢制御モジュールSHISEIGYO-1のブラシレスモータでデジタルおかもちを試してみました。

なんと!すごくいい感じに1軸デジタルおかもちが実現できました!!

おかもち台は3Dプリントして姿勢制御モジュールのホイールの代わりに取り付けました。

 

SHISEIGYO-1で使用しているブラシレスモータにはコントローラとエンコーダが内蔵されています。

モータの回転方向やブレーキはデジタル制御でき、回転スピードはPWM信号で制御します。
エンコーダは1周100パルス出力され、ここでは4逓倍して使用しました。

 

ATOM Matrixに内蔵のIMU(MPU6886)の加速度(acc)と角速度(gyro)のセンシング値を用いてカルマンフィルタを通して筐体の傾斜$θ$と角速度$ω$を計測します。

計測値とエンコーダによるモータの回転目標位置$θ_{GOAL}$を用いて
以下のようにモータ回転PWM信号$M$を生成し、PD制御しました。

$$M = {Kp}_X × (θ – θ_{GOAL}) + {Kd}_X × ω  $$

$$   但し、Kp, Kd:係数$$

 

ブラシレスモータによるデジタルおかもち動作は前回のサーボモータに比べ非常に応答性がよく驚きました。
ブラシレスモータでもこのように目標位置にパタッと止める制御ができちゃうんですね!

大変勉強になりました!

 

前述の課題や疑問はブラシレスモータ版のデジタルおかもち体験を経て以下のようにステータスが変化しました

  • サーボの応答が遅いのか
    →おそい!ブラシレスモータ最高!
  • 制御が遅いのか
  • そもそも制御の思想自体が誤っているのか
    →制御思想やセンサは悪くなさそう
  • 手で持って移動させているのが悪いのか
    →モータの応用早いと手の揺れも吸収してくれる

 

エンコーダ未使用版 検討

SHISEIGYO-1の機構を流用して1軸デジタルおかもちを楽しみましたが、筐体の姿勢を検出してモータを制御するためには、モータの回転量を検出するエンコーダが必須になってしまいます。

ここではエンコーダを使わない方法を検証します。

おかもち台にIMUを仕込んで、平行になるようにモータを回転させる機構にすればエンコーダは必要なくなるはずです。

早速試してみました。

問題なくモータのエンコーダを使用せずにおかもち動作を確認できました。

 

おかもち台にはIMUセンサMPU6050をつけて、コントローラにはATOM Liteを用いました。

 

MPU6050で測定した加速度からおかもち台の傾斜を計測し角速度と共にカルマンフィルタを通しておかもち台の角度$θ$と角速度$ω$を計測します。

以下のようにモータ回転PWM信号$M$を生成し、PD制御でおかもち台が常に水平($θ = 0$)になるようにします。

$$M = {Kp}_X × θ + {Kd}_X × ω  $$

$$   但し、Kp, Kd:係数$$

 

おわりに

ここではブラシレスモータによる1軸 デジタルおかもちを検証しました。
ブラシレスモータの回転エンコーダなしでもIMUセンサに基づくブラシレスモータ制御が実現できました。

ブラシレスモータでもサーボモータのように任意角度に回転移動制御できるようになり、その応答性の良さに大変驚きました。

 

2軸のデジタルおかもちもブラシレスモータで実施したいのですが、ここで使用したモータは重すぎるため以下の軽そうなブラシレスモータを購入してみました。

回転させるためのコントローラが必要そうですが届き次第 勉強したいと思います。
エンコーダなしでの制御が確認できていますので2軸のブラシレスモータ デジタルおかもちの実現障壁もそれほど高くないと思っています。

それではまた。

デジタルおかもち

0
0

凄い動画がTwitterにありました。

 

リンクの記事によるとマジックペンを載せたロボットアームの先の台を、移動時にうまいこと傾けて倒れたり滑り落ちないようにしているとのこと

この台の制御をリアルタイムに実施しているのか、アームの移動動作に基づいてあらかじめシーケンス組んでいるのかは不明ですがいずれにしても凄いですね。

なんか自分でも試してみたくなったので動く台(デジタルおかもち)を作ってみました。
ロボットアームなど持っていないので自分の手でもって実験します。

 

 

1軸おかもち

サクッと1軸で動く台を作ってみました。
サーボモータRDS3115とATOM Matrixを使用しました。

 

ATOM Matrixは持ち手の下部につけて内蔵のIMUセンサ MPU6886のセンサ値を使用しました。
上の動画ではMPU6886の加速度から傾きを計算して、10回計測した値の平均を用いてサーボを動かしています。

1軸上での重力加速度の傾き分、サーボを動かしますのでゆっくり動かせば天板は常に平行になるように動きます。

素早く動かすと加速度がかかりますので、1軸上の加速度と重力加速度のベクトル和の方向と垂直になるように天板が傾きます。

 

2軸おかもち

サーボモータRDS3115を追加して2軸にしました。
1軸の時と直行する傾き検出を追加して2個目のサーボを制御します。

 

これで常に平行を保とうとする台が完成しましたので、さっそく物を載せてみました。

 

持ち手を傾けても天板は平行に保たれておりますが、加速移動時になんか挙動がおかしいです。

よくよく考えてみると持ち手を傾けた際に天板とセンサは違う方向を向いており、移動時の加速度がかかる方向が違いました。

センサの位置がまずいですね。

 

天板にセンサ移動

ATOM Matrixを持ち手の底面から天板に移動しました。

 

おかもちの座標は以下のとおり。

 

ATOM MatrixのIMUの加速度(acc)と角速度(gyro)のセンシング値を用いて
以下のようにX軸、Y軸のサーボの角度($θ$)を制御して天板水平方向の加速度がゼロになるように制御しています。

$$θ_X = θ_{X-1} + {Kp}_X × {acc_Y} + {Kd}_X × {gyro_X}  $$

$$θ_Y = θ_{Y-1} + {Kp}_Y × {acc_X}  – {Kd}_Y × {gyro_Y}  $$

$$   但し、θ_{X-1}, θ_{Y-1}:直前に算出した角度、 Kp, Kd:係数$$

これによって持ち手が傾いても天板は平行になるようにサーボが動き、移動時には加速度と重力加速度のベクトル和の方向に対して常に垂直になるように天板が傾くという魂胆です。

 

しかし、はやく移動させると積載物は落ちてしまいました。

 

サーボの応答が遅いのか
制御が遅いのか
そもそも制御の思想自体が誤っているのか
手で持って移動させているのが悪いのか(実際サーボの移動に影響されてリンギングすることもあった)
色々原因が考えられますが完ぺきなる おかもち は実現できませんでした。

 

おわりに

ロボットアームによるペンの移動に感化され、デジタルおかもちを製作してみました。

結果的には成功しませんでしたが、いつかロボットアームを手に入れたら先端に本機構のおかもちを取り付けて再検討実施したいです。

 

次の記事

デジタルおかもち2