問題タブ [ros]

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.

0 投票する
2 に答える
4387 参照

android - おそらくOpenCVを使用した、Android(従来の拡張現実ではない)での単純なマーカー検出

大学の最終学年のプロジェクトとして、Rviz for Android というアプリケーションを拡張しています。これは、ROS (ロボット オペレーティング システム) を使用して、ロボットからの情報を表示する Android タブレット用アプリケーションです。このプロジェクトの主な目的は、本質的に従来の拡張現実とは反対のものです。何かデジタルを現実世界のビューに投影するのではなく、タブレットのカメラからの現実世界のビューをデジタル ビューに投影しています。世界 (抽象的な地図)。アプリケーションの意図した目的は、タブレットが動き回ると、現実世界のビューがマップ上で移動することです。

画面上のカメラ フィードのビューを移動するために、タブレットの加速度計を使用して移動距離を計算しています。これは本質的に欠陥があり、そのため、動きは正確とは言えません (これ自体はそれほど重要ではありません。私のレポートの素晴らしい資料です)。カメラフィードの動きを改善するために、マーカーが検出された場合にビューがマーカーの位置にジャンプするように、現実世界の事前定義された位置に配置されたマーカーを使用したいと考えています。残念ながら、マーカー検出 (Qualcomm SDK など) を処理する SDK は数多くありますが、それらはすべて適切な拡張現実 (つまり、マーカーの上に何かを重ねる) を対象としています。

これまでのところ、いくらか役立つ可能性があると特定したフレームワークは、OpenCV (非常に有望に見えますが、C++ の経験はあまりありません) と AndAR の 2 つだけです。変更することができます。ここでは、これらのフレームワークのいずれかが適切でしょうか? ソリューションを実装できる他の方法はありますか?

少しでも役に立てば、これは私が拡張しているアプリケーションのソース コードでありこれは Android 上の ROS のソース コードです(カメラを使用するコードは「android_gingerbread_mr1」フォルダーにあります。リンクを提供することもできます)。私の Rviz への拡張機能も役に立ちますか? どうもありがとうございました!

編集: 現時点で私が抱えている主な問題は、カメラにアクセスする 2 つの別個のクラス (OpenCV の JavaCameraView と ROS の CameraPreviewView) を統合しようとすることです。両方とも同時にアクティブにする必要がありますが、実行することは異なります。私はそれらを組み合わせることができると確信しています。前述のように、必要に応じて問題のクラスにリンク/アップロードします。

0 投票する
1 に答える
1058 参照

python - ros で python を使用したジョイスティック コントロール/ナビゲーション

私はrosの初心者です。ジョイスティックからデータを取得したい。私は python ファンです - cpp についてはあまり知りません。

ジョイスティックを USB ポートに接続し、ジョイスティックからデータを提供するノード (/パッケージ) を作成して、それを直接使用してロボットを制御できるようにしたいと考えています。

私の疑問

ジョイスティックのモーション コントロールをロボットにリンクするにはどうすればよいですか? ジョイスティックをサポートするために必要な追加のドライバー/インストールはありますか? Pythonを使用してそれを危険にさらすことはできますか? ジョイスティックに必要な追加の要件/仕様はありますか?

0 投票する
2 に答える
1027 参照

opencv - ROS で使用するために sse なしで OpenCV をコンパイルする

そのため、SSE をサポートしていないプロセッサ上の ROS で OpenCV を使用することに関連していると思われる問題に遭遇しました。具体的には、OpenNI または freenect を使用して Xbox Kinect と接続しようとするたびに、この問題が発生します。いずれかを起動しようとすると、「Illegal Instruction」エラーが発生します。私が読んだことから、この問題はopencvにまでさかのぼることができ、それは私のプロセッサ(Roboard RB100のVortex86DX)ではサポートされていないSSEを使用しています。ソースから OpenCV をコンパイルする方法とフラグを使用して SSE なしでコンパイルする方法についての説明を見つけましたが、ROS でこれを使用する方法がわかりません。この問題を軽減するために、ROS で OpenCV のカスタム コンパイル バージョンを使用する方法を知っている人はいますか?

ありがとう!

さらに詳しい情報が必要な場合は、お問い合わせください。

0 投票する
1 に答える
817 参照

c++ - C++ のクラスの関数メンバーから配列を返す

