1. hoshianaaa

    Posted

    hoshianaaa
Changes in title
+rosrunを使わずros c++プログラムをバイナリから実行
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,45 @@
+### はじめに
+
+ros c++で作成したプログラムはrosrunを使用せずにバイナリファイルから実行することもでき、本記事ではそのやり方を記載します。
+
+### 内容
+
+例えば,以下の記事で作成した```my_hello```パッケージの```my_hello```というプログラムを実行してみます。
+
+https://qiita.com/hoshianaaa/items/560954265ed826678d95
+
+```
+roscore
+rosrun my_hello my_hello
+```
+そしてプロセス名を確認します。
+
+```
+$ ps -aux | grep my_hello
+hoshina 7466 0.7 0.2 348852 19244 pts/3 Sl+ 09:02 0:01 /home/hoshina/catkin_ws/devel/lib/my_hello/my_hello
+hoshina 7584 0.0 0.0 17672 724 pts/1 S+ 09:06 0:00 grep --color=auto my_hello
+```
+
+実際に動作しているプロセスは```/home/hoshina/catkin_ws/devel/lib/my_hello/my_hello```であることがわかります。
+
+実際にバイナリファイルから実行してみます。
+
+```
+$ cd ~/catkin_ws/devel/lib/my_hello/
+$ ./my_hello
+
+[ INFO] [1627477760.933650008]: Hello world
+[ INFO] [1627477761.033929098]: Hello world
+[ INFO] [1627477761.133818627]: Hello world
+...
+
+```
+
+正常に動作することがわかりました。
+
+
+### まとめ
+
+ros c++プログラムは```/home/{ユーザ名}/catkin_ws/devel/lib/{パッケージ名}/{実行ファイル名}```のファイルから実行することができることが確認できました。
+
+これを使用すると,例えばROSで作成したプログラムのバイナリだけ他のPCに共有することができ便利かもしれません。