Help us understand the problem. What is going on with this article?

ざっくりROSデバッグ方法

More than 1 year has passed since last update.

概要

ROSのデバッグ方法を通じて、開発の効率を上げる。

何をやりたいか

実際の開発時においてどのような流れでrosのデバッグコマンドを叩くかを知っていくのが目的。
1. ノードの停止
2. rqt_graphで変更の確認
3. rotopic pubでpublishしてみる
4. 再度ノードを復活させる
5. 復活したノードが動いていることを確認

準備

以下のファイルをcatkin_ws/src/以下に入れて
catkin_makeしてくコンパイルしてください。
https://github.com/Keisuke08aw/robot-lecture

control_robotノードの停止

rosnode kill /control_robotを実行します。
これで/control_robotが死にます。
セットアップ.png

rqt_graphでnodeが消えたことを確認

rosrun rqt_graph rqt_graphを実行することでcontrolノードが消えたことが確認できます。
削除前
[Bad Request]()

削除後
セットアップ.png

rotopic pubで/move_speedを0.1でpublishしてみる

rostopic pub -1 /move_speed std_msgs/Float32 "data: 0.1"を実行することで
3秒間この情報を/move_speedというtopic名でpublishします。

コマンド実行前のロボット

セットアップ.png

コマンド実行後のロボット

セットアップ.png

コマンド実行前では、0.5m/secで動かしていたロボットを0.1m/secで動かしているため
動きがゆっくりになっているのがわかります。

再度control_robotを復活させる

rosrun robot-car control_robot
rorunは1つのノードしか立ち上げられない。robot-carパッケージにあるcontrol_robotを立ち上げる。

rosnode listでcontrol_robotが復活していることを確認

robotnode listでrosnodeのリストを閲覧することができるので確認しましょう。
セットアップ.png

デバッグコマンド

Nodeのグラフ可視化
rqt_graph

すべてのNodeのリストを表示
rosnode list

あるnodeの情報を取得
rosnode info /node名

あるnodeを止める
rosnode kill /node名

あるnodeを再開
rosrun パッケージ名 node名

すべてのtopicのリストを表示
rostopic list

あるtopicの情報を取得
rostopic info /topic名

あるtopicの値についてpublish
`rostopic pub -1 /トピック名 パッケージ名/型 "data:値"

まとめ

基本的によく使うコマンドはrosnode infoです。
あるnodeがどんな値を受け取ってどんな値を投げているかを確認するためです。
ここまで分かればあとは大体いけます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした