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

如何在Ubuntu20.04+ROS Noetic环境下安装使用arbotix_gui并解决启动报错

问题根因

官方arbotix_ros包长期未更新适配高版本wxPython,ROS Noetic默认搭配的Python3.8+与wxPython4.0+版本废弃了旧版API,导致调用时参数不匹配触发断言错误,同时存在浮点坐标、旧类调用的兼容性问题。

修复步骤
  1. 先卸载apt安装的官方包,避免版本冲突
sudo apt remove ros-noetic-arbotix
  1. 找到你之前克隆到ROS工作空间src目录下的arbotix_ros源码即可,无需重新拉取。
  2. 打开路径为arbotix_ros/arbotix_gui/nodes/arbotix_gui的源码文件,修改以下几处内容:
  • 替换旧版App类:将第203行的app = wx.PySimpleApp()修改为app = wx.App(),解决PySimpleApp废弃警告
  • 修复浮点坐标报错:将第73、74行的width/2修改为int(width/2),显式转换为整数适配wx组件坐标要求
  • 替换事件绑定API:将第125、126行的旧版事件绑定代码
wx.EVT_CLOSE(self, self.onClose)
wx.EVT_TIMER(self, self.TIMER_ID, self.onTimer)

替换为新版Bind写法:

self.Bind(wx.EVT_CLOSE, self.onClose)
self.Bind(wx.EVT_TIMER, self.onTimer, id=self.TIMER_ID)
  1. 回到ROS工作空间根目录,编译源码并刷新环境
catkin_make
source devel/setup.bash
  1. 执行arbotix_gui即可正常启动,确认虚拟机ROS_MASTER_URI配置正确即可控制树莓派端的机器人。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 09:57:02