ROS学习笔记(3)-----创建工作区,运行hello程序

ROS编译hello程序

  1. 首先创建一个工作空间——文件夹
 mkdir -p ~/catkin_ws/src

catkin_ws为文件名,也可以自定义名称。
ROS学习笔记(3)-----创建工作区,运行hello程序
2. 对该文件下的scr初始化。
切换到scr文件夹下:

 cd ~/xialan/src/

ROS学习笔记(3)-----创建工作区,运行hello程序
对其初始化:

catkin_init_workspace

ROS学习笔记(3)-----创建工作区,运行hello程序
3. 编译工作区
编译你的工作区中的所有包,将会完成一些配置步骤(尤其是你第一 次运行此命令时),并且在你的工作区中创建 devel 和 build 两个 子目录。这两个新目录用于存放和编译相关的文件,例如自动生 成的编译脚本、目标代码和可执行文件。

退回根目录:

cd ..

编译工作区:

 catkin_make

ROS学习笔记(3)-----创建工作区,运行hello程序
4. 设置环境变量
使 ROS 能够 找到你创建的功能包和新生成的可执行文件

source devel/setup.bash

ROS学习笔记(3)-----创建工作区,运行hello程序
5. 在工作空间的src里面,然后,在里面使用catkin_create_pkg来创建一个package包

catkin_create_pkg hello std_msgs rospy roscpp

ROS学习笔记(3)-----创建工作区,运行hello程序
6. 在名为hello的package包下的src文件夹下编写一个hello.cpp文件
文件内容:
ROS学习笔记(3)-----创建工作区,运行hello程序

#include <ros/ros.h>
int main(int argc, char **argv)
{
    ros::init(argc,argv,"hello");
    ros::NodeHandle n;
    ROS_INFO("Hello ROS!");
    ros::spinOnce();
}

7.修改CMakeList.txt文件:
在文件的结尾处加上:

add_executable(hello ~/xialan/src/hello/src/hello.cpp)
target_link_libraries(hello ${catkin_LIBRARIES})

ROS学习笔记(3)-----创建工作区,运行hello程序
8. 编译程序
在工作区中编译程序

catkin_make

ROS学习笔记(3)-----创建工作区,运行hello程序

  1. 联系hello.cpp和CMakeList.txt文件关系
    在新的终端输入指令打开.bashrc文件。
gedit ~/.bashrc

在文件的最后加上

source /home/robin/xialan/devel/setup.bash

ROS学习笔记(3)-----创建工作区,运行hello程序

  1. 运行节点
    终端输入
roscore
  1. 运行hello
    新的终端
rosrun hello hello

ROS学习笔记(3)-----创建工作区,运行hello程序