ROS:プロセスの作成、コンパイル、実行
2249 ワード
高博の手書きVIOコースの第2章の宿題をして、ROSのゼロベースの人にとって、rosの下のcppをコンパイルして、実行可能なファイルを探して、すべて半日探して、流れを記録して、後で使いやすいです.
1.ワークスペースの作成
次に、空のワークスペースをコンパイルします.
この時、2つのフォルダ、1つのdevelと1つのbuildが増えます.そしてdevelの下にはsetup.*がいくつかあります.sh、私たちは私たちの端末タイプに基づいて、bash端末を使用しているように、そのshを使用して環境変数をアクティブにすることができます.
2.パッケージの作成
このコマンドはimu_という名前を作成します.Dataのpackageは、このパッケージの下に一連のファイルとフォルダを生成します.
CMakeLists.txt include package.xml src
ここでCMakeLists.txtはcmakeのスクリプトファイルで、ソースファイルをコンパイルする管理プラットフォームです.
そのうちpackage.xmlはプロファイルであり、生産に必要な依存です.
srcはソースコードを配置するために使用されます
3.ソースコードの配置
ソースコードをsrcファイルに入れてCMakeListにします.txtとpackage.xmlを変更します.
4.ソースコードのコンパイル
私が使っているCMakeListです.txtの内容は次のとおりです.
package.xmlは基本的に変更する必要がなく、自動的に生成されます.
次に、ワークスペースをコンパイルします.
5.プログラムの実行
コンパイルが完了すると、実行可能なファイルが生成されます.私は以前、ワークスペースでmkdir build、cmakeを利用していました.makeという一連の操作をコンパイルすると、一般的にbuildで実行可能なファイルが生成されますが、今回は異なり、buildではありません.最初は生成していないと思っていたのですが、コンパイルに成功したので、きっと生成したに違いありません.半日探して、/home/john/ROS_WORKSPACE/vio_imudata/devel/lib/vio_data_Simulationでは、develのフォルダの下にあります.
1.ワークスペースの作成
mkdir -p ~/ROS_WORKSPACE/vio_imudata/src #
cd ~/ROS_WORKSPACE/vio_imudata/src #
catkin_init_workspace # Cmake.list
次に、空のワークスペースをコンパイルします.
cd .. # src
catkin_make
この時、2つのフォルダ、1つのdevelと1つのbuildが増えます.そしてdevelの下にはsetup.*がいくつかあります.sh、私たちは私たちの端末タイプに基づいて、bash端末を使用しているように、そのshを使用して環境変数をアクティブにすることができます.
source devel/setup.bash #
echo $ROS_PACKAGE_PATH # /home/john/ROS_WORKSPACE/test/src:/opt/ros/melodic/share
2.パッケージの作成
cd src # src
catkin_create_pkg imu_data std_msgs roscpp rospy # ,imu_data ,
このコマンドはimu_という名前を作成します.Dataのpackageは、このパッケージの下に一連のファイルとフォルダを生成します.
CMakeLists.txt include package.xml src
ここでCMakeLists.txtはcmakeのスクリプトファイルで、ソースファイルをコンパイルする管理プラットフォームです.
そのうちpackage.xmlはプロファイルであり、生産に必要な依存です.
srcはソースコードを配置するために使用されます
3.ソースコードの配置
ソースコードをsrcファイルに入れてCMakeListにします.txtとpackage.xmlを変更します.
4.ソースコードのコンパイル
私が使っているCMakeListです.txtの内容は次のとおりです.
cmake_minimum_required(VERSION 2.8.3)
project(vio_data_simulation)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
rosbag
)
catkin_package(
)
include_directories(
# include
${catkin_INCLUDE_DIRS}
)
add_executable(${PROJECT_NAME}_node
src/gener_alldata.cpp src/param.cpp src/utilities.cpp src/imu.cpp)
target_link_libraries(${PROJECT_NAME}_node
${catkin_LIBRARIES}
)
add_executable(${PROJECT_NAME}_node_txt
src/gener_alldata_txt.cpp src/param.cpp src/utilities.cpp src/imu.cpp)
package.xmlは基本的に変更する必要がなく、自動的に生成されます.
次に、ワークスペースをコンパイルします.
cd ~/ROS_WORKSPACE/test # src
catkin_make #
5.プログラムの実行
コンパイルが完了すると、実行可能なファイルが生成されます.私は以前、ワークスペースでmkdir build、cmakeを利用していました.makeという一連の操作をコンパイルすると、一般的にbuildで実行可能なファイルが生成されますが、今回は異なり、buildではありません.最初は生成していないと思っていたのですが、コンパイルに成功したので、きっと生成したに違いありません.半日探して、/home/john/ROS_WORKSPACE/vio_imudata/devel/lib/vio_data_Simulationでは、develのフォルダの下にあります.