记录vrep中使用视觉传感器(Kinect、Vision sensor)时的一些操作。

1.Kinect篇

memo①

放入blobDetectionCamera和Kinect,选中这两个shape中的这三项,然后把这三项放在一起形成一个新的shape

如下:

(笔者改名为Vision_RGBD_UR5),这样做实际上就是利用了blobcamera的外观,本质上这个新的shape还是kinect传感器,这样做有一个好处就是:由于kinect传感器的外形,有些时候在对sensor进行rotation或者translatin时kinect不太方便观察,这个blob传感器不一样,反正就一个镜头,比较容易观察。(可能没有讲清楚,笔者也不造该如何讲,只可意会)

memo②

完成上述步骤点击仿真按钮不会出现任何图像,我们还需要写一个Lua script。选中该sensor,ADD->Associated Child Script->Non threaded

function sysCall_init() depthCam=sim.getObjectHandle('kinect_depth')depthView=sim.floatingViewAdd(0.9,0.9,0.2,0.2,0)sim.adjustView(depthView,depthCam,64)colorCam=sim.getObjectHandle('kinect_rgb')colorView=sim.floatingViewAdd(0.9,0.69,0.2,0.2,0)sim.adjustView(colorView,colorCam,64)
end
function sysCall_cleanup()
end 

将上述demo添加到lua script中,简单的解释一下其中的函数意义。
sim.getObjectHandle笔者的理解是就是要对给定参数的vision sensor进行处理,相当于启动这个sensor,sim.floatingViewAdd(0.9,0.9,0.2,0.2,0)这句话的意思是在env中添加floatview,(后面也会提到如何添加floatview)
这是官方给出的parameters的解释:
https://www.coppeliarobotics.com/helpFiles/en/regularApi/simFloatingViewAdd.htm

simFloatingViewAdd / sim.floatingViewAdd

Description Adds a floating view to current page. See also the sim.floatingViewRemove, sim.adjustView and sim.cameraFitToView functions.
C synopsis simInt simFloatingViewAdd(simFloat posX,simFloat posY,simFloat sizeX,simFloat sizeY,simInt options)
C parameters

posX & posY:

relative position of the center of the floating view. Accepted values are between 0 and 1.

sizeX & sizeY:

relative size of the floating view. Accepted values are between 0 and 1.
options: bit-coded:
bit0 set (1)=double click allows swapping the floating view with the main view
bit1 set (2)=the floating view doesn’t have a close button
bit2 set (4)=the floating view cannot be shifted
bit3 set (8)=the floating view cannot be resized
C return value
Handle of the floating view, or -1 in case of an error.
Lua synopsis number floatingViewHandle=sim.floatingViewAdd(number posX,number posY,number sizeX,number sizeY,number options)
Lua parameters
Same as C-function
Lua return values
Same as C-function

前两个参数其实就是要添加的floatview的中心点坐标,接下来两个采参数表示窗口的相对大小(笔者尝试改了几个参数发现没什么变化,筒子们可以尝试以下,欢迎留言)最后一个参数,如果是1则表示可以和主窗口相互切换,是2表示窗口右上角没有关闭选项,4表示无法shifted;8表示无法resize 。设置为其他参数无影响.

添加过上述代码之后点击运行就可以弹出这样的floatview

如果你的rgb窗口一片黑,可能有下面几种情况。首先查看vrep中最下方的info提示有没有说script有错误,如果没有错误还有一个可能的原因就是你的camera在world坐标系中的z轴的距离太远了。这是因为这个blobcamera有一定的视野距离,
如下图,这是camera在z轴为0.85m左右的时候的采集到的图像,是正常的

倘若再抬高一些,到0.99m左右的时候发现视野就全黑了。

所以如果view中全是黑色一片,可以考虑调一下sensor高度。

memo③

另外就是要注意可以根据自己project的实际需要调节一下sensor的scene object properties

可以修改剪切平面(Near/Far Clipping Plane)、视场角(FOV)、分辨率(Resolution )的值,kinect的视场角一般是57,这个可不调,可以适当调节Far Clipping Plane这个参数值,通过调节这一参数值可以适当的改变kinect所获取的视野大小。

2.Vision sensor->perspective type篇

这部分可以参考下面几篇blog,理论和操作讲解的都比较全
https://blog.csdn.net/weixin_34319817/article/details/94562081
https://www.cnblogs.com/21207-iHome/p/7120497.html
https://zhuanlan.zhihu.com/p/106059246
http://www.mamicode.com/info-detail-1887732.html

memo①

在env中如何添加Floatview,可查看这篇blog(笔者小白菜竟然因为这一个小小的issue困了半个小时,无语)
https://blog.csdn.net/qq_33374294/article/details/98877817

其他blog:
https://blog.csdn.net/qq_29945727/article/details/98469621

目前只用了这么多,暂时写到这里,后续如果有进一步的学习会持续更新。

