相关ros功能包:
ros中使用相关功能不需要重复开发。
可以 1 第三方软件
2 视觉设备与机器人相连
3 做仿真
相关说明:
ros机械臂视觉抓取
Visual Servoing 从视觉传感器获取反馈信息来控制机器人动作的技术,特别是手臂抓取。
ros中可以使用visp软件控制夹持器。Visp是一种完全跨平台的库。ros包提供了一种跟踪器,它能够通过visp_tracker移动边缘跟踪器节点或visp auto tracker基于模型的跟踪器节点运行。他还能帮助摄像头标定和手眼标定。手眼标定对于抓取任务中的视觉伺服是极为重要的。
下面放网址:
visp - ROS Wiki
ViSP代表视觉伺服平台是一个模块化的跨平台库,允许使用视觉跟踪和视觉伺服技术进行原型设计和开发应用程序,这是Inria Lagadic团队所做研究的核心。ViSP能够计算可应用于机器人系统的控制方案。它提供了一组视觉特征,可以使用实时图像处理或计算机视觉算法进行跟踪。ViSP还提供模拟功能。ViSP可用于机器人技术、计算机视觉、增强现实和计算机动画。
ViSP提供了多个跟踪器,这些跟踪器依赖视觉伺服技术来跟踪对象并实时估计其位置。
To install ViSP and additional third party dependencies such as
OpenCV, Coin, … please run the following command:
$ sudo apt-get install ros-kinetic-visp
http://visp.inria.fr/
这里讲到了ORK
http://wiki.ros.org/object_recognition
然而,更值得探索的工具: Robot earth 将模型数据放到全球的数据库中。
视觉里程计,假定在一个静止的环境中估计机器人运动。
古月居书第七章内容。
该功能包不仅能识别图像中的二维码,还能确定二维码姿态,还能计算二维码相对于摄像头的空间位置。
该话题包含二维码信息 id和状态
rostopic list 进一步查看ar pose marker 并使用rostopic echo
后面就是该包在kinect中的调用。
7. ORK
ros中集成了强大的物体识别框架 ORK object recognition kitchen
opencv简单的颜色识别抓取小方块
find object 2d这是一个ros集成的包
tensorflow object detection api
object recognition 这个就是ORK
detection只是检测一类物体的存在
recognition还要在此更进一步指导物体的名字
前面讲的都是用摄像头查找2D位置和方向
对于3D环境中的关系,需要用到深度信息传感器,同时使用RGB和depth信息。
P198
处理3D数据或者是点云
匹配感知到的物体与训练的物体数据,匹配算法会根据匹配度标记出相应的检测位置。
https://blog.csdn.net/sinat_39416814/article/details/94591175
已经停止维护了,不是一个特别好的算法
博主,您好 打扰您啦!问您一个问题,我在使用该算法识别可乐罐的位姿信息时,白色的模型总是在跳跃,造成得到的可乐罐位姿估计总是在变化,您知道应该使用哪些方法可以不让白色的模型跳跃吗?谢谢您啦~~~
和传感器还有算法都可能有关系,建议控制变量找到问题所在。我可以提醒你的是,ork已经停止维护了,它不是一个那么好用的算法。
它不仅是一个用于对象识别的工具包,还提供非视觉方面的功能,例如存储3D模型的数据库管理、输入/输出处理、机器人ROS集成和代码重用。
http://wiki.ros.org/object_recognition
http://wg-perception.github.io/object_recognition_core/
If you don’t have a 3D mesh of the object, you can also create one by
capturing the 3D point cloud data and reconstructing the mesh
Alternatively, we can use the tabletop pipeline, which can detect objects placed on a flat surface, such as a table itself
If it is a tabletop pipeline, it will mark the plane area in which object is placed, as shown in the next screenshot. This pipeline is good for grasping objects from a table, which can work well with the ROS MoveIt! package.