MotoSimEG-VRC教程:动态输送带创建以及示教编程与仿真运行
目录
任务描述
简易输送带外部设备创建
输送带模型添加与配置
工件安装到输送带
输送带输送工件程序编写与仿真运行
任务描述
在MotoSimEG-VRC中创建1条输送带,并且能够实现将工件从输送带起始点位置处输送到结束点位置处。
简易输送带外部设备创建
在MotoSimEG-VRC中支持创建输送带设备,并且能够自动生成简易的输送带模型。
新建虚拟仿真项目,在软件“Controller”菜单栏下的“External Device”命令组中,点击“New”命令按钮,在其下拉菜单中点击“Conveyor”
,弹出Conveyor Installation对话框。
在对话框的No功能区下点选输送带编号,本例中选择“No1”,点选完编号后在Name下的显示框内自动生成输送带名称,Joint Num下点选输送带旋转轴编号,这里选择“1”,如下图所示,点击“OK”按钮。

此时弹出Conveyor Setting对话框,在对话框中可以设置输送带模型的尺寸参数与运动参数,各个参数的详细说明如下。
No:显示或指定要设置参数的输送带编号。
Model in fo:设置输送带模型的尺寸参数,包括输送带长度(L)、宽度(D)、高度(H)以及原点位置(Org)。
Motion in fo:设置输送带的运动参数,包括输送带的运行速度(Speed)、输送起始点位置(Start)和输送结束点位置(End)。
Make model:设置是否生成默认输送带模型。

当然,输送带参数配置也可以在后续单独完成。因此,这里保持默认,直接点击“OK”按钮。
软件虚拟仿真环境中出现简易输送带模型,如下图所示,其中深绿与浅绿相间的是简易输送带台面,蓝色的箭头是输送带的移动标记,深绿与浅绿的分界线位置是输送带的原点位置,箭头所在的位置是输送带的输送起始点位置,箭头所指方向就是工件输送的正方向。

同时,在左侧的Cad Tree中出现输送带模型文件,其名称就是Conveyor Installation对话框中Name下显示的输送带名称,如下图所示。

与冲压机、龙门架一样,输送带也可以通过“Position Panel”进行手动运行,其操作方法也一样,这里不再赘述。

同样的,输送带的自动运行程序也是在“Job Panel”中进行示教,示教编程方法可以参考冲压机的示教编程步骤,这里也不再过多介绍。
默认情况下,简易输送带创建完成后,Job Panel中会自动创建出工件在输送带上移动的2条运动程序,如下图所示。

关于输送带手动运行与示教编程的详细操作步骤,可以参考之前发过的文章《MotoSimEG-VRC软件:冲压机添加以及与机器人信号交互虚拟仿真》。
输送带模型添加与配置
简易输送带虽然也可以仿真运行,但是看起来并不是那么逼真。为了能够再现真实的输送带运行效果,还需要添加输送带模型。
在Cad Tree中选择世界坐标系作为参考对象,然后从MotoSimEG-VRC的内置模型库(Model Library)中导入输送带模型,本案例导入的输送带模型名称为Conveyor-roll-400W_1500L_700H。
从输送带的名称中可以发现,输送带的长度为1500mm,宽度为400mm,高度为700mm,可以根据这些尺寸参数设置简易输送带的尺寸参数。
在软件“Controller”菜单栏下的“External Device”命令组中,点击“Conveyor Settings”
命令按钮,再次弹出Conveyor Setting对话框。
在对话框中,设置简易输送带模型的尺寸参数与运动参数,如下图所示。

为了能够让添加的输送带模型具备运动特性,还需要将其与简易输送带进行关联。
首先将输送带模型绕Z轴旋转-90°(Rz=-90),然后将简易输送带整体向上移动600mm,这样简易输送带模型的台面就与输送带模型的台面重合了,其效果如下图所示。

在Cad Tree中,使用“Set Parent”命令设置输送带模型的父级参考对象为简易输送带下的“CONVEYOR-NO1_rm”,如下图所示。

然后在Cad Tree中右击“CONVEYOR-NO1_rm”,在弹出的快捷菜单中依次选择“Hide/See”→“Model”,将简易输送带台面模型隐藏,如下图所示。

