ROS机器人程序设计(原书第2版)2.2.1 节点与nodelet

本文涉及的产品
资源编排,不限时长
简介:

2.2.1 节点与nodelet

节点都是各自独立的可执行文件,能够通过主题、服务或参数服务器与其他进程(节点)通信。ROS通过使用节点将代码和功能解耦,提高了系统容错能力和可维护性,使系统简化。

ROS有另一种类型的节点,称为nodelet。这类特殊节点可以在单个进程中运行多个节点,其中每个nodelet为一个线程(轻量级进程)。这样,可以在不使用ROS网络的情况下与其他节点通信,节点通信效率更高,并避免网络拥塞。nodelet对于摄像头和3D传感器这类数据传输量非常大的设备特别有用。

节点在系统中必须有唯一的名称。节点使用特定名称与其他节点进行通信而不产生歧义。节点可以使用不同的库进行编写,如roscpp和rospy。roscpp基于C++,而rospy基于Python。在这本书里,我们将使用roscpp。

ROS提供了处理节点的工具,如rosnode。rosnode是一个用于显示节点信息的命令行工具,例如列出当前正在运行的节点。支持的命令如下所示:

rosnode info NODE 输出当前节点信息。

rosnode kill NODE 结束当前运行节点进程或发送给定信号。

rosnode list 列出当前活动节点。

rosnode machine hostname 列出某一特定计算机上运行的节点或列出主机名称。

rosnode ping NODE 测试节点间的连通性。

rosnode cleanup 将无法访问节点的注册信息清除。

在后面的章节中,我们将通过一些示例学习如何使用这些命令。

ROS节点的一个强大功能是可以在启动该节点时更改参数。此功能使我们能够改变节点名称、主题名称和参数名称。我们无需重新编译代码就能重新配置节点,这样就可以在不同的场景中使用该节点。

一个改变主题名称的例子如下所示:

 

此命令将主题名称从topic1改为/level1/topic1。相信你现在还不甚明了,但在后面的章节中你会发现它的实用性。

更改节点中的参数和更改主题名称很类似。只需要在参数名称前添加一个下划线,例如:

 

这样参数(param)就设置为浮点数9.0。

请记住,不能使用系统保留的关键字名称,包括:

_name 为节点名称保留的一个特殊关键字。

_log 为记录节点日志存储地址保留的一个关键字。

_ip和_hostname 表示ROS_IP和ROS_HOSTNAME的关键字。

_master 表示ROS_MASTER_URI的关键字。

_ns 表示ROS_NAMESPACE的关键字。

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
14天前
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
|
19天前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
|
1月前
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
|
1月前
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
|
6月前
|
传感器 人工智能 监控
智能耕耘机器人
智能耕耘机器人
136 3
|
4天前
|
自然语言处理 算法 机器人
智能电话销售机器人源码搭建部署系统电话机器人源码
智能电话销售机器人源码搭建部署系统电话机器人源码
15 4
|
15天前
|
机器学习/深度学习 传感器 算法
智能机器人在工业自动化中的应用与前景###
本文探讨了智能机器人在工业自动化领域的最新应用,包括其在制造业中的集成、操作灵活性和成本效益等方面的优势。通过分析当前技术趋势和案例研究,预测了智能机器人未来的发展方向及其对工业生产模式的潜在影响。 ###
63 9
|
7天前
|
机器学习/深度学习 人工智能 运维
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
25 0
|
11天前
|
机器人 人机交互 语音技术
智能电销机器人源码部署安装好后怎么运行
销售打电销,其中90%电销都是无效的,都是不接,不要等被浪费了这些的精力,都属于忙于筛选意向客户,大量的人工时间都耗费在此了。那么,有这种新型的科技产品,能为你替代这些基本的工作,能为你提升10倍的电销效果。人们都在关心智能语音客服机器人如何高效率工作的问题,今天就为大家简单的介绍下:1、智能筛选系统:电销机器人目前已经达到一个真人式的专家级的销售沟通水平,可以跟客户沟通,筛选意向,记录语音和文字通话记录,快速帮助电销企业筛选意向客户,大大的节约了筛选时间成本和人工成本。2、高速运转:在工作效率上,人工电销员,肯定跟不上智能语音机器人,机器人自动拨出电话,跟客户交谈。电话机
88 0
|
1月前
|
人工智能 搜索推荐 机器人
挑战未来职场:亲手打造你的AI面试官——基于Agents的模拟面试机器人究竟有多智能?
【10月更文挑战第7天】基于Agent技术,本项目构建了一个AI模拟面试机器人,旨在帮助求职者提升面试表现。通过Python、LangChain和Hugging Face的transformers库,实现了自动提问、即时反馈等功能,提供灵活、个性化的模拟面试体验。相比传统方法,AI模拟面试机器人不受时间和地点限制,能够实时提供反馈,帮助求职者更好地准备面试。
62 2

推荐镜像

更多
下一篇
无影云桌面