タグ付けされた質問 「control」

システムの一部を管理、コマンド、または規制する方法またはデバイス。

1
重複する効果を持つ複数の制御ループ
1つの出力と1つのエラー信号があり、出力が必要な設定値をどれだけ適切に達成しているかについて、PIDを使用して閉ループ制御を実行することに慣れています。 ただし、複数の制御ループがあり、それぞれに1つの出力と1つのエラー信号がありますが、ループは完全に独立しているわけではありません。特に、1つのループがアクチュエータ信号を増加させると、システム内の他のループからの出力の影響が変化します。 具体的な例として、6つの調整可能な抵抗器が並列に接続されたシステム全体に電圧を印加して、抵抗器と直列の電圧源を想像してください。各抵抗を流れる電流を測定することができ、抵抗を調整することによって各抵抗の電流を個別に制御したいと考えています。もちろん、ここでの秘訣は、1つの抵抗の抵抗を調整すると、並列セットの全体的な抵抗が変化することです。つまり、電圧源の抵抗を持つ分圧器による電圧降下が変化し、他の抵抗を流れる電流が変化します。 。 これで、明らかにこのシステムの理想的なモデルがあるため、一連の線形方程式を解くことにより、すべての抵抗器に同時に使用する必要がある抵抗を予測できます。ただし、閉ループ制御の要点は、理想的なモデルから逸脱した、システム内のさまざまな未知のエラー/バイアスを修正したいということです。質問:この種のクロスカップリングを備えたモデルがある場合、閉ループ制御を実装する良い方法は何ですか?
9 control  pid 

3
コントローラーの調整に遺伝的アルゴリズムを使用する
非線形システム(非線形振り子など)の制御に関するいくつかの論文を読んだことがあります。非線形システムを対象とするいくつかのアプローチがあります。最も一般的なものは、フィードバック線形化、バックステッピング、およびスライディングモードコントローラーです。 私の場合は、C ++で単純な振り子とその他のマニピュレーターの問題の非線形モデルを制御する理論的および実用的な部分を実行しました。振り子では、角変位と速度の追跡タスクを解くためにバックステッピングコントローラーを利用しました。結果は θ¨+(k/m)θ˙+(g/L)sinθ=uθ¨+(k/m)θ˙+(g/L)sin⁡θ=u \ddot{\theta} + (k/m) \dot{\theta} + (g/L) \sin\theta= u ここで、およびです。m=0.5,k=0.0001,L=.2m=0.5,k=0.0001,L=.2m=0.5, k=0.0001, L=.2g=9.81g=9.81g=9.81 結果は良好です。ただし、コントローラの調整には時間がかかります。ほとんどの論文では、PD、PID、バックステッピングコントローラーなどのコントローラーの調整に遺伝的アルゴリズムを使用しています。私はこの分野では無知です。誰かがこの概念に光を当ててくれることを願っています。できれば、少なくとも単純な振り子を制御するためのMATLABサンプルがある場合は望ましいです。 これまでのところ、コントローラーを手動で調整するために、C ++ / QtでシンプルなGUIを設計しました。下の図は、ステップ関数のコントローラーの応答です。
9 control 

1
感知と制御作動の間のタイムステップのサイズをどのように決定しますか?
私の背景: 私の経験は固体力学とFEAです。したがって、私はロボット工学/制御の経験がありません。 問題の説明 複雑な6脚の動的システムを安定させる制御戦略を開発しています。各脚の関節からのトルクTiを使用して、身体に正味モーメントMを作成し、システムを安定させます。このモーメントMは、事前に決定された制御戦略から既知です。(補足:動的ソルバーは非線形計算タイプです) 私はバックグラウンドが不足しているため、動的システムと根本的に混乱しています。関節トルクTiを使用して、体にこの既知の正味モーメントMを作成します。このモーメントMは、 すべての脚セグメントの現在の位置/角度 各脚の反力とモーメント(制御できない) 各脚の制御可能な関節トルクTi 時間 所与の時点で(N - 1 )Δ T:(※ )(∗)(*)(n − 1 )Δ(ん−1)Δ(n-1)\Delta -制御戦略から、望ましい正味モーメントMが計算されます/既知です t = (n − 1 )Δt=(ん−1)Δt = (n-1)\Delta -この情報から、ベクトル代数は正味モーメントMを作成するために必要な望ましい関節トルクTiを簡単に生成します (∗ ∗ )(∗∗)(**)(n )Δ(ん)Δ(n)\Delta t = (n − 1 )Δt=(ん−1)Δt=(n-1)\Delta -もちろん、これらのトルクTiは瞬時に適用できないため、直前のタイムステップで適用されます。 (※ )(∗)(*)(※ )(∗)(*)(∗ ∗ )(∗∗)(**) ご質問 ロボット工学の問題を正しく理解していますか?このジレンマに関する用語と戦略は何ですか? もちろん、感知と作動の間のタイムステップを無限に小さくすることもできますが、これは非現実的/不正直になります。現実的なタイムステップと、タスクを適切に実行することのバランスはどのくらいですか?

