ロボット

全56件中21~40件表示
  • 制約条件下でのブラシ付きDCモータの角度制御

    制約条件下でのブラシ付きDCモータの角度制御について教えてください. ブラシ付きDCモータの角度制御の制御シミュレーションをMATLABでしています.連続時間系です. 制御対象のモデルは,「印可電圧を入力,電流を出力とする1次遅れ系の伝達関数」→「電流を入力,モータ軸の角速度を出力とする1次遅れ系の伝達関数」→「角速度から角度に変換するための積分器」,および「角速度から印可電圧に負帰還する逆起電力のフィードバック信号」から構成されています. 制御構造は,電流フィードバックループ(PID制御),角速度フィードバックループ(PD制御),角度フィードバックループ(PID制御)をから成るカスケード制御系です. 制約の無い条件下ではシミュレーションが上手くいったのですが,制御入力(印可電圧)に上限値を設定するとワインドアップが発生しました.そこで,アンチリセットワインドアップ補償器を付けたのですが,制御量(角度)が目標値に収束しません.角度フィードバックループを外して,電流フィードバックループ(PID制御)と角速度フィードバックループ(PD制御)からなる角速度フィードバック制御系にすると,アンチワインドアップ補償器を付けると制御量(角速度)が目標値に収束します. なぜ角度フィードバックループを付けると,アンチリセットワインドアップをつけても目標値に収束しないのでしょうか?どうすれば収束しますでしょうか? ご教授の程よろしくお願い致します.

  • サーボ系の多重ループ構造(カスケード制御)について

    DCモータの角度の追従制御などサーボ系の制御構造は、電流制御ループ、速度制御ループ、位置制御ループの多重ループ構造(カスケード制御系)をもつと思いますが、なぜ多重ループにしないとなめらかな制御ができないのでしょうか?位置制御ループのみだとなぜ制御性能が良くないのでしょうか?(もし可能であれば数式を使って教えていただければ幸いです。) また、サーボ系であればカスケード制御系にしたほうが必ず制御性能が良くなるのでしょうか?例えば、エアシリンダの位置制御もそうなのでしょうか? どうかよろしくお願い致します。

  • フィードバック制御におけるサンプリング周期の

    ある質問掲示板で、DCモーターのフィードバック制御について質問したときに、質問文の中の「サンプリング周期は1ms」ということに対して、回答者様から、 「>サンプリング周期は1ms←この時点で破綻していると思います。モーターの反応速度はそんなに速くありません。時定数を適切に設定しないと、制御系はまともに動きません。」 と回答を頂いたのですが、これは正しいのでしょうか?制御対象の時定数に対してサンプリング周期が短いことによって制御性能に与える悪影響はあるのでしょうか?PID制御などをする時に微分要素へのノイズ成分の影響が考えられますが、フィルタを通せば済む問題だと思います。その回答者様に追加質問したのですが、返答がありません。この回答者様はどのような理由で、サンプリング周期が1msというのが破綻している、と回答されたと思いますか? どなたかご意見頂けると幸いです。 よろしくお願い申し上げます。

  • リアルタイム制御のためのPCスペック

    回転型倒立振子の安定化制御を最適制御(LQR)でしようと思っています。エンコーダを使ってDCモーターをフィードバック制御します。使用する環境は、PCとPCI ExpressのIOボード、エンコーダカウンタとで構成される環境と、Arduinoおよびカウンタ搭載の制御基盤とで構成される環境で、それぞれで実験をする予定です。後者の環境の構築方法はわかったのですが、前者、つまりPCとIOボード、エンコーダカウンタで構成する環境をするために、PCのスペックはどれくらいのものが良いでしょうか?CPU、メモリはどれが良いでしょうか?(Core i5、8GBで十分?)また、ワークステーションにするべきでしょうか?OSはDebianの予定です。どうぞよろしくお願いします。

  • カウンタボードについて教えてください。

    エンコーダで角度計測をするのに、カウンタボードを介するのと、カウンタボードを使わずに下記のようなプログラムで角度を計測するのとでは、何が違うのでしょうか?カウンタボードから出力される信号は何なのでしょうか?カウンタボードを使うと下記のようなプログラムは必要ないのでしょうか?カウンタボードの簡単な原理なメリットについて教えてください。よろしくお願いします。 byte value = B00000000; float degree = 0.00; void setup() { Serial.begin(9600); pinMode(2, INPUT); pinMode(3, INPUT); } void loop() { value = (value<<2)+(digitalRead(2)<<1)+digitalRead(3); value = value &B00001111; if(value==B00000001||value==B00000111||value==B00001110||value==B00001000) { degree = degree+3.75; } else if(value==B00000010||value==B00001011||value==B00001101||value==B00000100) { degree = degree-3.75; } if(degree>180) { degree = degree-360; } else if(degree<=-180) { degree = degree+360; } Serial.print("degree: "); Serial.println(degree); }

  • ArduinoでDCモーターの角度制御

    arduinoでDCモーターの角度のフィードバック制御をしたく思っており、エンコーダーで角度を計測しながら、一定時間毎(10ms)にモーターに制御入力を入れたいです。エンコーダーで角度を計測するには外部割り込みが必要で、一定時間ごとにモーターへの電圧を変化させるにはタイマー割り込みが必要だと思います。この場合どのようなプログラム構成にすれば良いのでしょうか?void setup( )の中に、 attachInterrupt(interrupt, function, mode) ; MsTimer2::set(unsigned long ms, void (*f)()) ; MsTimer2::start(); を書けば良いのでしょうか?この場合、タイマー割り込みで実行される関数 void (*f)()の処理中に、外部割り込みのイベントが発生した場合、functionを実行してくれるのでしょうか?また、functionの実行中にタイマー割り込みが入ることもあり得るのでしょうか?この場合、エンコーダによる角度計測がきちんと行われないことになると思うので、どうすれば良いでしょうか? ご教授のほどどうぞよろしくお願い致します。

  • 回転型倒立振子の振り上げ制御

    回転型倒立振子の振り上げ制御をするのに、最も適した制御系は何でしょうか?H∞制御でしょうか?スライディングモード制御でしょうか?それともその他の制御でしょうか?

  • 多入力多出力PID制御と現代制御

    多入力多出力PID制御と現代制御(状態フィードバック制御)を比較した場合、制御性能に差はあるのでしょうか?それとも同じでしょうか?

  • 6軸アームの手先軌道制御と二足歩行ロボットの動歩行

    6軸のロボットアームの手先軌道を制御するのと、二足歩行ロボットにZMP制御で動歩行をさせるのとでは、どちらの方がどういう点で難しいですか?

  • PCのCPUで演算処理し、Arduinoで入出力

    ArduinoをPCに接続して、Arduinoを、PCのIOボードとして使うことは可能でしょうか?つまり、信号の入出力はArduinoの入出力ポートから行って、演算処理をマイコンではなくPCのCPUでさせたいです。この場合、どのようなプログラムを書けば良いのでしょうか?Arduinoを接続しているPCのポートにアクセスして、それからArduinoの入出力ポートにアクセスするプログラムになると思うのですが、そのやり方がわかりません。一旦マイコンのレジスタにアクセスする必要があるのでしょうか?開発環境は何を使えば良いでしょうか?PCのOSはLinuxです。ご教授頂ければ幸いです。

  • ロボットの運動を解析するために必要な数学的知識

    ロボットアームなどのロボットの運動を解析するために必要な数学的知識は何か教えてください.下記が理解できていれば下地としては十分でしょうか? ・線形代数 ・解析学 ・微積分学 ・ベクトル解析 ・微分方程式

  • リアルタイムOS(RTOS)の割り込み処理について

    RTOSではないOSの割り込み処理とRTOSの割り込み処理とでは,作成するプログラムは違うのでしょうか? 例えば,Linux PCでロボット制御のためのC言語プログラム(プログラムAとします)を作成して実行したところ,リアルタイム性が良くなかったため,リアルタイムカーネルをインストールしたとします.そうするとプログラムAを何も書き換えずにそのまま実行するとRTOSの割り込み処理がおこなわれるのでしょうか?それとも,プログラムAをRTOSの割り込み処理をするためのプログラムに書き換えないといけないというものでしょうか?(RTOS専用の割り込み処理のための関数などがあるのでしょうか?) よろしくお願いいたします.

  • リアルタイムOSが必要かどうか

    Linuxが入ったPCで、AD/DAボードを介してロボット制御(サンプリング周期は1ms)をしようと思うのですが、RT Linuxなどのリアルタイムカーネルは入れた方が良いでしょうか?それとも、1ms程度なら必要ないでしょうか?

  • PCに挿したIOボードを制御するためのプログラム

    IOボード(AD/DAボード)を使ってPCで入出力制御(例えばモーターのフィードバック制御)をしたいと思っているのですが、ボードにアクセスするためのプログラムや、信号を入出力するためのプログラムをどのように書いたら良いかわかりません。おそらくデータシート?に書いていると思うのですが、知識不足で読み解くことができません。(いままでArduino IDEでArduinoの制御をしたことしかありません。普通にC言語でAVRマイコンをプログラムして制御することはできません。C言語の基礎知識はあります。) そこで質問なのですが、PCから(例えばPCIスロットに挿した)IOボード(AD/DAボード)を制御するための知識は、どのようにして習得できますでしょうか?参考になる本やサイトが見つかりません。PICやAVRなどのマイコンであれば本が色々出ているようなのですが、そのようなマイコンを使えるようになれば、PCからIOボードを制御できる基礎知識は付きますでしょうか?

  • ロボット制御のためのマイコン

    ロボット制御のためのマイコンを考えた場合,Arduinoを使う場合と,H8マイコンやPICマイコンで自分で一から回路基板を組む場合とを比較した場合,後者ではできて前者ではできないことは何があるのでしょうか?ご教授のほどよろしくお願いします。

  • PCでモータなどをリアルタイム制御する方法

    RinuxOSのPCからAD/DAボード(USB接続)を介して、モーターなどのメカトロニクス機器をリアルタイム制御したいと思っています.それを実現するために, ・UbuntuなどにRTOSをインストールする。 ・PCにAD/DAボードを設置する。 ・デバイスドライバとAPIをインストールする。 まではわかったのですが、「AD/DAボードにアクセスするためのプログラム」をどのように書けばよいのかわかりません.また,「DAボードから任意の電圧を出力する(またはADボードを介して外部電圧をPCに取り込む)」にはどのようにプログラムを書けば良いのかもわかりません.そもそもAPIというものが何をするためのものかも分かっていません. ちなみに、Arduinoを使ってモータの制御はしたことがあります. どなたかアドバイスいただければ幸いです.「そもそもまず~~という本で~~の知識を入れるべき」というレベルでも結構ですので,どうかよろしくお願い致します。

  • ロボットが町を当たり前に歩く時代はいつくるのか

    みなさんはロボットが町を当たり前にうろついてる時代は いつくると思いますか? 正直人がやらなくていい仕事って たくさんあると思いますが そういうところがすべてロボットにとってかわられる時代というのは いつですか? 有名な占い師の方にきいたところ およそ100年後だそうです

  • ロボットの許容イナーシャの基準、無理やりやったら?

    こんにちは。ロボットの選定で、可搬質量が一番大きいものを選定したのですが、 オフラインで質量設定をしたところ、「大きさ0」のときは当然、可搬質量内ですのでパスしたのですが、重心、つまり大きさを入れたところ負荷オーバーとでました。 モーメントオーバーか?と気づいて、イナーシャを計算したところ、やはり手首の許与イナーシャを2倍近くオーバーしていました。 ところで私は疑問に思ったのですが、「許容モーメント」というのは理解ができます。 しかし許容イナーシャというのは、いったい何の加速度を基準にしているのでしょうか。 すなわちトルク = イナーシャ×角加速度ですので、 角加速度が小さければイナーシャが大きくてよい、という理解なのですが。 モーター始動させるための最低限の加速度(それは仕様には書いていません)というものがあるんでしょうけど、 その最低限の加速度をもってしても、許容イナーシャを逸脱すると、許容トルクを超えてしまうということなのでしょうか? また、インターネットで検索すると、あきらかに私たちが取り扱う予定のワークよりもイナーシャが大きく、同質量の可搬を同じロボットでやってる例をみたのですが、 まともに負荷設定(イナーシャを含む)をするとアラームが出て怒られるはずなのですが、そういうのは負荷設定を甘くして、無理やりやっているのでしょうか? そういう場合はメーカーの保証対象外ですよね。 よろしくお願いします。

  • Linuxでリアルタイム制御するには

    PCからAD/DAボードを介して小型のロボットをリアルタイム制御したいと思っています.これまではWindowsPCにMATLABをいれて,MATLABでプログラムを作って制御していたのですが,LinuxでMATLABを使わずにリアルタイム制御したいと思っています. そこで質問ですが,Linuxでリアルタイム制御するには,どのようなOSが必要なのでしょうか?Ubuntuで大丈夫でしょうか?また,PCにはOSの他に何を入れる必要があるのでしょうか?(これまではWindowsPCにMATLABとそのToolBoxを入れるだけでリアルタイム制御していたので,それ以外のやり方について全くの無知です.) アドバイス頂ければ幸いです.よろしくお願い致します.

  • 信号線のウィンチ巻取りについて

    こんにちは。 有線操作のロボットを製作している過程において、操作用の信号線をウィンチで巻き取りたいと考えています。 信号線ドラム側端がドラム巻取りによってねじれてしまうかと思うのですが、深海調査艇などのワイヤーはこの問題をどのように解決しているのでしょうか? 思いつく方法は端子をドーナツ型にしてしまうくらいなのですが実際のところどうなっているのでしょうか? 大変稚拙な疑問で恐縮ですがお詳しい方、ご存じの方、どうかご教授お願い致します。