問題タブ [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 投票する
1 に答える
97 参照

opencv - openCv での表示中に msg_Image が歪んでいるのを受け取りました

1 つのノードからイメージを公開した後、2 番目のノードでそのイメージをサブスクライブしたいと考えています。しかし、2番目のノードでサブスクライブした後、cv::Mat イメージに保存しようとすると、歪んでしまいます。

次のコードの patchImage は歪んでいます。いくつかの水平線と同じ画像の 4 つの画像が結合されています。

私のコードの概要は次のとおりです。

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

qt - Qtablewigetがセグメンテーション違反を投げる

QtableWidget を使用して、ROS メッセージから収集したデータを入力しています。

プログラムを実行すると、セグメンテーション違反エラーが発生します

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

c++ - rqt で単純な ros ノードをサブスクライブする

rqt プラグイン内から非常に単純な ros トピックにサブスクライブしようとしています。サブスクリプションは機能しているようですが、Callback 関数が呼び出されません。

これは実際には非常に単純なはずです。私は何が欠けていますか?

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

communication - ROS - ノードがまだ生きているかどうかを確認する

4 つの車輪を持つデバイスの制御ノードを実装しています。これまでのところ、次のノードがあります。

これら 2 つの作品間の通信と私の唯一の問題は、車両の制御不能な動きを防ぐためにどちらかがシャットダウンした場合にどうするかということです。ros::isShuttingDown()LISTENER を呼び出して、いつ殺されようとしているのかを検出します。

ただし、TALKER がシャットダウンされた場合、LISTENER は TALKER から受信した最後のメッセージに従って車両を動かし続けます。最初はros::isShuttingDown()、最終的な「停止」メッセージを LISTENER に送信するために、TALKER でも使用しようとしましたが、ノードがシャットダウンすると、通信ができないようです。

したがって、ノード TALKER がまだ生きているかどうか (または新しいメッセージがまだ受信されているかどうか) を LISTENER 内でチェックする方法を探しています。

ノード(この場合はTALKER)がまだ生きているかどうかを確認する方法についてのアイデアはありますか?または、最後の ROS メッセージが受信されてからの経過時間を検出する簡単な方法はありますか?

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

c++ - Ubuntu で Qt GUI アプリから複数のコマンドライン アプリを実行し、コンソール出力を取得する

Ubuntu 12.04 (Precise) と ROS fuerte でロボット工学アプリケーションを開発しています。実行する必要がある約 10 の異なるノード (プロセス) があり、ロボットのさまざまな操作モードを切り替える必要があります。また、これらのノードを動的に強制終了して生成する必要があります。通常はターミナルから起動するのが一般的ですが、使いやすい GUI インターフェースを提供したいと考えています。

すべての出力を取得しながら、Ubuntu で C++ コードからターミナル アプリケーションを起動する方法はありますか? 実行中のすべてのアプリからすべての出力を収集し、1 つのビューに表示したいと考えています。外出先でこれらのアプリをスポーンおよびキルすることも可能である必要があります。

それとも、私が気付いていないROSの方法でこれを行うのでしょうか?

ありがとう!

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

android - Androidスタジオは、Gradleのバージョン>= 1.8および<=1.6が必要であると教えてくれます

Android Studio をダウンロードする手順: http://wiki.ros.org/sig/Rosjava/Android%20Studio/Download

したがって、デフォルトのgradleラッパーを使用しようとすると、バージョン1.8が必要であることがわかります. そこで、これを修正する方法を調べたので、gradle バージョン 1.8 をダウンロードしました。それを使うたびに、バージョン 1.6 が必要だというメッセージが表示されます。

問題があれば、Android と ROS を使用しようとしています (そのため、android_apps プログラムを Android スタジオにインポートしようとしています)。

何か助けはありますか?

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

c++ - インクルード ディレクトリを AUTOMOC に追加する

QT4 GUI を含む ROS パッケージがあります。私のコードはフォルダー Project_name/src/test/*.cpp にあり、私のインクルードは Project_name/include/test/*.h

一部のヘッダー ファイルにはクラスに Q_OBJECT が含まれているため、一部の qt4 moc を作成する必要があります。

cmake ファイルでを試しました set(CMAKE_AUTOMOC ON) が、 /include/test/ フォルダーを検索しないようです。AUTOMOC は、ソース ファイルで moc_ * *.cpp ファイルを検索するか、ヘッダー ファイルで Q_OBJECT を調べることによって機能すると述べています。

また、ソース ファイルに a を含めようとしmoc_***.cppました (たとえば、/src/test/a.cpp)。そのため、検索しましa.hたが、 で見つかりませんでしたinclude/test/a.h

include/ フォルダーが次のように追加されるため、クラスから Q_OBJECT を削除すると、コンパイルが成功することに注意する必要があります。 include_directories( include ${catkin_INCLUDE_DIRS} )

最後に、QT4_WRAP_CPP を使用しようとしましたが、何らかの理由で mocs を見つけることができず、リンクが失敗しました (ただし、cmake ファイルで同じパラメーターを持つ別のプロジェクトでは動作します:/)

編集: 解決策が見つかりました。cpp ファイルに次のように追加されました。

#include "../../include/test/moc_a.cpp"

インクルード/テストで.hを見つけました。

それは正しい方法ではないと何かが私に言っていますが:P