Kinetic helloworld实现


1、catkin方式创建ROS工作空间
创建工作空间
进入工作空间
编译工作空间
mkdir -p ~/catkin_ws/src
cd catkin_ws/
catkin_make

2、创建功能包

进入工作空间的src文件夹
创建功能包
cd src/
catkin_create_pkg helloros

此时src里面生成helloros文件夹, 里面有两个文件CMakeLists.txt 和 package.xml
3、创建文件:hello.cpp
cd helloros
gedit hello.cpp
hello.cpp放在功能包helloros文件夹下面
#include <ros/ros.h>
#include <signal.h>

void mySigintHandler(int sig)
{
// Do some custom action.
// For example, publish a stop message to some other nodes.

// All the default sigint handler does is call shutdown()
ROS_INFO("Hello mySigintHandler!");
ros::shutdown();
}
int main(int argc, char** argv)
{
ros::init(argc, argv, "helloros");
ros::NodeHandle nh;
ROS_INFO("Hello ROS!");
signal(SIGINT, mySigintHandler);
ros::spin();
}

4、设置依赖项

修改:CMakeLists.txt文件

第一行代码: roscpp为依赖库
第二行代码: hello为编译后的可执行程序的名字, hello.cpp为编译的源文件《根据经验package名字和可执行程序可以一样也可以不一样。》
第三行代码: 链接
find_package(catkin REQUIRED COMPONENTS roscpp)
include_directories(${catkin_INCLUDE_DIRS})
add_executable(hello hello.cpp)
target_link_libraries(hello ${catkin_LIBRARIES})

NOT NEED 修改package.xml文件, 添加下面两行代码
<build_depend>roscpp</build_depend>
<!-- <run_depend>roscpp</run_depend> -->

5、 编译

命令行回退到catkin_ws文件夹, 执行下面代码, 编译
cd ~/catkin_ws/ && catkin_make

6、 设置环境变量

打开~/.bashrc文件
sudo gedit ~/.bashrc

添加环境变量
source ~/catkin_ws/devel/setup.bash

7、运行程序

新开一个终端
roscore

新开一个终端
rosrun helloros hello

出现Hello ROS!即为运行成功。

参考链接:http://blog.csdn.net/hpuhjl/article/details/69390371

posted on 2018-01-15 18:16  tracera  阅读(68)  评论(0)    收藏  举报

导航