ロボットは直進しない


19

私が使用しています2つの同じ DCモーターとキャスターホイールを。モータが接続されているL293Dモータドライバによって制御されるRPI

ロボットは直進していません。それは右に向きを変えます。両方のモーターを100%PWMで実行しています。

エラーを修正しようとしたもの:

  1. ホイールのPWMを99%に高速化するように調整しましたが、ロボットはちょうど反対側に向きを変えます。
  2. ロボットの重量を調整しても、問題は解決しません。

私はかつて負荷なしでモーターを動かそうとしました。これが原因で、後ほど説明したように、負荷なしでDCモーターを運転すると損傷しますか?

それが原因でない場合は、制御にセンサーを使用せずにこの問題を解決する方法を教えてください。


私がイメージする差動ドライブ構成では、これが発生する可能性が非常に高くなります。2つのモーターのわずかな違いにより、ロボットが回転します。
デメトリス

4
開ループ制御へようこそ。問題を自分で検出するには、自分の目(目)のセンサーが必要ですが、追加のセンサーなしでロボットがどのように検出できると思いますか?制御ループをセンサーで閉じることは、進むべき方法です。
曲げユニット

1
センサーを避けたい場合は、ステッピングモーターが動作する場合があります。

@bdares-センサーがない場合、ロボットはいつコースを修正するかをどのようにして知るのですか?1つの車輪が低摩擦の領域(ほこりなど)に衝突してスリップすると、ロボットは回転し、修正されません。
チャック

センサーがないと言うとき、これは外部センシングがないことを意味しますか、それとも車輪のエンコーダーも除外しますか?それがこの問題の典型的な解決策だからです。
ジェームズライアン

回答:


29

これが答えなので、これを答えとして投稿してます。

できません。

@ BendingUnit22が言及しているように、「開ループ」制御を試みています。ノイズと変動は、ロボットが完全に直線を走行することないことを意味します。

モーターは異なる巻線抵抗(異なる駆動電流/トルク)を持ち、車輪は異なるサイズを持ち、車輪は異なる牽引特性を持ち、キャスターのベアリングは「硬い」可能性があり、キャスターは車両の始動時に完全に真っ直ぐではない、床はさまざまな表面摩擦特性を持っている可能性があります(読み取り:ほこりまたはカーペット)-リストは延々と続きます。

唯一のあなたのコントロール外のもの(私は+より上記に言及するもの)のアカウントへの道は、フィードバックセンサを使用することです。

私がリストした問題を修正することで、より良いオープンループのパフォーマンスを得ようとすることができますが、さらに多くがあり、すべてを制御することはできません。


5
まさに!問題は、「2つの同一のDCモーターを使用しています」というステートメントにあります。これらは完全に同一ではありません。@ Chuckが言及しているように、他にも多くの考慮事項があります。ロボット工学で唯一確実なことは、エラーとノイズが発生することです。
ライアンLoggerythm 16年

2
同じ軸上で2つのホイールを使用しても、同じモーターを2つ使用するよりもはるかに良い結果が得られるはずです。
ジョンドヴォルザーク

@JanDvorak-「2つの車輪が同じ軸上にある」と言うときの意味が完全にはわかりませんが、2つの車輪が同じ幾何学的軸上にあることが理解/暗示されていると思います。同じ制御軸(1つのモーターと同じ)または車軸(再び1つのモーターを意味する)を意味する場合、ロックされた車軸で差動ドライブステアリングを実行することはできないことを指摘します。1つのモーターで両方の車輪を異なる速度に制御するには、差動装置(およびその他の機器)が必要です。差動装置は、車軸を2つの部分に効果的に分割し、1つに戻ります。
チャック

私は1つの車軸を意味しました、ごめんなさい。私はまっすぐに行かないようにするための要件が​​あることを知りませんでしたか?
ジョンドヴォルザーク

2
@JanDvorak-OPのロボットはマイクロマウススタイルの車両だと思います。直進するだけで1つの車軸を使用した場合でも、他のエラーの原因はすべて適用されます。一方のホイールが他方のホイールよりも直径が0.1%大きい場合、1回転あたりの小さいタイヤよりも0.1%長い経路長を移動します。たとえば、名目上のホイールサイズが10cmで、ホイール間隔が10cmであるとします。大きいタイヤは10.01cmで、1回転につき 0.0314cm遠くまで移動します。ホイールベースの場合、ロボットはホイール1回転あたり 0.12度回転します。0.01cmは、1つのタイヤのほこりから簡単に出ることができます。
チャック

