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

UGV Rover ROS2 语音控制平台;Python 调用 ROS2三种主流方式;

UGV Rover ROS2 语音控制平台

平台: Waveshare UGV Rover / Jetson Orin / ROS2 Humble / Docker

DockerROS2工具类应用

文档里太多命令控制实现了,整个工具类方便发命令控制
将所有容器内命令执行统一收口到DockerROS2工具类,main.py和mapping.py不再有重复的_CONTAINER、_ROS2_SOURCE定义。

Pythonclass DockerROS2:def run(cmd, timeout)        # 同步执行def run_bg(cmd)              # 后台执行,返回 Popen 句柄def run_async(cmd, timeout)  # 异步执行def node_running(node_name)  # 检查节点是否运行def shell(cmd, timeout)      # 返回 (returncode, output)

ros2服务列表

ros2服务列表:已启动当前所有运行中的节点的service接口,相当于查询机器人现在能做什么操作。只有节点启动后对应的服务才会出现。

查看当前运行的所有ROS2 节点

  • ros2的docker容器内部执行:
    ros2 service list
  • 宿主机执行:
docker exec -it ugv_jetson_ros_humble bash -i -c \"source /root/.bashrc && source /home/ws/ugv_ws/install/setup.bash && \ros2 node list"

Python 调用 ROS2三种主流方式;

三种主流方式:

  1. rclpy(官方推荐)
    直接在 Python 里初始化 ROS2 节点,发布 topic、调用 service,不需要任何中间层:
  • 优点:最直接,性能最好,官方支持
  • 缺点:必须在 ROS2 环境里运行,目前做了环境隔离所以条件不够
  1. rosbridge + websocket(现在用的)
    ROS2 节点通过 rosbridge 暴露 WebSocket 接口,任何语言都可以通过 JSON 协议控制:
  • 优点:语言无关,程序可以跑在容器外
  • 缺点:多一层转发,有延迟,复杂操作需要拼 JSON
  1. subprocess 调用命令行(现在用于启动节点)
  • 优点:简单直接,适合启动 launch 文件
  • 缺点:只适合启动/停止节点,不适合频繁的控制指令

rosbridge详解

rosbridge 能做的:

  • 发布 topic
  • 订阅 topic
  • 调用 service
  • 发送 action

rosbridge 不能做的:

  • ros2 launch xxx.launch.py
  • ros2 run xxx
  • 启动/关闭整个节点
    rosbridge本质上是一个已运行节点的代理,它把ROS2的通信接口转变成WebSocket,但它没有能力去启动新的进程。
http://www.zskr.cn/news/1494472.html

相关文章:

  • i.MX 6UltraLite引脚分配与硬件设计实战指南
  • 学术双审时代,paperxie 拆解论文降重与 AIGC 淡化的分层解决方案
  • 在上海回收黄金怕被坑?这五家靠谱门店精选推荐,附避坑指南 - 奢侈品回收评测
  • 阿里算法岗 0530笔试真题 - 多约束条件下的元素匹配统计
  • 猫抓浏览器扩展:一站式网页视频资源下载解决方案完全指南
  • 嵌入式系统设计:从数据手册到实战,解析KL82模拟外设与电气规格
  • 3Tops NPU + 4核高性能架构:灵眸科技EASY-EAI-PI2开发板,为边缘AI开启“easy模式”
  • 屈光发育档案:一个儿童视力数据追踪系统——以及它为什么比单次验光能提供更多判断依据
  • UniApp扫码功能商业化升级指南:如何像支付宝/微信一样‘秒扫’(基于mPaaS插件)
  • git查看远端文件(skip-worktree状态中的文件管理)
  • 投资金条变现攻略!9家机构横评,2026沈阳大盘价贴合度真实排行 - 奢侈品回收评测
  • STM32多型号串口DMA收发工程包:空闲中断+环形缓冲+RTOS兼容方案
  • B站直播推流码获取终极指南:突破官方限制的专业直播解决方案
  • 往复式洗车机常见问题全面解答(2026最新版) - 资讯纵览
  • 用了 AI Coding 半年,代码量翻倍但维护变难:我们团队的「技术债决策矩阵」
  • 【2026年06月】回收石墨换热器厂家优选指南回收废碳棒,回收石墨粉,回收石墨换热器优质企业推荐 - 多才菠萝
  • MATLAB黑油模拟实战包:从单相到三相、含SPE标准算例与多段井建模
  • 2026年猫咪驱虫药哪个靠谱:权威测评精选攻略 - 思溯深度专栏
  • 防错法(Poka-Yoke)在电子行业专项应用
  • 2026零基础学雅思选什么软件?适合零基础考生的APP推荐 - 品牌2026
  • MicroG完整指南:华为设备用户必备的免费GMS替代方案终极教程
  • i.MX 6电气特性深度解析:从电源管理到高速接口的设计避坑指南
  • 深圳钻石回收水有多深?5家真实门店测评,拒绝套路压价 - 奢侈品交易观察员
  • i.MX 6SoloX硬件设计实战:特殊信号、电源与时钟系统设计要点
  • 如何高效管理Steam游戏成就:完整开源工具使用指南
  • 主流低代码管理平台TOP10(2026版)
  • 钢结构工程角焊缝的构造要求有哪些?
  • LabVIEW滚动轴承故障诊断系统设
  • BiliTools跨平台哔哩哔哩工具箱:2026年最全面的B站视频下载解决方案
  • 【2026-06-08】挥洒余热