磁驱多动子系统调度

        磁驱多动子系统的调度(Scheduling) 是其大脑和智慧所在,它负责协调多个动子高效、无冲突地完成所有任务。

        调度的操作可以分为离线规划在线实时调度两大类,但其核心操作是相通的。以下是调度系统需要执行的关键操作:


1. 任务分配 (Task Assignment)

        这是最基础的操作,解决“哪个任务由哪个动子执行”的问题。

  • 操作内容:当上层管理系统(MES)下达一批任务(如:将工件从工站A运至工站B,再运至工站C)后,调度器需要将这些任务合理地分配给当前可用的动子。

  • 决策依据

    • 动子位置:选择距离任务起点最近的空闲动子,以减少空跑时间。

    • 动子状态:动子是否空闲、是否正在充电、是否报错。

    • 动子负载能力:不同动子可能设计有不同的负载能力,任务需与动子能力匹配。

    • 任务优先级:高优先级的任务(如急件、生产线关键路径上的任务)需要优先分配。

    • 能耗考虑动子的剩余电量,避免某个动子电量耗尽而影响整体进度。(无源动子不考虑)

2. 路径规划 (Path Planning)

        在任务分配后,需要为每个动子计算出从起点到终点的无碰撞路径。

  • 操作内容:为每个有任务的动子规划一条空间路径。初期规划可以不考虑时间,只考虑避开静态障碍物(如设备边界、固定的工站)。

  • 常用算法:A算法、D算法、RRT(快速探索随机树)等。

  • 输出结果:一条由一系列路径点(Waypoints)构成的几何路径。

3. 速度规划与轨迹生成 (Velocity Planning & Trajectory Generation)

        这是将空间路径转化为时间参数化轨迹的关键操作,解决了“什么时候到达哪里”的问题。

  • 操作内容:在路径规划的基础上,根据系统的动力学约束(最大速度、最大加速度、最大加加速度Jerk),生成一条平滑的、关于时间的轨迹曲线

  • 输出结果:一条定义了动子在每一时刻位置、速度、加速度的指令曲线。通常采用S型曲线(S-Curve)来保证运动平滑启停,减少振动和冲击。

4. 冲突消解 (Conflict Resolution)

        这是多动子调度的核心和难点。它确保多个动子的时空轨迹不会重叠,即不会发生碰撞。

  • 操作内容:预测所有动子的未来轨迹,检查它们在时间空间上是否存在交集(冲突)。如果存在冲突,则采取策略解决。

  • 主要解决策略

    • 优先级规则:为动子或任务设定优先级。低优先级的动子必须为高优先级的动子让行(如减速或在等待点等待)。

    • 重新规划路径:当检测到冲突时,为其中一个动子重新规划一条绕行的几何路径。

    • 调整速度(最常用、最高效):在不改变几何路径的前提下,通过微调一个或多个动子的速度(加速、减速、短暂等待),使它们错开通过冲突点的时间。这就像调节公路上汽车的速度以避免追尾或侧撞。

    • 预约表(Reservation Table):将共享区域(如十字路口)划分为网格和时隙,动子需要提前“预约”某个时隙的某个网格,其他动子则无法在该时隙占用该网格。

5. 死锁预防与恢复 (Deadlock Prevention & Recovery)

        死锁是指多个动子互相等待对方释放资源而全部卡住无法动弹的局面。

  • 操作内容

    • 预防:制定规则避免死锁发生,例如:

      • 资源排序:规定所有动子必须按相同顺序申请共享资源(如工站、路径区域)。

      • 非阻塞调度:要求动子一次性申请到所有所需资源后才能开始运动。

    • 检测与恢复:实时监控系统状态。一旦检测到死锁(如多个动子长时间停滞),系统强制介入,命令其中一个动子执行恢复操作(如沿原路倒退一段),以打破僵局。

6. 实时监控与动态重调度 (Real-time Monitoring & Dynamic Re-scheduling)

        生产环境是动态变化的,调度系统必须能应对突发事件。

  • 操作内容

    • 监控:持续监控动子位置、状态(是否故障)、任务完成情况以及工站状态(是否宕机、是否忙)。

    • 响应:当发生异常时(如动子突然故障、工站宕机、插入紧急任务),调度系统需要动态重新进行调度

      • 将故障动子上的任务转移给其他动子。

      • 为所有受影响的任务重新分配、规划路径和消解冲突。

      • 这个过程需要在极短的时间内(毫秒级) 完成,以保证生产不停顿。

总结:调度操作的工作流

        一个典型的调度操作循环如下:

  1. 接收任务:从MES获取生产任务列表。

  2. 分配任务:根据策略将任务分配给最优的动子。

  3. 规划路径:为每个动子计算无碰撞的几何路径。

  4. 生成轨迹:为每条路径添加时间参数,形成时空轨迹。

  5. 冲突检测:检查所有动子的未来轨迹是否存在冲突。

  6. 冲突消解:运用速度调整或重新规划等方法消除冲突。

  7. 下发指令:将最终确定的轨迹指令下发给各个动子的控制器。

  8. 实时监控:监控系统状态,一旦有变,立即跳回第2步开始动态重调度

        这些操作共同构成了一个高度自动化、智能化的决策系统,使得磁驱多动子系统能够像一支训练有素的交响乐团,虽然乐器(动子)众多,但却能和谐高效地完成复杂的生产乐章。

源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值