隠居エンジニアのものづくり

自転車 電子工作 ラジコン ロボカップジュニア CAD レーザー加工機

ロボカップジュニア レスキューライン 製作手順・動作確認

はじめに

ロボカップアジアパシフィック2021あいち”で頂いた質問の続きと言うよりは、大会当日の練習用アリーナでの調整風景を見て、色々気になった事についてロボット作りの流れで書いてみました。

 

ルールの理解

ロボット製作手順の最初は仕様を決める事です。

これには、ルールの理解が必要不可欠です。

レスキューラインは他のライントレース競技と異なり、障害物競走と言ったところでしょうか。

坂を昇り降りしたり、20mmバンプを超えるギヤモータのパワーとタイヤグリップ性能が要求されます。(最近のルールでは10mmバンプがMAXのようです)

十字路・T字路の緑色マーカー有無など”組み合わせが複雑な分岐の攻略”が、重要になります。

先ず、”分岐と緑色マーカーの検出を、どの様なハードとソフトで行うか?”

をしっかり考えて設計します。

f:id:Blackbox_crusher:20220111133336p:plain

分岐に斜めアプローチしてしまう事を考えると、手前の緑色マーカーを見落とさずに奥の緑色マーカーを誤認識しない方法は、結構難しいかもしれません。

〇画像処理で判別する

〇分岐に直交するようにロボットの姿勢を制御してから緑色マーカー読みする

〇短い距離でラインと平行に走るように、ライントレースの追従性を極める

など、仕様決めの醍醐味ですね。

被災者の検出・救出方法はロボットの特徴になる部分ですので、しっかりアイデア出ししましょう。

ロボットの製作

大別すると、ライントレース部(車両部分)と被災者救出部に分かれます。

ソフト係・ハード係に分かれている場合は、先ずライントレース部を製作してソフト係がプログラム開発できる状況を早期に確立しましょう!

ハードのチェック

前進・後進・左右旋回をおこなって、足回りに問題が無い事を確認します。

PWMなどで速度制御を行う場合はフルパワーが出ているか?、70%・50%・30%など意図したパワーに制御できているか?を確認します。

シリアルモニターなどでセンサの値が正しいか?・安定しているか?を確認します。

個々の動作を確認しないで、ソフトを含む評価をすると手戻りが大きくなるのでしっかり確認します。

 

部分動作確認

動かして見てハードの変更が必要な場合もありますので、ギャップや障害物など個々の課題に関する部分のソフトを作って動作確認をします。

ここでは3回連続で通過できればOKとします。

この際よく起こるのが”スロープを登れない”ですが、タイヤのグリップ不足やパワー不足などのハードの要因と坂の登り口でセンサとラインの距離が離れる事によるソフトの誤動作を切り分ける為に、100%前進だけの単純なプログラムで坂を登れるか否かを確認します。

”登らない”・”転ぶ”なら早々にギヤ比の検討や重心を下げるなどの工夫をして、ハードの強化を行い問題を解決します。

ハードの性能不足をソフトで解決する事はできないと思って下さい。

ソフトで救えるのはハードの性能がギリギリ足りている場合だけです。

シーソーが向こう側に倒れた勢いでロボットが転ぶ場合に、”ロボットがシーソーの軸付近に近づいたら微速前進してシーソーの倒れる勢いを弱くして転倒防止をする”がソフトで救った例と言えます。

ハードの性能が足りていない”登れない”、”シーソーの傾斜で転ぶ”はソフトでは救えません。

 

全体粗調整

コース全体を走行させてカーブ立ち上がりのギャップなど、組み合わせで起こるコースアウトの原因を見極めて、対策を打ちます。

ここでも3回連続で通過できればOKとして、ソフト全体の流れをしっかり作り込みます。

 

再現性評価

全体粗調整ができていれば、大会で得点走行ができる状態です。

練習で通過できた所が、得点走行で進行の停止になる事があるので”アリーナには魔物がいる”と言われます。

再現性の向上によって魔物は退治する事ができます。

”3回連続で通過できればOK””10回連続で通過できればOK”に変えると再現性の低い所がNGになります。

