在用ROS功能包easy_handeye进行手眼标定的时候只能打开rviz窗口界面,两个rqt窗口却不显示,看了终端,发现有个报错:
import transforms3d as tfs
ImportError: No module named transforms3d
[base_hand_on_eye_calib-2] process has died [pid 4313, exit code 1, cmd /home/nature/code/learn/handeye-calib/src/handeye-calib/src/handeye/base_hand_on_eye_calib.py __name:=base_hand_on_eye_calib __log:=/home/nature/.ros/log/3c7dc26a-abee-11eb-8f61-a0afbd1aaefa/base_hand_on_eye_calib-2.log].
log file: /home/nature/.ros/log/3c7dc26a-abee-11eb-8f61-a0afbd1aaefa/base_hand_on_eye_calib-2*.log
原因是缺少transforms3d库。安装一下。
pip install transforms3d
出现报错就升级一下pip
pip install --upgrade pip
这里还是可能会不成功,我试了好多方法,都没用,然后重新换个终端试又成功了,果然毛主席说成功就在再试一下中。
安装完transforms3d库后输入下面命令,好像是提供依赖。然后catkin_make编译,如果没问题那就解决了。
rosdep install -iyr --from-paths src
但是,我还是无法打开rqt窗口,发现终端还有一个报错:
'Tsai-Lenz': cv2.CALIB_HAND_EYE_TSAI, AttributeError: 'module' object has no attribute 'CALIB_HAND_EYE_TSAI'。我这本书正好有解决方法。
如果书中的pip opencv-contrib-python失败,继续多试几次,反正我是这样成功的。