一、倾斜输送带物理效果

1. 倾斜传送带脚本修改
  • 问题现象:传送带未按预期上升,反而向错误方向移动。
  • 问题根源:脚本中通过欧拉角(Euler angles)解释旋转方向存在困难。
    • 当 y 为 180° 且其他值为 0 时,角度解释相对容易。
    • 当引入 z 轴或 x 轴旋转时,会出现负数,导致整个结果改变。
    • 实际后台代码中,该数字为负数,包含实部和虚部,由欧拉角计算得出。
    • 解决方案:将旋转值恢复到 0(而非 -18),并测试方向变化。
      • 设置为 0 时,得到方向二。
      • 设置为 18 时,方向为三,即错误方向。
2. 创建新脚本
  • 创建方法:进入项目(Project)窗口,创建新脚本,命名为“倾斜传送带”(Inclined Conveyor)。
  • 脚本内容:复制原传送带脚本的全部内容,粘贴到新脚本中。
    • 删除方向判断的条件逻辑(if/else 语句)。
    • 保留其余所有代码不变。
    • 保存并检查是否有编译错误
  • 硬编码方向:对于倾斜传送带,直接硬编码方向更简单。
    • 无需通过逻辑判断实现,因为直接进入欧拉角计算并不容易。
3. 移除脚本并添加新脚本
  • 操作步骤:选中最后一个传送带,移除原有的传送带脚本,添加新的倾斜脚本。
  • 原因:由于已经知道方向,直接硬编码即可,无需复杂的逻辑判断。
4. 调整启动与速度控制
  • 参数设置:将传送带速度设置为 18,再微调降低一些。
  • 测试结果:一切正常,效果更好。
5. 运行并观察模拟

测试过程:点击启动按钮,观察立方体是否正常爬升。

  • 立方体成功爬升,说明倾斜脚本生效。
  • 多传送带设置:将所有传送带的速度均设置为 5,启动速度也设置为 5。
  • 运行结果:四个传送带互相传递所有对象,形成完整的传输链。
  • 观察现象:立方体在传送带之间传递,形成无限循环。
  • 平台添加:为传送带创建平台,避免物体悬空漂浮。
    • 对于倾斜的传送带,挤出机需要更长,以便接触地面。
    • 倾斜部分的挤出机需要以一定角度切割。
二、添加平台
1. 创建平台立方体
  • 环境准备:进入 Unity 环境,准备添加平台模型。
  • 模型来源:当前仅有 Fusion 360 中导出的挤出机模型,后续可随时返回 Fusion 360 调整模型,但目前先用简单的立方体(盒子)代替,以实现更好的可视化效果。
  • 创建平台:新建一个立方体(Cube),命名为“平台”(Platform)。
2. 调整平台尺寸与位置
  • 尺寸调整:将立方体适当扩展,作为平台的基础形状。
  • 位置调整:
    • 将 Y 轴数值增加到 15 或 16,确定平台的高度。
    • 调整 Z 轴方向,使平台在场景中处于合适的位置。
  • 设计思路:平台需要以一定角度固定在地面上,避免呈直线排列,使整体结构更稳固。
3. 复制并旋转平台
  • 复制操作:由于需要多个平台,直接复制已创建的平台对象。
  • 旋转调整:复制后旋转平台,使其朝向不同的方向。
  • 视图切换:切换到顶视图(Top View),便于观察和调整各平台的位置关系。
4. 调整各平台高度与位置
  • 高度调整:部分平台位于较低层级,需将 Y 轴数值调整为 15 左右,确保各平台处于合理的高度差。
  • 位置微调:根据场景布局,逐个调整平台的位置,使其分布均匀、结构合理。
5. 复制并调整最后一个平台
  • 复制来源:从已有的平台中复制,生成最后一个平台。
  • 旋转与位置:对最后一个平台进行旋转,并在 X 轴上减少 Z 方向的偏移量,使其与其他平台形成合理的角度关系。
  • 效果评估:整体布局虽然不是最优方案,但比没有模型要好,能够满足当前可视化需求。6. 为平台赋予不同颜色材质
  • 材质区分:为每个平台赋予不同的颜色材质,便于在场景中清晰区分各个平台。
  • 完成状态:平台搭建完成,多个转换器(Conveyor)已正常工作,整体结构可用于后续开发。