これ以上になるとミスするまでに時間が掛かるのでビデオカメラで撮影しておいて、動画でミスに至る状況確認をします。

この際、プログラムのどの処理が行われているのかをカメラに記録できるようにデバッグ用LEDを用います。

この動画では、左LED点灯で緑色マーカーの検知を示して、左LED消灯までが緑色マーカーに従った旋回動作、左右LED点灯で緑マーカー無しの分岐検知を示して、直進通過は20mm前進して消灯、直角コーナーと判断した場合は1.5秒間”分岐検出無しの単純な比例制御動作”を行って消灯する様にしてあります。

f:id:Blackbox_crusher:20220111130619g:plain

ロボカップジュニア レシュキューライン 練習走行 (途中27倍速)

スタートから58分後に直進通過すべき分岐を右折するミスを起こしますが、原因はバッテリーの電圧低下でした。

 

デバッグ用LED:ポートに空きがないロボットでも評価で使用にないセンサの代わりに接続できる様にコネクタとピンアサインをマイコンボードに合わてあります。

LEDを点灯させる前提になっていないコネクタに接続するので、1kΩの電流制限抵抗を入れてあります。

f:id:Blackbox_crusher:20220111220157j:plain

f:id:Blackbox_crusher:20220111220100p:plain



出典:2022_RescueLine_Rules_draft01.pdf

 

ロボカップジュニア レスキューライン 精密度と正確度


はじめに
ロボカップアジアパシフィック2021あいち”で頂いた質問の続きです。

精密度と正確度はどちらが大切ですか?

この質問を直球で受けた訳ではありませんが、質問内容を要約するとこんな感じです。

”どちらも必要ですよね?”と言う答えにくい類の質問ですが、”ものづくり”では、答えは明確で”先ず一定の精密度を得る事が最優先”です。

 

精密度と正確度

例えばロボットに超信地旋回で90度ターンをさせて、ターンを終えた所で角度測定を行うとします。

ロボットAロボットB2台を5回測定にて評価します。

f:id:Blackbox_crusher:20220109144753p:plain

この表をみるとロボットBの方が目標値90度に近いターンをしているので優秀?

となるのですが、次の表を見て下さい。

f:id:Blackbox_crusher:20220109145037p:plain

5回のターンのバラツキはロボットBの方が4倍も大きい事が分かります。

精密度はバラツキの大小、正確度は目標値との誤差の大小を表します。

つまりロボットAは精密度は高いが正確度は低い、ロボットBは精密度は低いが正確度は高いと言う事になります。

ロボットBを1回動かした結果で調整をすると、9°足りないので”+9°”の調整を行ったら2回目のバラツキが10°多めに動くので角度測定の結果は”100°”になります。

この結果を基に”10°”少なく調整すると3回目は2回目に対して9°少なめに動くので100°の結果に対して19°少ない81°になります。

いつまで経っても調整は収束しません。

ロボットAは30度多くターンしているので時間制御なら時間を短く、角速度制御ならセンサの積算値を少なくする事でバラツキ3°(120°ターンでバラツキ4なら制御時間や制御値が小さい90°ターンではバラツキ3°が期待できます)で90°ターンに調整する事ができます。

精密度の高いロボットの方が良い事が理解頂けたのではないでしょうか。

 

ロボットの動きの評価では”精密が高い”と同義の”再現性が良い”の方がイメージし易いと思うので、出前授業などでは”再現性の良いロボットに仕上げましょう!”、バラツキはある程度必ずあるので”最低でも3回同じ動作をさせてから調整値を変えましょう!”が口癖になっています。

 

実際の例

ロボカップの指導に際して実際に競技の何が”難しいのか?”の理解や、公正に競技を行う為にフィールドや会場設営で注意するべき点の洗い出しをする為に”お手本ロボット”を作っています。

このロボットを評価・チューニングをする過程で起きた実例を挙げて説明します。

以下の調整を終えて、実際に緑マーカが両方にある行き止まりを判断してUターンができるかの評価を行います。

〇比例制御ゲイン調整済みでライントレースが滑らかにできる

〇角速度制御で超信地旋回180°が再現性良くできる

〇緑マーカを確実に認識できる

