目录

背景介绍:

1. 创建功能包:

2. 修改CMakeLists.txt文件

3.修改package.xml文件

4. 编译工作区

5. 设置环境变量并运行


背景介绍:

Ubuntu 16.04 + ROS kinetic;

已经创建的工作空间catkin_ws;

1. 创建功能包:

ctrl+alt+T新开一个终端,进入src文件夹,创建功能包 agitr:

cd catkin_ws/src
catkin_create_pkg agitr

我们可以看见功能包内包含以下文件:

CMakeLists.txt  package.xml

在该功能包下面创建文件夹src:

cd agitr
mkdir src

在src文件夹中创建hello.cpp文件,并修改文件内容:

touch hello.cpp
sudo gedit hello.cpp

hello.cpp内容为以下:

#include<ros/ros.h>

int main(int argc,char **argv){   

ros::init(argc,argv,"hello_ros");   

ros::NodeHandle nh;   

ROS_INFO_STREAM("hello,ROS!");

}

2. 修改CMakeLists.txt文件

退回到agitr文件夹中,修改CMakeLists.txt文件,

sudo gedit CMakeLists.txt

内容如下:

cmake_minimum_required(VERSION 2.8.3)
project(agitr)
#添加需要的依赖库 roscpp
find_package(catkin REQUIRED COMPONENTS roscpp)
include_directories(
${catkin_INCLUDE_DIRS}
)
#声明想要的可执行文件的文件名,以及所需要的源列表,如果有多个源列表,空格列在此处
add_executable(hello src/hello.cpp)
#告诉Cmake当链接此可执行文件时需要链接哪些库
target_link_libraries(hello ${catkin_LIBRARIES})

3.修改package.xml文件

修改package.xml文件,

sudo gedit package.xml

此处只需在  <buildtool_depend>catkin</buildtool_depend>后面添加两句即可

  <build_depend>roscpp</build_depend>
  <exec_depend>roscpp</exec_depend>

4. 编译工作区

退回到catkin_ws工作区并编译:

cd ~/catkin_ws
catkin_make

5. 设置环境变量并运行

设置环境变量:

source devel/setup.bash

执行hello.cpp, 新建一个终端:

roscore

再建一个终端:

rosrun agitr hello

运行结果如下:

username@xxxxxxxxxxxxxxx:~$ rosrun agitr hello 
[ INFO] [1539062946.987498330]: hello,ROS!

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