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

4
Arduino PIDライブラリを使用して、ロボットを直線で駆動するにはどうすればよいですか?
2つの車輪、各車輪の直交エンコーダ、Hブリッジドライバーチップ(またはモーターコントローラー)、キャスターを備えたArduinoベースのロボットを作成したいと思います。PIDライブラリを使用して、速度が移動距離に比例するようにします。 概念レベルで(モーターがPWMレベルと同じように応答しないと仮定して)、PID制御を実装して、直線で移動する距離に比例する速度で移動するようにするにはどうすればよいですか?
19 arduino  pid  driver  encoding 


3
クアッドコプターPIDチューニング
私がここで尋ねた質問の続きで:自律モードでの単純な離陸を伴うクアッドコプターの不安定性 ... (3DRoboticsのフレームを使用しています) 制御システム全体を2つのPIDブロックにまとめました。1つはロールを制御し、もう1つはピッチを制御します(ヨーとその他すべて...後で考えます)。 このセットアップは、自由に回転するビームで構成されるリグでテストしています。クアッドローターの2本のアームを縛りました。他の2つは自由に移動できます。そのため、実際には一度に1つの自由度(ロールまたはピッチ)をテストしています。 以下の画像を確認してください。ここで、A、Bは、セットアップが取り付けられている自由に回転するビームを示しています。 PおよびDパラメーターを慎重に調整することで、約30秒の持続的な飛行を達成することができました。 しかし、「持続」とは、ドローンが片側に倒れないテストを意味します。安定した飛行はまだ見えないところではなく、30秒以上の飛行も非常に困難に見えます。最初からぐらつきます。20〜25秒になると、片側に傾き始めます。30秒以内に、許容範囲を超えて片側に傾きました。すぐに、私はそれが逆さまに休むのを見つけます PIDコード自体に関しては、ジャイロ+加速度計データの「相補フィルター」から比例誤差を計算しています。積分項はゼロに設定されます。P項は約0.39になり、D項は0.0012になります。(私はArduino PIDライブラリを意図的に使用していません。ここに実装された自分のPIDの1つを取得したいだけです。 動作を確認したい場合は、このビデオを確認してください。 http://www.youtube.com/watch?v=LpsNBL8ydBA&feature=youtu.be [はい、セットアップはかなり古いです!同意する。:)] この段階で安定性を改善するために何ができるか教えてください。 @Ian:セットアップで行った多くのテストのうち、シリアルモニターからの読み取り値を使用して、いくつかのテストのグラフをプロットしました。以下に、Roll vs 'Motor1&Motor2-PWM input'(ロールを制御する2つのモーター)のサンプル読み取り値を示します。 入力/出力に関して: 入力:加速度計+ジャイロの組み合わせによって取得されるロールとピッチの値(度単位) 出力:サーボライブラリのmotor.write()関数を使用して配信される、モーターのPWM値 解決 問題を解決しました。方法は次のとおりです。 問題の核心は、Arduinoプログラムの実装方法にありました。write()関数を使用してサーボ角度を更新していましたが、これは引数で整数ステップのみを受け入れます(または整数入力にのみ応答し、100と100.2は同じ結果を生成します)。私はそれをwriteMicroseconds()に変更したので、ヘリコプターはかなり安定したものになりました。 私は一方のモーターのRPMを加算し、もう一方のモーターを安定した値に保ちました。これを変更して、1つのモーターのRPMを増やし、反対側のモーターを減らしました。そのようなことで、水平方向の推力は変わらずに維持されます。これは、このことを垂直高度に保持しようとしているときに役立つかもしれません。 RPMを最大限界まで押し上げていたため、クアッドコプターはフルスロットルで制御を失い続けました。RPMが傾斜を感知したときにRPMが増加する余地はありませんでした。 私は、モーターの1つが他のモーターよりも本質的に弱いことを観察しました。理由はわかりません。そのモーターのPWM入力にオフセットをハードコーディングしました。 すべてのサポートに感謝します。 ソースコード: 興味のある方は、ここに私の必要最低限​​のPID実装のソースコードを示します。PIDソースコード ハードウェアで自由にテストしてください。プロジェクトへの貢献は大歓迎です。

5
ロボットを作成し、マイクロコントローラーをいじくり回すことに関するアドバイスを開始する[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? Robotics Stack Exchangeのトピックになるように質問を更新します。 6年前に閉鎖されました。 ロボットを作り、マイクロコントローラーをいじり始めたいです。どこから始めて、何が必要ですか? 私は自分のロボットを作りたいです。私はプログラミング(アセンブリとC)に慣れているので、その部分はカバーされていますが、電子/回路の知識は少し弱いです。どの素材から始めてどのツールが必要なのか、またどのように組み合わせるのかわからない。 マイクロコントローラーについては、内蔵LCDとプッシュボタン(特に、デバッグとユーザーインタラクション)。私は正しい軌道に乗っていますか?I / Oポートの数が少ないように思えますが、実際にはそうですか?

3
サーボが壊れている兆候は何ですか?
キットを入手したばかりで、それが自分かどうかはわかりませんが、連続サーボの1つが壊れている可能性があります。マイクロコントローラーに接続したときに最初に何が起こったのか、コマンドを送信するとハミング音が鳴りました。2番目の連続サーボがまったく機能しなかった 私はaurdinoベースのボードでさまざまなポートをいじってみましたが、役に立たなかっただけでハムです。次に、ハミングサーボを完全に取り外し、2番目のサーボだけを配置しました。2番目の連続サーボは、私が要求した方向に動き始めました。 最初のものを差し込んだのですが、2つ目だけが動きました。 次に、手で回転させてみました。2番目の抵抗は抵抗が大きく、1番目の抵抗は抵抗が劇的に低く、手で回転するほうが60%簡単です。 これは私が修正できるものですか?誰かがこれらの問題を以前に経験したことがありますか? よろしくお願いします。

3
四足学習シミュレータ
私は現在、4脚(四足歩行)、3 DOF(自由度)のロボットを構築しています。ここで、シミュレーターを使用してコンピューターで学習し、アルゴリズムをロボットにアップロードすることが提案されています。私が使用しているArduinoの宇野をロボットのため、どのようなソフトウェア私はArduinoのボードにアップロードすることができ、その後の学習をシミュレートするために使用してだろうか?

5
ArduinoカメラモジュールビデオからAndroid画面にビデオを送信するにはどうすればよいですか?
カメラモジュールをArduino Megaに接続し、MegaをAndroidスマートフォン(BlueToothなど)に接続して、カメラのライブビューを携帯電話に送信しようとしています。 静止画像についてこれを示すビデオをオンラインで見ました-Arduinoのカメラモジュールによってキャプチャされた画像はAndroidに送信され、出力画像は数秒後に表示されました(BTが画像を送信する時間)。 これは画像の代わりにライブビデオで可能ですか?はいの場合、ご案内ください。いいえの場合、いくつかの回避策を提案してください。

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 

2
ラインフォロワー最適化
私はラインフォロワーロボットの構築に取り組んでおり、そのパフォーマンスを最適化したいと考えています。PIDアルゴリズムを使用するよう提案されました。私はPIDについてたくさん読みましたが、以下について少し混乱しています: を使用してerror_valueを計算しました が、モーター速度の変化に関して、差(つまり、現在の位置-セットポイント)またはエラー値の比較中に何を使用するかについて混乱しています。それは私が使うべきですkp∗ p r o p o r t i o n a l + 。。。kp∗proport私oんal+。。。k_p * proportional + ... if (difference > 0) { //code for changing appropriate motor's speed using error_value } または if (error_value > 0) { //code for changing appropriate motor's speed using error_value } …

3
KINECTを使用してモバイル自律ロボットのマップを改善するにはどうすればよいですか
私の狙いの背景 私は、未知の領域の周りをナビゲートし、障害物を回避し、さまざまなタスクを実行するために音声入力を受信する必要がある移動自律ロボットを構築しています。また、顔やオブジェクトなども認識しなければなりません。Kinectセンサーとホイールオドメトリデータをセンサーとして使用しています。公式ドライバーとSDKがすぐに利用できるので、私はC#を主要言語として選択しました。ビジョンとNLPモジュールを完了し、ナビゲーション部分に取り組んでいます。 私のロボットは現在、Arduinoを通信用のモジュールとして使用し、ラップトップ上のIntel i7 x64ビットプロセッサをCPUとして使用しています。 これはロボットとその電子機器の概要です: 問題 エンコーダーからロボットの位置を取得するシンプルなSLAMアルゴリズムを実装し、Kinectを使用して(3D点群の2Dスライスとして)見えるものをマップに追加します。 これは私の部屋の地図が現在どのように見えるかです: これは私の実際の部屋の大まかな表現です: ご覧のとおり、それらは非常に異なり、非常に悪いマップです。 これは推測航法だけを使用することから予想されますか? 私はそれを洗練して実装する準備ができている粒子フィルターを知っていますが、この結果を改善する方法は何ですか? 更新 私の現在のアプローチについて言及するのを忘れていました(以前は忘れていました)。私のプログラムは大まかにこれを行います:(私は動的テーブルを格納するためにハッシュテーブルを使用しています) Kinectから点群を取得 シリアルオドメトリデータの受信を待つ タイムスタンプベースの方法を使用して同期する ウィキペディアの方程式とエンコーダーデータを使用してロボットのポーズ(x、y、theta)を推定する 点群の「スライス」を取得する 私のスライスは基本的にXおよびZパラメータの配列です 次に、ロボットのポーズとXおよびZパラメータに基づいてこれらのポイントをプロットします 繰り返す

5
Arduino Unoボードは計算上どのくらい強力ですか?
UnoのようなArduinoボードは本当に何ができますか?もちろん、2つのサーボを制御するような単純なことは非常に簡単です。しかし、UnoボードがモバイルロボットのKinectセンサーから収集された点群データからリアルタイム3D SLAMを実行できるとは思いませんか?ロボットがまったく速度を持っていた場合、Arduinoは追いつくことができませんでしたね?移動中に2D SLAMを実行して、追いつくことができますか?Kinectセンサーからポイントの1/10を取り、それらのみを処理するのはどうですか? 基本的に、そのようなArduinoボードのリソース制限の例は何ですか?
8 arduino  slam  kinect 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.