在给ur5和Azure Kinect进行手眼标定时踩得坑。

  • Post author:
  • Post category:其他



1. ImportError:(PyInit__tf2)

ImportError: dynamic module does not define module export function (PyInit__tf2)

在手眼标定的launch文件写完之后,运行发现出现的第一个问题就是这个问题。

Traceback (most recent call last):
  File "/home/bjh/catkin_ws/src/learning_tf2/nodes/static_turtle_tf2_broadcaster.py", line 8, in <module>
    import tf
  File "/home/bjh/catkin_ws/devel/lib/python2.7/dist-packages/tf/__init__.py", line 35, in <module>
    exec(__fh.read())
  File "<string>", line 30, in <module>
  File "/home/bjh/catkin_ws/devel/lib/python2.7/dist-packages/tf2_ros/__init__.py", line 35, in <module>
    exec(__fh.read())
  File "<string>", line 38, in <module>
  File "/home/bjh/catkin_ws/devel/lib/python2.7/dist-packages/tf2_py/__init__.py", line 35, in <module>
    exec(__fh.read())
  File "<string>", line 38, in <module>
ImportError: dynamic module does not define module export function (PyInit__tf2)

查了很多资料发现,这个问题是当初安装anaconda时python冲突导致的,和下面出现的问题一样:

Could not import "pyqt" bindings of qt_gui_cpp library - so C++ plugins will not be available:
Traceback (most recent call last):
  File "/opt/ros/melodic/lib/python2.7/dist-packages/qt_gui_cpp/cpp_binding_helper.py", line 43, in <module>
    from . import libqt_gui_cpp_sip
ImportError: dynamic module does not define module export function (PyInit_libqt_gui_cpp_sip)

这些问题都是因为anaconda和ubuntu18.04自带的python版本不同所导致的,因此,解决方法为:

gedit ~/.bashrc



unset __conda_setup

后面加上

conda deactivate



2.AttributeError: ‘module’ object has no attribute’CALIB_HAND_EYE_TSAI’




出现这个问题的原因在于python的opencv版本过低,低版本的opencv中没有手眼标定的函数,因此需要更新opencv版本即可。

pip2 install opencv-python==4.2.0.32


https://github.com/IFL-CAMP/easy_handeye/issues/78



版权声明:本文为m0_53621852原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。