上一段时间安装测试了linemod的ROS程序包,跑了一下,使用的是kinec v2  ,安装过程也是很麻烦,出现了很怪异的问题,具体据说是因为kinect的分辨率问题导致的,实际上还有一个因为mesa库的问题导致的。具体看下面吧~

安装过程主要是参考了

https://blog.techbridge.cc/2016/05/14/ros-object-recognition-kitchen/

http://wg-perception.github.io/ork_tutorials/tutorial03/tutorial.html#setup-the-working-environment

http://wg-perception.github.io/object_recognition_core/install.html#install 官方教程

这两个教程,ORK Object Recognition Kitchen 物体识别程序包,里面集成了很多物体识别的C++开源算法,我们主要是使用目前效果较好,较为常用的linemod算法。主要看一下这个包的安装过程与配置。我使用的是源代码安装的过程,推荐源安装,因为到最后,确实出现了问题,在修改了源代码之后,才解决问题。

1.在catkin_ws/src下建立ORK包,并cd进入其中,执行:

git clone http://github.com/wg-perception/object_recognition_core

git clone http://github.com/wg-perception/capture

git clone http://github.com/wg-perception/reconstruction

git clone http://github.com/wg-perception/linemod

git clone http://github.com/wg-perception/ork_renderer

git clone http://github.com/wg-perception/tabletop

git clone http://github.com/wg-perception/tod

git clone http://github.com/wg-perception/transparent_objects

2.安装关于ROS的东西

git clone http://github.com/wg-perception/object_recognition_msgs

git clone http://github.com/wg-perception/object_recognition_ros

git clone http://github.com/wg-perception/object_recognition_ros_visualization

3.推到catkin_ws执行catkin_make 注意最好先执行

rosdep check --from-paths /home/zzurobotics/catkin_ws/src/ork --ignore-src

rosdep install --from-paths /home/zzurobotics/catkin_ws/src/ork --ignore-src

会自动检查相关程序包的依赖关系,并且安装。

出现错误的时候,只要再次输入catkin_make 执行编译,就会继续进行下去,如果有些错误始终存在,就需要执行上面的两句话了。

Linemod算法程序包是一个相对独立的程序包,需要单独安装一下,但是安装之后,根据指令启动之后,并不能使用,表现是,电脑变得很卡,然后终端抛出错误,节点终止。总共出现的问题有两个

这是第一个,解决之后,会出现第二个

问题1的原因是关于mesa库的问题导致的,简单给出解决方法是,修改ork_renderer程序包中的CMakeList.txt文件。将mesa的方法替换为GLUT

之后再编译就行了,参考https://github.com/JimmyDaSilva/ork_renderer/commit/4bdd53e3c418e7d02be0212ece04598619b4323a

问题2的原因是因为kinectV2的特殊分辨率导致的,具体的修改办法是

参考 https://github.com/wg-perception/linemod/issues/28,这个问题需要修改linemod程序包的源文件,以及linemod包中conf文件夹下的training.ork配置文件,修改如下所示

至此,就能正常运行linemod算法了。

使用linemod算法步骤:上面的步骤完成之后,还不能用,他只是装好了ork相关的东西,但是linemod算法是基于模板匹配的算法,所以可以想到,肯定要有一个已知的模型,而且好要针对它进行训练才可以识别。

首先安装模板对比库

sudo apt-get install couchdb

添加可乐罐模型

rosrun object_recognition_core object_add.py -n "coke " -d "A universal can of coke" --commit

点击下面链接查看模型是否建立和物体的ID编号http://localhost:5984/_utils/database.html?object_recognition/_design/objects/_view/by_object_name

上面只是建立了编号,还没有模型,现在要指定并提供模型文件,下载官方的教程包,里面有一个可乐罐的stl模型。

git clone https://github.com/wg-perception/ork_tutorials

cd .. && catkin_make

向数据库添加模型

rosrun object_recognition_core mesh_add.py 0be612246c9b0a00baaa4adefb0009eb /home/rosindigo/catkin_ws/src/ork_tutorials/data/coke.stl --commit

1.启动kinect驱动节点

roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true reg_method:=opencl     //启动kinect节点

2.映射话题节点

rosrun topic_tools relay /kinect2/qhd/image_depth_rect /camera/depth_registered/image_rawrosrun topic_tools relay /kinect2/qhd/image_color_rect /camera/rgb/image_rect_colorrosrun topic_tools relay /kinect2/qhd/camera_info /camera/rgb/camera_inforosrun topic_tools relay /kinect2/qhd/camera_info /camera/depth_registered/camera_inforosrun topic_tools relay /kinect2/qhd/points /camera/depth_registered/pointsrosrun tf static_transform_publisher 0 0 0 0 0 0 kinect2_ir_opticalrame camera_depth_optical_frame 40

3.启动识别节点

rosrun object_recognition_core detection -c  `rospack find object_recognition_linemod`/conf/detection.ros.ork

4.启动rviz

最终识别结果中可乐罐位姿和实际位置有偏差,并且不断在跳跃,不知道为什么,在网上查到很多人都有这个问题,不知道是不是和kinect内参标定有关系,但是可以看到识别的可信度一直在93%左右。

