(二)创造一个简单的ROS package

2024-06-01 08:18
文章标签 简单 ros package 创造

本文主要是介绍(二)创造一个简单的ROS package,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:

参考网址:http://blog.sina.com.cn/s/blog_661159d50100ocj9.html

1,http://www.ros.org/wiki/ROS/Tutorials/CreatingPackage

2,http://bbs.axnzero.com/viewthread.php?tid=657

        ROS的软件以Package的方式组织起来。package包含节点(Node)、ROS依赖库、数据套、配置文件、第三方软件、或者任何其他逻辑构成。package的目标是提供一种易于使用的结构以便于软件的重复使用。总得来说,ROS的package遵从Goldilocks原则:短小精干。所有的ROS packages包括很多类似的文件:manifests, CMakeLists.txt, mainpage.dox, 和Makefiles.

         package很容易手工制作,也可使用其他工具,例如roscreate-pkg。ROS的package可以是ROS_ROOT或者ROS_PACKAGE_PATH里面的一个目录/文件夹,包含一个manifest.xml文件。package可以是ROSstacks的组成部分。首先我们用roscreate来创建package:

$ roscreate-pkg [package_name]

这里我直接引用官网提供的这个例子:---创建beginner_tutorials package,他依赖std_msgs, roscpp, rospy

 

(1) 利用 rorcreate-pkg 创建 package

$ roscreate-pkg beginner_tutorials std_msgs roscpp rospy

得到结果:

Created package directory /opt/ros/cturtle/ros/beginner_tutorials

Created include directory /opt/ros/cturtle/ros/beginner_tutorials/include/beginner_tutorials

Created cpp source directory /opt/ros/cturtle/ros/beginner_tutorials/src

Created package file /opt/ros/cturtle/ros/beginner_tutorials/Makefile

Created package file /opt/ros/cturtle/ros/beginner_tutorials/manifest.xml

Created package file /opt/ros/cturtle/ros/beginner_tutorials/CMakeLists.txt

Created package file /opt/ros/cturtle/ros/beginner_tutorials/mainpage.dox

 

Please edit beginner_tutorials/manifest.xml and mainpage.dox to finish creating your package

 

这里我们需要仔细阅读manifest.xml,所以这里我把生成的manifest.xml贴于下面:

<package>

<description brief="beginner_tutorials"> beginner_tutorials </description>

<author>root</author>

<license>BSD</license>

<review status="unreviewed" notes=""/>

<url>http://ros.org/wiki/beginner_tutorials</url>

<depend package="std_msgs"/>

<depend package="rospy"/>

<depend package="roscpp"/>

</package>

 

(2) 将该路径添加到rox系统中(即更新ros查找路径)

$ export ROS_PACKAGE_PATH=YOUR_BEGINNER_TUTORIALS_PATH:$ROS_PACKAGE_PATH

对于我机子而已,是这样添加:

$ export ROS_PACKAGE_PATH=./:$ROS_PACKAGE_PATH

然后我确认是否在ROS可以找到:

$ rospack find beginner_tutorials

结果如下:

/opt/ros/cturtle/ros/beginner_tutorials

 

(3) 我们可以查看package相关第一层依赖项

$ rospack depends1 beginner_tutorials  ----package第一层依赖项查询

结果如下:

std_msgs

rospy

roscpp

 

$ rospack depends1 rospy ----package依赖项rospy的第一层依赖项查询

结果如下:

roslib

roslang

 

$ rospack depends beginner_tutorials  ---package所有依赖项查询

genmsg_cpp

rospack

roslib

rosconsole

std_msgs

roslang

rospy

xmlrpcpp

roscpp

这篇关于(二)创造一个简单的ROS package的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020470

相关文章

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设