ROS学习记录(四)————怎样建立一个package包?
功能包是什么?
英文表述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包?的更多相关文章
- leveldb 学习记录(四)Log文件
前文记录 leveldb 学习记录(一) skiplistleveldb 学习记录(二) Sliceleveldb 学习记录(三) MemTable 与 Immutable Memtablelevel ...
- JavaScript学习记录四
title: JavaScript学习记录四 toc: true date: 2018-09-16 20:31:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- 4.VUE前端框架学习记录四:Vue组件化编码2
VUE前端框架学习记录四:Vue组件化编码2文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...
- ROS学习(四)—— 创建ROS Package
一.caktin Package的组成 1.必须含有 package.xml文件,提供有关程序包的元信息 2.必须含有一个catkin版本的 CmakeLists.txt文件,如果是一个catkin元 ...
- ROS学习记录(三)————创建一个简单的发布节点和订阅节点
暑假在家有些懈怠,不,非常懈怠- -||!良心已经发痛了,想快些补回原来的进度,但忽然发现,中断了一段时间再重新去学习,有的地方连最基本的符号都忘记了 ,这次特意弄个最最基础的,恢复一下,以前的进度. ...
- ROS学习记录(二)————使用smartcar进行仿真(用.xacro文件来运行rviz)
我发现一个学习ROS系统的好网站: 创客智造http://www.ncnynl.com/ 这里面关于ROS的各个方面都有很详细的介绍. 这周,不,上周我对整个ROS是绝望的,我用一个一个下午的时间在敲 ...
- leveldb 学习记录(四) skiplist补与变长数字
在leveldb 学习记录(一) skiplist 已经将skiplist的插入 查找等操作流程用图示说明 这里在介绍 下skiplist的代码 里面有几个模块 template<typenam ...
- openWRT自学---对官方的开发指导文档的解读和理解 记录1:编译一个package
针对的是:http://kamikaze.openwrt.org/docs/openwrt.html#x1-390002 1.If you want, you can also modify the ...
- JavaSE入门学习17:Java面向对象之package(包)
一Java包(package) 为了更好地组织类,Java提供了包机制,用于差别类名的命名空间. 包的作用: A把功能类似或相关的类或接口组织在 ...
随机推荐
- spotlight 索引重建
从Mac的App Store 上 自动更新微信之后,发现不能在SpotLight上搜索到了. 想着应该是索引出现了问题. 方法一. 采用如下命令重建索引: sudo mdutil -i off /该命 ...
- 微信js的引用
public function seach_accurate(){ import ( 'Class.Wechat', APP_PATH ); $weObj = new WeChat (array()) ...
- Struts2之初识
Struts2教程 第一章 初识Struts2 主页:http://struts.apache.org/ 优势:用户请求,模块处理,页面展现.适用于企业级开发,便于维护. 配置:web.xml中添加的 ...
- 【Linux】Apache Httpd 服务管理
基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐 [user@master1 ~]$ /usr/local ...
- 一个想法照进现实-《IT连》创业项目:聊聊最近两三事
今天打算写一篇断流水式的作文,哈,不按常规的写格式文了. 话说创业到现在,也快近半年了,时间那是飘的一个字:快! 从设想的很多很远,到被人不断告知要单点突破:从美好的远景,到现实艰难的执行:创业更像是 ...
- winform WebBrowser控件中,cs后台代码执行动态生成的js
很多文章都是好介绍C# 后台cs和js如何交互,cs调用js方法(js方法必须是页面上存在的,已经定义好的),js调用cs方法, 但如果想用cs里面执行动态生成的js代码,如何实现呢? 思路大致是这样 ...
- “无文件”恶意软件的威力:悄无声息一夜之间从ATM机中窃取80万美元
去年雅虎接连曝出多个超大规模数据泄露事件,长期关注的你们一定都知道,5亿.10亿账户信息泄露的,除了雅虎也没谁了.就在这两天,5亿账户泄露的真相似乎正在浮出水面. 事件回顾 我们今天要讲的就是这桩5亿 ...
- 修改Tomcat服务器默认端口
- java通过freemarker导出包含富文本图片的word文档
废话不多说,进入正题! 本文重点在于:对富文本图片的导出(基础的freemarker+word模板导出这里不做详细解说哈) 参考文章:http://www.cnblogs.com/liaofeifig ...
- Ubuntu Docker Registry 搭建私有仓库
服务器版本 Ubuntu 16.04 LTS. 安装命令: $ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --rest ...