这样,添加的输送带模型就与简易输送带关联了起来,也就具备了运动特性。
工件安装到输送带
在MotoSimEG-VRC中,利用软件自带的模型创建工具创建1个长方体,并将其命名为“Work”,作为输送带要输送的工件。

在Cad Tree中,使用“Pos”工具,将工件放置到输送带输送起始点位置处(蓝色箭头处)如下图所示。

再使用“Set Parent”命令,将工件的父级参考对象设置为输送带模型的“CONVEYOR-NO1_tcp”,这样工件就能够在输送带上移动了。

最后,在Cad Tree中右击“CONVEYOR-NO1_link1”,在弹出的快捷菜单中依次选择“Hide/See”→“Model”,将简易输送带模型的移动标记隐藏。
输送带输送工件程序编写与仿真运行
在MotoSimEG-VRC中,先使用Position Panel将工件手动移动到输送带输送的结束点位置处,如下图所示。

然后,打开Job Panel,将第2条运动程序示教为当前位置。选择程序时可以先取消勾选左侧的“Sync”,这样工件就不会同步运动到程序的示教点位处了。
程序编写完成后对其仿真运行,运行效果如下方动态图所示,可以看到工件从输送带起始位置处输送到了结束位置处。

The End
上一篇:MotoSimEG-VRC软件:龙门架外部设备添加以及示教编程与仿真运行
相关文章:
MotoSimEG-VRC教程:动态输送带创建以及示教编程与仿真运行
目录 任务描述 简易输送带外部设备创建 输送带模型添加与配置 工件安装到输送带 输送带输送工件程序编写与仿真运行 任务描述 在MotoSimEG-VRC中创建1条输送带,并且能够实现将工件从输送带起始点位置处输送到结束点位置处。 简易输送带外部设备创建 在MotoS…...
PyTorch 并行训练 DistributedDataParallel完整代码示例
使用大型数据集训练大型深度神经网络 (DNN) 的问题是深度学习领域的主要挑战。 随着 DNN 和数据集规模的增加,训练这些模型的计算和内存需求也会增加。 这使得在计算资源有限的单台机器上训练这些模型变得困难甚至不可能。 使用大型数据集训练大型 DNN 的一些主要挑…...
Golang实现ttl机制保存内存数据
ttl(time-to-live) 数据存活时间,我们这里指数据在内存中保存一段时间,超过期限则不能被读取到,与Redis的ttl机制类似。本文仅实现ttl部分,不考虑序列化和反序列化。 获取当前时间 涉及时间计算,这里首先介绍如何获取…...
js中数字运算结果与预期不一致的问题和解决方案
本文主要是和大家聊聊关于js中经常出现数字运算结果与预期结果不一致的问题,与及解决该问题的的方案。 一、问题现象 如:0.1 0.2的预期结果是0.3,但是在js中得到的计算结果却是0.30000000000000004,如下图所示 如:0…...
C++ Primer Plus 学习笔记(一)——基本类型
字节与字符 计算机内存的基本单位是位(bit),字节(byte)通常指的是8位的内存单元,从这个意义上来说,字节指的就是描述计算机内存量的度量单位。 C对字节的定义则有些不同,C字节由至…...
ChatGpt与Google 谁能给出最好的回答
ChatGPT由于其先进的会话和技术功能而越来越受欢迎。你可以问聊天机器人任何你想问的问题,它会在几秒钟内输出答案。虽然它不是一个搜索引擎,你应该使用ChatGPT作为你的信息来源而不是谷歌,百度吗? 我们来根据国外的一场测试来看一下 ChatG…...
【Redis】一、CentOS64 安装 Redis
1.下载redis https://download.redis.io/releases/2.将 redis 安装包拷贝到 /opt/ 目录 最好自己创建一个文件夹 3.解压 tar -zvxf redis-6.2.1.tar.gz4. 安装gcc yum install gcc5. 进入目录 cd /opt/redis/redis-6.2.1/6. 编译 make7.执行 make install 进行安装 8. …...
Redis底层原理(持久化+分布式锁)
Redis底层原理 持久化 Redis虽然是个内存数据库,但是Redis支持RDB和AOF (Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中 ;Appen…...
Spring Cloud Nacos实战(八) - Nacos集群配置
Nacos集群配置 更改Nacos启动命令配置原理 我们现在知道,想要启动Naocs只需要启动startup.sh命令即可,但是如果启动3个Nacos那?所以如果我们需要启动多个Nacos,其实Nacos本身默认启动就是集群模式。 注意点:如果是l…...
什么是低代码-甲骨文对低代码的定义
什么是低代码平台?低代码阶段使用简化的界面,允许开发人员构建应用程序和软件 既用户友好又响应迅速。而不是编写几行复杂的代码和语言结构, 您可以快速轻松地利用低代码来构建具有用户界面的整体应用程序, 组合和信息。低代码可以…...
shell编程之循环语句
typora-copy-images-to: pictures typora-root-url: …\pictures 文章目录typora-copy-images-to: pictures typora-root-url: ..\..\pictures一、for循环语句1. for循环语法结构㈠ 列表循环㈡ 不带列表循环㈢ 类C风格的for循环2. 应用案例㈠ 脚本计算1-100奇数和① 思路② 落地…...
神经动力学-第一章-神经动力学基础-神经系统的元素
神经元和数学 本章的主要目的是介绍神经科学的几个基本概念,尤其是动作电位、突触后电位、触发阈值、不应期和适应性。基于这些概念,建立了神经元动力学的初步模型,这个简单的模型(漏积分-火模型)将作为本书主题——广义积分-火模型的起点和参考,在第二部分和第三部分进…...
【力扣-LeetCode】64. 最小路径和 C++题解
64. 最小路径和难度中等1430收藏分享切换为英文接收动态反馈给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入ÿ…...
Mysql数据库事务
数据库事务 数据库事务由一组sql语句组成。 所有sql语句执行成功则事务整体成功;任一条sql语句失败则事务整体失败,数据恢复到事务之前的状态。 Mysql 事务操作 开始事务 start transaction;- 或 begin;事务开始后,对数据的增删改操作不…...
【opencv源码解析0.3】调试opencv源码的两种方式
调试opencv源码的两种方式 上两篇我们分别讲了如何配置opencv环境,以及如何编译opencv源码方便我们阅读。但我们还是无法调试我们的代码,无法以我们的程序作为入口来一步一步单点调试看opencv是如何执行的。 【opencv源码解析0.1】VS如何优雅的配置ope…...
Xcode Archives打包上传 / 导出ipa 发布至TestFlight
Xcode自带的Archives工具可以傻瓜式上传到App Store Connect分发这里以分发到TestFlight为例进行操作。 环境:Xcode 14 一:Archives打包 选择Xcode菜单栏的Product,Archives选项,需要等待编译完成,进入如下界面&…...
RNN GRU模型 LSTM模型图解笔记
RNN模型图解引用RNN模型GRULSTM深度RNN双向循环神经网络引用 动手学深度学习v2–李沐 LSTM长短期记忆网络3D模型–B站up梗直哥丶 RNN模型 加入了一个隐变量(状态),隐变量由上个隐变量和上一个输入而更新,这样模型就可以达到具有短期记忆的效…...
西电_数字信号处理二_学习笔记
文章目录【 第1章 离散随机信号 】【 第2章 维纳滤波 】【 第3章 卡尔曼滤波 】【 第4章 自适应滤波 】【 第5章 功率谱估计 】这是博主2022秋季所学数字信号处理二的思维导图(软件是幕布),供大家参考,如内容上有不妥之处…...
[ vulhub漏洞复现篇 ] Drupal 远程代码执行漏洞(CVE-2018-7602)
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...
MySQL最佳实践
一、MySQL查询执行过程 1.MySQL分层结构 MySQL8.0没有查询缓存的功能了,如果频繁修改缓存,将会损耗性能查询流程就按照分层结构就可以清楚,只要了解各个组件的各自功能就行分析器主要分析语法和词法是否正确优化器主要优化SQL语句 二、MySQL更新执行过程 更新主要涉及两个重…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
