[置顶]python知识导航贴,持续更新

[置顶]C# 语言高级特性知识导航贴,持续更新

[置顶]netMarketing类库: 类库说明

[置顶]本站视觉相关教程整理贴子,持续更新

[置顶]C++相关导航贴,持续更新

[置顶]本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

[置顶]2020年勇哥的机器视觉实验项目清单(大纲)

[置顶]本站连载贴子系列,持续更新中……

[置顶]勇哥的免费视频教程清单

[置顶]勇哥在B站发布的视频清单

[置顶]运动控制专题,持续更新

game4automation教程(三十七)机器人反向动力学

勇哥注:机器人反向动力学,可以取坐标空间中的某个点位,而让机器人的每个关节反向求解出要动多少个单位。这样你的机器人就不用为了到达某个位置,而依次运动每个关节。之前我们只能使用关节动画来模拟机器人的动作,或者使用unity的约束来模拟。现在game4automation的机器人反向动力学就可以做到完全真实的模拟点位运动(PTP运动)。下图演示了反向动力学走点位的效果:演示模型和预制件使用我们的专用演...

game4automation教程(三十六)ModbusTCP通讯的问题解析

勇哥注:modbus通讯协议本身是可靠的,不然也不会发明起至今快50年了,还在自动化行业中广泛使用。然而当应用各种第三方modbus组件编程的时候,由于组件的实现者、组件的应用者没有遵循标准来实现和应用,就会造成各种通讯异常。这就有点像一台pc机,硬件厂商能保证自己的硬件没有问题,然而架不住使用者乱装软件,最终还是可能会死机蓝屏。使用modbus组件的使用者想怎么用就怎么用,没有章法,这是此问题的...

game4automation教程(三十五)一个完整的测试设备

勇哥注:下面是一个综合的例子,通过一个杜撰的设备,演示了gam4automation的能力。为了完成这个例子,还需要配合一些自定义脚本,以及做为上位机的C#程序。完整的设备见下图:设备是一个分拣设备。上下料的轴有x, z轴。分拣的轴是u轴。这个例子勇哥只是弄了个简单的示意场景,并没有导入cad图纸。仿真这边实现了下面的功能:(1)传送带(2)x, z, u轴(3)工位上的双控气缸(4)吸嘴上的真空...

game4automation教程(三十四)如何复位设备,让设备回到播放前的状态?

勇哥注:让设备回到播放前的状态,这个需求很重要。不然我们想从头来进行测试,就只能重新播放了。我们从下面几个方面来进行:(一)删除所有的mu目的是把物料全部清空,就像我们从设备里人工取走一样。Source组件中有两个属性:Generate MU, Delete All MU。前者在每创建一个mu的复制品的时候,就会给个信号。后者勾选后则可以删除所有mu的复制品。(二)重新加载场景如果记录场景状态,...

game4automation教程(三十三)Drive_Destination Motor组件和Drive组件的冲突的解决

一般来说,我们都是使用Drive组件的 Jog Forward和Jog Backward来做Jog运动。我们会使用Drive_Destination Motor组件来做ptp点位运动。但是这两都同时有效的时候,你会发现手工打勾Jog Forward和Jog Backward就没有效果了。这是因为此时运动被Drive_Destination Motor组件接管了。怎么让这两者(ptp和jog)可以共...

game4automation教程(三十二)Drive_Destination Motor组件怎么中途停止运动?

Drive_Destination Motor组件是我们实现ptp运动的主要方式。现在有一个需求是必须运动中响应停止,以及继续。然而你是不是发现Drive_Destination Motor组件没有停止?如果你想通过Start Drive为false来停止,这个是不行的。如果你想通过Drive组件的Stop Drive来停止,会发现也根本停不下来。怎么办呢?正确的方式是先Drive_Destina...

game4automation教程(三十一)通讯变量在内部赋值与外部赋值之间切换的bug的解决

