Memos:V-REP/Coppeliasim视觉传感器的使用
记录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 parametersposX & 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视觉传感器的使用相关推荐
- CoppeliaSim基础:页面、视图、可视对象(相机/视觉传感器)
建模之前,需要点击File→New scene 创建场景scene,场景中包含页面page,页面中包含一个或多个视图view,视图通过可视对象Viewable objects从不同的角度显示场景中的对 ...
- V-REP笔记:视觉传感器的使用
文章目录 重要属性介绍 参数 视场角设置 Packet1 is blank Vision Sensor数据在场景中的显示 关于Image processing and triggering的问题 Vi ...
- 像素测量工具_结构光视觉传感器的标定方式和测量原理
击上方"新机器视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 结构光视觉的优点: 非接触.信息量大.测精度高.抗干扰能力强. 结构 ...
- 无人驾驶技术入门(五)| 没有视觉传感器,还谈什么无人驾驶?
上一次的分享里,我介绍了GPS+IMU这组黄金搭档,这两个传感器的组合能够实现城区道路自动驾驶的稳定定位功能,解决了第一个大问题"我"在哪的问题. 为了能让无人车能像人一样,遇到障 ...
- 「知识点分享」结构光式激光视觉传感器的焊缝跟踪系统
焊缝跟踪系统一般指的是弧焊焊缝跟踪系统.在焊接过程中,首先应该使电弧与焊缝对中,这是保证焊接质量的关键.焊缝自动跟踪系统是指自动焊接生产过程中,当电弧偏离焊缝时,及时而准确地将电弧调整回到焊缝位置这样 ...
- 自动驾驶环境感知——视觉传感器技术
文章目录 1. 摄像头的成像原理 1.1 单目视觉传感器的硬件结构 1.2 单目视觉的成像原理 –小孔成像模型 1.3 单目视觉的成像原理 – 像素坐标系 1.4 单目视觉三维坐标系转换 – 外参 1 ...
- 视觉传感器:3D感知算法
作者丨巫婆塔里的工程师@知乎 来源丨https://zhuanlan.zhihu.com/p/426569335 编辑丨 一点人工一点智能 1 前言 之前的一篇文章介绍了基于视觉传感器的2D环境感知, ...
- 三维视觉传感器的类型
三角法测量原理 视觉传感器的坐标系统 单一摄像机二维传感器 点结构光视觉传感器 线结构光视觉传感器 条纹结构光视觉传感器 条纹编码三维视觉传感器 彩色编码视觉传感器 被动双目视觉传感器 编码照明双目视 ...
- 工业机器人工具中心点标定的意义_新品发布 | 倍加福新推VOS智能视觉传感器,为机器人添一双“慧眼”...
作为工业传感器领域的创新先驱者,倍加福始终致力于科技创新,为用户带来更为完善的产品线及更具优势的解决方案.此次,倍加福全新推出VOS智能视觉传感器,此类高度集成化的微小型机器视觉系统,将图像的采集.处 ...
最新文章
- 如何用 OpenCV、Python 和深度学习实现面部识别?
- 为什么程序员不擅长估算时间
- 数学建模——评卷问题
- python break语句作用_Python
- freetype在Linux平台编译小记
- java string对象名称_java中常见对象——String
- [web]EL表达式失效
- (9)数据结构-双端队列
- jenkins-启动和关闭服务
- Apizza-快如何进行API开发进度管理
- matlab积分超过最大值,MATLAB 定积分上限是变量a,如何求解目标函数关于变量a的最大值?谢谢...
- 浅谈医院HIS系统审计
- mysql init 崩溃_MySQL · 引擎特性 · InnoDB崩溃恢复
- utc时间戳java_java利用时间戳来获取UTC时间
- 【官宣】.NET 6 正式版来了
- 在计算机系统中存储容量最大的设备,计算机系统中存储容量最大的部件是().
- NLP面试题目汇总11-15
- 大型Solidworks装配设计与仿真工作站配置方案
- PAT乙级 1048. 数字加密(20)
- 绝地求生测试服画面优化软件,《绝地求生大逃杀》最佳画质优化教程
热门文章
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
- Prometheus源码学习(8) scrape总体流程
- 线上支付、线下支付的功能对比
- Android开源项目及库整理总结
- 计算机软件属于哪一类无形资产,财务软件属于无形资产哪一项
- Git 分支篇之远程分支
- 行业云服务——乐视云点播服务试用体验
- 重磅榜单 | 国内云服务企业估值50强,【友盟+】位列其中。
- java方法后面throw的作用_Java异常处理中throw与throws的用法区别
- 汇编语言编程题总结(特别适用河北专接本)