f:id:Blackbox_crusher:20220109172301g:plain

再現性良くターンの度に大きく左側にズレて右旋回でライン中央に戻る動作が観測できます。

この原因はDCモータに付き物の”回転数やトルクのバラツキ(個体差)”と考えます。

旋回時のパワーは右側モータ、左側モータの何れも100%ですが、左側を弱める調整を行います。

ここが大事なポイントですが、原因と対処方法は現時点では推論ですので99%・98%・97%と言う風に詳細に詰めるのは後回しです。

先ず、推論が正しい事を確認する為にガッツリ大きな調整を行います。

f:id:Blackbox_crusher:20220109174958g:plain

今度は再現性良くターンの度に若干右側にズレて左旋回でライン中央に戻る動作が観測できます。(調整前とは逆方向にズレる傾向を確認)

これで原因と対処方法は正しく、調整の効果が確認できましたので微調整に移ります。

変化が見やすい様に比較動画を作成しました。

f:id:Blackbox_crusher:20220109173214g:plain

 上:調整前  下:仮調整後

実際には、この状態でも問題が起きる状況では無いと判断して仮調整のまま、次の評価・調整に移りました。

全ての項目を評価して問題が起きない程度に調整が完了してから、微調整に移ります。

得点走行では特定の動作が完璧でも、未調整の部分が残っていると、そこで競技進行の停止になってしまいます。

調整の仕上がりに優・良・可・不可があるとしたら、”優9不可1”より”良10”の方が良いと言えます。

コースが簡単なら”可10”にも勝機があるかもしれません。

 

再現性を意識して、安定したライントレースができるロボットを作りましょう!

 

 

 

 

 

 

 

 

 

ロボカップジュニア レスキューライン PID制御のしくみとプログラム検証方法

はじめに

ロボカップアジアパシフィック2021あいち”で頂いた質問の続きです。

PID制御の比例・積分微分、それぞれが何をしているのか?

プログラムの動作を確認する方法は?

と言う質問がありました。

出前授業でも良く受ける質問ですね。

イメージとしては比例制御が主体で、積分制御と微分制御は比例制御の欠点を補う補助的な存在と考えて下さい。

 

比例制御

比例制御は目標値との差分に比例してモータパワーの制御を行います。

下図の様にラインセンサの値と目標値の差に対して制御を行います。

f:id:Blackbox_crusher:20210918205802j:plain

例えば、現在値と目標値の差分値が5%だと仮定します。

モータ制御値(%)が差分値と同じ値になるとした場合、DCモータに5%指示した時にモータは回転するでしょうか?

恐らく10%を超えないと動き出さないと思います。

これが比例制御の欠点で、目標値付近の制御は苦手です。

もう一つは急カーブを曲がるのが苦手です。

限界感度法で得た比例ゲインは直進時に左右に振動を繰り返さない値なので、(限界感度法については、以下参照下さい 評価の精度を上げるには治具を作ることをお勧めします。)

PID制御のパラメータ設定方法(限界感度法 ライ評価の精度を上げるには治具を作ることをお勧めします。ントレース編) - 隠居エンジニアのものづくり (hatenablog.com)

急カーブでは飛び出してしまいます。

 

PID制御のプログラム例(Arduino 抜粋)

#define KP 0.1                                                 // 比例ゲイン
#define KI 1.4                                                  // 積分ゲイン
#define KD 0.0032                                          // 微分ゲイン
#define DELTA_T    0.018                                // 制御1周期時間 18ms

void Line_PID()
{
Line_Diff = LineVal_R - LineVal_L;                   // 左右差分計算
Diff[1] = Line_Diff;                                          // 現在差分値を保存  
P = Diff[1] * KP;                                              // 比例制御値
I = I + ((Diff[1] + Diff[0]) / 2) * DELTA_T * KI;  // 積分制御値
D = (Diff[1] - Diff[0]) / DELTA_T * KD;             // 微分制御値

Power = P + I + D;                                         // PID制御値計算をモータ制御に渡す
Diff[0] = Diff[1];                                             // 計算値をdiff[0]に保存

}

 

比例制御の動作確認例

