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
浙公网安备 33010602011771号