马上注册,玩转Robomaster!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
(一)文件系统工具介绍 在ROS中程序代码是分布在众多ROS软件包当中,当使用命令行工具(比如ls和cd)来浏览时会非常繁琐,因此ROS提供了专门的命令工具来简化这些操作。 在Linux下当要输入一个完整的软件包名称时比较繁琐,我们会使用Tab补齐,在ROS中同样支持这个功能,善用这个功能增加生产效率。 一、Rospack=ros+pack(age) 功能:rospack允许你获取软件包相关信息 格式:rospack find [package-name];package-name是包名称 例程:rospack find roscpp 返回结果:在ubuntu12.04下,返回/opt/ros/hydro/share/roscpp 二、Roscd=ros+cd 功能:对ROS文件系统允许利用包的名字直接切换到相应的文件目录下。 格式:roscd [locationname[/subdir]],[locationname[/subdir]]是[本地包名称/子目录] 例程:roscd roscpp 返回结果:就直接跳到那个目录下了,输入pwd看到 /opt/ros/hydro/share/roscpp 备注: roscd将只能打开存在与环境变量ROS_PACKAGE_PATH中的目录及其子目录 使用命令 ROS_PACKAGE_PATH 或 export | grep ROS 查看 ROS_PACKAGE_PATH后的文件。 显示结果: /opt/ros/hydro /share:/opt/ros/hydro/stacks,中间用冒号隔开。 其它roscd用法: 1、直接切换到一个软件包或软件包集中 命令:roscd roscpp/cmake Cmake为roscpp下的子目录 2、直接切换到ROS保存日记文件的目录下 命令:roscd log 如果没有运行过任何ROS程序,则会报错,负责跳转到改目录下 三、Rosls=ros+ls 功能:直接利用包的名字,去列举包中的所有文件即文件夹,而不用使用绝对路径。它的使用和roscd是一样的,只有存在于ROS_PACKAGE_PATH中的目录及其子目录才能使用这个命令。 格式:roscd [locationname[/subdir]],[locationname[/subdir]]是[本地包名称/子目录] 例程:rosls_roscpp_tutorials 返回结果:列出目录roscpp_tutorials下的所有文件。 (二)创建系统功能包 首先回顾第一章安装ROS后,创建工作空间 1、创建ROS工作空间 下面我们开始创建一个catkin 工作空间: $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src 即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以“build”它: $ cd ~/catkin_ws/ $ catkin_make catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层。关于这些想了解更多请阅读catkin文档。接下来首先source一下新生成的setup.*sh文件: $ source devel/setup.bash 2、创建ROS程序包 创建一个catkin程序包 本部分教程将演示如何使用catkin_create_pkg命令来创建一个新的catkin程序包以及创建之后都能做些什么。 首先切换到之前通过《创建catkin工作空间教程》创建的catkin工作空间中的src目录下: # You should have created this in the Creating a Workspace Tutorial $ cd ~/catkin_ws/src 现在使用catkin_create_pkg命令来创建一个名为'beginner_tutorials'的新程序包,这个程序包依赖于std_msgs、roscpp和rospy: $ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp 这将会创建一个名为beginner_tutorials的文件夹,这个文件夹里面包含一个package.xml文件和一个CMakeLists.txt文件,这两个文件都已经自动包含了部分你在执行catkin_create_pkg命令时提供的信息。 catkin_create_pkg命令会要求你输入package_name,如果有需要你还可以在后面添加一些需要依赖的其它程序包: # This is an example, do not try to run this # catkin_create_pkg[depend1] [depend2] [depend3] catkin_create_pkg命令也有更多的高级功能,这些功能在catkin/commands/catkin_create_pkg中有描述。
|