【ROS】ワークスペースとパッケージの作成
ワークスペースの作成
以下はビルドシステムのワークスペースを作るコマンド。
1度実行すれば今後は実行する必要がない
$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src/ $ catkin_init_workspace Creating symlink "/home/atsuya/caikin_ws/src/CMakeLists.txt" pointing to "/opt/ros/kinetic/share/catkin/cmake/toplevel.cmake"
以下、ビルド
$ cd .. $ catkin_make ・・・略・・・ #### #### Running command: "make -j1 -l1" in "/home/atsuya/catkin_ws/build" ####
bashrcを書き換える
source /opt/ros/kinetic/setup.bash
の部分を
# source /opt/ros/kinetic/setup.bash source ~/catkin_ws/devel/setup.bash
に書き換える
$ reboot
以下のように表示されれば問題ないかと。
$ echo $ROS_PACKAGE_PATH /home/atsuya/catkin_ws/src:/opt/ros/kinetic/share
パッケージ作成
・ある程度かたまった機能を持ったプログラムを1つのパッケージとする。
・ROSではすべてのプログラムがなんらかのパッケージに所属
・プログラムを書く前にパッケージを作る必要性
$ cd ~/catkin_ws/src/
以下のコマンドでパッケージのひな型作成
$ catkin_create_pkg ros_start rospy roscpp std_msgs Created file ros_start/package.xml Created file ros_start/CMakeLists.txt Created folder ros_start/include/ros_start Created folder ros_start/src Successfully created files in /home/atsuya/catkin_ws/src/ros_start. Please adjust the values in package.xml.
ros_startディレクトリの中に
・CMakeLists.txt
・include
・package.xml
・src
の2つのフォルダと2つのファイルが作成されます。
・コマンド中の「rospy」「roscpp」「std_msgs」は依存パッケージ
・ros_startというパッケージの名前は好きに設定できる
$ cd ~/catkin_ws/ $ catkin_make
この状態で
~/catkin_ws$ roscd ros_start ~/catkin_ws/src/ros_start$
のようにディレクトリチェンジできれば問題ありません。