ROS学习之三:ROS节点
基本概念
计算图(Computation Graph) |
一个由ROS进程组成的点对点网络,它们能够共同处理数据 |
节点(Nodes) |
节点是一个可执行文件,它可以通过ROS来与其他节点进行通信 |
主节点(Master) |
ROS的命名服务,可帮助节点发现彼此 |
参数服务器(Parameter Sever) | 参数服务器能够存储整形、浮点、布尔、字典和列表等数据类型 |
消息(Messages) | 订阅或发布话题时所使用的ROS数据类型 |
服务(Services) | 服务是节点间通讯的另一种方式。服务允许节点发送一个请求(request)并获得一个响应(response) |
话题(Topics) | 节点可以将消息发布到话题,或通过订阅话题来接收消息 |
袋(Bags) |
节点
节点实际上是ROS软件包中的一个可执行文件,ROS节点使用ROS客户端与其他节点通通信,节点可以发布或订阅话题,也可以提供或使用服务
常用节点:
- rosout:在ROS中相当于stdout/stderr(标准输出/标准错误)
- roscore:主节点+rosout+参数服务器
基础命令
roscore |
在运行所有ROS程序前首先要运行的命令 | |
rosnode |
list | 列出当前正在运行的活动节点 |
info [node_name] | 返回某个制定节点的信息 | |
ping [node_name] | 测试节点是否正常 | |
cleanup | 清除rosnode列表 | |
rosrun | [package_name] [node_name] | 用包名直接运行软件包内的节点(无需知道包的路径) |
[package_name] [node_name] __name:=my_node_name | 使用重映射参数改变节点名称 |
注:当打开一个新的终端时,环境将会重置,~/.bashrc文件将会生效。如果在运行rosnode等命令时出现问题,那么可能需要将一些环境设置文件添加到~/.bashrc或手动source一下。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)