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

Ubuntu18.04+ROS Melodic下Turtlebot2控制脚本无报错终止问题排查

问题原因及修复方法

核心原因:类构造函数语法错误

Python 规定类的构造方法必须使用双下划线包裹的__init__,你代码中定义的是单下划线的_init_,该方法不会在类实例化时自动执行。因此你写在该方法内的ROS节点初始化、运动控制循环逻辑完全没有运行,程序实例化GoForward类后无后续可执行逻辑,就会直接退出,自然不会输出任何你定义的日志内容。

其他可能的潜在问题

  • 脚本未赋予可执行权限:运行前需要执行chmod +x goforward_mod.py给脚本加执行权限,否则可能出现静默运行失败的情况
  • ROS Master 未启动:如果运行脚本前没有启动roscore或者包含ROS Master的仿真launch文件,节点初始化会直接失败
  • 速度控制话题不匹配:你当前发布的话题是cmd_vel_mux/input/navi,如果你的Turtlebot 2仿真环境对应的速度控制话题名不一致,会导致机器人没有运动输出,但该问题不会造成程序直接终止

修复方法

直接将类中的def _init_(self):修改为def __init__(self):即可,其余逻辑无需调整,修改后重新运行脚本即可看到日志输出,机器人也会按照设定的参数旋转。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:12:02