PID制御のプログラム動作確認を行うには、それぞれの動作を個別に評価する事が大切です。

void Line_PID()
{
Line_Diff = LineVal_R - LineVal_L;                   // 左右差分計算
Diff[1] = Line_Diff;                                          // 現在差分値を保存  
P = Diff[1] * KP;                                              // 比例制御値
I = I + ((Diff[1] + Diff[0]) / 2) * DELTA_T * KI;  // 積分制御値
D = (Diff[1] - Diff[0]) / DELTA_T * KD;             // 微分制御値

//Power = P + I + D;                                       // PID制御値計算をモータ制御に渡す
Diff[0] = Diff[1];                                              // 計算値をdiff[0]に保存

Serial.println(P);                                              // シリアルポートにP値を出力

}

パソコンにデータを取り込んで表計算ソフトでグラフ化します。

f:id:Blackbox_crusher:20211230133401p:plain

比例制御値の検証

ロボットが滑らかに直線ラインを走行して、上図の様に"P値"が0付近に留まっていればOKです。

 

積分制御

目標値付近の制御が苦手な比例制御を助ける働きを積分制御が担当します。

f:id:Blackbox_crusher:20211230135115j:plain

積分制御値は前回値と現在値の描く台形の面積を蓄積して用います。

 " 制御値 = 制御値 +((前回値と目標値の差+現在値と目標値の差)÷)× 制御周期  × 積分ゲイン " 

グラフを90度回転して見て頂くと制御値の式は(上底+下底)÷2×高さに積分ゲインを掛け算しただけの簡単なものだと分かります。

上図の様にモータが回転を始めない10%の所で止まったとしても、時間と共に面積は大きくなっていきます。

次回の制御では以下の様に前回計算した面積に今回計算した面積が加算されます。

f:id:Blackbox_crusher:20211230140005j:plain

これにより僅かな差に対しても目標値へ近づける制御が行えます。

 

積分制御の動作確認例

void Line_PID()
{
Line_Diff = LineVal_R - LineVal_L;                   // 左右差分計算
Diff[1] = Line_Diff;                                          // 現在差分値を保存  
P = Diff[1] * KP;                                              // 比例制御値
I = I + ((Diff[1] + Diff[0]) / 2) * DELTA_T * KI;  // 積分制御値
D = (Diff[1] - Diff[0]) / DELTA_T * KD;             // 微分制御値

//Power = P + I + D;                                      // PID制御値計算をモータ制御に渡す
Diff[0] = Diff[1];                                             // 計算値をdiff[0]に保存

Serial.print(P);                                                // シリアルポートに出力
Serial.print("\t");
Serial.println(I);

}

ロボットをラインの中心より僅かにズレた位置に置いて、プログラムを動かします。

f:id:Blackbox_crusher:20211230140801j:plain

徐々に"I値"が増えていれば第一段階クリアです。

次にP値が負側になる様にズラします。

上図の様に徐々に"I値"が減っていればOKです。

積分制御のみでロボットを走らせると以下の様になります。

f:id:Blackbox_crusher:20211230142318j:plain

先ず蛇行します。

この蛇行が次第に大きくなってラインを見失います。

かなり控えめでないと直線走行時でも蛇行を始めるリスクがあると心得て下さい。

 

微分制御

比例制御ではロボットが蛇行することなく滑らかに直線ラインを走行する事と、急カーブを飛び出さずに曲がる事はトレードオフの関係にあります。

滑らかな直線走行を保ちつつ、急カーブの時に大きな値を出して比例制御を助ける役割をするのが微分制御です。

 

微分制御の動作確認例

void Line_PID()
{
Line_Diff = LineVal_R - LineVal_L;                   // 左右差分計算
Diff[1] = Line_Diff;                                          // 現在差分値を保存  
P = Diff[1] * KP;                                              // 比例制御値
I = I + ((Diff[1] + Diff[0]) / 2) * DELTA_T * KI;  // 積分制御値
D = (Diff[1] - Diff[0]) / DELTA_T * KD;             // 微分制御値

//Power = P + I + D;                                      // PID制御値計算をモータ制御に渡す
Diff[0] = Diff[1];                                             // 計算値をdiff[0]に保存

Serial.print(P);                                                // シリアルポートに出力
Serial.print("\t");
Serial.println(D);

}
"D値"は0付近をノイズの様に行ったり来たりします。

