- 1. 概要
- 2. 実行
- 3. 備考
1. 概要
作成した、ノード型プログラムを実行してみます。
2. 実行
端末を2つ開きます。
ひとつで、サブスクライバを起動。
ros2 run my_node client
ひとつで、パブリッシャーを起動。
ros2 run my_node server
パブリッシャー側に。
[INFO] [2025-05-20 10:30:01.466] [talker]: published: 0
[INFO] [2025-05-20 10:30:01.897] [talker]: published: 1
[INFO] [2025-05-20 10:30:02.392] [talker]: published: 2
[INFO] [2025-05-20 10:30:02.896] [talker]: published: 3
[INFO] [2025-05-20 10:30:03.402] [talker]: published: 4
[INFO] [2025-05-20 10:30:03.898] [talker]: published: 5
[INFO] [2025-05-20 10:30:04.392] [talker]: published: 6
[INFO] [2025-05-20 10:30:04.901] [talker]: published: 7
と出力されると同時に、サブスクライバ側に。
[INFO] [2025-05-20 10:30:01.459] [listener]: subscribed: 0
[INFO] [2025-05-20 10:30:01.898] [listener]: subscribed: 1
[INFO] [2025-05-20 10:30:02.393] [listener]: subscribed: 2
[INFO] [2025-05-20 10:30:02.899] [listener]: subscribed: 3
[INFO] [2025-05-20 10:30:03.402] [listener]: subscribed: 4
[INFO] [2025-05-20 10:30:03.900] [listener]: subscribed: 5
[INFO] [2025-05-20 10:30:04.393] [listener]: subscribed: 6
[INFO] [2025-05-20 10:30:04.905] [listener]: subscribed: 7
参考にしたサイトのプログラムでは、停止させるのに、Ctrl+C が必要ですが、それだと、「python」のエラーメッセージが表示されるので。
前ページのプログラムでは、Enter キーを入力すると、プログラムが停止するようにしています。
その点、入力待ちせずに、キー入力を受け付ける仕掛けをスレッドとしていれています。
キー入力については、いずれ、「Python」のどこかに書こうと思っていますが、いつになることやら・・・。追而書
3. 備考
本ページは、下記のサイトを参考にさせていただきました。
「ROS2 でメッセージを自作する #ROS2」
|
|