1つのPCに複数のrosアプリケーションを立ち上げたいとき、それぞれのアプリケーションの命名などを意識してシステム開発をするのが面倒だなと思いroscore
を複数立ち上げる方法を調べました.
使用環境はubuntu20.04
ros noetic
です.
方法としては,ROS_MASTER_URI
とroscore
の-p
オプションをのポート番号を一致させることで実現できます.
では実際に行っていきます.
まず1つ目のroscore
をたちあげます.ターミナルを開いて以下コマンドを実行していきます(11311
番ポートに立ち上げ)
roscore1
export ROS_MASTER_URI=http://127.0.0.1:11311
roscore -p 11311
次に2つ目のターミナルを開き以下のように実行します(11312
番ポートに立ち上げ)
roscore2
export ROS_MASTER_URI=http://127.0.0.1:11312
roscore -p 11312
結果以下のようにroscore
を2つ立ち上げることができました.
プログラム実行前にexport ROS_MASTER_URI=http://127.0.0.1:11312
のように立ち上げたいポート番号の指定は必要になると思います.アプリケーション間のつながりを疎にしたい場合に活用できそうです.
reference
- How to run multiple roscore/master in a single machine?
https://answers.ros.org/question/57539/how-to-run-multiple-roscoremaster-in-a-single-machine/