创建工作空间
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
编译工作空间
$ cd ~/catkin_ws/
$ catkin_make
设置环境变量
$ source devel/setup.bash
检查环境变量
$ echo $ROS_PACKAGE_PATH
创建功能包
$ cd ~/catkin_ws/src
$ catkin_creat_pkg test_pkg std_msgs rospy roscpp
编译功能包
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
例子: 发布者publisher的编成实现
$ cd ~/catkin_ws/src
$ catkin_create_pkg learning_topic rospy roscpp std_msgs geometry_msgs turtlesim
$ cd ~/catkin_ws/src/learning_topic/src
$ vim velocity_publisher.cpp
实现一个发布者:
初始化ROS节点;
向ROS Master注册节点信息,包括发布的话题名和话题中的消息类型;
创建消息数据;
按照一定频率循环发布消息;
编译c++代码并运行
配置CMakeListe.txt中的编译规则
设置需要编译的代码和生成的可执行文件;
设置链接库;
添加下面两句话到CMakeListe.txt中
add_executable(velocity_publisher src/velocity_publisher.cpp)
target_link_libraries(velocity_publisher ${catkin_LIBRARIES})
编译并运行发布者
$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash
$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun learnig_topic velocity_publisher
编译后的功能包在"catkin_ws/devel/lib/learning_topic"中;
设置环境变量
$ source devel/setup.bash
此步骤可拷贝到bashrc(在主文件夹中Ctr + h)文件中避免重复