ロボカップ姉妹の日常

ステッピー&ロック・オンの姉がロボットとか作りつつ制御の勉強してみたり、部品作ってあそんでみたり…

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【サッカーロボット】妹機の駆動輪について【プチ解体記事】

IMGP0061.jpg
妹がサッカーBライトに出場しています( ・∀・)ノ
なんでも、レスキューをやっていたときに培った技術を応用して作ったロボットだそうで……
他のチームとは違う方法で走ることができるとか!

今回は妹の許可を得て、ロボットの足となる駆動ユニットの動きについて記事にしてみました( ^ω^)





まず、こちらが駆動ユニットのみのCAD図です。
ステアリング機構部
緑色の部分がシャーシになります。
中央にサーボモータ、左右の駆動輪にはTJ3に最初から付いているギャードモータ(TTモータ)を使用しています。

青色の細長い板がリンクロッドと呼ばれる部品で、真ん中にあるサーボモータの動きを左右にある駆動輪に伝えています。
ちょうど、自動車の前輪にあるステアリングと同じ仕組みです^^


真下から見た図がこちら。
ステアリング機構ポジション4
(前後)

ステアリング機構ポジション2
(左右)

ステアリング機構ポジション3
(ロボットから見て右前と左後ろ)

ステアリング機構ポジション1
(ロボットから見て左前と右後ろ)

このように駆動モータの向きを変えることで、360°どこにでも進むことができるようになっています。

ステアリング機構は後2輪のみです。前2輪はキャスター代わりのオムニホイールが付いています。
つまり、2輪駆動の4輪車ということですね(・∀・)





実際に動いている動画もどうぞヽ(・ω・)/

(分かりやすいようにスロー映像です)
動画を見ても分かるとおり、ゴール前から離れないようにするために駆動輪をわざと斜め後ろ方向に走らせています。


前後に動くとこんな感じに。

【レスキューA】例題:坂のバンプが越えられない。【原因探し】

先日、レスキューAに出場している子が「坂のバンプが越えられない」と困っている様子でした。
何か問題が起こったとき、何が原因で越えられないかを特定することが大切です。
今回は具体的な例をもとに、原因の探し方について紹介しようと思います^^



  • 想定する状況
説明し易いように想定する状況を仮定します。
前輪駆動か後輪駆動かという問題を考えないために、ロボットはモータ4つの4輪駆動とします。また、ライントレースをしながら坂を登ります。

図にするとこんな感じです。
140511_1553_01.png



  • 切り分け方法
まず、単純に4輪とも100%前進するだけのプログラムに入れ替えてバンプを乗り越えられるか試します。
140511_1812.png
そもそも、4輪とも100%の状態で登れなければソフトをどんなに変えても意味がないですからねー
いの一番にソフトの問題なのか、ハードの問題なのかを見極める必要があるということです。

このような考え方で原因を切り分けていけば、遠回りせずに一番有効な対策方法が見つかるはずです。

↓原因切り分けの一例をチャートにしてみました↓
140511_1553_02.png



  • それぞれの対策方法
さて、大体の原因が分かったら対策ですね。
とるべき対策の方向性をまとめてみました。

診断結果:ソフトの問題
センサと床の距離がバンプを越える際に変化して、ライントレースに悪影響を与えている可能性があります。
ライントレース中にセンサと床の距離を保つためには、センサがタイヤの中心軸に近いのが理想的です。
140511_1553_03.png

140511_1553_04.png
自分のロボットをもう一度よく見てみましょう(-_-)b

また、そもそもライントレースのプログラム中に片方の車輪を逆転・停止させて曲がる制御があると、トルク減衰の原因になります。片輪を30%など低い出力にしてにして曲げている場合も、坂道では停止と等価な場合があります。


診断結果:重心バランスの問題?
100%後退でならバンプを乗り越えられる場合、重心の前後バランスが悪い可能性があります。
ロボットの前と後ろのどちらが重いかを調べて、前後の重心バランスを入れ替えて挑戦してみると良いかもしれません。
また、その他ロボットの前と後ろで何が違うかよく観察しましょう。


診断結果:ハード設計の見直しが必要!
ここまで来るとロボットの設計や、使っている部品の見直しが必要になります。
きっと今のままではバンプを越えることができないでしょう……
考えられるのはロボットの重心が高すぎるモータのトルク不足タイヤのグリップ不足重量過多などです。

【第二回】ON/OFF制御でライントレースをする ~ハード編~【初心者向け】

前回の記事では、ライントレースロボットに使うセンサーについて説明しました。
今回はロボット本体の話について書きますよ( ・∀・)ノ


  • このブログで使うロボット
このブログではダイセン電子工業のe-Gadget-TTというロボットキットを使って実験していきます。

CIMG0074.jpg
たまたま家にあったのがこのロボットだっただけで、どのロボットキットを使ってもできますよ^^
モータが本体の後ろにくるように組み立ててあります。




  • ロボットの回転中心を知る
まずはロボットが回転するときの軸になる場所「回転中心」がどこにあるかを確かめます。
なぜこんな作業が必要なのかは後で説明しますねー


ロボットに「その場で回転する」というシンプルなプログラムを入れて、上から観察します。
使ったプログラムはこちら。
turn.png
左モータ(L):50% 右モータ(R):-50%
時計回りに回転するだけのプログラムです。

このプログラムの動きを真上から観察するとこんな感じに↓


ロボットが回転しているときに、あまり動いていない場所が回転中心です。
ここで使ったロボットの回転中心はモータとモータの丁度真ん中辺りでした。
140301_1902.png




  • センサーはロボットのどこに付ければ良いのか