一般来说,当你在unity中编辑模式下点,在内部赋值与外部赋值状态之间的切换,这个设置会记录下来。但是有时候会发现,在播放的时候状态又自动切换为下图的状态(内部赋值状态),结果就是外部通讯无法控制这个通讯变量了。怎么办呢?解决的办法很简单!复制一个正常的通讯变量,改下名字设置好参数就行了。这种情况应该是game4automation的一个bug。...

game4automation教程(三十)再次讨论一下SensorBeam和Sensor

SensorBeam是由一个3D游戏对象加感应器组件构成的组合对象。Sensor则只是一个感应器组件。SensorBeam如果有效,像下图所示的Status会在碰到mu对象后有反应。这个对象有个问题,就是只对mu对象有反应。如果我们用它来构建原点和限位感应器,就不适合。换成game4automation的场景中,你得把MU对象放到g4a MU层,而SensorBeam放在g4a Sensor层。这...

勇哥聊下unity中的物理效果

勇哥注:unity中的2d物理效果基于开源的Box2D引擎,3d物理效果基于Nvidia PhysX,包括几个关键组件:Rigidbody(刚体),Collider(碰撞器),关节(Joints)我们只对3d物理效果有兴趣。见图1:场景中4个对象(先不算斜面上的cube)。球体添加了RigidbodyCube有一个BoxCollider。两个平面都添加了Mesh Collider。播放后我们见到下...

game4automation教程(二十九)再次讨论一下层级面板中的通讯接口对象的图标意义

game4automation的层级面板中,通讯接口相关有丰富的控制功能。下面讨论一下它们的控制图标的意义。(一)图1的疑问(图1)(1)为啥有些值的显示写着False,而有些显示的是(False)。False这种没括号的,注意它的属性中,关联到了一个流对象上面,因此Behavior列表中有内容。(False) 这一种则Behavior列表中没有关联游戏对象。(2)为啥有项目显示是蓝色的并且后面有...

工业自动化业相关的数字孪生软件对比

目前,市面上对非标自动化设备制造的需求有相关性的,并且有流行度的软件主要是下面几款。(一)IOA数字孪生软件此国产软件主要采用拼积木方式构建实验场景。主要用于学习实验性质。 它虽然可以导入solidworks的模型,但是模型的准备工作操作复杂,只适合单独机构零件的模拟动作,不适合整机运动模拟。 只能配合plc进行仿真。 官网: www.ioaol.com参考视频 :https://www.b...

There are 4 audio listeners in the scene. Please ensure there is always exactly one audio listener

今天unity播放时看到出现了这个提示。它不是错误,仅是个提示,但是不停的刷消息,比较烦。网上查了一下,意思如下:当前场景中有4个音频监听器(Audio Listener),而Unity引擎要求每个场景中只能有一个音频监听器。在相机属性中,果然有个Audio Listener。关闭,只留下一个即可。...

game4automation教程(二十八)讨论一下Drive的IO's参数的妙用

Drive IO's的这几个参数,勇哥发现其实有妙用。(1)Jog Forward/Jog Backward 前后运动这两个我们在播放时,可以用于测试轴向前、向后运动。但其实,它可以用来做jog运动的!那个Target Speed 正好做为jog运动的速度参数。使用的时候,我们弄几个PLC Output对应Jog Forward和Jog Backward,在代码中收到信号后就对Jog F...

game4automation教程(二十七)再论Lamp(信号灯)

讨论下面几个问题:(一)为啥在编辑模式下灯也会闪烁 即使不播放,在场景编辑模式下,灯也会闪烁。 这个原因见下的贴子: unity中不播放,仅在编辑模式下也能执行脚本的方法 http://www.skcircle.com/?id=2589 如果想让灯被外部控制,不要自己闪烁,需要关闭Flashing(自动闪烁)和Lamp On。(二)为啥黄灯缺省是这种绿色,这样黄灯没点亮时,...

game4automation教程(二十六)再论Sensor的用法

