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

基于Python的ROS机器人循环进退运动代码故障排查及解决方案咨询

问题2:程序终止后机器人持续运动

这个现象的原因很简单:ROS的/cmd_vel话题默认不会在发布者退出时自动发送停止指令。大多数机器人的运动控制器会一直执行最后收到的有效指令,直到收到新的指令。你的测试代码里,最后发布的指令是linear.x=0.4(前进),所以程序终止后,机器人会继续执行这个指令,直到收到linear.x=0的停止命令。

解决方法就是给程序加上关机回调函数,在你按下Ctrl+C终止程序时,自动发布停止指令——就像上面修复后的代码里的rospy.on_shutdown(lambda: stop_robot(pub))这一行做的那样。这样不管你怎么终止程序,机器人都会收到停止指令,不会一直动下去。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 02:54:10