ROS开发之ROS文件系统架构

ROS文件系统架构:

 

  • Packages:是ROS代码的软件组织单元。每个Package包含库、可执行程序、脚本或其他构件。
  • Manifests(package.xml):清单是Package的描述。它用于定义包之间的依赖关系,并捕获关于包的元信息,如版本、维护程序、许可证等。

ROS基本概念:

  • Nodes: 节点是使用ROS与其他节点通信的可执行文件。
  • Messages: 订阅或发布主题时使用的ROS数据类型。
  • Topics: 节点可以向主题发布消息,也可以订阅主题来接收消息。
  • Master: ROS的名称服务(如: 帮助节点找到彼此)
  • rosout:在 ROS中相当于stdout/stderr
  • roscore: Master + rosout + 参数服务器

客户端库:

  • rospy: python客户端库
  • roscpp: C++客户端库

消息(msg)和服务(srv):

  • 消息(msg):msg文件就是一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。
  • 服务(srv):一个srv文件描述一项服务。它包含两个部分:请求和响应。

msg文件存放在package的msg目录下,srv文件则存放在srv目录下。

msg文件实际上就是每行声明一个数据类型和变量名。可以使用的数据类型如下:

  • int8, int16, int32, int64 (plus uint*)
  • float32, float64
  • string
  • time, duration
  • other msg files
  • variable-length array[] and fixed-length array[C]

 

ROS Service: 服务(services)是节点之间通讯的另一种方式。服务允许节点发送请求(request) 并获得一个响应(response).

 

ROS工具:

 

如查找roscpp_tutorials文件夹,

 

启动roscore:

 

查看rosnode:

 

列出ROS Service:

 

rosparam使得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据。参数服务器能够存储整型、浮点、布尔、字符串、字典和列表等数据类型。rosparam使用YAML标记语言的语法。一般而言,YAML的表述很自然:1 是整型, 1.0是浮点型, one是字符串, true是布尔, [1, 2, 3]是整型列表, {a: b, c: d}是字典. rosparam有很多指令可以用来操作参数.

列出ROS Parameters:

 

获取参数服务器ROS Parameters:

 

rqt_console:

 

rqt_logger_level:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ROS(Robot Operating System)是一款用于机器人应用的开源操作系统,它提供了一系列通用功能模块,易于构建复杂的机器人系统。ROS的系统架构主要由四部分组成:文件系统、通信模块、软件框架和工具包。 ROS系统架构图: ![ROS系统架构图](https://i.imgur.com/92O5FqS.png) 文件系统ROS的核心部分,ROS使用UNIX文件系统来存储和组织软件包和数据集。每个软件包都有一个特定的文件夹,其中包含必要的代码文件和配置文件,以及其它与软件包相关的文件。ROS使用“Catkin”作为构建系统,这个系统可以将多个软件包组合在一起进行编译和构建。 通信模块是指ROS的消息传递机制,ROS使用发布和订阅的方式来进行不同节点之间的数据传输。每个节点都可以发布一种或多种类型的消息,其它节点可以订阅消息。ROS将消息传递作为节点间通信的基础,形成了一种简单而又灵活的消息传递机制。 软件框架包括了ROS标准工具库,其中包括了ROS常用的基础组件和功能模块。其中最重要的是ROS运行时库,这是一个易用的C++库,为节点、消息传递和参数服务器等提供了API。 工具包是ROS的附加功能,提供了各种功能的库和工具,可用于构建、部署、测试和管理ROS系统。ROS的主要工具包包括了仿真工具Gazebo、2D/3D可视化工具RViz、ROS包管理工具rosdep与rosinstall。 综上所述,ROS的系统架构基于一种分布式结构,它集合了许多现代软件工程的最佳实践。通过使用ROS,机器人开发人员可以访问许多优秀的开发工具和库,并且可以使用一个普遍通用的机器人编程范例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值