C++ 環境で ROS と OpenCV を使用して、ROS ノードからビデオ (グレースケール) を取得し、cv_bridge を介してデータを変換し (OpenCV を介して詳しく説明するため)、いくつかのデータを抽出し、トピックに公開します。 ROS メッセージとして。

frame私の問題は、それを詳しく説明するために配列をmain関数に送信する方法がわからないことです! 異なるフレームの異なるデータを区別する必要があるため、詳しく説明することはできません。これは私のコードです:

質問が十分に明確であることを願っています。助けてください。

0 投票する
1 に答える
160 参照

pointers - iplmageを使用したROSアプリケーションのセグメンテーション違反

ROSノードでcvBloblibを使用してビデオフィードでblobを検出しようとしています。ポインタを間違えたと思いますが、どこにあるのかわかりません。さらに、この変数の一部を解放する必要がありますか?

0 投票する
1 に答える
89 参照

c++ - ポインタの紛らわしい(* this)キャスト

これは、TransformクラスのROS(リンク)のTransform.hからのコードです。

誰かがこのコードが何をしているのか説明できますか?これが私が思うことです(文脈上、私はCプログラマーとして数年の経験があり、初めてC ++で開発します)。

この関数は、以下が呼び出されたときに呼び出されます

次に、Vector3オブジェクトをTransformオブジェクトにキャストし、結果としてそれを返します(2つのタイプは互換性がないように見えるため、これがどのように可能になるかについてはかなりわかりません)。

しかし、返される結果はVector3です...そしてこれが私のメンタルモデルが崩壊する場所です。

さらに、この関数はTransformクラスに基づいてVector3ポイントを変換することになっているので、私の理解は間違いなくどこかに欠陥があります。

洞察をいただければ幸いです。

ありがとう

編集

返信いただきありがとうございます!すぐ上の関数は次のとおりです。

私は今、何が起こっているのか理解しています。再度、感謝します。

0 投票する
1 に答える
2606 参照

yaml-cpp - ROS で yaml-cpp を使用するとエラーが発生しますか?

私は yaml-cpp を使用しようとしていますが、wikiによると、これはシステム依存であるため、CMakelists.txt または manifest.xml を変更する必要さえありません。ただし、コードをコンパイルすると、次のようなエラーが引き続き発生します。

CMakeLists.txt に追加した唯一のコードは次のとおりです。

Linuxでfuerteを使用しています。解決策はありますか?

編集:解決策を見つけました! CMakeLists.txt を変更して、最初に実行可能ファイルをビルドしてから、yaml-cpp ライブラリを追加しました。

私の CMakeLists.txt のこれらの 2 行は正常に動作します。

0 投票する
2 に答える
28642 参照

c++ - 構造体のベクトルの ROS でメッセージをどのように発行しますか?

2 つの整数と 2 つの文字列を含む長さ不明の構造体のベクトルを公開したいと考えています。これを行うことができるROSのパブリッシャーとサブスクライバーはありますか?

そうでない場合は、カスタム メッセージの作成方法のチュートリアルを見て、以下を含む1 つの.msgファイルを作成できると考えています。

.msgそして、以前のメッセージの配列を含む別のファイル。しかし、チュートリアルでは配列の使い方の例を示していないため、2 番目の.msgファイルに何を入れればよいかわかりません。さらに、このカスタム メッセージを C++ プログラムで使用する方法さえわかりません。

これを行う方法に関するヒントは素晴らしいでしょう!

0 投票する
4 に答える
414 参照

python - Python で別のメソッドから値オブジェクトを取得する方法

私は自分が間違っていることを本当に理解できません..別のメソッドから値オブジェクトを取得しようとしています..これは私のコードです

しかし、私はこのエラーが発生します

その問題はどのように解決されましたか???

ノート :

rospy.Subscriber('robotis/servo_head_pan_joint', Float64, self.possi_ax12_pan)

rospy.Subscriber('robotis/servo_head_tilt_joint', Float64, self.possi_ax12_tilt)

rospy.Subscriber('robotis/servo_right_elbow_joint', Float64, self.posisi_ax12_elbow)

rospy.Subscriber は、self.posisi_ax12_pan メソッド、self.posisi_ax12_tilt メソッド、self.posisi_ax12_elbow の Float64 データを挿入するライン コマンドです。