ROS程序包的创建和编译

一般组织和编译ROS应用程序有两种方法:rosbuild和catkin:其中rosbuild简单易于使用,但缺乏灵活性;catkin使用了更加标准的cmake规则,比较复杂和灵活,适合那些想整合外部现有代码或想发布自己代码的人。
下面我们将介绍使用catkin的方法进行ROS程序包的创建及编译。
一.创建一个catkin工作空间:
1.在当前用户工作空间的目录,新建如下文件夹,名字可以随意取,一般教程都使用catkin_ws/src。
mkdir -p ~/catkin_ws/src
2.初始化catkin 工作空间:
cd ~/catkin_ws/src
catkin_init_workspace
此时src文件夹中会生成一个CMakeLists.txt文件。
3.“build” catkin工作空间,即使工作空间是空的,也可以编译该工作空间:
cd ~/catkin_ws/
catkin_make
执行该命令后,catkin_ws文件夹下会生成build和devel两个新的文件夹。其中,在devel文件夹中,你会发现有好几个setup.sh文件,source这些文件中的任何一个都会使你创建的工作空间置于环境顶部。你可以使用 echo $ROS_PACKAGE_PATH来查看当前工作环境。
由于每次source比较麻烦,我们可以将这条命令配置进~/.bashrc中,如根据我的目录,我需要在~/.bashrc中加入下面的语句:
source /home/ding/catkin_ws/devel/setup.bash
下面,你关闭当前终端,重新打开一个终端,输入echo $ROS_PACKAGE_PATH,你会发现,你创建的工作空间出现在工作环境中。
二.创建一个新的程序包
1.首先切换到你创建的catkin工作空间的src目录下:
cd ~/catkin_ws/src
2.用catkin_create_pkg命令创建一个新的程序包
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
该会创建一个名为beginner_tutorials的文件夹,这个文件夹里面包含一个package.xml文件和一个CMakeLists.txt文件,这两个文件都已经自动包含了部分你在执行catkin_create_pkg命令时提供的信息。其中beginner_tutorials为包名,std_mag,rospy,roscpp为程序包依赖的程序包,可以用rospack depends命令来检测出所有的依赖包。
三.编译ROS程序包
1.切换到catkin workspace
cd ~/catkin_ws/
2.用catkin_make命令进行编译
catkin_make

OK,现在我们已经成功的创建并编译了一个ROS程序包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章