各位同学你们好,在上节课中遗留下了一个疑问,就是像素与实际物理量之间的关系,掌握它们之间的关系是实现工业机器人抓取弓箭的一个基础。 简单了解一下工业机器人抓取共建的基本流程,首先将共建摆放到背景光源的正中心,以减少镜头激变产生一些影响。试教抓取共建对象并获取基本的位置信息, 然后再改变一下共建的放置位置。相较于之前,它会产生哪些变化呢? 弓箭的像素中心点必然还是在模型上,但相较于之前的中心点,其存在一定的偏移,并且这个偏移一定是有方向的。 对于法拉科工业机器人中偏移的实现,相信各位同学都会联想到位置计算器 pr, pr 计算时是非常依赖于当前程序中所运行的用户空间设置的, 而工业机器人想抓取到位置变化后的弓箭,就需要计算这个偏移量。为简化计算,就可以将当前的背景光源设置为一个用户坐标器, 保证该用户坐标系与相机视野方向一致,这个是非常重要的。从上述的过程上也可以看到,对于视觉与工业机器人的配合,偏移量的计算和用户坐标系是 非常重要的,也就是视觉图像像素与工业机器人坐标参数的转换。 好一点的视觉系统就是使用标定板,通过九点标定法建立起图像的像素与工业机器人坐标系参数之间的关系。 那对于这样不能直接实现视觉系统内部转换的相机,我们又该如何去操作呢?如何将弓箭的像素大小转化为实际的物理大小呢?我们一步一步的往下看, 这里我们还需要知道一件事情,那就是像素大小与实际值之间的一个关系。 举个例子,这是当前视觉相机所拍摄到的画面,将相机向下调整一点,其拍摄到的图像就会变大, 但相机的像素以及视野并没有发生变化,所以从这点上就可以看出,相机与拍摄物体之间的距离对于成像影响是非常大的。 这里可以先不理会那些专业的术语,拿起自己的手机,打开拍照功能,就可以感受到这样的一种变化了。 有了这个初步的概念之后,您应该就可以明白,想让机器人直接根据定位部件工具的图像中心点来去抓取弓箭显然是不可能的。 那如何去转换呢?学习过测量工具的同学,相信您已经有所冲动了吧。简单来说就是这样一个公式, 将油标、卡尺或者是建模时的公建的物理尺寸与测量工具所获得的像素进行对比,以获得转换的系数。 当需要获取到实际的物理偏移量时,就可以将这个系数以像素偏移量进行相乘,以获取实际空间的物理偏移量。 x y 方向都需要使用该公式进行转换,偏移角度则可以直接进行使用,而无需转换。演示一下 sl 语言的实现方式,首先修改一下控制程序,可以将此处的输出直接设置为偏移量的一个输出,双击进入 调整一下,将其名称修改一下,设置为偏移量的输出,这是 x 方向的输出, 而将其改为 y 轴方向输出,从而简化我们一部分的计算。完成了上述的内容之后,回到程序当中去,这个时候主要修改的就是第六步,如果当前是处于初死化状态,则需要将当前的初死值给保存下来。 此处为了调色方便,直接添加一个 m 点, 也就是告诉系统,如果现在处于促状态,则需要去保存一下当前的偏移量的值,也就是实际的像素值。这时候可以添加两个变量,在 static 类型下进行添加,右键点击此处选择添加行。首先添加 x 的 初值变量名称, 将其类型设置为 real 类型。同样的方式,再来添加 y 轴的 也设置为 red 类型。当处于初态的时候,就需要将两个值保存在这两个变量类型当中了。 调整一下,将其值复制为这里,将其复制过来,同样的方式 将其修改为 y。 再次强调下此数只是为了讲解方便,所以直接使用了这个手动控制命令。但在实践应用过程当中,尤其是当机器人去试教抓取弓箭的位置时,在试教和计算的过程中,一定不要发生任何的变化。 而在程序正常运行过程中,这段程序是不会运行的,所以接下来就需要去算偏移量的一个变化了。首先是 version offset, 将其值修改一下,将其用当前值去减去它的所属位置,也就是获得了它的偏移量。 同样的,再添加 y 轴方向的, 将其修改为 y。 通过这段程序就可以将当前键所识别出来的位置值直接转化成为像素的偏移量对外进行发送了,可以看一下这个程序的运行效果。将程序首先进行下载, 然后在主程序中直接进行查看,点击此处的监控,可以看下当前的一个输出,首先激活一下, 将其修改为零,然后设置为初值状态,右键单机选择,打开 b 监视 此处,先将 test initial 设置为一,也处于初值化状态,然后点击一下运行 修改为一,这时候可以看到当前的输出是为零的,然后再将其修改为零,然后再将初尺设置关闭掉,将其设置为零, 这时候再来重新触发一次它的输出结果值应该还是为零,因为弓箭并没有发生任何的变化, 可以看到基本上是为零的,而此处出现了一点点偏差,实际上是因为相机在计算时候出现了一些误差而造成的。 然后大家重新修改一下为零,然后简单的调整一下弓箭的位置,打开视觉软件,我们将弓箭的位置稍微调整一下,然后重新触发一次 修改为一,这时候可以看到弓箭的偏移量是有点大的,这是它像素上的一个变化,这里请各位同学一定要注意它是像素上的变化,然后再将其修改为零, 再次进入到程序控制当中去,此数输出的是像素变化,所以可以将其转化成为物理量。简单程序修改一下,还是利用其自身来进行计算, 将其首先乘以弓箭的直径的直径,将其乘以三十 三四点零,注意因为它是实数,所以后面添加一个零,然后再除以它实际所测量出来的像素值。打开视觉软件,可以看一下当前所测出来的像素值是七十六点一三三,回过头来 将其修改为七十六点一三三,回测,确定同样方式,再来试一下外走方向, 将其修改为外走, 这样就实现了从像素值到物理量的一个转换。有一个问题,这里所计算出来的实际的偏移量都是时数,它是三十二位的单精度数, 但法拉科工业机器人的 modbus t t p 协议下所支持的 i o 通信最多支持十六位, 于是就涉及到了数据类型的转换。第一步是需要将时数转化为整数类型, 而之前都是以 word 类型来发送数据的,所以这也最好就需要将 int 类型转化为 word 类型,以避免出现大小端的问题, 但这样转换 b 一 量会出现精度的丢失情况。介于当前的检测对象的偏音量比较小,此时就可以先将时数先扩大,然后再接收端再缩小,以保留一定的精度。 当然,如果你想获得更好的精度,乘以一百甚至一千,那都是可以的。但当数据值在比较大的情况下,还是建议去使用 socket 通信。将之前的程序简单的修改一下。 根据之前的讲解,可以将此处的三十直接修改为三百,也就是扩大了十倍,将其修改为三百。而对于所要发送的数据,则可以直接在主程序当中进行处理。回到主程序当中去,点击此处面, 首先需要添加三个变量,直接在 tab 下进行创建,设置一下,将其设置为 int 类型, 然后是 x 偏移, 将其设置为 real 类型,再添加 y 轴的, 添加完毕之后,将这三个变量直接引用过来, 而对于这三个参数的计算则是需要在将数据发送给机器人之前完成,所以可以在此处输入键单机选择插入 s c r 程序段, 因为后面一段则是将数据发送给机器人了,这个时候可以做一下实时转换,假设将发送给机器人数据直接存放在 send 一 二三当中去,所以这时候首先对发送数据缓冲区进行一个参数的赋值,四十八分儿点 send 设置为一,将其设置为当前的弓箭是否被识别,这个时候就可以直接使用 int to word 来进行转换了,然后选择 word 设置为 reason result, 再来设置第二个字, 首先需要将时速转化为 int 类型 设置为 x 和方向的偏移量, 完成这一步之后再来去添加 int to word 的 转换, 去用小括号将其括起来, 不要忘记了添加反括号,将它的程序直接复制下,然后再来设置外走的方向, 这些设置为 send three, 此处修改为 y 轴,这样就实现了 real to word 的 一个转换关系。然后将程序直接下载,我们来看一下效果,点击程序下载,点击加载, 这时候首先可以查看一下输出的情况,当前输出值负八十六点七六九,然后再打开视角器, 而在示教器当中显示的是六五五二七,这时候各位同学可以思考一下为什么会显示一个如此大的一个正值,而此处显示的是一个负值,我们将弓箭再调整一下, 调整完毕之后再来右键单机选择重新出发,修改为一,可以看到还是个复制,没什么变化。再调整一下右键,单机选择零,然后重新出发。 可以看到当前是为一个正值,二者的数值正好是相等的一百八十三点九,也就是相当于一百四。再调整一下弓箭位置,将其效果为零。重新出发一下, 可以看到二者的数字基本上是相等的了,一百六十三词对内是一百六十三,一百二十七词对内也是一百二十七。程序中也可以实时读取视觉系统测量的原直径像素值参与计算,以提高程序的一个灵活性。 完成了 plc 端的程序之后,下次课程再来看看机器人端对数据的处理方法,我们不见不散。
粉丝2653获赞6210