我也贴上我的节点图

也可以参考这位同学的

https://blog.csdn.net/weixin_40799950/article/details/81911877

ORK包的安装与linemod算法识别测试 (使用kinect v2 出现很奇怪的问题和解决)相关推荐

  1. Ubuntu 20.04LTS 安装openni2、编译opencv、连接Kinect v2

    西八,我的电脑,就在毕业设计答辩前几天,没错,就是昨天,G了,windows系统直接爆炸,无法开机,还好有两个系统,我也对源码进行了备份,所以,我现在需要在ubuntu上重新搭建环境...终于还是把欠 ...

  2. batocera游戏整合包_安装游戏时电脑报错?提示XXX文件缺失?一个软件完美解决...

    文中所包含软件的下载方式在评论区. 适用场景:如下图,运行软件或者游戏时弹出错误提示,提示XXX缺失. 报错原因:电脑缺少软件或游戏运行所必须的运行库(Runtime),这在windows用户中很常见 ...

  3. 学计算机AMD不支持软件,解决系统提示“AMD安装程序无法正确识别AMD显卡硬件”的方法...

    驱动在电脑中的作用是很重要的,它可以帮助电脑运行软件.很多用户在安装系统或是更改软件的时候会出现一些错误,例如下图中的提示:AMD安装程序无法正确识别AMD显卡硬件.这个故障并不是很好解决,不过小编还 ...

  4. python基础教程:python实现PID算法及测试的例子

    今天小编就为大家分享一篇python实现PID算法及测试的例子,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 PID算法实现 import timeclass PID:def __i ...

  5. matplotlib 和 pandas 两个包的安装

    matplotlib 和 pandas 两个包的安装 matplotlib是强大的python 绘图包.pandas 是强大的python分析工具包.numpy是强大的python统计包. 都超级好用 ...

  6. Rpm包的安装与yum的配置

    RPM包管理器的常用命令和示例: 1.安装程序包: rpm [option]/path/to/package_file –i:安装程序包 –v:显示安装的过程 -h :显示安装进度 -vv:显示详细信 ...

  7. 【CyberSecurityLearning 37】网络安全常用Linux系统命令以及 源码包的安装过程

    目录 一.Linux系统中以下目录的作用 二.linux系统中以下颜色表示的文件类型 三.Linux系统基础命令 1.uname -a  内核版本号查询 2.fdisk  -l  查看硬盘以及分区 3 ...

  8. android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...

    一.HTTP协议和HTTPS协议. (1) HTTPS协议=HTTP协议+SSL协议,默认端口:443 (2) HTTP协议(HyperText Transfer Protocol):超文本传输协议. ...

  9. Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛

    Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览. ...

  10. 【OpenCV/C++】KNN算法识别数字的实现原理与代码详解

    KNN算法识别数字 一.KNN原理 1.1 KNN原理介绍 1.2 KNN的关键参数 二.KNN算法识别手写数字 2.1 训练过程代码详解 2.2 预测分类的实现过程 三.KNN算法识别印刷数字 2. ...

最新文章

  1. 什么是集成测试?非渐增式和渐增式有什么区别
  2. 03-spring bean
  3. WPF入门教程系列十九——ListView示例(一)
  4. 实现图片验证码,其实就是简单的验证码实现,记录一下
  5. 程序员的艺术:排序算法舞蹈
  6. LeetCode MySQL 614. 二级关注者
  7. Python与机器视觉(x)下雨啦,图片模拟雨天效果
  8. Nemo(Nightwish乐队)
  9. 3D字体海报的这么玩?效果很赞,不得不学!
  10. ASP.NET Core管道深度剖析
  11. 2021.4.18高一模拟赛
  12. html怎么插入 ppt课件,PPT课件怎么插入声音?
  13. 8月第3周基金排行榜 | TokenInsight
  14. 卡车自动装载系统(ATLS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  15. 三维可视化引擎让空间数据管理更高效
  16. 惠普1005w打印机使用说明书_【惠普NS1005w 一体机功能展示】卡槽|色带|APP|按钮|收纳_摘要频道_什么值得买...
  17. 数学史上最重要的女性:埃米·诺特
  18. Centos7配置DNS访问百度
  19. 新员工入职培训系列之团队介绍提纲
  20. 制作.ico透明图标

热门文章

  1. 数据结构c语言作业答案,数据结构C语言版第2版习题答案解析严蔚敏
  2. 吉利汽车:数字化转型从上云开始
  3. 前端开源项目周报0221
  4. html日期控件默认设置为当天日期,以及获取当前日期前的指定天数
  5. python彩票预测算法软件_python用遗传算法 神经网络 模糊逻辑控制算法对彩票乐透数据进行预测...
  6. 模型预测控制的缺点_基于模型预测控制的车辆纵向跟车模型分析
  7. 关于字体的一些知识,以及分享一些免费可商用字体
  8. C#使用SQLServer2016
  9. 软件设计师历年c语言算法,2021年历年软考软件设计师真题押题分析.doc
  10. 内定抽奖小程序_excel怎么制作抽奖小程序?