何故ロボットの回転中心を知る必要があるのか……
それは、ライントレースをするときにロボットの回転中心とセンサーの距離によってロボットの動きが変わってくるからです。

ロボットを簡単な図に置き換えて考えてみます。
140302_1903.png

では、下の図を見て下さい。
これは、回転中心とセンサーの距離が近いときと遠いときを比べた図です。
140301_1901.png
回転中心とセンサーの距離が近いとき。
ロボットがその場で回転するとき、センサーが黒い線を見失うまでの角度が大きくなります。
ロボットはこの角度になるまで「黒い線からずれていない」と認識します。
つまり、黒い線から大きくずれて初めて気づくということです。

回転中心とセンサーの距離が遠いとき。
ロボットは小さい角度のずれでも「黒い線からずれた」と認識することが出来ます



実際にライントレースをするとこうなります。
音声はうるさかったので切ってあります^^;

回転中心-センサー間が近いロボット(中央取り付け)はガタガタ左右に頭を振りながら走り、回転中心-センサー間が遠いロボット(進行方向取り付け)は比較的スムーズなのが分かりますね。
ライントレースロボットを作るときは、センサーをロボットの回転中心からできるだけ遠ざけて付けましょう( ・ω・)

【第一回】ON/OFF制御でライントレースをする ~センサ編~【初心者向け】

今までの記事では比例制御を推して来ましたが、やっぱり最初はON/OFF制御が簡単ですよねー
ON/OFF制御ならセンサを選ばず簡単にできるので「とりあえず入門」って方にお勧めです。

本当の初心者さんがライントレース入門できるような記事を頑張って書きますので、宜しくお願いします( ^ω^)
第一回はライントレースに使うセンサの話です。



  • どんなセンサを使えば良いのか
ロボットキットなんかを買うと、何個かセンサが付いてきますよねー
その中でライントレースに使うのは「ラインセンサー」とか「光センサー」とか「IRセンサー」と呼ばれるものです。

DSR-543.jpg
ダイセン電子工業のロボットキットなら「TJ3/e-Gadget共通ラインセンサー」


9844_713x380_MainProduct.png
LEGOのロボットキットなら「9844 光センサー」



どちらも目玉が2つ付いているのが分るでしょうか?
片方の目が光を出すところ。もう片方の目が光を受けるところです。
出している光は赤外線といって、テレビのリモコンに使われている目には見えない光です。

図にするとこんな感じ↓
ラインセンサーの仕組み
跳ね返ってきた光の量が多いと明るい、少ないと暗いことが分かります。
これを使って白(明るい)と黒(暗い)を見分けることでライントレースをします。




  • 正しくセンサーを取り付ける
ラインセンサーは物に当たって跳ね返る光を見ています。
跳ね返る光の量は物の色だけではなく、物とセンサーの距離によって変わるので注意が必要です。

同じ色の物でも距離によって明るさが違う





実際にTJ3/e-Gadget共通ラインセンサーを使って、距離による明るさの違いを実験してみました。
センサーの前に白い板を置いて、5mmから30mmまでどんどん距離を離していきます。
TJ3用のプログラミングソフトC-Styleにある「センサーモニター」という機能を使ってセンサーの出力[%]を見ます。
センサーの出力[%]が大きい→跳ね返ってきた光が多い ということです。

結果をグラフにするとこんな感じ↓
ダイセンラインセンサー特性(白)
このセンサーはどんなに明るくても80%くらいしか出ないので、80%が限界だと思ってください。
見て分かるとおり、センサーが白い板から10mmよりも遠くなるとどんどん暗く見えていることが分かります。

あまりセンサーと床の距離が近いとセンサーが段差に引っかかったりするので、実際にTJ3/e-Gadget共通ラインセンサーを使う時は床から10mm~15mmの高さにセンサーがくるように付けると良いでしょう。

【第二回】超音波センサで距離を制御する ~比例制御編~

前回は超音波によるON/OFF制御について書いたので、今回は比例制御です。
過去に書いた『【第二回】比例制御でライントレースをする ~実践編~』で公開したプログラムとほぼ同じです。
比例制御の基本的な話は『【第一回】比例制御でライントレースをする ~概要編~』をご覧ください^^






早速、超音波センサによる比例制御プログラムのサンプルを。

右クリック→対象をファイルに保存でどうぞ。
テキストファイルとして保存されてしまう場合は保存方法を「テキストドキュメント」から「全てのファイル」に切り替えて、ファイル名の最後に「.Csy」とつければ大丈夫です(-_-)b
PING_P.Csyのダウンロード

フローチャートは以下のようになっています。
目標値というのは目標の距離のことです。目標値とセンサ値の差が偏差となります。
130812_03.png
130812_04.png
130812_05.png



正直、単純に壁などから一定距離を保って走行するだけなら前回の記事で紹介したON/OFF制御でも十分だと思いますが………

次の動画を見比べてください。

↓ON/OFF制御で坂を登る↓



↓比例制御で坂を登る↓


坂を登りながらの制御では機体が安定しないので、ON/OFF制御特有のハンチングが顕著になっており、機体のガタつきが原因でタイヤが滑りやすくなっています。
それに比べ、比例制御は全くブレなく坂を登っています。

同じように、高速で走行しながらのON/OFF制御ではハンチングが大きくなり、それが原因でロボットが転倒してしまう場合があります。
このように、制御のガタつきが望ましくない場合、機体が不安定な場面、高い精度の距離制御が必要な場合は比例制御の方が適しています。

このカテゴリーに該当する記事はありません。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。