你们有没有发现,当我们拍的视频,特别是拍建筑的时候,会有这一种镜头扭曲感,明明这个楼是直的,但是拍出来的视频他却是弯曲的,这个就是镜头肌变。那么想解决这个问题,非常的简单,两种方法告诉给大家。 首先我们要看拍摄的镜头是否有扭曲,很简单,将标尺参考线调出来,直接拖一根参考线这种横平竖直的地方,这样一比 就知道了,看到没有,像这种镜头多多少少他都是有一种镜头肌变的。第一种方法, p r 自带了一个镜头肌变的一个矫正效果,叫做镜头扭曲啊,这是一个被低估的效果,那在效果空间难,你只需要去调整这个曲率就可以了,可以拖来看一下啊, 看到没有,咱们慢慢的去拖,直到这个横平竖直的地方,哎,打直为止,是不是很简单? 我之所以说镜头扭曲这个效果是被低估的,那么它可以用来做一些第三视觉的特殊视觉效果。那我会在视频后边给大家举个例子。 我们接着来讲镜头机变矫正的第二种方法,比如像这个镜头在轨道上右击,我们把这个素材转到 a 一 里面去做,素材导进来之后,直接在素材上右击,选择效果啊,在里边它有一个镜头矫正的效果,效果就是这个名字 给它添加上去,用起来非常的简单,直接点击第一个用钢笔工具去绘制啊,我们扭曲的地方,咱们沿着这个建筑扭曲的地方这样去画,可以多画几根,画好一根之后,我们直接按这个取消键,然后再画另一根, 当我们在画的过程当中啊,他已经提示你了,考虑将镜头类型切换为鱼眼,也就是他自动检测到你这个镜头有可能是鱼眼的镜头,那我们就将这个镜头类型改为鱼眼,那为了效果的话,我们可以多画几根这种辅助线, 画好之后我们直接点击下方的消除失帧,哎,就可以看到这个镜头自动的被 调整过来了。那两种方法,第一种方法镜头扭曲有可能对画幅的彩笔比较大,特别是你的这个镜头积变越大的时候,对画幅的裁剪越大,那么第二种方法的话,就是稍微步骤多一些,但是他对镜头裁剪啊,没有这么多好视频。最后我们再来讲一下镜头扭曲的一个特殊应用, 这也算是给大家增加一个新的小知识啊。那我们准备好这一种向前推进人物行走拍摄的这个镜头之后,我们直接给他添加镜头扭曲,然后把曲率直接调到大一点, 有必要的情况下可以给他调一个色,就是让这个镜头视觉看上去像是第三视觉这种特殊怪异的感觉,我觉得这个效果用镜头扭曲来做的话是非常棒的,然后再配上一些音效,这个感觉就出来了。 好了,今天的分享咱们就讲到这个地方,如果觉得对你有用,记得三年支持,我是博叔,咱们下期见。