讨论几个问题:(一)Sensor到底要不要配Sensor_Standard?Sensor自己也有一个Sensor Occupied,可以指定一个PLC Input。Sensor_Standard也有一个Occupied,用以指定一个PLC Input。勇哥经过实现,发现两个地方都有效果。也就是说,你可以不用Sensor_Standard。(二)为啥Sensor感应到变红了,但是PLC Input看...

unity中取消预制体Prefab关联

勇哥注:在game4automation中,创建modbus接口时,会出现下图所示蓝色标记的预设体内容。如果你想把蓝色的项止移动到一个空对象的下面,会有个报错那么我们怎么取消预制体与空对象的关联呢?在Hierarchy视图下,选择预制体的根对象,鼠标右键,Prefab-->Unpack Completely。注意如果你选择子对象,则Prefab下面不会出现Unpack Completely已...

game4automation教程(二十五)设备按钮的组件Interact 3D,以及丝印文字做法

勇哥注:这节说下输入按钮的组件Interact 3D,以及丝印文字怎么弄。下面是4个常见的按钮:启动、停止、复位、急停按下后(需要去Game窗口按),Mouse Down和On会打勾。松开鼠标后,它们取消打勾。默认就是不勾选Switch属性,这个时候就是点动按钮状态。下面是Interact 3D的属性。Switch 如果不勾则是点动按钮,如果勾了就是开关按钮(状态保持按钮)Mouse Down...

unity中不播放,仅在编辑模式下也能执行脚本的方法

勇哥注:game4automatic的Lamp灯,居然不在播放的时候,也会有一闪一闪的效果。显示,它在编辑器的状态也在执行中。这是怎么做到的?在Unity中,有几种方法可以让脚本在未播放场景时运行‌:‌(1)使用ExecuteInEditMode属性‌:在脚本的类定义前添加[ExecuteInEditMode]属性,可以使脚本在Unity编辑器中运行,而不需要播放场景。例如:using Unity...

unity中怎么改变游戏对象的轴心点

下图中的cube的轴心默认是在mesh的中心的。而我们希望它在底边的中心位置。直接改是没办法的。但是可以变通一下,方法是,先创建一个空对象,把这个空对象的轴心放到我们希望的位置。然后把cube做为它的子对象。接下来我们控制这个空对象就可以了。现在我们我们就可以旋转这个空对象,其轴心就是我们想要的。...

unity中,你怎么知道当前的场景scene保存在assert中哪个目录中?

