功能包是什么?

英文表述package,我可没有在炫英文啊,我的英文很烂的,只是在提醒大家,在ROS系统中,这个词使用的频率非常之高,你必须记住它,要不就没法正确的看懂信息。言归正传,package是什么呢?指的是一种特定的文件结构和文件夹组合。

如何识别一个package呢?

通俗点儿的方式,就是找manifest.xml文件,这本来就是一个用来描述package相关的各类信息的一个文档,打开后可以看到包的名称、依赖关系等,下图就是一个manifest.xml的样子。当然,是用xml格式编写的,看不懂的xml的话,翻我另一篇博文就成了,如果一个文件夹下有这样一个文件,那这个文件夹描述的就有百分之九十的可能是package,为什么是有可能呢?请耐心看我下文道来。

建立package需要用到的几个简单指令

第一个:

cd ~

怎么样?非常简单吧!这条指令表示进入用户在该系统的home目录下,进行操作;如果你需要需要进入不同目录下进行操作,也可以用这个指令,比如,我想要进入到home目录下的一个叫catkin_ws的文件夹下的一个叫src文件夹下的一个叫做smartcar_description的文件夹里进行操作。

那我就可以:

就是通过这样,来回的切换目标目录的。

第二个:roscreate-pkg [package_name] [depend1] [depend2] [depend3]

这些依赖(depend)包括:std_msgs(包含了常见消息类型,表示基本数据类型和其他的消息构造)和rospy(一个ROS的纯python客户端库),roscpp(一个ROS的纯c++客户端库)

说的这么枯燥,其实经常使用的格式就是:

roscreate-pkg  package的名字  std_msgs rospy roscpp,后边的depend基本上不咋变。

比如,建立一个输入 roscreate-pkg  zeshou  std_msgs rospy roscpp

第三个:

rosmake

用此命令来编译功能包,如果你没有编译,或者说你没有这步,就说明你这个package虽然形式上建立起来了,但实质上还没有跟底层进行连接,这就是为什么我说有 manifest.xml但也有可能不是功能包,我在执行的时候就遇到了,只完成了roscreate-pkg,但没rosmake,就死活用rospack 找不到,快怀疑人生了都,后来又试试了,有的时候,能找到,有的时候又找不到,见鬼了?——  ——(反正流程就是这)

第四个:

rospack  find  package_name

这个的作用是用来查找目标的

该怎么建立一个package呢?

还不会啊,按上面四个代码一个一个敲就行了。

选定文件夹->创建功能包roscreat-pkg->把新建的功能包编译rosmake->查找一下试试rospack

题外记:

为什么我创建的这个功能包取名叫zeshou呢?因为最近刚刚看到那个文那在一席演讲,特别喜欢她创作的这个角色:泽寿!你喜欢吗?

ROS学习记录(四)————怎样建立一个package包?的更多相关文章

  1. leveldb 学习记录(四)Log文件

    前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtablelevel ...

  2. JavaScript学习记录四

    title: JavaScript学习记录四 toc: true date: 2018-09-16 20:31:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  3. 4.VUE前端框架学习记录四:Vue组件化编码2

    VUE前端框架学习记录四:Vue组件化编码2文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...

  4. ROS学习(四)—— 创建ROS Package

    一.caktin Package的组成 1.必须含有 package.xml文件,提供有关程序包的元信息 2.必须含有一个catkin版本的 CmakeLists.txt文件,如果是一个catkin元 ...

  5. ROS学习记录(三)————创建一个简单的发布节点和订阅节点

    暑假在家有些懈怠,不,非常懈怠- -||!良心已经发痛了,想快些补回原来的进度,但忽然发现,中断了一段时间再重新去学习,有的地方连最基本的符号都忘记了 ,这次特意弄个最最基础的,恢复一下,以前的进度. ...

  6. ROS学习记录(二)————使用smartcar进行仿真(用.xacro文件来运行rviz)

    我发现一个学习ROS系统的好网站: 创客智造http://www.ncnynl.com/ 这里面关于ROS的各个方面都有很详细的介绍. 这周,不,上周我对整个ROS是绝望的,我用一个一个下午的时间在敲 ...

  7. leveldb 学习记录(四) skiplist补与变长数字

    在leveldb 学习记录(一) skiplist 已经将skiplist的插入 查找等操作流程用图示说明 这里在介绍 下skiplist的代码 里面有几个模块 template<typenam ...

  8. openWRT自学---对官方的开发指导文档的解读和理解 记录1:编译一个package

    针对的是:http://kamikaze.openwrt.org/docs/openwrt.html#x1-390002 1.If you want, you can also modify the ...

  9. JavaSE入门学习17:Java面向对象之package(包)

           一Java包(package)        为了更好地组织类,Java提供了包机制,用于差别类名的命名空间.        包的作用:        A把功能类似或相关的类或接口组织在 ...

随机推荐

  1. Python 对象引用、可变性和垃圾回收

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 25.0px Helvetica } 变量不是盒子 在示例所示的交互式控制台中,无法使用"变量是盒 ...

  2. JMeter之Throughput Controller详解(实验)

    Throughput Contoller,直译是吞吐量控制器,它是用来控制该控制器下面元件的执行次数,与控制吞吐量的功能无关.(注:用Constant Throughput Timer可以控制吞吐量. ...

  3. 陈年佳酿之 - Winform ListView 控件 double click 事件中获取选中的row与column

    背景 最近收到了一个关于以前项目的维护请求,那时的楼主还是刚刚工作的小青年~~~ 项目之前使用的是.net/winform.今天重新打开代码,看着之前在FrameWork2.0下面的代码, 满满的回忆 ...

  4. SpringMVC(四)-- 文件下载、自定义拦截器、异常处理

    1.文件下载 用ResponseEntity<byte[]> 返回值完成文件下载 具体参见本博客之前的<文件上传下载> @RequestMapping(value=" ...

  5. CSS:a:link;visited;hover;active解释及正确顺序

    a:link 选择器设置指向普通的.未被访问页面的链接的样式, a:visited 选择器用于设置指向已被访问的页面的链接, a:active 选择器用于活动链接, a:hover 选择器用于选择鼠标 ...

  6. asp .net 模板引擎 使用 Razor 生成html静态页面

    刚开始不是理解 写完之后 觉得还蛮简单的 分为这几个步骤 1.获取页面模板Html 2.获取数据 3.解析模板和数据,生成静态页Html代码 4.生成静态文件 模板形式是mvc的模式,会mvc 看一下 ...

  7. Struts2.5 利用Ajax将json数据传值到JSP

    AJAX +JSON=>JSP AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着 ...

  8. 迈向angularjs2系列(7):表单

    目录 一:校验表单的使用 1.搭建脚手架 2.校验表单的使用 3.select下拉列表的用法 一: 校验表单的使用 对于CRUD型的应用,表单是必备组件. 1.搭建脚手架 git clone http ...

  9. 中间件学习之RMI+JDBC远端数据库的访问

    问题: RMI+JDBC远端数据库的访问.实现简单的成绩查询系统(创建表,录入成绩,查询成绩等).在服务器端,通过JDBC访问数据库.客户端调用服务端提供的各种数据库操作. 环境准备: (1).确保J ...

  10. [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第1讲(实现思路与游戏界面的实现)

    整体效果展示: 一.实现思路 如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图. 游戏界面的完成 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现.在此时,英雄飞机能 ...