問題タブ [robotics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 距離と方位のみを使用して位置を特定しますか?
三角測量は、3 つの既知のターゲットに対する角度をチェックすることで機能します。
「あれがアレクサンドリアの灯台だと知っています。地図上でここ (X,Y) にあり、90 度右に曲がっています。」異なるターゲットと角度に対して、さらに 2 回繰り返します。
三辺測量は、3 つの既知のターゲットからの距離をチェックすることで機能します。
「アレキサンドリアの灯台は知っています。地図でここ (X,Y) にあり、そこから 100 メートル離れています。」異なるターゲットと範囲に対して、さらに 2 回繰り返します。
しかし、これらの方法はどちらも、何を見ているのかを知ることに依存しています。
あなたが森の中にいて、木を区別することはできませんが、重要な木がどこにあるかはわかっているとします。これらの木は「ランドマーク」として厳選されています。
その森の中をゆっくりと移動するロボットがいます。
ランドマーク間のジオメトリを利用して、角度と範囲のみに基づいて位置を特定する方法を知っていますか? 他のツリーも表示されるため、どのツリーがキー ツリーであるかはわかりません。ターゲットが遮られている可能性があるという事実を無視してください。私たちの事前アルゴリズムがそれを処理します。
1) これが存在する場合、それは何と呼ばれますか? 何も見つかりません。
2) 2 つの同じ場所で「ヒット」する確率はどのくらいだと思いますか? かなり珍しいと思います。
3) 2 つの同一の位置「ヒット」がある場合、次にロボットを動かした後、どうすれば正確な位置を特定できますか? (ロボットの位置を変更した後、正確な角度が 2 回連続して発生する可能性は、統計的に不可能であり、トウモロコシのように列を成して成長する森を除けば)。位置をもう一度計算して、最善を期待しますか? それとも、どうにかして以前の位置推定を次の推定に組み込むでしょうか?
これがあれば読みたいし、なければサイドプロジェクトとして開発したい。今は車輪を再発明する時間も、これをゼロから実装する時間もありません。したがって、存在しない場合は、ロボットをローカライズする別の方法を考え出す必要があります。それはこの研究の目的ではないためです。存在する場合は、半分簡単であることを願っています.
robotics - パスを介してロボットを導く
私は障害物でいっぱいのフィールドを持っていて、それらがどこにあるか、そしてロボットの位置を知っています。パスファインディングアルゴリズムを使用して、ロボットがたどるパスを計算します。
今私の問題は、ロボットをグリッドからグリッドに誘導しているのですが、これはそれほどスムーズではない動きを作成します。私はAから始めて、鼻をポイントBに向け、ポイントBに到達するまでまっすぐに移動し、すすぎ、最後のポイントに到達するまで繰り返します。
だから私の質問は、私がスムーズな動きを得るように、そのような環境でナビゲートするためにどのような技術が使用されているのかということです。
ロボットには2つの車輪と2つのモーターがあります。モーターを逆回転させてモーターの向きを変えます。
編集:私はモーターの速度を変えることができます基本的にロボットはarduinoとardumotoです、私はどちらの方向のモーターにも0から255の間の値を供給することができます。
c - ロボットを黒いテープに沿って長方形の経路で移動させるにはどうすればよいですか?
私はロボットに取り組んでいます。これは私たちの大学の夏のロボット工学ワークショップの一部です。A-WITのC-STAMPマイクロコントローラーを使用しています。動かす、左に曲がる、右に曲がる、後退することができました。コントラスト センサーを使用して、黒いテープに沿って移動することさえできました。
テーブルの黒いテープに向かって 30 ~ 45 度の角度でロボットを送ると、ロボットは自動的に整列し、黒いテープに沿って動き始めます。おそらく以下の私のプログラミング ロジックが原因で、少しぎくしゃくします。while ループを実行し、常に if ステートメントをチェックしているため、数ミリ秒ごとに左右に回転しようとします。しかし、大丈夫です。動作します。動作するほどスムーズではありませんが、動作します! 問題は、ロボットを黒いテープの長方形の経路に入れないことです。黒いテープの角に達するとすぐに、左または右に曲がるのではなく、まっすぐ進みます。
私の 2 つのセンサーは、ロボットの真下、前輪の隣、ほぼ床レベルにあります。0 から 8 までの「インデックス」値があります。8 が最も明るいコントラストで、0 が最も暗いコントラストです。したがって、ロボットが黒いテープ ゾーンに移動すると、インデックス値が低下し、それに基づいて、ロボットに左または右に曲がるように指示する if ステートメントがあります。
これが私の試みです。混乱を避けるために、ソース コード全体は投稿しませんでしたが、黒いテープに沿ったロボットの動きに関与する論理部分のみを投稿しました。
私はそれを理解しようとして一日中過ごしました。私はほとんどすべての道を使い果たしました。スタックオーバーフローで解決策を求めることは、私の最後の選択肢です。
前もって感謝します!コードについて質問がある場合はお知らせください。ただし、コメントは一目瞭然です。
これは、誰かが疑問に思った場合に備えて、私の goForward 関数です。
更新:これが私がこれまでに思いついたことです。以前に投稿したすべての if ステートメントを消去し、ロジックをゼロから作成することにしました。
erlang - Erlang ベースのロボットを実行するには? それを.hexに変換してマイクロコントローラ上で実行することは可能ですか?
Erlang ロボティック プロジェクトに取り組んでいます。ハードウェアと通信するための C プログラム (これには Erlang を直接使用することはできないと思います) と 2. これらの関数を呼び出すための Erlang プログラムの 2 つのファイルを持つ wallfollower ロボット プログラムを作成しました。このロボットを実行できる場所 (プラットフォーム) を知りたいです。
このロボットをマイクロコントローラー (8051 または ARM7) ベースのハードウェアで実行することはできますか?
Erlang プログラムを C コードまたは直接 .hex ファイルに変換することは可能ですか?
robotics - ロボット工学の外でCCR、DSS、VPL(別名Microsoft Robotics Development Studio)を使用するにはどうすればよいですか?
ロボット工学の外でCCR、DSS、VPL(別名Microsoft Robotics Development Studio)を使用するにはどうすればよいですか?
この分野での指導を求めています。私はすべての例を試しましたが、フレームワークに興味をそそられました。
ロボット工学以外で、他の使用法や例を投稿できる人はいますか?
PS。もっと複雑なことを説明してくれる人を探しています。さまざまな実装について質問があります。興味のある方がいらっしゃいましたら、高度なトピックについて1対1のトーク(コンサルティング)をさせていただきます。こちらと同じ名前のメールで私に連絡できます。
language-agnostic - 二足歩行ロボットのソフトウェア駆動の移動には、どのような技術が存在しますか?
シミュレートされたサッカーの試合でロボット プレーヤーを制御するソフトウェア エージェントをプログラミングしています。最終的にはロボカップ大会に出場したいと思っています。
このようなエージェントを作成するためのさまざまな課題の中で、ボディのモーションは、私が最初に直面したものの 1 つです。私が対象としているシミュレーションでは、22 ヒンジの Nao ロボット本体を使用して制御します。各脚に 6 つ、各腕に 4 つ、首に 2 つ:
(出典: sourceforge.net )
私は機械学習に興味があり、この男を制御するためのテクニックがいくつかあるに違いないと考えています。
いつでも次のことがわかっています。
- 22個のヒンジすべての角度
- ロボットの胸部にある加速度計の X、Y、Z 出力
- ロボットの胸部にあるジャイロスコープの X、Y、Z 出力
- ロボットの頭にあるカメラを介した特定のランドマーク (コーナー、ゴール) の位置
- 各足の底に適用される力のベクトルと、足の裏の力の位置を示すベクトル
達成したいタスクの種類は次のとおりです。
- できるだけ速く直線で走る
- 定義された速度での移動 (つまり、追加の入力に応じて、早歩きと遅歩きを処理する 1 つの関数)
- 後ろ向きに歩く
- その場でターンオン
- 単純なカーブを走る
- 横歩き
- 転ばずにできるだけ高くジャンプして着地する
- 足の前にあるボールを蹴る
- 予期せぬ力(ボールや他のプレーヤーが当たったとき)にさらされたときに、「無意識の」安定動作を行う。理想的には、上記のいずれかと連携して行う
これらのタスクのそれぞれについて、適切なフィットネス関数を思いつくことができると思いますが、期待される出力を備えたトレーニング入力のセットは思いつきません。つまり、どのような機械学習アプローチでも、教師なし学習を提供する必要があります。
さまざまな振幅と位相で各ヒンジの角度に配線された円形関数 (正弦波) のオープンソース プロジェクトでいくつかの例を見てきました。これらはまっすぐに歩いているように見えますが、すべて少しぎこちなく見えます。ただし、上記のすべてのタスクで機能するアプローチではありません。
一部のチームは逆運動学を使用しているようですが、私はそれについてあまり知りません.
では、ロボットの二足歩行にはどのようなアプローチがあるのでしょうか?
余談ですが、サッカー シミュレーション サーバーとの基本的なやり取りを提供するTinMan という .NET ライブラリを作成して公開しました。これには、ロボットの 22 個のヒンジのセンサーとアクチュエーター用の単純なプログラミング モデルがあります。
ロボカップの 3D シミュレーション サッカー リーグの詳細については、次の記事を参照してください。
localization - オプティカル フローを使用してロボットの移動距離を求める
私は現在、自律型ロボットを開発しているプロジェクトに取り組んでいます。基本的に、2 つの間隔の間にロボットが移動した距離を調べる必要があります。私は OpenCV を使用しており、OpenCV のオプティカル フロー機能を使用して、2 つの異なる画像の各ピクセルの速度/距離を調べることができます。この情報を使用して、これら 2 つの画像の間でロボットが移動した距離を調べたいと考えています。
ピクセルが移動した距離とボットが移動した距離の間の入出力マッピングを作成する方法を考えました (いくつかのテストを使用)。このように、ニューラル ネットワークを使用して関係を見つけることができます。ただし、オプティカル フローはピクセルからカメラまでの距離に依存するため、問題が発生する可能性があります。
この問題を解決する方法はありますか?
artificial-intelligence - AI 行動 意思決定
物理シミュレーションを実行し、一連の動作命令をシミュレートされたスケルトンに適用しています。脚、腕、胴体などへの力の適用と、それぞれの骨に適用される力の持続時間で構成される、スケルトンの複数のセットの指示があります。各命令セット (動作) は、目的の動作を実行するその有効性をテストし、遺伝的アルゴリズムを使用してその動作を他の同様の動作に変更し、再度テストすることによって開発されます。スケルトンのセット リストには、配列の動作が含まれます。
安定性、速度、エントロピーの最小化、および関節の力をテストするフィットネス関数があります。問題は、特定の動作が特定のコンテキストで機能することです。1 つの動作は平らな地面で動作し、別の動作は右足の前に隆起がある場合に動作し、別の動作は左足の前にある場合などです。したがって、各行動の適合性はコンテキストによって異なります。以前のフィットネス レベルで行動を選択しても、そのフィットネス スコアはこのコンテキストには適用されないため、機能しません。
私の質問は、スケルトンがコンテキストに最適な動作を選択するようにプログラムするにはどうすればよいですか? ランダム化された凹凸のある地形に最適な歩行動作を選択するなど。
robotics - ロボット、ステレオビジョン、運転、AForge
私は、走り回って物体までの距離を判断し、障害物を回避する小さなロボットを構築することを考えています(うまくいけばそうなるでしょう)-複雑なことは何もありません、ただの家庭的な楽しいプロジェクトです。
距離を決定してオブジェクトを追跡するために2つのWebカメラを使用し、フレームワークとしてAForge.Netを使用することを計画しています。AIやロボット工学に関連することは何もしたことがないので、どこから始めればよいのかわかりません。
どのような種類のコンポーネントが必要ですか(プログラムで操作できるホイールやエンジンなど、ある種のプログラマブルコントローラ?)、これらすべてのものはどこで入手できますか?
全体として、これを実現するためにどこから始めればよいでしょうか。基本的な問題を解決し、ロボットのプログラミングに集中できるツールのセットを探しています。
localization - オプティカル フローを使用したロボットの移動距離
オプティカル フローを使用してロボットが移動した距離を調べる方法はありますか? たとえば、OpenCV を使用して、カメラで撮影した 2 つの画像間の各ピクセルの速度を調べることができます。ただし、ロボットが移動した対応する距離を見つけるために、これをどこに行けばよいかわかりません。これを行う方法を提案できますか?
私の主な目的は、ロボットのローカリゼーションを行うことです。そのためには、2 つのインスタンス間でロボットが移動した距離が必要です。