再来回答一下朋友们问的最多的问题啊,我的头为什么不正?你要看一看你的稳定器是不是档位模式用错了,每一款的稳定器的档位以及模式是不一样的, 理解了吧,朋友们,你要看一看你的稳定器是不是这个档位用错了,一定要记住了,用这种平移跟随模式,用这一个模式,你看推拉,因为我感觉啊,你尤其尤尤其是拍这种活动, 你百分之八十的画面肯定是这种,往前推,往后拉,最多做一个环绕,对不对? 脑海里边有想法了吗?对吧,做一个慢,慢慢的升降,没有想法,百分之八十的画面,你就推拉就可以了,是不是啊?再要有想法的时候呢,对吧,你可以做这些, 哎,这周围绕了,让画面更有动感,没有的时候,如果你是一名初学者,其他的不要考虑,那些对于咱们来说有点太麻烦,太复杂了,你只要能把推拉搞好了,你就能满足百分之八十的画面了,理解了吧, 头歪的一定要注意了,要看什么呢?要看看你的稳定器上面的档位到底是对不对? 最后附加一个知识点,好多人问我根教怎么做,这上面没有啊,不需要那个做那些东西,根教是你相机上面的东西了啊,大家问的问题,有的时候 匪夷所思的那些问题啊,就不不回答了,有好多那些发私信问的那些匪夷所思的问题啊,我那是就教大家,基础的运镜是稳定器,你怎么去安装,怎么去使用, 理解了吧,能让你快速的去拿到这个东西呢,更好的去使用,明白吧?

当你拥有一颗帅歪的镜头,千万别扔,因为用它拍照,你就能拍出这样的小人国视角。