环境
ubuntu20.04+ros noetic
问题
在运行urdf模型仿真时,rviz中报错no transfrom from [xxx] to [base_link],且无gui产生,并且终端中无任何报错信息产生,网上对于这种情况解决是安装joint_state_publisher_gui,安装后启动无报错却依然没解决问题。
用rosnode list发现joint_state_publisher_gui并未启动,但是launch启动时显示已经启动,在终端中使用rosrun也无法启动。
robot_state_publisher节点正常运行,之后试了重装ros也并没有解决。
解决过程
由于重装ros后并没有解决问题,因此怀疑是ubuntu上的问题,由于robot_state_publisher是可以正常启动的,因此怀疑是包含gui的包都无法运行,在终端打开rqt_tf_tree发现报qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ in ““ 这个问题。
$export QT_DEBUG_PLUGINS=1
在终端中输入后重新运行rqt_tf_tree根据报错信息发现是在anaconda中寻找libxcb.so,怀疑是由于anaconda和ros冲突导致,由于我是先装的anaconda配深度学习环境后装的ros,具体冲突原因不太清楚,于是卸载anaconda再运行问题解决,rqt_tf_tree和joint_state_publisher_gui都能正常运行
总结
在ros安装时最好先装ros,再装anaconda
由于问题比较特殊,搜了全网只在github上找到一个相同情况而且还没解答,因此记录下这次解决的过程