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

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


3
ジャイロスコープを使用して二輪ロボットのバランスをとるには、どのアルゴリズムを使用する必要がありますか?
ジャイロスコープから入力を取得し、これを使用して2つの独立した車輪を制御し、そのようなバランスの取れたロボットを確実に直立させて使用できる、優れた人気のある信頼できるアルゴリズムはありますか?私はそれを使ってロボットを動かしたり、静止しているときに直立させたりできるアルゴリズムを探しています。傾斜とそれを微調整する人々に対処する能力もボーナスになりますが、必須ではありません。

6
ロボットは直進しない
私が使用しています2つの同じ DCモーターとキャスターホイールを。モータが接続されているL293Dモータドライバによって制御されるRPI。 ロボットは直進していません。それは右に向きを変えます。両方のモーターを100%PWMで実行しています。 エラーを修正しようとしたもの: ホイールのPWMを99%に高速化するように調整しましたが、ロボットはちょうど反対側に向きを変えます。 ロボットの重量を調整しても、問題は解決しません。 私はかつて負荷なしでモーターを動かそうとしました。これが原因で、後ほど説明したように、負荷なしでDCモーターを運転すると損傷しますか? それが原因でない場合は、制御にセンサーを使用せずにこの問題を解決する方法を教えてください。

2
単純な振り子の最適制御
私はさまざまな最適な制御方法を研究しており(Matlabでそれらを実装しています)、テストケースとして(今のところ)単純な振り子(地面に固定)を選択します。 「単純な」フィードバック法(エネルギー制御に基づくスイングアップ+上部位置のLQR安定化)を使用して制御し、状態軌跡を図に示します(軸の説明を忘れました:xはtheta、yはthetaドット。 次に、反復LQRメソッド(ここで実装されていることがわかりましたhttp://homes.cs.washington.edu/~todorov/software/ilqg_det.m)から始めて、「完全な」最適な制御方法を試したいと思います。 この方法には、1つの動的関数と1つのコスト関数x = [theta; theta_dot], uが必要です(モータートルク(1つのモーターのみ)): function [xdot, xdot_x, xdot_u] = ilqr_fnDyn(x, u) xdot = [x(2); -g/l * sin(x(1)) - d/(m*l^2)* x(2) + 1/(m*l^2) * u]; if nargout > 1 xdot_x = [ 0, 1; -g/l*cos(x(1)), -d/(m*l^2)]; xdot_u = [0; 1/(m*l^2)]; end end function [l, l_x, l_xx, l_u, …
15 control 

3
PIDパラメータをその場で自動的に調整するにはどうすればよいですか?
MCUに実装されたPIDコントローラーを使用してフィードバックを実行する簡単なサーボシステムがあります。ただし、システムのプロパティは動的に変更されるため、すべての状況でPIDパラメーターを調整することはできません。 私のロボットは、これに似た逆駆動可能な電動モーターを備えた軽量アームです。 アームは、重いものを持ち上げたり、机の上で物を押したり引いたりするなど、いくつかのタスクを実行します。これらの各タスクには、簡単に予測できないさまざまなPID調整パラメーターが必要です。 私が本当に欲しいのは、腕の動作に応じてパラメータを慎重に調整できる、より高いレベルの機能です。たとえば、腕が振動していることに気付いた場合、Pを減らしてDを増やすことができます。または、腕が目標に到達していないことに気付いた場合、Iを増やすことができます。 そのようなアルゴリズムは存在しますか?アルゴリズムがすぐにパラメーターを完成しなかったとしても、私は幸せです。例えば、パラメーターが新しい値に調整される前に、腕が数回振動する可能性がありました。

4
低コストのホビーサーボを「自由に」実行するように変更するにはどうすればよいですか?
私はいくつかの趣味のサーボ(Power HD 1501MG)を持っているので、それらを(Arduinoを介して)制御できるようにしたいので、設定した角度に移動するか、「フリーランニング」モードにします。どこに行っても負荷がかかる場所。 これは可能ですか、それともギアを剥がしてしまうだけですか? 私が最初に考えたのは、単にサーボへの電力を殺すことですが、その状態でそれらを動かすのに必要な力は私が望む以上のものです。 可能であれば、ハードウェアの変更を見ていますか、それともソフトウェアで変更できますか?
15 control  rcservo 

1
ROS:ベストプラクティス?
小さなロボットシステムを構築します。ROSは、システムを制御およびプログラムするための素晴らしいフレームワークを提供しているようです。 しかし、ロボットのコンポーネントを管理するためのベストプラクティスはどれかと思います。 すべてのセンサーを1つのノードに配置するのは理にかなっていますか? 1つのノードに同じタイプのセンサーのみを配置する必要がありますか、それとも1つのセンサーに1つのノードを使用する方が良いですか? センサーからの入力を受け取り、対応するアクチュエーターを操作する何らかのハンドラーノードを使用するのは良い習慣ですか?または、アクチュエーターノードとセンサーノードが直接通信する必要がありますか? ハンドラー付きフューズドセンサーノードとアクチュエーターノード ハンドラー付きの単一センサーおよびアクチュエーターノード ダイレクトコミュニケーション 私にとっては、センサーとアクチュエーター間の通信を処理し、ロボットの各要素に対して1つのノードを持つハンドラーを使用するのが最善だと思います(図2のように)。簡単に拡張できますが、私はあなたの意見を知りたいです。
14 control  ros 

3
PIV制御はどのように実行されますか?
PID制御の代わりにPIV制御の実験を検討しています。PIDとは異なり、PIV制御では、インターネットや文献に関する説明はほとんどありません。この方法を説明する情報源はほぼ1つあります。これは、Parker Motionによる技術論文です。 (ラプラスドメインにある)制御方法図から理解できることは、制御出力は次の合計に要約されるということです。 Kpp *(位置誤差の積分) -Kiv *(測定された速度の積分) -Kpv *(測定速度) 私は正しいですか?ありがとうございました。

2
サッカーロボットのスピンコントローラーを記述する適切なアプローチは何ですか?
3輪サッカーロボットのプログラミングを想像してください。あなたはそれを回すためにどのタイプのコントローラーを使用しますか?P?PID? このコントローラーの目標は、ロボットを定義された角度(0度)で立て、手または他のロボットで回転させると元に戻すことです。 私はロボットではなくサーボにステッパーモーターを使用しているため、これをソフトウェアに実装する必要があります! サンプルPタイプコントローラーを既に作成しましたが、動きはかなり良好です。しかし、可能であれば改善したいと思います。コードは次のとおりです。 void spinSpeed(int devidedValue, int addedValue, int correction) { if(degree<correction && degree>-correction) { motorSpeed = 0; } else { if(degree > 0) { motorSpeed = ((degree)/(devidedValue) + (addedValue)); } else { motorSpeed = ((degree)/(devidedValue) - (addedValue)); } } } correctionは、ロボットに動きがない範囲です。 degreeコンパスから返される-127〜128の数値です。 motorSpeedPWMに適用される0〜255の数値です。
14 soccer  control 

4
歩きにくいのはなぜですか?
少なくとも、二本足で。最もよく知られているヒューマノイドロボットの1つであるAsimoは、すでに非常に安定しているようには見えませんが、すでに歩行できます。そして、それは最近の結果です。 私が知る限り、脚は本質的に多次元の非線形システムであり、その制御の理論は「非常に難しい」と「不可能」の境界のどこかにあります。 しかし、たとえば、飛行機も同様に多次元で非線形です。それにもかかわらず、自動操縦装置は数十年前にそれらを十分に制御しています。彼らは何百もの生きている人間の命を彼らに打ち明けるのに十分に信頼されています。 飛行機の操縦がとても簡単なのに、本質的な違いは何ですか?

3
低速(30Hz)システムで高速(200Hz)リアルタイムシステムを制御するにはどうすればよいですか?
現在、複数の制御された自由度とセンサーを備えた移動ロボット+取り付けアームを設計しています。 私は2つの部分でアーキテクチャを検討しています: アームモーターとエンコーダーを制御するための一連のリアルタイムコントローラー(XenomaiなどのRTOSを実行するRaspeberry Piまたはベアメタルマイクロコントローラー)。マイクロコントローラーの数に応じてx = 1,2,3…でこれらのマシンをRTxと呼びましょう。この制御ループは200Hzで実行されます。 ROSを実行してSLAM、mocapを計算し、高レベルのロジックを実行する強力なバニラLinuxマシン(ロボットのタスクを決定し、モーターの希望する位置と速度を計算します)。この制御ループは30Hzで実行されます。 より多くのモーター、より多くのセンサー、より多くのPC(外部のモーションキャプチャーなど)を考慮して、フレームワークをスケーラブルにする必要があることを知っています。 私の主な問題は、さまざまなRTxがPC1と通信する方法を決定することです。ロボットアーキテクチャ(HRP2など)に関連する論文を見てきましたが、ほとんどの場合、高レベルの制御アーキテクチャについて説明していますが、低レベルと高レベルでスケーラブルな方法で通信する方法に関する情報はまだ見つかりません。私は何か見落としてますか? 高速RTマシンを接続して、モーター制御をPC1で保証するために、TCP / IP、CAN、およびUARTを検討しました。 TCP / IP:確定的ではありませんが、簡単に配置できます。非決定性は本当の問題ですか(とにかく遅い30Hzでしか使用されないため)? CAN:低速で、非常に信頼性が高く、車をターゲットにしています(ロボットでCANを使用する例がいくつかありますが、エキゾチックに見えました) UART:モーター制御用のRTマシンが1つしかなかった場合、UARTを検討していましたが、このポートは多くのRTxでうまくスケールしないと思います。とても使いやすい… 現時点では、私にとって明らかな解決策はありません。また、特定の信頼性が高くスケーラブルなソリューションを使用した深刻なロボットの例は見当たらないため、選択する自信がありません。 誰かがこの点または指摘する文献について明確な見解を持っていますか?ロボットで使用される一般的なまたは主流の通信ソリューションはありますか?

3
PIDコントローラーの不可欠な部分がわかりません
PIDコントローラーの不可欠な部分を理解できません。Wikipediaのこの擬似コードを想定してみましょう。 previous_error = 0 integral = 0 start: error = setpoint - measured_value integral = integral + error*dt derivative = (error - previous_error)/dt output = Kp*error + Ki*integral + Kd*derivative previous_error = error wait(dt) goto start 積分は最初はゼロに設定されています。そしてループ内で、時間の経過とともにエラーを統合します。セットポイントに(正の)変更を加えると、エラーは正になり、積分は時間の経過とともに(最初から)値を「食べる」ことになります。しかし、私が理解していないことは、エラーがゼロに戻って安定したとき、積分部分はまだいくつかの値(時間の経過とともに統合されたエラー)を持ち、コントローラーの出力値に貢献しますが、そうではありません、エラーがゼロの場合、 PIDの出力もゼロになるはずですよね? 誰かがそれを説明してもらえますか?
12 control  pid 

3
ロボットマニピュレーターのフィードバック制御に最適なモデルはどれですか(MIMOまたは並列SISO)。
私は現在6-DOFのロボットアームを設計しています。私の目標は、3dの位置、速度、および方向(セットポイントを指定できるようにすることです)。x,y,z,x˙,y˙,z˙,θ,α,γx,y,z,x˙,y˙,z˙,θ,α,γx,y,z,\dot{x},\dot{y},\dot{z},\theta,\alpha,\gamma カレッジではこれまでSISOシステムのフィードバック制御しかできなかったので、多変数制御の学習曲線を考慮して、システムをMIMOまたは複数のSISO としてモデル化しようとしてこの問題に取り組む必要がありますか? 可能であれば、各戦略で考えられるデメリットとメリットを挙げてください。

2
サーボコントローラーに必要なループ周波数を計算するにはどうすればよいですか?
ロードセルに接続されたストリングを駆動するモーターを持っています。モーターによって弦に加えられる負荷を制御するための閉ループコントローラーを実装したいと思います。 安定した制御システムを作成するために必要なループ周波数を決定するにはどうすればよいですか?これはナイキスト周波数のようなものですか?ループ速度は、機械システムに固有の最高周波数の少なくとも2倍でなければなりませんか?
11 control  motor  force 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.