目录
背景介绍:
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!