次にゆっくりロボットを正側にズラします。

このズラしている間"D値"は正側に大きな値を示します。

停止した後は、また0付近をノイズの様に行ったり来たりします。

更にゆっくりロボットを負側にズラします。

今度はズラしている間"D値"は負側に大きな値を示します。

f:id:Blackbox_crusher:20211230144507j:plain

ロボカップジュニアレスキューラインは他の多くのライントレース競技とは異なり、直角やギャップ、障害物、マーカーで線の太さが変わって見えるなどが含まれるのでライントレースの制御には特異な部分があります。

車高(ロボットの底面から床面までの距離)が高くハイグリップなタイヤでの旋回動作はビビりながらになりがちで、この”ビビり”"D値"のバタつきを発生します。

負側にズラした所を拡大したのが下図ですが、P値のガタつきに呼応して"D値"のバタつきが発生しています。

PD制御としては変化方向の値を"D値"が後押しているのが分かります。

f:id:Blackbox_crusher:20211230145733j:plain

静止状態では差分値の変化がないので、微分制御のみでロボットを走らせようとしてもモータが動くような値になることはなく、全く動きません。

 

まとめ

P制御が主体ですので、P制御ゲインを適切に決めることが重要です。

I制御、D制御はP制御の補助なのでゲインの高すぎは禁物です。

レスキューラインでは分岐にて必ずマーカーの確認が必要なので、交差点分岐の処理はPID制御とは別に用意する事をお勧めします。

 

ロボカップジュニア レスキューライン 比例制御の効果

はじめに

ロボカップアジアパシフィック2021あいち”で頂いた質問の続きです。

比例制御の効果について質問がありました。

本大会においてもON-OFF制御で安定してライントレースをしているロボットはありました。

できない事を解決する為のチャレンジと違って、できている事を別の方法に置き換えるモチベーションには明確な効果が必要でしょう。

 

比例制御の効果

直線ラインを3秒間”ON-OFF制御”と”比例制御”で走行するプログラムで比較を行います。

f:id:Blackbox_crusher:20211230004400g:plain

ON-OFF制御

f:id:Blackbox_crusher:20211230004504g:plain

比例制御

御覧の様に直線を走るスピードの差は絶大です。

どちらも同じモータで最大出力は100%にてプログラミングされています。

この差の正体はセンサ位置が描く軌跡の違いです。

センサ位置の軌跡は以下の様になります。

f:id:Blackbox_crusher:20211230005108p:plain

ON-OFF制御・比例制御の軌跡比較

 

ON-OFF制御は右斜め前、左斜め前の繰り返しです。

比例制御は、わずかに左右に動きますが概ね前進に近い動きをします。

3秒間の線の長さは同じですが、ON-OFF制御は寄り道が多い分、前進する距離が短くなると考えて良いと思います。

 

つまり、ON-OFF制御を比例制御に変えるだけでハードの改造(モータのパワーアップなど)無しに直線スピードを上げる効果を得られます。

 

ロボカップジュニア レスキューラインのオムニホイール

はじめに

ロボカップアジアパシフィック2021あいち”で色々質問を頂いて、”ブログで解説します”と約束した事を順序解説して行きます。

オムニホイールを応用したレスキューラインロボットは2009年シーズンが最初だと記憶しています。

当時は”サッカーのオムニホイールってレスキューにもつかえるんだ!”と驚く方も多かったのですが、”サッカーロボットの工夫がレスキューに応用できないか?” と言う視点は、今のルールにも通用します。

是非ほかのチャレンジのロボットにも興味を持って下さい。

 

オムニホイール

最初にオムニホイールを採用した方は明確な目的があったと思いますが、一旦メジャーになると ”とりあえず付けて見た” と言うのも起こりがちです。

もちろん、模倣から入るのも良いのですが、オムニホイールを使う効果やデメリットについてイメージする事が大切です。