6

オープンクローズループの問題については既に言及しているので、「負荷なしでDCモーターを実行しようとしたことがある」にコメントします。
はい、これでモーターを損傷する可能性がありますが、負荷でモーターを損傷または破壊することもできます。破壊は、電流とその結果生じる温度に起因しています。煙がなく、モーターから明らかな臭いがする場合は、ほとんど損傷していない可能性があります。私の経験から、趣味スケールのDCモーターは100°Cを超える温度で劣化し始めることがわかります。そして、あなたは明確にそのような温度に気付くでしょう

編集:
私はこれについてもう一度考えましたが、あなたの同僚が話していたかもしれないアイデアを得るかもしれません。特別な種類のACモーターがあります。これらは非励起の同期モーターです。基本的に、それらは自己破壊のために構築されます。電源を入れると、分解するまで加速し始めます。しかし、それらに重い負荷をかけると、負荷に適用しなければならない大きな瞬間のために、この状態に達することができません。したがって、合理的な目的で使用できます。とにかく、あなたのアプリケーションでこのようなモーターを絶対に使用しないでください。


1
私も、特に趣味のモーターでは、熱くなったり、変なにおいがするのを十分に加熱するまでに、おそらく巻線の絶縁体をすでに焼いていると思います。多くの電気機器と同様に、正常に機能するか、破損しています。中間のケースはそれほど多くありません。
チャック

そのような煙や目に見える損傷はありませんでした。したがって、30分未満で実行したので、おそらく破損していないでしょう。
マウス

2

あなたが説明しているものは開ループ制御と呼ばれ、これを行うには、まったく同じ2つのモーター、まったく同じ2つの車輪、車輪の中心にあるロボットの重心、完全な対称電気回路、そして最後に、走る完璧な均一なレベルの表面。

これを達成するには、通常、各部品を数十個または数百個注文してから、重要なテストを実行して、電力と速度対電圧およびPWMの点で互いに最も近い2つのモーターを見つけます。ホイール、モーターコントローラー、その他の部品についても同じことを行います。

このプロセスはビニングと呼ばれます-これらのテストの後、機能または特性に従ってソートします。クローズドループモデルに変更するよりも適切に行うことは、時間とリソースの両方ではるかに高価であると考えられており、劣悪な地上条件を考慮していません。

ただし、追加のセンサーなしで要件を達成する方法の1つです。


1

完璧になることは決してありませんが、もっとまっすぐにするための簡単な方法があるかもしれません。

100%〜100%で車が常に左に曲がり、100%〜99%で車が常に右に曲がる場合は、中間の値を試すことで改善できます。

100%-99.5%で開始し、結果に応じて100%-99.75%または100%-99.25%で続行します。これはすぐに「平均」で直進する状況に収束するはずです。


0

さて、もし問題が各車輪のハードウェアやソフトウェアの違いにないのであれば、おそらくあなたがロボットを作った方法またはモーターが生産された方法のいずれかにおける自然な欠陥の問題です。接続が安定していないか、RPIが同じ電流を出力していない可能性があります。おそらく、速度コントローラーを使用する必要があります。まず試してみてください。

それがうまくいかない場合、おそらくあなたの製造業者は同一のモーターを製造しておらず、おそらくモーターを較正する必要があります。強いモーターの値をスケーリングして、強いモーターへの100%の電力を弱いモーターと一致させることを意味する場合があります。


2
同一のモーターコントローラーを使用しても、当面の問題は解決しません。問題はロボット工学の中核にあり、それは「どのようにエラーを修正するのですか?」です。
ライアンLoggerythm 16年

DCモーターは、前方に向かって後方にわずかに遅く走ることができると聞きました。また、重量の不均衡は、側方へのシフトを引き起こす可能性があります。摩擦などの他のことは言うまでもありません。「同一の」何かをすることはうまくいきません。...ステッパーは少し良くやるかもしれませんが、あなたはあまりにも速いか何か運転べきではない
ポール・

-2

DCモーターを備えたホイールは正面にあるはずです。そして、後ろのコスターホイール。その後、前方にのみまっすぐに移動します


Robotics Arslan へようこそ。Stack Exchangeでは、いくつかの説明とコンテキストを提供する包括的な回答を探しています。非常に短い回答ではこれができないため、回答を編集して、それが正しい理由、理想的には引用を説明してください。説明を含まない回答は削除される場合があります。
マークブース
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.