問題タブ [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.
c++ - OpenCV と ROS: cvMAT での NULL ポインター エラー
以下を使用して、2 つの色付きオブジェクトの位置、向きを検出しています。カメラがこれらの 2 つのオブジェクト (黄色と青色) のいずれかを微調整できない場合、またはカメラの前に手を置いた場合を除き、すべてがうまく機能します。次のエラーがスローされます。
OpenCV エラー: cvGetMat、ファイル /tmp/buildd/libopencv-2.3.1+svn6514+branch23/modules/core/src/array.cpp で Null ポインター (NULL 配列ポインターが渡されます)、行 2382 のインスタンスをスローした後に呼び出されて終了します'cv::Exception' what(): /tmp/buildd/libopencv-2.3.1+svn6514+branch23/modules/core/src/array.cpp:2382: エラー: (-27) NULL 配列ポインターが関数に渡されましたcvGetMat
誰かがこのエラーを解決するのを手伝ってくれたら幸いです。
ありがとうございました
qt - 画像の生データRosとQt
Gazeboでシミュレーションを行い、生の画像データを含む画像の生データトピックを公開しています。次に、そのデータをqtでビデオとして表示したいと思います。ビデオウィジェットとして何を使うべきかわかりません。私が念頭に置いているのは、graphicsSceneを作成し、データをQImageとして表示することですが、データの頻度が高すぎるため、その頻度でQImageにロードするのは良いアプローチではないようです。最適な提案を楽しみにしています。
ありがとう。
(ps私はqt4.xとRoselectricでlinux10.04を使用しています)
java - javaファイルから端末で自分のコマンドを実行する方法
JavaでEclipseプロジェクトを作成して、いくつかのボタンでコマンドを起動しようとしています。Ros fuerte (私が使用したいこれらのライブラリ) のライブラリが正しくインストールされており、具体的には、次を使用して Java ファイルから ros コマンドを起動しようとしています。
現在の端末からこのコマンドを起動すると機能しますが、Java ファイルから起動すると、端末がコマンドを認識しないため問題が発生します。
パスなどを追加する必要があると思いますが、情報が見つかりません。誰もそれを行う方法を知っていますか?
ありがとう。
android - Android ros サブスクライバーのカスタム メッセージ
Android アプリでカスタム メッセージの新しいサブスクライバーを作成するときに問題が発生します。Java プロジェクトに同じコードがあり、正常に動作し、ターミナルに情報メッセージが表示されます。
エラーログは次のとおりです。
この方法でサブスクライバーを作成します。
私のカスタム メッセージもカスタム メッセージで構成されています。コードは次のとおりです。
NodesList.msg:
NodeInfo.msg:
ROSParameter.msg:
ROSTopic.msg:
OMTypes.msg:
Android でカスタム メッセージを試すときに問題が発生する人はいますか? ありがとう!それは私にとって非常に重要です!
x86 - SSSE3 フラグ付きの ROS (ロボット オペレーティング システム)
私は最近 ROS を使い始めましたが、1 つの問題に行き詰まりました。SSE2、SSE3、および SSSE3 CPU 拡張機能を必要とするいくつかのクラスを使用する必要があります。
ROS パッケージの manifest.xml ファイルを次のように編集しようとしました
しかし、うまくいきませんでした!
コードは "Not-ROS-project" で正常に動作しましたが、何らかの理由で cflags がコンパイラから無視されているようです。
私は LinuxMint (ubuntu 12.04) に取り組んでおり、チップ拡張をサポートしています。
フラグはどこに置く必要がありますか?
memory-management - ROS/OpenCV/ブーストのメモリ解放
次のコールバック関数があります。これは、ROS イメージをサブスクライブし、ブロブ追跡のためにイメージを openCV IplImage* に変換してから、メモリを解放することを目的としています。
cvReleaseImage( &imageRaw ) を含めると、関数から戻るときにセグメンテーション違反が発生し、それ以外の場合はメモリ リークが発生します (短時間で std::bad_alloc() が発生します)。valgrind を介して実行可能ファイルを実行し、コールバック スコープの後にセグメンテーション エラーが発生することを確認しました。関数内で、921,624 バイトの画像データを解放しているようです。関数ブーストの後、ROS および OpenCV プロセスは、それぞれメモリ 0、12、および 921,616 バイトをその解放されたメモリ ブロックに解放します。valgrind の出力は以下に掲載されています - 何かアイデアはありますか?
eclipse - ROS 用の Eclipse の構成
私はLinuxが初めてです。Eclipse を使用して ROS アプリケーションを開発しようとしています。ROSのウェブサイトで提供されている以下がわかりません。eclipse.orgからダウンロードした後にEclipseを構成できるように、これをもっと簡単に説明してもらえますか。
シェルの環境を再利用する
IDE 内から ROS プログラムをビルドして実行するには、ROS 環境をセットアップする必要があります。すべての IDE にはそのための構成があるかもしれませんが、ROS をソースとするシェルから IDE を実行するのが最も簡単な方法であり、矛盾を回避できます。
同様に、IDE のランチャー アイコンを強化して、シェル環境をロードすることもできます。たとえば、そのコマンド eclipse を に置き換え
bash -i -c "eclipse"
ます。~/.bashrc
これにより、ROS をソースとしてパラメータ化する必要があるbash source が作成 され、その IDE が起動します。
cmake - CMake で ARM 用の CMake をクロスコンパイルする方法
要するに、私は CMake を CMake でクロスコンパイルしようとしていますが、ライブラリを正しくリンクしているとは思いません。私がやりたいことは不可能かもしれませんが、もしそうなら、なぜそれが不可能なのかを知りたいです。
システム: ホストは、Cavium ARM9 CPU を搭載したLinux ボックスです。現在、Linux カーネルのバージョン 2.6.24.4 とDebian 5.0 (Lenny) を実行しています。私のワークステーションは、Ubuntu 12.04 LTS (Precise Pangolin) を実行するCore i5です。
私の全体的な目標は、ROSを Linux ボックスで実行することです。Debian 6.0 (Squeeze) バイナリは、Cavium が提供しない親指サポートを必要とし、必要なパッケージの多くは Debian 5.0 (Lenny) で利用できないため、apt を使用するのではなく、ソースからコンパイルする必要があります。必要なさまざまなライブラリのインストールを進めましたが、ステップ 1.3.1 に到達して CMake を実行しようとすると、エラーが発生しました。
CMake 2.8 以上が必要です。バージョン 2.6.0 を実行しています
次に、Linux ボックス自体に CMake 2.8.8 をダウンロードしてビルドしようとしましたが、システムには多すぎました。それが失敗したとき、メーカーの Web サイトで提案されているツールチェーンをダウンロードし、[www.cmake.org/Wiki/CMake_Cross_Compiling] のクロスコンパイル ガイドを使用して CMake 実行可能ファイルをビルドしました。ここに私のツールチェーンファイルがあります:
ただし、Linux ボックスでバイナリを使用するとエラーが発生します。
cmake: /usr/lib/libstdc++.so.6: バージョン `GLIBCXX_3.4.14' が見つかりません (cmake で必要)
案の定、ライブラリはそこにありません:
これまでクロスコンパイルしたことはありませんが、次の 2 つのシナリオのいずれかが発生していることがわかります。ホスト マシン上のより高いバージョンの glibcxx へのリンクを使用してバイナリが作成されたか、製造元のツールチェーンがイメージよりも新しいものであるかのいずれかです。何が起こっているか、または私が知らない何か他のことが起こっているかどうかを確認する方法がわかりません。
私の最後の努力は、うまくいけばリンクエラーを取り除くためにCMakeを静的にクロスコンパイルしようとすることでした
ビルド エラーが発生し、そのバイナリも機能しませんでした。私が得た:
Linux ボックスに glibcxx 3.4.14 をインストールしてみましたが、このプロセッサでは利用できないようです。
CMake の依存関係またはシステム要件を検索しようとしましたが、何も見つかりません。CMake のビルド方法についても検索しましたが、ほとんどの検索では、CMake 自体をビルドするのではなく、CMakeを使用して他のものをビルドする方法が見つかります。
c++ - CXX実行可能ファイルのリンク-/usr/ bin / ld:が見つかりません
こんにちはC++および/またはROSエキスパート
Ubuntu12.04とROSを新規インストールしました。
私の古いインストールもubunru12.04にあり、うまく機能しました。
しかし、プロジェクトを作成またはrosmakeしようとすると、次のエラーが発生します。
これが何を意味するのか、またはこれを修正する方法について何か考えがありますか?
私はこのようにROSをインストールしました、多分私は何か他のものが必要ですか?:
よろしくビャルケ
cmake - この共有ライブラリを CMakeLists.txt に追加するにはどうすればよいですか?
私はほぼすべてのライブラリ リンク チュートリアルを読みましたが、特定の問題に対して機能するものはありませんでした。
これらのファイルとフォルダーを含む VSCOM_API_TEST というフォルダーがあります。
VSCOM_API_TEST/CMakeLists.txt
VSCOM_API_TEST/include/vs_can_api.h
VSCOM_API_TEST/include/startup.h
VSCOM_API_TEST/lib/libvs_can_api.so
VSCOM_API_TEST/lib/libvs_can_api.a
VSCOM_API_TEST/src/startup.cpp
startup は、ライブラリを含めたい実行可能ファイルです。
そして、私のプログラムがライブラリ関数を見つけられないという問題があります:
CMakeFiles/startup.dir/src/startup.o: In function main:
/home/max/fuerte_workspace/sandbox/VSCOM_API_TEST/src/startup.cpp:6: undefined reference to VSCAN_Open
CMakeLists.txt
スタートアップ.cpp
では、プリコンパイル済みライブラリを追加するにはどうすればよいでしょうか?