基本となるライントレースの動作を入門キット(後輪駆動・前輪ボールキャスター)を例に説明します。

f:id:Blackbox_crusher:20211204153826p:plain

ライントレースロボットの簡単な図

先ず上図の右の様に簡略化したロボットを用いて説明します。

旋回時の中心を回転中心としてオレンジ色の丸で示しています。

f:id:Blackbox_crusher:20211204154446p:plain

センサ取付位置による角度感度の違い

上図の通り回転中心とセンサ取付位置はライントレースの角度感度に大きな影響を与えます。

オムニホイールはロボットの回転中心を変える効果があります。

オムニホイールを前輪に付けた場合、4輪ゴムタイヤ、オムニホイールを後輪に付けた場合をソニーのモーションショットと言うアプリで撮影して比較します。

20秒間、右側タイヤのみ30%前進駆動し、左側タイヤは電磁ブレーキをかけます。

f:id:Blackbox_crusher:20211204160941p:plain

オムニホイールによる回転中心移動

この様に回転中心をオムニホイールの搭載によって移動させる事ができます。

ラインセンサが前方に搭載されている場合は、前輪オムニが角度感度が高く、後輪オムニでは低くなります。

何れの場合もオムニホイールを使わない場合に比較して旋回速度が向上しています。

4輪ともゴムタイヤの場合は旋回時にタイヤ自体がしっかり路面を捉えて横滑りに抵抗するので、モータに負荷が掛かり遅くなります。

オムニホイールには横滑りする機能があるのでモータ負荷が軽くなり、旋回速度が上がります。

ただし、オムニホイールはゴムタイヤに比べてグリップが低いのでバンプなどの障害物突破能力は弱くなります。

 

出典:

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

ロボカップジュニア サッカーライトウエイトのモータにいて

はじめに

今回は機構設計について解説します。

先ずは設計計算することに興味を持って頂きたいので、計算をすると ”おいしい” とか ”得をする” と思ってもらえる事に主眼をおいて、計算の中身については解説しない事にしました。

 

ギヤモータの性能(選定)

同じギヤモータとバッテリーを使えばロボットが重いと加速が悪くなって最高速度が落ちます。

ロボットが軽いと加速が良くなって最高速度が上がります。

この辺は感覚的に分かっていると思います。

つまり、ロボットの重量と目標とする最高速度と加速度が決まれば必要なギヤモータの性能が計算できると言う事です。

計算例は以下の様になります。

f:id:Blackbox_crusher:20211107033025p:plain

この計算から得られた、ギヤモータの必要トルク時の回転数を計算した結果が以下です。

f:id:Blackbox_crusher:20211107033355p:plain

マクソンモータRE16 (118715) には最大連続トルク44.5g・cm(4.36mNm)と言う制限があって、計算結果の91.4g・cmでは焼けてしまいます。

計算書は4軸オムニロボットが斜め移動時に2軸駆動になる最悪値を想定しているので4軸駆動では何とかギリギリ焼損は、避けれる状態でしょう。

しかしながら、この計算結果は停止時から最高速までの加速期間に必要なトルクなので、(一般的アプリケーションでは起動時に気を付ければ良いのですが)サッカーではボールを挟んでの押し合い、ライン際で正転・反転を短時間に繰り返すなど、計算の前提よりも厳しい停動トルクに近い状態が連続する事が頻発します

試合で押し合いが長く続くなど、相手チームとの相性によっては試合中に焼損する可能性は充分あります。

これらのシーンでは、最大出力で連続運転することができるRC-260の方が適しています。

 

お勧めギヤモータ

以下の性能をお求めの方に " タミヤ遊星ギヤーボックスセット " をお勧めします。

〇 低価格 (web価格 1,200 円 (税込))

カーバイトブラシモータ使用・ギヤ比1/16、1/20、1/25、1/80、1/100、1/400設定可能(適正負荷にて焼損リスク小)

タミヤ遊星ギヤーボックスセットタミヤ工作シリーズでは異例のカーバイトブラシモータ搭載ですのでデフォールトでチューンモータ搭載と言えるでしょう。

ダイセンさんのプラスチックオムニホイールが取り付け可能です。

 

設計計算の実証

