カエデ自動機械

ちょっとしたものづくりや電子工作のメモなど。技術開発とは今は呼べないかな。

倒立振子ロボットを作る(仮終)-まとめと課題

前回、一応安定して自立できる倒立振子ロボットを作ることができました。
一方で、なんとなく実験的に、これがこのロボットの限界で、ここからセンサやらロボットアームやらを積み増せる感じではない気がしました。

今回はその辺をまとめて一旦このシリーズを終わりにしようと思います。
すぐ次の倒立振子ロボット(改)の話を始めますが。

まとめ

  • 安定して立つ倒立振子が完成しました。
  • バッテリやセンサ等を積み増しする余裕がなく、倒立振子「ロボット」にはならないのではないかと考えました。
  • モータを換装しロボットを再構築することとしました。

なぜ重心を上げたりペイロードを増すと立たなくなってしまうのか

自分の掌の上で傘を立てようと思うと、少なくとも重心が高い方がやりやすいような気がするのですが・・・この辺は運動方程式をきちんと解かないと解析的には理解ができなさそうです(後日やってみようと思います)


不具合の原因究明という観点では、仕事だったりするとフォルトツリー解析(FTA:Fault Tree Analysis)を使ったりします。正確には単なる原因究明だけでなく、各種の要因が不具合事象の発生確率にどのように影響するかを解析する手法ですが・・・
ja.wikipedia.org



折角なので試しに使ってみようとやってみたのですが、あまりうまく行きませんでした。
docs.google.com

ただ、恐らくまあこれだろうというのがあって、上のスプレッドシートにもありますが、モータの最大回転数が足りないのではないかと。

厳密には最大回転数が足りない事自体が直接の原因ではないのですが、最大回転数にキャップがかかっているため、「車輪を加速し続けられる時間」が足りないのではないかなと考えています。
本来は解析的に分析したいところですが・・・

倒立振子ロボットと一緒に地面の上を平行移動する座標系から見れば、倒立振子ロボットを倒立させる力はその座標系の加速度に比例した慣性力(+モータの反トルク)だけだと思うのです。
座標系の加速度=ロボットの対地加速度ですから、その加速度の最大値だったり、その加速度を維持できる期間というのが姿勢の維持力にかかってくるものと思われます。

ロボットの加速度の最大値自体は、FTAにも書きましたがトルクの強いモータを使っているため問題ないと思うのですが、それを発揮できる時間となると、最大回転数でキャップがかかるために非常に短い期間となってしまいますから、それが原因なのではないかと。

実際、ロボットを動かしながらモータの電流値を見てみると、ほとんどトルクを使っておらず、一方で回転数はすぐ最大値付近(約270[deg/sec])に達しており、最大トルクが過剰で逆に最大回転数が足りていないということが見て取れました。

他の人はどれくらいのモータを使っているのか

最初にこちらを調べておけよという話ですが、安定して立っている、ペイロードに余裕がありそう、不整地でも安定して動きそう、などの特徴を持つ世間の倒立振子のモータスペックを調べてみました。

(トルク、回転数は概算だったり、停動トルクと定格トルクが混ざっていたりします)

ロボット名 モータ最大トルク[N・m] モータ最大回転数[rpm] 備考
whipbot 4.0 46 私が作って今回うまく行かなかったロボット。
RED 1.4 @stall 330 本家サイト
Self-Balancing Autonomous Arduino Bot 0.85 290 モータ諸元
Self Balancing Robot 0.85 540 モータ諸元
半日で作る倒立振子 0.08 115 モータ諸元


最後の半日で作る倒立振子は、私のロボットのコンセプトからすると小型過ぎる気がしなくもないですが、倒立振子ロボットを作ろうと思い立った際に最初に閲覧したサイトで印象に残っていたので一応掲載してみました。


この表を見てみると、感覚的にも私が使っているモータはいくらなんでも回転数が低すぎるのでは、という疑念にとらわれます。

相対的に低いからと言って直ちに絶対的に不足していることを意味するわけではないですが、先述の自分で動かしてみた感触とも合致すること、単純によりハイスペックのモータを使ってみたいということから、ここはモータを換装し、ロボット全体を再構築しようと思います。

次からは倒立振子ロボット ver.2とかそんな名前で開発記録をつけていこうと思います。


おまけ

githubリポジトリや上の表でさりげなく出ていましたが、ロボット名:whipbot として開発を行っています。
WHeeled Inverted Pendulum roBOTの略であり、whip:ムチ の軌道のような機敏な動きができるように、ということで名付けています。whipという単語がどのような語感を持つ単語かはわかりませんが・・・

外国だと(日本でもそうかも知れませんが)開発プロジェクトごとに名前が付いているイメージがあって、個人的にそれが好きだったりするので、若干恥ずかしいですが名前をつけていました。