当前位置: 首页 > ai >正文

【机器人-基础知识】ROS1和ROS2对比

1. 系统架构区别

  • ROS1(集中式架构):
    依赖中心化的roscore,使用一个中心化的 roscore(包含 Master 节点)来管理整个系统。所有节点在启动时都必须向 Master 注册,并通过 Master 来查找和发现其他节点。
  • ROS2(分布式去中心化架构):
    没有中心管理节点,节点启动后,会通过底层通信中间件(DDS)自动向网络中广播自己的存在和信息。其他节点监听到广播后,如果发现有兼容的通信需求(如相同的主题、QoS配置),就会自动建立直接连接进行通信

2. 常用命令

功能ROS 1 命令ROS 2 命令
启动 Masterroscore(DDS 自动发现)
启动节点rosrun pkg_name node_nameros2 run pkg_name node_name
启动 launch 文件roslaunch pkg_name file.launchros2 launch pkg_name file.launch.py
列出节点rosnode listros2 node list
节点信息rosnode info /node_nameros2 node info /node_name
列出话题rostopic listros2 topic list
话题信息rostopic info /topic_nameros2 topic info /topic_name
发布话题rostopic pub /topic type dataros2 topic pub /topic type data
订阅话题rostopic echo /topicros2 topic echo /topic
列出服务rosservice listros2 service list
服务信息rosservice info /service_nameros2 service info /service_name
调用服务rosservice call /service argsros2 service call /service type args
列出参数rosparam listros2 param list
获取参数rosparam get nameros2 param get /node_name param_name
设置参数rosparam set name valueros2 param set /node_name param_name value
录制 bagrosbag record -aros2 bag record -a
播放 bagrosbag play file.bagros2 bag play file.db3
查看 bagrosbag info file.bagros2 bag info file.db3
编译工作区catkin_makecolcon build
清理构建catkin cleancolcon build --cmake-clean-cache 或手动删 build/install/log
http://www.xdnf.cn/news/17870.html

相关文章:

  • shell脚本实现sha256sum校验并拷贝校验通过的文件
  • OpenCV Python——图像查找(特征匹配 + 单应性矩阵)
  • Kotlin作用域函数全解:run/with/apply/let/also与this/it的魔法对决
  • fs模块_写入文件
  • Layers(图层)
  • OpenSCA开源社区每日安全漏洞及投毒情报资讯|14th Aug. , 2025
  • 【车联网kafka】常用参数及其命令总结(第八篇)
  • Backblaze 2025 Q2硬盘故障率报告解读
  • Web攻防-大模型应用LLM安全提示词注入不安全输出代码注入直接间接数据投毒
  • CAXA电子图板2026(国产CAD之光)
  • C# 中的 string / StringBuilder / 值类型 / 引用类型 / CLR 总结
  • Design Compiler:使用IC Compiler II Link
  • Tasking编译问题: E207: syntax error - token “<integer>“ delete的解决方案
  • 【机器学习】核心分类及详细介绍
  • 电视同轴电缆全面指南:从基础到应用,批量测量一键计量
  • 【博客系统测试报告】---web界面自动化测试
  • 使用PyTorch实现手写数字识别系统:从理论到实践
  • 附045.Kubernetes_v1.33.2高可用部署架构二
  • 介绍大根堆小根堆
  • C++——分布式
  • 从 0 到 1 玩转Claude code(蓝耘UI界面版本):AI 编程助手的服务器部署与实战指南
  • Unity 绳子插件 ObjRope 使用简记
  • C#文件复制异常深度剖析:解决“未能找到文件“之谜
  • 硬件开发_基于STM32单片机的热水壶系统
  • 领域防腐层(ACL)在遗留系统改造中的落地
  • 疯狂星期四文案网第40天运营日记
  • 分布式锁那些事
  • AI浪潮之巅:解码技术革命、重塑产业生态与构建责任未来
  • 超高车辆碰撞预警系统如何帮助提升城市立交隧道安全?
  • uniApp App 端日志本地存储方案:实现可靠的日志记录功能