记录一下在ROS里调用ORK的苦逼历程

ubuntu16系统下,ROS kinnect。是跟着这位大神的步骤走,但连连报错。ROS中的物体识别——ORK功能包的使用

1.运行  rosrun object_recognition_core push.sh

报错:
Traceback (most recent call last):
  File "/usr/bin/couchapp", line 7, in <module>
    from couchapp.dispatch import run
  File "/usr/local/python3/lib/python3.8/site-packages/couchapp/dispatch.py", line 10, in <module>
    import couchapp.commands as commands
  File "/usr/local/python3/lib/python3.8/site-packages/couchapp/commands.py", line 215
    except BulkSaveError, e:
                        ^
SyntaxError: invalid syntax
 

这个错误是因为 couchapp 不支持 Python3 的语法。你需要使用 Python2 来运行 couchapp。 可以尝试以下两种解决方案:

  1. 安装 Python2 和 pip2 你可以使用以下命令安装 Python2 和 pip2:

plaintextCopy code

sudo apt-get install python2 python-pip

安装完成后,执行以下命令安装 couchapp

plaintextCopy code

sudo pip2 install couchapp

  1. 使用 virtualenv 创建 Python2 的虚拟环境 如果你不想在系统中安装 Python2,可以使用 virtualenv 创建一个 Python2 的虚拟环境。执行以下命令安装 virtualenv:

plaintextCopy code

sudo pip install virtualenv

然后在项目目录下执行以下命令创建虚拟环境:

plaintextCopy code

virtualenv -p /usr/bin/python2.7 venv

这里假设 Python2.7 安装在 /usr/bin/ 目录下。如果你的 Python2.7 安装在其他目录下,需要将上面的命令中的 /usr/bin/python2.7 改为对应的路径。 创建完成后,执行以下命令进入虚拟环境:

plaintextCopy code

source venv/bin/activate

这时你的命令行提示符应该变成了 (venv) $。在虚拟环境中,你可以安装 Python2 的包,例如:

plaintextCopy code

pip install couchapp

安装完成后,执行以下命令退出虚拟环境:

plaintextCopy code

deactivate

然后重新执行 push.sh 脚本,将会使用 Python2 来运行 couchapp

或者这个大佬方法,修改python版本 https://blog.csdn.net/qq_44649945/article/details/125238941

经过以上步骤,成功运行程序。真的服气,安装couchapp,提示版本低,升级python版本又有嫌高。

2 执行rosrun object_recognition_core detection -c  `rospack find object_recognition_linemod`/conf/detection.ros.ork,报错

[ INFO] [1679988419.107368198]: Initialized ROS. node_name: /object_recognition_server
[ INFO] [1679988419.457787924]: System already initialized. node_name: /object_recognition_server
[ INFO] [1679988419.467243698]: Subscribed to topic:/camera/depth/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1679988419.473901516]: Subscribed to topic:/camera/color/camera_info [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1679988419.481426749]: Subscribed to topic:/camera/depth/image_rect_raw [queue_size: 1][tcp_nodelay: 0]
[ INFO] [1679988419.486543141]: Subscribed to topic:/camera/color/image_raw [queue_size: 1][tcp_nodelay: 0]
OpenCV Error: Assertion failed (0 <= _rowRange.start && _rowRange.start <= _rowRange.end && _rowRange.end <= m.rows) in Mat, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/matrix.cpp, line 492
Traceback (most recent call last):
  File "/home/a/ork_ws/src/ork_core/apps/detection", line 24, in <module>
    run_plasm(args, plasm)
  File "/home/a/ork_ws/src/ecto/python/ecto/opts.py", line 85, in run_plasm
    sched.execute(options.niter)
ecto.CellException:            exception_type  CellException
[cell_name] = source1

[cell_type] = ecto::py::BlackBox

[function_name] = process_with_only_these_inputs

[type] = std::runtime_error

[what] =            exception_type  CellException
[cell_name] = Source

[cell_type] = ecto::py::BlackBox

[function_name] = process_with_only_these_inputs

[type] = std::runtime_error

[what] =            exception_type  CellException
[cell_name] = <class 'ecto_image_pipeline.base.RescaledRegisteredDepth'>

[cell_type] = RescaledRegisteredDepth

[function_name] = process_with_only_these_inputs

[type] = cv::Exception

[what] = /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/matrix.cpp:492: error: (-215) 0 <= _rowRange.start && _rowRange.start <= _rowRange.end && _rowRange.end <= m.rows in function Mat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值