在unity中,我们知道项目名字,也知道它保存在哪里。但是如果你想知道你当前的场景scene保存在assert的哪个目录,可能就麻烦了吧。你从标题栏是不可能知道这个信息的。我们一般习惯在asserts的根目录中创建场景目录。这样asserts下就好多的目录了。解决办法:首先你把当前场景保存。然后在菜单“Open Recent Scene”的历史列表中,第一行就可以看到你场景的文件名,及目录名。(下...

game4automation教程(二十四)运动方式:Drive_Speed(恒速运动)、Drive_Simple(简单运动)

勇哥注:Drive_Speed就是以恒定的速度持续运动。如果想停止,需要把Target Speed改为0。如果想改变运动方向,需要把Target Speed改为负值。Drive_Speed运动方式,就是我们调机时用的jog运动。在触摸屏上,jog运动的按钮按住不放就持续运动,松开就停止。jog运动适合轴位置的粗调,然后精调就是使用ptp运动了。下面是Drive_Speed运动的参数。由于比较简单,...

game4automation教程(二十三)运动方式:Drive_Gear(齿轮运动)

勇哥注:Drive_Gear字面上叫齿轮运动。其实你可以认为它就是龙门运动,一个主驱动器运动时,另一个驱动器做同步跟随运动。axis4做为副驱动器,添加了drive和drive_Gear。axis3做为主驱动器,只用添加drive。当然你也可以添加其它的运动方式。不管是什么方式,副驱动器都会同步进行。运行的时候,让主驱动器动起来就可以了。如果你让副驱动器运动起来,结果就是两个都不会动。...

game4automation教程(二十二)运动方式:Drive_DestinationMotor(点位运动)

勇哥注:Drive_DestinationMotor直译就是“目标运动”,其实其效果就是运动卡的ptp(点到点运动)而且是走的绝对位置的ptp运动。参数解释:Speed 是起始速度Target Speed 是最高速度,就是均匀段的速度。Acceleration 是加速度,没有减速度,但是估计减速度等于加速度。Is At Positon 实时位置,可以理解为编码器反馈值Is At S...

game4automation教程(二十一)运动方式:Drive_Continous Destination(可变的连续运动)

勇哥注:Drive_Continous Destination有点像随时可以改变目标位置、速度的运动方式。你一但修改Destination(目标位置)就会立刻动起来,如果中途你重新修改Destination也可以,立刻向新目标运动。Acceleration(加速度)和Target Speed(目标速度)也一样可以中途随时修改。这一种方式也适合做运动控制卡类似的ptp(点位运动),因为它已经带有加速...

game4automation教程(二十)运动方式:Drive_Follow Position(脉冲输入式运动)

勇哥注:此方式非常适合模拟脉冲型运动卡的运动方式,运动卡是以一定的频率持续向伺服或者步进驱动器发送脉冲。而且它还可以指定减速比。效果如下图所示:这个动图显示有点问题。其操作实际上是:鼠标按住Value的值左右拖动,就可以连续改变其值。轴就会连续运动。这个值关联到Drive_Follow Position的Position属性上面的。下面的测试场景。Axis1添加了Drive_Follow Posi...

game4automation教程(十九)运动方式:Drive Cylinder 气缸式运动

勇哥注:Drive Cylinder是类似气缸动作的方式,可以用来模拟出真实的气缸、电缸效果。如下图所示:这是常见的单控气缸,一个触发IO,两个磁性感应器,一个是动点感应,一个是原点感应。动点指的是气缸伸出去的最大位置,原点是指气缸缩回来的最小位置。另外还有一种双控气缸,它有两个触发IO,两个磁性感应器。这一种也可以模拟。(图1)(一)项目构建如图1所示,我们要构建两个感应器sensor,两个PL...

game4automation教程(十七) Modbus接口

勇哥注:modbus是主从模式(master/slave)。以服务端/客户端来做比喻的话,slave就是服务端,master就是客户端。game4automation支持modbus接口。但是只支持做从站,即做Slave端,而不是做Master端。并且modbus缺省会使用本机IP, 端口号固定502不能修改。添加方式如下图所示:(图1)下图是添加好的Modbus接口。Is Connected...

game4automation教程(十五)再次深入理解kinematic组件

kinematic组件的作用比较难懂。我们只用抓住它的两个核心能力:一是将已定义组(由Group Script组件定义的)中的零件集成到此 Kinematic 零部件中二是可以移动或者旋转kinematic零部件的轴心点(一)将已定义组(由Group Script组件定义的)中的零件集成到此 Kinematic 零部件中这样说其实可能你还是不能明白是啥意思。勇哥用下面的示例来说明:下面的场景是一个...

unity 6跟unity 2023是什么关系

从2023版本以后,版本命名又变成非年月日了,现在最新的被命名为unity 6。版本命名怎么变来变去~~见下图:unity6启动界面是下面这样的:启动更慢了。。。。...

game4automation教程(十四)Measure Raycast,Measure 测量组件

(一)Measure Raycast组件Measure Raycast组件,用来检测射线到碰撞体之间的距离。如果碰到则输出Hit状态。同时可以把测量结果连接到PLCInput信号,这样Measure Raycast就能当感应器来用。如下图所示:手动移动Measure Raycast,如果碰到了cube,则显示显示距离,以及Hit。层级面板结构如下:Cube必须添加Box Collider。Meas...
会员中心
搜索
«    2025年2月    »
12
3456789
10111213141516
17181920212223
2425262728
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864