4
モバイルロボットの向きと非ロボットオブジェクトの相対的な方向を表す、人に優しい用語は何ですか?
ロボット工学プログラミングでは、向きは主に、中心位置からのx、y、およびz座標で与えられます。ただし、x、y、z座標は、選択する場所が多数ある場合({23、34、45}、{34、23、45}、{34、32、45}など)、人間がすばやく理解するのに不便です。 、{23、43、45}は特に人間にやさしいわけではなく、ヒューマンエラーが発生しやすくなっています)。しかし、より一般的な英語の方向記述子は、多くの場合、迅速に選択するには言葉が多すぎるか、または不正確すぎます(たとえば、「ロボット1の右前肩にある正面カメラ」は言葉が多すぎますが、「前」/「前」は不正確です-です最先端のカメラか、それとも前向きですか?) 海軍および航​​空分野では、車両の位置は、一般に、前部、後部(または船尾)、港、および右舷と呼ばれます。一方、車両に関連する移動方向は、文字盤を基準にして与えられることがよくあります(たとえば、前部前方は「12時」、後部後方は「6」、右舷およびポートの左側は、それぞれ「3」と「9」です。この言語は、「前」や「前」などの用語よりも正確な迅速な人間のコミュニケーションをサポートします。モバイルロボット工学に同等の用語はありますか?

2
クワッドローターをターゲットに向けて導く
クワッドローターに取り組んでいます。-私はその位置を知っている私が行ってみたい、 -目標位置、及びそのI計算Aベクターから -私の目標に私を取る単位ベクトルを:b caaabbbccc c = b - a c = normalize(c) クワッドローターは回転せずにどの方向にも移動できるため、私がやろうとしたのは ロボットのヨー角でを回転させるccc コンポーネントに分割するx 、yバツ、yx, y それらをロール角とピッチ角としてロボットに渡します。 問題は、ヨーが0°±5の場合、これは機能しますが、ヨーが+90または-90に近い場合、失敗し、誤った方向に進みます。私の質問は、ここに明らかな何かが足りないのですか?
9 quadcopter  uav  navigation  slam  kinect  computer-vision  algorithm  c++  ransac  mobile-robot  arduino  microcontroller  machine-learning  simulator  rcservo  arduino  software  wifi  c  software  simulator  children  multi-agent  ros  roomba  irobot-create  slam  kalman-filter  control  wiring  routing  motion  kinect  motor  electronics  power  mobile-robot  design  nxt  programming-languages  mindstorms  algorithm  not-exactly-c  nxt  programming-languages  mindstorms  not-exactly-c  raspberry-pi  operating-systems  mobile-robot  robotic-arm  sensors  kinect  nxt  programming-languages  mindstorms  sensors  circuit  motion-planning  algorithm  rrt  theory  design  electronics  accelerometer  calibration  arduino  sensors  accelerometer 

1
高度推定に加速度計をどのように使用できますか?
私は現在、最近飛行して安定した自律型クワッドコプターを実装していますが、大きな外乱が存在する場合は自動補正できません。これは、飛行中にさらに調整する必要があるPIDゲインの調整が不十分なためだと思います。 現在の進行度合: 私の研究の範囲は屋内飛行のみであり、同僚によると気圧計の偏差は+ -5メートルであるため、気圧計を除外しました。 私は現在、高度推定に超音波センサー(HC-SR04)を使用しています。これは0.3cmの解像度を持っています。しかし、超音波センサーのリフレッシュレート20Hzは遅すぎて、高度補正に十分な速度で応答できないことがわかりました。 カスケードpidコントローラースキームで速度PIDに使用する速度を取得するために加速度を統合することにより、加速度計からZ軸の加速度を使用して高さデータを取得しようとしました。高度PIDコントローラーの現在の実装は、超音波センサーからの位置入力でPコントローラーを使用するシングルループpidコントローラーです。 重力による負の加速度測定値を考慮に入れていましたが、オフセットをどれだけ計算しても、負の加速度(たとえば-0.0034)が存在します。クワッドコプターを平らな面に置いたまま重力オフセットを計算し、加速度計のz軸から20,000個のサンプルを収集して平均化して、定数変数として保存されている「オフセット」を取得しました。次に、この変数が加速度計のZ軸出力から差し引かれ、オフセットが削除され、加速していない場合は「ゼロ」になります。質問で述べたように、負の加速度(例:-0.0034)がまだ存在しています。次に、私のクワッドは、常に高度を上昇させます。超音波センサーPコントローラーのみで、クワッドが50 cm振動します。 この一貫した負の加速度測定値をどのように効果的に処理できますか? 考えられる解決策:加速度計を使用して内部ループ(PIDコントローラー)とソナーセンサーを使用して外部ループ(Pコントローラー)で高度ホールドのカスケードPIDコントローラーを実行することを計画しています。私の顧問は、クワッドコプターが高度の遅いセンサーでも高度を保持できるようにするには、シングルループのPコントローラーで十分だと述べました。これで十分ですか?Pゲインだけでは、クワッドコプターが高度をオーバーシュートすることに気づきました。 Leaky Integrator:私はこの記事を見つけて、彼がLeaky integratorを使用して負の加速をどのように処理したかを説明しましたが、負のエラーが正のエラーになって問題を解決しないと思うので、なぜそれが機能するのか少し理解できません。私はあまりよく分からない。http://diydrones.com/forum/topics/multi-rotors-the-altitude-yoyo-effect-and-how-to-deal-with-it 超音波センサーのみのシングルループPDコントローラー:これは遅いセンサーからのフィードバックを使用して実現可能ですか? 出典: LSM303DLHCデータシート:http ://www.st.com/web/en/resource/technical/document/datasheet/DM00027543.pdf 漏れやすいインテグレーター:http : //diydrones.com/forum/topics/multi-rotors-the-altitude-yoyo-effect-and-how-to-deal-with-it ArduPilot PIDループ:http ://copter.ardupilot.com/wp-content/uploads/sites/2/2012/12/Alt-Hold-PID-version-3.0.1.jpg

1
ステッピングモーターの制御パラメーターを最適化するにはどうすればよいですか?
産業用ロボット工学者として、私はほとんどの時間をブラシレスDCモーターまたはリニアモーターを使用するロボットや機械での作業に費やしたので、これらのモーターのPIDパラメーターの調整に多くの経験があります。 今、ステッピングモーターを使用して趣味のロボット工学を行うことに移行しています(私は最初のRepRapを作成しています)。 エンコーダフィードバックがないことは明らかですが、モーターへのリクエストはより保守的にする必要があり、可能なことの範囲内に常に留まるようにしますが、チューニングが最適か、準最適か、または(最悪の場合)どうやって調べるのですか?やや不安定? 明らかに、与えられた負荷(私の場合は押出機のヘッド)に対して、ステップパルス列を生成する必要があります。これにより、モーターは、ステップを逃すことなく、要求される加速と速度に対応できます。 私の最初の考えは、例えばいくつかのテストシーケンスを行うことです: 正確にホームセンサー上のホームモーター。 動く CCC ゆっくり家から離れます。 動く MMM 控えめな移動プロファイルで家から離れます。 動く NNN テストの加速/速度プロファイルのステップ。 動く NNN 保守的な移動プロファイルを使用して、テスト移動の開始に戻ります。 動く MMM 保守的な移動プロファイルで家に戻ります。 動く CCC ホームセンサーにゆっくり戻り、センサーが正しい位置でトリガーされていることを確認します。 さまざまな繰り返します NNN、 MMM、加速/速度および負荷プロファイル。 これは、テストプロファイルの移動で失われたステップを確実に検出するはずですが、テストするには非常に大きなスペースのように思えるので、ステッピングモーター制御パラメーターを最適化するためにどのような技術が開発されたのでしょうか。

2
軌道による位置制御が中断された場合はどうすればよいですか?
ロボットの関節に適用される軌道が中断されるときに使用される戦略は何ですか?ロボットアームが障害物にぶつかったとすると、コントローラーは軌道を適用し続けます。その後、エラーが非常に大きくなり、トルクが非常に強くなり、ロボットまたはスナップに損傷を与える可能性があります。

1
DCモーター制御-速度-トルク曲線
DCモーターの速度-トルク曲線を実際に使用する方法を理解できません。 速度とトルクの曲線の勾配は、モーターの設計によって定義されると理解しています。曲線の正確な位置は、印加される電圧に依存します。したがって、電圧が変更されると、速度-トルク曲線も変更されますが、電圧が変更される前の初期曲線と平行のままです。下の図を参照してください。 したがって、直感的に推測できるのは、モーターを特定の目標動作点(目標速度と目標トルク)で使用する場合、対応する速度-トルク曲線Cdにモーターのデータシートで指定された勾配があり、動作点を通過することです。この曲線Cdは、対応する電圧Vdで得られる。下の図を参照してください。 したがって、次の推測では、モーターをこの望ましい動作点で動作させるには、モーターに印加する電圧をVdに設定し、電流Id(トルクとトルク定数を使用して計算)を印加する必要があります。 今私が読んだことから、これはDCモーターコントローラーで行われていることではありません。これらは、maxonによって次の図に示されているように、電流と何らかのPWMマジックを使用してのみモーターを駆動しているようです。 DCモーター制御で電圧が使用されず、電流のみが使用される理由は誰でも知っていますか?電圧を変更しない場合、速度を設定する方法がわかりません。そして、PWMは何に役立ちますか? 私はインターネットで何時間も探しましたが、関連するものを見つけることができませんでした。 おかげで、 アントワーヌ。
8 motor  control 

1
差動ドライブを備えたバランシングロボットの構築
私は、いくつかの連続回転サーボと加速度計/ジャイロスコープを使用して、2輪バランシングロボットをすでに構築しました。サーボを8ビットエンコーダーを備えたギア付きDCモーターにアップグレードし、バランスを取りながらロボットが動き回るようにしました。 バランスを取りながら運転するようにプログラムする方法にちょっとこだわっています。一つの方法は、モーターへの制御入力を、それを押すようなものとして動作させることだと思います。したがって、ロボットは、移動したい方向に一瞬アンバランスになります。でもそれはちょっと不器用に思えます。より良い方法があるに違いありませんか?バランサーの動的モデルと差動駆動を組み合わせる必要があると思いますが、これは私が知っている制御理論を少し超えています。 Anortonの回答からの更新見栄えの良い状態行列ができました。 次に極配置について:A行列は、新しい状態ベクトルに基づいて4x4である必要があります。また、Bは4x2行列でなければなりません。これは、左/右のホイールトルク(u = 2x1ベクトル)しか制御できないためです。 これについてもっと読む必要があるかもしれませんが、極配置によってA行列を決定する体系的な方法はありますか?この例とさらに複雑な例では、推測とチェックによってAを決定することは非常に難しいようです。 アップデート#2 少し読んだ後、私はそれを理解したと思います。A行列を決定するには、ロボットのダイナミクスが必要です。それができたら、MATLABまたはオクターブを使用して極配置を行うことができます。

1
シータ、x、yモーションコントロールシステムのケーブル配線。内側と外側のどちらがいいですか?
3自由度のモーションコントロールプラットフォームを構築しています。1つの回転軸(シータ)と2つのデカルト(x、y)です。手首操作などのほとんどのアプリケーションでは、ステージのペイロードとして回転サーボを備えたXYステージがあります。この構成は、電源およびデータ配線のほとんどがプラットフォームの非線形可動部分に移行する必要がないため、うまく機能します。 私の反転したアプリケーションでは、スタックアップが逆になります。回転軸が最初に(取り付け平面から)、ステージが回転プラットフォームのペイロードとして接続されます。これで、ほとんどすべての配線(電源、コマンド、センサーなど)を非線形移動セクションにルーティングする必要があります。 私は2つの広いアプローチを見ることができます: 内側のトラックでは、ケーブルを回転の中心に通しています。 外側のトラックでは、ケーブルを回転プラットフォームの外径の外側に配線します。 数学的には、(1)ケーブル長は最小になりますが、ねじり荷重は最大になりますが、(2)ケーブル長は最大になりますが、ワイヤのねじり荷重は最小になります。 非線形アプリケーションでのケーブル配線(および関連するキャリア、戦略、製品)の経験が限られているため、私の質問は... ...実際にはどちらのアプローチが優れていますか? ここではコストは本当に問題ではありません。信頼性、構造の容易さ、商用コンポーネントの入手可能性(技術の人気について何かを言っている)などにもっと興味があります。 たとえば、なぜ一方を他方よりも選ぶ理由の背後にある一般的な概念。 ...もちろん、あなたが私のためにいくつかの部品番号を持っているなら、私は動揺しないでしょう<-私はここでそれを尋ねるはずがないと知っています

1
差動ドライブの軌道に最適なスプライン関数はどれですか
実行時に適応できる軌道を生成するために使用できる最良の種類のスプラインは何ですか? 使用例は、移動中に停止せずにポイント(x、y、theta)に向かって移動する必要がある差動ドライブがある(たとえば、いいえ、ゴールに向かって曲がる、まっすぐにゴール位置に移動する、ゴールの方向に曲がる)。ロボットには、避けなければならない動的障害物を検出するためのレーザースキャナーが備わっています。 この場合、どの種類のコントローラーが最適ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.