You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32运行micro-ROS添加订阅器触发错误循环问题求助

ESP32 micro-ROS订阅器添加后触发错误循环排查请求

正在开发基于ESP32的micro-ROS项目,ESP32通过USB串口(UART0)以921600波特率连接PC。仅保留发布器时功能正常,但添加订阅器后,启动micro-ROS agent时ESP32持续进入错误循环。

当前启动命令为ros2 launch robot_launcher robot_launcher.launch.py,启动文件包含micro-ROS agent与测试用Python节点angle_listener。

环境配置

  • ESP32控制器(已降级至esp32环境2.0.2以适配micro-ROS兼容性)
  • PC端运行micro-ROS agent(Ubuntu 22.04)
  • Python ROS2节点angle_listener.py:订阅编码器数据并发布速度指令
  • USB串口(UART0)通信,波特率921600
  • 测试环境采用长度为1的数组,后续将扩展至6台电机

硬件限制

所用ESP32板仅UART0可用作USB通信串口,无法添加Serial.print调试语句,调试能力受限。

问题现象

  1. 仅保留发布器时,ESP32可正常发布编码器数据
  2. 添加订阅器代码后,ESP32立即进入error_loop函数
  3. 错误由RCCHECK宏检查失败触发

已尝试方案

  • 确认ESP32与Python节点的topic名称一致
  • 验证topic初始化正确
  • 延长ESP32的spin时长,排除CPU资源问题

附相关代码片段(ESP32 C++代码、Python节点代码、launch文件),请求排查导致添加订阅器后触发错误循环的原因。

内容的提问来源于stack exchange,提问作者Giuseppe Festa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:20:55