
最近ROSを使って自動走行などをかじっているのですが、その中で実行する時に実行時にrosrunを使う場合とroslaunchを使う場合があるようなので、違いは何かためしにChatGPTに聞いてみたのでその結果を参考用で載せておきたいと思います。
rosrunとroslaunchについてChatGPTに違いを聞いてみた内容
🛠️ rosrun と roslaunch の違いまとめ
| 機能 / 特徴 | rosrun |
roslaunch |
|---|---|---|
| 🔧 用途 | 1つのノードを単体で実行したい時 | 複数ノードや設定込みで実行したい時 |
| 📦 必要ファイル | 実行ファイルがあればOK | .launch ファイルが必要 |
| 🧩 パラメータ設定 | できない(別でやる必要あり) | launchファイル内で一括定義可 |
| 🧠 ROSマスター起動 | 起動しない(別途 roscore が必要) |
自動で roscore を起動してくれる |
| 🔁 ノードの再起動制御 | なし | respawn="true" で可能 |
| 🧪 開発・デバッグ向き? | ◎(単体ノード確認に便利) | ◯(全体システムのテストや本番に◎) |
🎯 ざっくり言うと:
-
▶️ 開発・テスト中に「ちょっとこのノードだけ動かしてみたい」 →
rosrun -
🚀 本番・統合的に複数ノードや設定を一括で動かしたい →
roslaunch
ということでした。
なんとなくは分かったかというところです。