モータマウントとベースを切り出すのにレーザー加工機なら数分なので、4軸オムニ型ロボットを作って、動作確認してみました。

固定不要(非接触切断なので置くだけでOK、加工完了後に両面テープと格闘することもありません)バリ取り不要で加工時間が短いのはアイデアを試したり、治具を作ったりの敷居が低くなります。

この様に ” 実験結果を載せる為に4軸オムニロボット作ろうか  ” となったのもレーザー加工機のおかげです。

f:id:Blackbox_crusher:20211107113853j:plain

タミヤ遊星ギヤーボックスセット(ギヤ比1/80)とプラスチックオムニホイールの組み合わせで直径215mmのベースに余裕で配置できました。

 

次に " 前→右→後→左→前 " の繰り返しを0.3s毎で行うプログラムにて機動性を確認します。

f:id:Blackbox_crusher:20211107154644g:plain

Ni-MHバッテリー7.2Vで実験を行ったので、設計計算の6Vのグラフに合わせてパワーを80%に制限してあります。

〇 モータの個体差を補正していません。
7.2Vフルパワー ( 100% ) でジャイロセンサ補正制御やモータ個体差補正を行った場合の速度と " 動画の動き " は概ね同じ感じだと思います。

白線を検知して制動をかけた時に、アウトオブバウンズしない速度を、若干超えている様子なので、充分なパワーと言えるでしょう。

 

コラム1

RE16は4.5W、RC-260RAは0.4W~15W(巻き線仕様が多数あるので幅があります)の様にモータの出力は電力表示されます。

DCモータは電圧に回転数が比例するので、電圧の高いモータが良いモータであるかの様な錯覚をしますが、電圧×電流=電力ですのでバッテリーの電圧に合わせて正しく選定すれば良い訳で、わざわざ電圧の高いバッテリーを使用する必要はありません。

メーカーは電圧毎、用途に適した出力のモータを用意しています。

例えば電動ラジコンカー用のモータは6V~7.2Vですが、2kgの車体を時速40km以上で走行させるパワーを持ったモータが存在します。

この電動ラジコンカー用は1/27~1/8(メジャーなスケール)と幅広くサイズ違いがあるので、1.1kgのロボットに搭載可能なサイズのモータを探すことができます。

つまり、6V~7.2Vモータは12V系に比べて圧倒的に選択肢が多くて入手性が良く、最適な選定を行う事ができます。

 

コラム2

設計計算ができないと、高性能モータも本来の性能を出せないだけでなく、短命に終わります。

マブチモータRC-260が効率50%を少し超える程度なのに対して、RE16は効率80%に迫る高性能モータである事に揺るぎはありません。

DCモータは永久磁石と電磁石の反発力によって回転力を得ます。

永久磁石と電磁石の隙間を狭くすれば反発力を強くすることができ、効率が良くなります。(コイルの真円度や偏心など、部品精度の要求は高く、コストがかかります。)

実はこの高効率を得るためにRE16は隙間なく永久磁石と電磁石が詰まった構造になっていて、熱を外に捨てるのが苦手になっています。

コンパクト高効率と連続的に高出力を出すのはトレードオフの関係になっていると言う事です。

マクソンモータの名誉の為に注記しますが、最大連続トルク44.5g・cm(4.36mNm)は最大効率時のトルクですので、セオリー通りに正しく設計すれば焼損しませんし、コアレス巻線による滑らな回転、高い制御性を得られます。

 

回路シミュレータの勧め

はじめに

PCBCADや3DCADなど、色々なツールが無料で使える様になって、個人の”ものづくり”も高度になってきました。

RCJ界隈でもOP-AMPを用いた回路設計にチャレンジする方が散見される様になってきましたので、回路シミュレータの紹介をしたいと思います。

実は回路シミュレータも無料で使えるものがあります。

いくつかあるのですが、今回は回路図エディタが使える方には比較的直観的に使える”TINA-TI_JAPANESE”についてのお話です。

 

ダウンロード

”myTI アカウント”登録が必要です。

登録後に下記URLより”TINA-TI_JAPANESE”をダウンロードして下さい。

TINA-TI シミュレーション・ツール | TIJ.co.jp

指示に従ってインストールを行ってください。

詳細な手順については記事にしません。

 

操作

チュートリアルが日本語化されましたので、そちらを御覧ください。

詳細な手順については記事にしません。

TINA-TI™ 操作入門 (tij.co.jp)

回路図エディタが使える方は、すぐに使えて、あまり違和感のない、お手軽操作だと思います。

回路シミュレーション

これはローサイド電流検出回路としてモータドライバなどのアプリケーションマニュアルでよく見かける回路です。

f:id:Blackbox_crusher:20211024233447p:plain

無料ツールの制限として登録されている標準ライブラリデバイスはTI製品です。

この回路のOP-AMPは新日本無線NJU77551Fでしたので、最初の作業はTI製品登録デバイスから同等性能の物を探す事になります。

3.3V動作 レールtoレール GB積2.8MHzのTLV247xを選定しました。

先ず、回路図エディタと同じ要領で違和感なく描ける範囲で回路図を作ります。

"スパイスマクロ"のタブをクリックすると、シンボルが並びますので”オペアンプ”を選択します。

f:id:Blackbox_crusher:20211024234018p:plain

下図の様に一覧がでますので、型式選択を行います。

f:id:Blackbox_crusher:20211024234354p:plain

回路図エディタにないシンボルとして回路シミュレータの為の”計器”、”ソース”があります。

計器はマルチメータやオシロスコープを繋ぐ為の端子と考えてOKです。

ソースはバッテリーなどの電源と考えてOKです。

”T&M”のタブ→"マルチメータ(W)"を押すと下図の様にマルチメータが表示されます。

f:id:Blackbox_crusher:20211024234651p:plain

負荷抵抗RL=1Ωの時、マルチメータの”入力”選択が"VF1"(シャント抵抗10mΩの電圧降下)49.5mVを示します。

次に入力を"VOUT"に切り替えます。

下図の様に1.62Vを示し、49.5mV × 33倍 = 1.6335V(理論値)に近い値を示してます。

回路図シミュレータの良いところで抵抗に誤差がありませんので理論値1.6335Vとの差異はOP-AMPの制約によるものと判断できます。

f:id:Blackbox_crusher:20211024235049p:plain

次に負荷抵抗RLを電流源に置き換えます。

"ソース"のタブをクリックすると、シンボルが並びますので”電流ジェネレータ”を選択します。

f:id:Blackbox_crusher:20211025000138p:plain

これでRSに流す電流を”電流ジェネレータ”で設定できます。

”電流ジェネレータ”をダブルクリックするとプロパティBOXが開きますので”DCレベル(A)に”3"を入力してシャント抵抗に3Aが流れている設定にします。

f:id:Blackbox_crusher:20211025001511p:plain

下図の様に、今度は10mΩに3Aで”30mV”と確認し易い値になりました。

f:id:Blackbox_crusher:20211025001705p:plain

”電流ジェネレータ”にすると、更においしい機能(ちょっとシミュレータらしい?)が使えます。

”解析(W)” → ”DC解析” → ”DC伝達特性”をクリックします。f:id:Blackbox_crusher:20211025002034p:plain

”DC伝達特性プロパティ”の”入力”を電流ジェネレータ”IG1”を選択して、”開始値”と”終了値”を入力します。

ここでは、0A~12Aとしました。

f:id:Blackbox_crusher:20211025002317p:plain

”OK”をクリックすると下図の様な特性グラフが作成されます。

f:id:Blackbox_crusher:20211025002818p:plain

茶色がVF1(シャント抵抗の電圧降下)、緑色がVOUT(OP-AMPの出力)です。
レールtoレールOP-AMPと言ってもGND、電源電圧付近は中間部分と比較すると性能が劣りますので曲がりが生じます。
若干のオフセットとGND、電源電圧付近の曲がりが、仕様として問題がなければ0~10Aの範囲の電流を検出できると判断できます。

 

回路図の保存にも制限がありませんので一旦お気に入りのOP-AMPと同等性能の部品で雛型の回路を作っておけば、一部修正で色々な回路の検証がスピーディーにできます。