catkin make install(从源码编译安装ROS包:catkin_make_install)

从源码编译安装ROS包:catkin_make_install

在ROS中,catkin是一种构建系统,用于编译和管理ROS软件包。catkin_make是catkin构建系统的标准入口,它可以自动构建整个工作区,而catkin_make_install则可安装我们编译好的ROS软件包。下面我们将介绍如何使用catkin_make_install。

步骤一:安装ROS并设置工作空间

首先,您需要在您的计算机上安装ROS。如果您还未安装ROS,则可以通过以下命令安装ROS Melodic:

$ sudo apt install ros-melodic-desktop-full

接下来,建立一个工作空间,用于存放您想创建或修改的所有ROS包。在此示例中,我们将其设置为~/catkin_ws/目录。

catkin make install(从源码编译安装ROS包:catkin_make_install)

$ mkdir -p ~/catkin_ws/src$ cd ~/catkin_ws/$ catkin_make

步骤二:编写ROS软件包

在编写ROS软件包之前,我们需要先激活我们的工作空间。如下所示:

$ source devel/setup.bash

在我们的src目录下创建一个名为my_package的新软件包:

catkin make install(从源码编译安装ROS包:catkin_make_install)

$ cd ~/catkin_ws/src$ catkin_create_pkg my_package roscpp

在my_package/src目录中,创建一个名为my_node.cpp的新节点,并为ROS添加一个节点:

catkin make install(从源码编译安装ROS包:catkin_make_install)

$ cd ~/catkin_ws/src/my_package/src$ touch my_node.cpp

并将以下内容添加到my_node.cpp文件中:

#include \"ros/ros.h\"#include \"std_msgs/String.h\"int main(int argc, char **argv){    ros::init(argc, argv, \"my_node\");    ros::NodeHandle n;    ros::Publisher pub = n.advertise(\"my_topic\", 1000);    ros::Rate loop_rate(10);    int count = 0;    while (ros::ok())    {        std_msgs::String msg;        std::stringstream ss;        ss << \"hello world \" << count;        msg.data = ss.str();        ROS_INFO(\"%s\", msg.data.c_str());        pub.publish(msg);        ros::spinOnce();        loop_rate.sleep();        ++count;    }    return 0;}

添加以下内容以确保包含必要的依赖项:

find_package(catkin REQUIRED COMPONENTS  roscpp  std_msgs)catkin_package(  INCLUDE_DIRS include  LIBRARIES my_package  CATKIN_DEPENDS roscpp std_msgs)

在my_package目录下创建一个名为CMakeLists.txt的新文件,并将以下内容添加到该文件中:

cmake_minimum_required(VERSION 2.8.3)project(my_package)find_package(catkin REQUIRED COMPONENTS  roscpp  std_msgs)catkin_package(  INCLUDE_DIRS include  LIBRARIES my_package  CATKIN_DEPENDS roscpp std_msgs)include_directories(  include  ${catkin_INCLUDE_DIRS})add_executable(my_node   src/my_node.cpp)target_link_libraries(my_node  ${catkin_LIBRARIES})

步骤三:编译ROS软件包

现在可以使用catkin_make构建ROS软件包,如下所示:

$ cd ~/catkin_ws/$ catkin_make

现在我们已经成功编译了我们的软件包,我们可以在ROS中运行它了。

步骤四:安装ROS软件包

现在,我们已经成功地编译了我们的ROS软件包,我们可以使用catkin_make_install命令将它们安装到ROS系统中去。在终端中,导航到catkin工作空间:

$ cd ~/catkin_ws/

然后使用以下命令安装my_package软件包:

$ catkin_make install

在安装后,您可以通过以下方式运行my_node节点:

$ rosrun my_package my_node

现在,您已经成功地从源代码构建安装了ROS软件包。