Memos:V-REP/Coppeliasim视觉传感器的使用相关推荐

  1. CoppeliaSim基础:页面、视图、可视对象(相机/视觉传感器)

    建模之前,需要点击File→New scene 创建场景scene,场景中包含页面page,页面中包含一个或多个视图view,视图通过可视对象Viewable objects从不同的角度显示场景中的对 ...

  2. V-REP笔记:视觉传感器的使用

    文章目录 重要属性介绍 参数 视场角设置 Packet1 is blank Vision Sensor数据在场景中的显示 关于Image processing and triggering的问题 Vi ...

  3. 像素测量工具_结构光视觉传感器的标定方式和测量原理

    击上方"新机器视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 结构光视觉的优点: 非接触.信息量大.测精度高.抗干扰能力强. 结构 ...

  4. 无人驾驶技术入门(五)| 没有视觉传感器,还谈什么无人驾驶?

    上一次的分享里,我介绍了GPS+IMU这组黄金搭档,这两个传感器的组合能够实现城区道路自动驾驶的稳定定位功能,解决了第一个大问题"我"在哪的问题. 为了能让无人车能像人一样,遇到障 ...

  5. 「知识点分享」结构光式激光视觉传感器的焊缝跟踪系统

    焊缝跟踪系统一般指的是弧焊焊缝跟踪系统.在焊接过程中,首先应该使电弧与焊缝对中,这是保证焊接质量的关键.焊缝自动跟踪系统是指自动焊接生产过程中,当电弧偏离焊缝时,及时而准确地将电弧调整回到焊缝位置这样 ...

  6. 自动驾驶环境感知——视觉传感器技术

    文章目录 1. 摄像头的成像原理 1.1 单目视觉传感器的硬件结构 1.2 单目视觉的成像原理 –小孔成像模型 1.3 单目视觉的成像原理 – 像素坐标系 1.4 单目视觉三维坐标系转换 – 外参 1 ...

  7. 视觉传感器:3D感知算法

    作者丨巫婆塔里的工程师@知乎 来源丨https://zhuanlan.zhihu.com/p/426569335 编辑丨 一点人工一点智能 1 前言 之前的一篇文章介绍了基于视觉传感器的2D环境感知, ...

  8. 三维视觉传感器的类型

    三角法测量原理 视觉传感器的坐标系统 单一摄像机二维传感器 点结构光视觉传感器 线结构光视觉传感器 条纹结构光视觉传感器 条纹编码三维视觉传感器 彩色编码视觉传感器 被动双目视觉传感器 编码照明双目视 ...

  9. 工业机器人工具中心点标定的意义_新品发布 | 倍加福新推VOS智能视觉传感器,为机器人添一双“慧眼”...

    作为工业传感器领域的创新先驱者,倍加福始终致力于科技创新,为用户带来更为完善的产品线及更具优势的解决方案.此次,倍加福全新推出VOS智能视觉传感器,此类高度集成化的微小型机器视觉系统,将图像的采集.处 ...

最新文章

  1. 如何用 OpenCV、Python 和深度学习实现面部识别?
  2. 为什么程序员不擅长估算时间
  3. 数学建模——评卷问题
  4. python break语句作用_Python
  5. freetype在Linux平台编译小记
  6. java string对象名称_java中常见对象——String
  7. [web]EL表达式失效
  8. (9)数据结构-双端队列
  9. jenkins-启动和关闭服务
  10. Apizza-快如何进行API开发进度管理
  11. matlab积分超过最大值,MATLAB 定积分上限是变量a,如何求解目标函数关于变量a的最大值?谢谢...
  12. 浅谈医院HIS系统审计
  13. mysql init 崩溃_MySQL · 引擎特性 · InnoDB崩溃恢复
  14. utc时间戳java_java利用时间戳来获取UTC时间
  15. 【官宣】.NET 6 正式版来了
  16. 在计算机系统中存储容量最大的设备,计算机系统中存储容量最大的部件是().
  17. NLP面试题目汇总11-15
  18. 大型Solidworks装配设计与仿真工作站配置方案
  19. PAT乙级 1048. 数字加密(20)
  20. 绝地求生测试服画面优化软件,《绝地求生大逃杀》最佳画质优化教程

热门文章

  1. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
  2. Prometheus源码学习(8) scrape总体流程
  3. 线上支付、线下支付的功能对比
  4. Android开源项目及库整理总结
  5. 计算机软件属于哪一类无形资产,财务软件属于无形资产哪一项
  6. Git 分支篇之远程分支
  7. 行业云服务——乐视云点播服务试用体验
  8. 重磅榜单 | 国内云服务企业估值50强,【友盟+】位列其中。
  9. java方法后面throw的作用_Java异常处理中throw与throws的用法区别
  10. 汇编语言编程题总结(特别适用河北专接本)