7. 传感器数字孪生介绍
  • 传感器的重要性:传感器在任何生产线上都非常重要,是数字孪生系统中不可或缺的组成部分。
  • 数字孪生目标:学习如何对传感器进行数字孪生,包括如何从传感器中读取反馈信号。
  • 示例应用:以接近传感器(Proximity Sensor)为例,用于检测是否有物体从其前方经过,并在 Unity 中模拟这一功能。
  • 模块特点:传感器模块虽然很小,但在数字孪生系统中具有关键作用,值得重点关注。
三、传感器
1. 导入传送带场景
  • 传感器的作用:传感器存在于大多数工业机械中,用于检测物体状态,例如接近传感器会在物体靠近时激活,表示物体处于传感器视野中。
  • 执行器与传感器的区别:此前创建的都是执行器(如电机、活塞等产生动作的装置),尚未创建任何可以读取状态的装置。
  • 应用场景举例:传送带上有瓶子在运行,需要检测瓶子到达传送带上的某个位置,此时就需要使用传感器。
  • 导入场景:课程附带了一个自定义包,直接双击即可导入所有内容。
  • 简化场景:导入后只保留第一个传送带,删除其他所有内容和平台,使工作更轻松。
  • 已有动画:场景中已经包含所有动画,点击模拟即可运行,跳转到转换控制可以看到启动和速度控制界面。
2. 创建传感器
1)传感器介绍
  • 传感器的建模:在CAD中建模相当简单,它只是一个周围有一些节点的圆柱体。
  • 传感器的工作原理:当传感器前方有物体时,会发送一个信号表示“我前面有东西”;如果什么都没有,则发送信号表示“什么都没有”。
  • 信号类型:使用微控制器或PLC获取信号时,会得到高电压(如5伏或24伏,取决于设备)或零电压,零电压表示传感器前方没有任何东西,即信号为零。
2)创建传感器安装架
  • 创建空对象:创建一个空对象,命名为“传感器”。
  • 创建安装架:为传感器创建一个简单的立方体作为安装架,命名为“安装架”。
  • 调整尺寸:将安装架放大一些,然后缩短,使其适合挂在铝型材上。
  • 固定方式:利用铝型材上的槽口,钻孔并加上几个螺丝即可固定。
3)创建传感器
  • 创建圆柱体:右键点击创建一个圆柱体,命名为“传感器”。
  • 调整位置:将圆柱体移到安装架上,抬高到合适位置。
  • 调整方向:在Z轴上旋转90度,使方向正确。
  • 调整尺寸:将圆柱体稍微延长,两端各有一个节点用于固定。
  • 可视化与检测分离:所有这些都是为了可视化,实际的传感器检测将通过一个不可见对象进行。
4)创建光束逻辑
  • 检测原理:将传感器想象为发射激光,当物体切断这条激光时,就表明传感器前方有东西,会给出一个信号。
  • 创建光束:复制传感器,重命名为“光束”,移除约束,使其更小,然后重新应用约束并让它更长。
  • 调整光束尺寸:光束需要比物体稍微大一点,在X轴上扩展,使其看起来像一个矩形,厚度设为0.05左右。
  • 隐藏光束:移除Mesh Renderer使光束不可见,但碰撞检测仍然有效。
    • 应用场景:创建一个应用来统计有多少物体经过传感器附近,这是一个很好的演示案例。
    • 物体间距要求:物体之间需要有间距,因为如果两个物体靠得很近,光束会将它们检测为一个。这在机械设计中很重要,当需要计数物体时,总是会在物体之间留出间距。
    • 计数原理:利用OnCollisionEnter和OnCollisionExit进行计数,这类似于控制系统中的上升沿——当检测到箱子时进行计数。
  • 编写检测脚本

    20:51

    
    • 创建脚本:在Scripts文件夹中创建新脚本,命名为“SensorDetect”或“传感器检测/计数”。
    • 定义变量:
      • public bool isDetected = false;:检测到某样东西的标记,作为复选框使用。
      • public int count = 0;:计数器,初始值为零。
    • 编写触发方法:
      • OnTriggerEnter:当箱子与光束发生碰撞时,设置isDetected = true,并执行count = count + 1,表示检测到新物体需要计数。
      • OnTriggerExit:当箱子离开光束时,设置isDetected = false。
    • 使用触发器:需要勾选碰撞体的“Is Trigger”选项,使用触发类型的碰撞。
    • 运行测试:将脚本挂载到光束上,运行场景,监控计数结果,可以看到物体一个接一个通过时计数正常增加。
    • 隐藏光束:移除Mesh Renderer后重新运行,物体不可见但计数功能仍然正常。
    • 视野范围调整:光束的形状可以改变,可以根据传感器规格创建更大或更窄的视野范围,实现任何所需的视野范围。
    • 传感器的基本知识:这些就是传感器的基本知识,后续在PLC课程中,将设计实际的控制算法,把传感器的反馈信号连接到PLC上。
