-
Packages: 软件包,是ROS应用程序代码的组织单元,每个软件包都可以包含程序库、可执行文件、脚本或者其它手动创建的东西。
-
Manifest (package.xml): 清单,是对于'软件包'相关信息的描述,用于定义软件包相关元信息之间的依赖关系,这些信息包括版本、维护者和许可协议等。
-
使用 rospack命令,rospack允许你获取软件包的有关信息,
$ rospack find roscpp输出文件路径
-
使用 roscd,它允许你直接切换(cd)工作目录到某个软件包或者软件包集当中。
$ roscd roscpp
-
使用roscd log,使用roscd log可以切换到ROS保存日记文件的目录下。
$ roscd log
-
创建ROS程序包
-
最简单的程序包也许看起来就像这样:
-
my_package/ CMakeLists.txt必须包含一个catkin 版本的CMakeLists.txt文件,而Catkin metapackages中必须包含一个对CMakeList.txt文件的引用。 package.xml必须包含catkin compliant package.xml文件
- 这个package.xml文件提供有关程序包的元信息。
一个简单的工作空间也许看起来像这样:
-
workspace_folder/ -- WORKSPACE src/ -- SOURCE SPACE CMakeLists.txt -- 'Toplevel' CMake file, provided by catkin package_1/ CMakeLists.txt -- CMakeLists.txt file for package_1 package.xml -- Package manifest for package_1 ... package_n/ CMakeLists.txt -- CMakeLists.txt file for package_n package.xml -- Package manifest for package_n
-
-
创建一个空白的catkin工作空间。"build" the workspace
$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src $ catkin_init_workspace 即可在src下创建一个makelist,每个工作空间要有一个makelist
$ cd ~/catkin_ws/ $ catkin_make 即可生成build目录和devel目录,里面有一堆东西
创建一个catkin程序包
$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
编译ROS程序包
$ catkin_make
ROS节点
一个节点其实只不过是ROS程序包中的一个可执行文件。ROS节点可以使用ROS客户库与其他节点
通信。节点可以发布或接收一个话题。节点也可以提供或使用某种服务。
ROS Topics
ROS服务
rqt_console和roslaunch命令的使用
期间还是遇到了两个问题,第一个是不能改名字my_turtle,第二个是切换到
beginner_tutorials程序包目录下总是失败。