ROSでHelloWorld
参考にしました。
wiki.ros.org
まずプログラムを書き溜めていくワークスペースを作成します。
ROSはcatkinというcmakeに似たビルドシステムを使います。cmakeが分からない人は下のサイトを参考にしてください。
https://teratail.com/questions/111977
catkin_makeでビルドができます。mkdirは新規ディレクトリを作成するコマンドです。
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd ../ catkin_make
source ~/catkin_ws/devel/setup.bashを~/.bashrcの最終行に追加してください。
ファイル編集はVScodeやVimなどのエディタで書いてください。PCに外部エディタがない場合は、デフォルトでインストールされているgeditを使ってください。以下はgeditを使った例です。
cd ~/ gedit .bashrc
次にhelloというディレクトリを作成します。
roscppとrospyはhelloがC++とPythonで書けるようにします。
cd ~/catkin_ws/src catkin_create_pkg hello roscpp rospy
helloの中にmain.cppを作成します。touchは新規ファイルを作るコマンドです。
cd ~/catkin_ws/src/hello/src touch main.cpp gedit main.cpp
#include <stdio.h> #include <ros/ros.h> int main() { printf("HelloWorld\n"); return 0; }
CMakeLists.txtを設定します。(CMakeLists.txtの場所は ~/catkin_ws/src/hello/CMakeLists.txt です)add_executableはmain.cppをhello_mainという名で実行することを設定します。
target_link_librariesはhello_mainが使う外部ライブラリ(OpenCVやPCLなど)を設定します。今回は外部ライブラリを使わないためcatkin_INCLUDE_DIRSだけです。
cmake_minimum_required(VERSION 2.8.3) project(hello) find_package(catkin REQUIRED COMPONENTS roscpp rospy ) catkin_package() include_directories( ${catkin_INCLUDE_DIRS} ) add_executable( hello_main src/main.cpp ) target_link_libraries( hello_main ${catkin_LIBRARIES} )
ビルドします。
cd ~/catkin_ws catkin_make --pkg hello
実行します。
新しくターミナルを作って以下のコマンドで実行できます。
rosrun hello hello_main
HelloWorldが表示された成功です。
今後、*.hppと.*cppが増えてもadd_executableに src/*.hppとsrc/*.cppを追加するだけです。