四、单轴线性导轨
1. 应用场景
  • 核心用途: 单轴线性导轨用于实现精确运动。
    • 典型场景:将末端执行器从一个位置精确移动到另一个位置。
    • 它是三轴线性导轨的基础,掌握单轴导轨对后续学习至关重要。
2. 本节学习目标
  • 学习内容: 本节将学习单轴线性导轨的动画制作与物理交互。
    • 动画制作:让导轨模型按预期运动。
    • 物理交互:模拟真实运动中的碰撞与约束。
  • 综合应用: 本节结束时,将综合运用传送带、气缸和线性导轨,创建一个完整的包装线迷你项目。
  • 知识铺垫: 单轴线性导轨是后续学习笛卡尔机器人的基础,需牢固掌握。
3. 应用领域
  • 常见应用: 线性导轨广泛应用于拾取和放置操作、3D打印设备及其他众多工业项目中。
五、知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

欧拉角旋转问题

Unity中欧拉角存在实部/虚部计算,当多个轴同时旋转时角度解释会出错

y=180°时角度易解释,但引入z轴或x轴后结果会改变;硬编码方向比逻辑计算更可靠

★★★★

倾斜传送带脚本处理

为倾斜传送带创建独立脚本,直接硬编码旋转方向,避免欧拉角复杂计算

删除方向条件判断,保留速度控制逻辑;硬编码方向是倾斜场景的推荐方案

★★★

传送带系统集成

四个传送带互相传递物体形成无限循环,需设置平台支撑避免悬空

各传送带速度需协调(示例中均设为5);平台需按层级调整y轴高度

★★★

传感器数字孪生

使用虚拟传感器(圆柱体+不可见光束)检测物体通过,实现接近传感器功能

光束需设置为触发器(Is Trigger);物体需有刚体和碰撞体才能触发检测

★★★★

传感器计数逻辑

通过OnTriggerEnter/Exit实现物体计数,检测状态用布尔变量表示

物体间距不足时多个物体会被计为1个;计数依赖上升沿(Enter事件)

★★★★

传感器物理配置

光束碰撞体尺寸需大于被测物体,确保可靠检测;Mesh Renderer可移除实现不可见

光束形状可自定义(宽/窄视野);碰撞体尺寸与检测可靠性直接相关

★★★

单轴线性导轨

用于精确运动定位,是笛卡尔机器人的基础,需掌握动画与物理交互

与三轴线性导轨的关联;拾取和放置应用场景;精确运动是核心特性

★★★★

PLC控制接口

传感器反馈信号将连接到PLC,用于实际工业控制算法设计

传感器信号(高/低电压)与PLC输入对应关系;后续课程衔接点

★★★★

对比项

传送带系统

传感器系统

线性导轨

核心功能

物料运输与循环

物体检测与计数

精确定位与运动

实现复杂度

中(需多设备协调)

低(单触发器逻辑)

高(需动画+物理)

关键风险

欧拉角旋转错误

物体间距不足导致误计数

运动精度不足

调试要点

方向硬编码

触发器碰撞检测

动画与物理同步

工业应用

包装线物料输送

生产计数与位置检测

拾取放置、3D打印

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