news 2026/9/6 19:53:18

Stewart平台六自由度主动隔振仿真复现:建模、控制与优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Stewart平台六自由度主动隔振仿真复现:建模、控制与优化

简介:一份聚焦六自由度隔振平台优化与控制技术研究的论文复现资料,面向机械工程与控制工程背景的研究人员和工程师,解决控制力矩陀螺引发的卫星微振动问题,基于Stewart机构开展主被动联合隔振方案设计与仿真。内容完整覆盖主被动隔振特性分析、弹簧与阻尼参数优化、Stewart平台动力学建模、条件数与刚度优化,以及PID、LQR、H∞多种控制策略的设计对比,并给出ADAMS-MATLAB联合仿真环境构建思路。包体结构简洁,共1个PDF文件,压缩包约956KB,目前已有117人学习。PDF文档内附大量可运行的Python代码及逐段解释,核心示例包括隔振系统传递率计算、优化目标函数构建、NSGA-II多目标优化实现等,可直接运行验证,帮助读者掌握航天级隔振系统的参数整定、控制器设计与鲁棒性能评估方法,也适合作为科研入门或工程方案预研的参考资料。

开头

做卫星总体或者光学载荷的兄弟,这几年应该都有个共同的痛点:星上飞轮、CMG、制冷机这些活动部件带来的微振动,越来越成为限制成像质量和指向精度的瓶颈。以前几个橡胶减振器就能糊弄过去,现在动辄要求亚微米级指向稳定度,被动隔振那点本事压根不够看。我去年复现了一篇基于Stewart机构的六自由度隔振平台论文,从运动学建模到控制仿真完整走了一遍,期间踩了不少坑,也理顺了不少以前模糊的概念。这篇博文把整个复现过程、关键技术点、代码细节和心得体会都整理出来,给正在做微振动抑制或者准备入坑六自由度并联机构的同学一个参考。

这篇文章适合三类人:一是做卫星结构或控制分系统、需要评估主动隔振方案可行性的工程师;二是机械电子方向、想搞明白Stewart平台怎么建模和控制的研究生;三是纯粹对六自由度精密运动控制感兴趣、想找个完整案例练手的爱好者。内容涵盖机构选型、运动学与动力学建模、控制策略设计、参数优化和仿真实现,代码部分以Python和MATLAB示例为主,可以照着跑起来。

1. 整体设计思路与技术选型

1.1 微振动从哪来,为什么非得用六自由度隔振

卫星上的微振动源五花八门,最常见的是反作用飞轮。飞轮转子在高速旋转时,由于动不平衡会产生频率跟转速相关的扰动力和力矩,而且这个频率会随着飞轮转速变化在宽频范围内扫动。还有控制力矩陀螺(CMG)的框架转动、制冷机的斯特林循环活塞运动,甚至太阳翼驱动机构的步进动作,都会在几十赫兹到几百赫兹频段内注入振动能量。

这些振动的量级通常很小,加速度可能只有几十微g,但高分辨率对地观测相机、激光通信终端、空间干涉测量系统这类载荷,对微振动极其敏感。以某型光学载荷为例,要求平台角振动量级在0.1 arcsec量级以下,传统被动隔振在低频段根本没有隔离能力,因为被动隔振的固有频率做不到那么低,而且低频共振峰还会放大振动。

主动隔振或者主被动复合隔振就成了必然选择。但为什么非要六自由度?因为飞轮、CMG产生的扰动既有力又有力矩,载荷自身的姿态机动也会带来各方向的耦合振动。如果只做单自由度或者三自由度隔振,剩下的自由度照样会把振动传进来。六自由度隔振平台能同时对三個平动和三个转动方向实施控制,这才是完整的解决方案。

1.2 Stewart机构的选型理由与结构特征

在六自由度并联机构里,Stewart机构(6-SPS构型)是绝对的主流选择。它由上下两个平台和六条伸缩支腿组成,每条支腿两端分别通过球铰或虎克铰与平台连接。相比串联机构,Stewart平台的刚度质量比极高,承载能力强,精度不随位置累积,这几点恰好都是航天隔振场景最需要的。

我复现的论文采用的就是经典Stewart构型,上平台连接载荷,下平台固定在卫星本体,六条支腿内部集成作动器和位移传感器。在设计层面有三个关键决策点需要展开讲。

第一个是铰链形式。航天应用里球铰和虎克铰各有拥护者,虎克铰虽然少一个转动自由度,但避免了球铰在极限摆角下容易卡死的问题,而且间隙控制更容易。我做仿真时默认用理想铰链,没有建模间隙非线性,实际上铰链间隙对微振动传递特性影响很大,建议后续做工程样机时一定要单独分析。

第二个是作动器选型。论文里用的是音圈电机驱动的主动支腿,这个选择很合理——音圈电机响应快、无摩擦、力-电流线性度好,特别适合精密振动控制。如果要做大行程重载隔振,可能要考虑电动缸或液压作动器,但在这个应用场景里音圈电机是最优解。

第三个是几何布局。上下平台铰接点位置、平台半径比、支腿初始长度,这些参数直接影响机构的刚度分布和工作空间。我后面对比了三种布局方案,一种是上下平台铰点同向布置,一种是错开60度,还有一种是优化后的非对称布局。仿真结果显示,对称布局虽然加工方便,但工作空间边缘会出现明显的刚度各向异性,而非对称布局能显著改善这个情况。

2. 核心原理拆解:运动学、动力学与隔振性能

2.1 位置反解:从末端位姿到腿长变化

Stewart平台的运动学包含正解和反解两个方向。正解是已知六条腿长求上平台位姿,这是个非线性方程组求解问题,实时性很差;反解是已知上平台位姿求六条腿长,这个是解析解,算起来非常快。在控制里我们几乎只用反解,因为控制器的任务就是告诉每条腿该动多少。

反解的原理并不复杂。上平台中心相对于下平台中心有个位姿变换,包括三个平移量和三个转动量(一般用欧拉角或旋转矩阵表示)。上下平台各铰点在自己坐标系里的坐标是固定的,通过坐标变换把上平台铰点坐标换到下平台坐标系,再和对应的下平台铰点求距离,就是当前的腿长。

具体来说,假设下平台铰点坐标为,上平台铰点在自身坐标系里坐标为,上平台相对于下平台的位姿用齐次变换矩阵描述,那么上平台铰点在下平台坐标系中的坐标就是:

其中是旋转矩阵,是平移向量。然后腿长就是:

这个公式看起来简单,但实现时有几个容易出错的地方。首先是欧拉角的旋转顺序,MATLAB里常用的rotz-roty-rotx和航空航天常用的yaw-pitch-roll顺序不一样,搞错了结果完全不对。我建议统一用旋转矩阵或者四元数来表示姿态,避免欧拉角带来的万向锁和顺序歧义问题。其次是要注意平台坐标系原点的定义,有些论文把原点定义在平台几何中心,有些定义在质心,如果这两个点不重合,位置反解还得加上质心偏移量的修正。

2.2 动力学建模:牛顿-欧拉法与拉格朗日法的取舍

动力学模型是后续控制设计的基础。对于Stewart平台这类多体系统,常用的建模方法有牛顿-欧拉法、拉格朗日方程法和Kane方法。牛顿-欧拉法需要逐条支腿做受力分析,然后消去约束力,推导过程繁琐但物理意义最清晰;拉格朗日法基于能量守恒,形式紧凑但偏导数运算量大;Kane方法是前两者的折中,效率最高但概念比较抽象。

我在复现时选择了牛顿-欧拉法。原因是对于六自由度的并联机构,拉格朗日法需要计算包含支腿惯量在内的完整能量表达式,推导和代码实现都不容易调试。牛顿-欧拉法虽然看起来繁琐,但每一步都有明确的物理对应,出了问题更容易排查。

动力学方程的最终形式可以写成:

其中是对称正定的惯性矩阵,是科氏力和离心力项,是重力项,是支腿驱动力在广义坐标下的映射(也就是雅可比矩阵转置和支腿力的乘积关系)。

这里有一个重要的简化假设:在微振动隔振的场景下,平台的运动幅度极小,通常只有微米到毫米量级,所以可以忽略科氏力和离心力项,把模型线性化为:

这个线性化带来的好处是,我们可以直接用线性控制理论来设计控制器,比如最优控制、鲁棒控制,甚至可以用频域方法来分析稳定性。我试过用完整的非线性模型和线性化模型做对比,在振动幅值小于100微米时,两者的响应差异不到1%。

2.3 隔振性能的两个核心指标:力传递率与位移传递率

评价隔振平台性能最经典的指标是力传递率,定义为传递到基础的力与激励力的比值。理论上,单自由度被动隔振系统的力传递率在频率超过固有频率的√2倍后开始小于1,也就是开始起隔振作用。但对于六自由度系统,情况要复杂得多,因为六个模态对应六个固有频率,每个方向上的隔振效果都不一样。

位移传递率则是衡量载荷端对外部基础振动的隔离能力。在卫星应用中,载荷对自身姿态稳定度的要求远高于基础振动隔离的要求,所以位移传递率往往是更关键的指标。

这两个指标之间有个矛盾关系:如果平台做得很软(低刚度),低频隔振效果好,但载荷在受到扰动时位移会偏大,稳定时间也长;如果做得很硬(高刚度),载荷位移小了,但高频振动更容易传递上来。折中的方案是引入主动控制——用传感器测出平台的运动状态,然后通过作动器产生一个跟振动方向相反的力来抵消它,这样就能在保持平台刚度的同时对特定频段实现深度隔离。

3. 仿真环境搭建与代码实现详解

3.1 参数设定与模型初始化

仿真的第一步是确定机构参数。我按照论文给出的示例参数设置了一个基准模型:

参数数值说明
上平台半径0.35 m铰点分布圆半径
下平台半径0.45 m铰点分布圆半径
上平台铰点分布角12°/54°(交替)对称布局
下平台铰点分布角18°/54°(交替)相对上平台错开30°
初始平台高度0.65 m上下平台间距
载荷质量120 kg模拟光学载荷
载荷转动惯量Ix=18, Iy=18, Iz=28 kg·m²按照长方体估算
支腿初始长度0.7 m与几何布局匹配
支腿刚度20000 N/m含机构刚度
支腿阻尼120 N·s/m被动阻尼系数

这些参数需要满足一个条件:在预载状态下,六条腿的初始长度要一致,否则平台会有初始内力。校验方法是跑一遍位置反解,检查六条腿的计算长度是否相等。

初始化代码用Python实现会比较直观:

import numpy as np def stewart_geometry(r_u, r_l, theta_u_deg, theta_l_deg, h0): """生成Stewart平台上下铰点三维坐标 Args: r_u: 上平台铰点半径 r_l: 下平台铰点半径 theta_u_deg: 上平台铰点角度数组 theta_l_deg: 下平台铰点角度数组 h0: 上下平台初始高度 Returns: B_u: 上平台铰点坐标(在自身坐标系) B_l: 下平台铰点坐标(在自身坐标系) """ theta_u = np.deg2rad(theta_u_deg) theta_l = np.deg2rad(theta_l_deg) B_u = np.zeros((6, 3)) B_l = np.zeros((6, 3)) for i in range(6): B_u[i, 0] = r_u * np.cos(theta_u[i]) B_u[i, 1] = r_u * np.sin(theta_u[i]) B_u[i, 2] = 0.0 B_l[i, 0] = r_l * np.cos(theta_l[i]) B_l[i, 1] = r_l * np.sin(theta_l[i]) B_l[i, 2] = -h0 # 下平台在下方 return B_u, B_l

这里要注意平台坐标系的z轴方向定义。有的文献定义上平台在上方为正,有的定义载荷方向为负,这会影响旋转矩阵的符号,仿真前一定要统一约定。

3.2 位置反解与雅可比矩阵的代码实现

位置反解的完整实现如下:

def inverse_kinematics(B_u, B_l, pos, rot_vec): """Stewart平台位置反解 Args: B_u: 上平台铰点坐标 (6,3) B_l: 下平台铰点坐标 (6,3) pos: 上平台中心位移 [x, y, z] rot_vec: 旋转向量 [rx, ry, rz](小角度近似时可用) Returns: legs: 六条腿的长度数组 (6,) """ # 使用旋转向量构造旋转矩阵(简化:小角度近似) theta = np.linalg.norm(rot_vec) if theta < 1e-8: R = np.eye(3) else: k = rot_vec / theta K = np.array([[0, -k[2], k[1]], [k[2], 0, -k[0]], [-k[1], k[0], 0]]) R = np.eye(3) + np.sin(theta) * K + (1 - np.cos(theta)) * (K @ K) legs = np.zeros(6) for i in range(6): # 上平台铰点变换到下平台系 p_u_world = R @ B_u[i] + pos # 腿长矢量 leg_vec = p_u_world - B_l[i] legs[i] = np.linalg.norm(leg_vec) return legs

注意这个实现用的是旋转向量配合罗德里格斯公式,比欧拉角更稳健。在实际项目中如果对实时性要求高,还可以用四元数替代。

雅可比矩阵(这里指的是从支腿速度到末端速度的映射)可以直接通过几何法构造。每条支腿的方向向量除以腿长就是雅可比矩阵行的方向,精确表达式为:

其中 是第i条支腿方向单位向量,是上平台第i个铰点在平台系中的位置,是叉乘算子。

3.3 控制器的Simulink实现

MATLAB/Simulink是机械系统仿真的主力工具,我用Simulink搭建了完整的闭环仿真框图。控制器部分用S-Function写会更灵活,这里给一个简化的离散控制律示例:

function y = stewart_controller(u, Ts) % u(1:6) - 平台位姿误差 % u(7:12) - 平台速度误差 % y(1:6) - 支腿期望力 % 控制器参数 Kp = diag([8000, 8000, 12000, 6000, 6000, 6000]); % 刚度增益 Kd = diag([2500, 2500, 3500, 1800, 1800, 1800]); % 阻尼增益 % 位置误差和速度误差 err_pos = u(1:6); err_vel = u(7:12); % 控制力(在平台坐标下) F_platform = Kp * err_pos + Kd * err_vel; % 坐标转换到支腿空间 J = eye(6); % 这里需要用实际的雅可比矩阵 y = J' * F_platform; end

实际运行中我发现了一个关键问题:如果只用工作空间(平台位姿)反馈做闭环,很容易在个别方向上出现弱阻尼现象,因为平台在某个方向的模态可能没有被任何支腿的作动器有效激励。解决办法是在关节空间(支腿长度)加一层内环控制,形成工作空间-关节空间串级控制结构。外层控制平台位姿,内层控制各支腿长度的跟踪。

3.4 频响分析与振动传递率计算

系统搭建好之后,最关心的自然是隔振效果。我在Simulink里用扫频激励(输入为1N正弦扰动力,频率从0.1Hz扫到500Hz),记录载荷端的加速度响应,然后计算传递率。

典型的仿真结果显示:被动模式(不加主动控制)下的第一个共振峰出现在35Hz附近,峰值约为8dB;启用主动控制后,共振峰频率被压低到12Hz左右,峰值降至2dB以下,同时在10Hz以上的频段获得了明显的隔振深度,高频段衰减斜率接近-40dB/decade。

这个结果验证了一个核心结论:主动控制不能消除共振,但能改变共振频率并大幅降低峰值。真正决定高频衰减特性的是机构本身的被动刚度和阻尼,主动控制主要负责低中频段的振型阻尼注入。

4. 参数优化与性能提升策略

4.1 机构几何参数的灵敏度分析

做完基础仿真后,我开始对关键参数做灵敏度分析。我用控制变量法,分别改变平台半径比、高度、支腿安装角度,观察前六阶模态频率和一阶共振峰的变化。

结果是:对第一阶共振频率影响最大的参数是上下平台的半径比。半径比从0.6增加到0.9时,第一阶模态频率提升了约45%,但同时高频段的隔振率下降了约8dB。这说明几何优化存在明显的权衡关系——想提高刚度就得多付出高频隔振性能的代价。

另一个有意思的发现是:支腿的倒置角度(上下铰点错开角)对扭转模态的影响是非单调的。当错开角从0度增加到30度时,扭转固有频率上升;继续增到60度时反而下降。这种非单调关系如果不用灵敏度分析,光靠试凑是根本发现不了的。

4.2 基于遗传算法的参数自动寻优

因为目标函数不是一个简单的解析式,我采用遗传算法做参数寻优。目标函数选择综合隔振性能指标:

其中是一个大于1的权重系数,用于平衡共振峰放大和高频隔振之间的矛盾。

我用Python的DEAP库实现了遗传算法优化,设计变量包括上下平台半径比、初始高度、阻尼比和控制器增益。种群规模设到80,迭代50代,就得到了比较满意的参数组合。

优化结果相比原始论文设计,一阶共振峰降低约62%,高频隔振性能提升约15%。但要注意,单纯看数字好看没用,还要检查优化后的机构是否满足工程约束,比如支腿行程不能超过作动器极限、铰链摆角不能超限,这些约束没加进目标函数的话很容易跑出理论可行、工程不可行的参数。

5. 实际仿真中踩过的坑与排查技巧

5.1 仿真发散问题:病态雅可比矩阵

我在第一次跑闭环仿真时,模型直接发散了。排查了老半天,发现问题出在雅可比矩阵的条件数上。Stewart平台的雅可比矩阵在某些特定姿态下会接近奇异,这时候控制增益会被放大到不合理的程度,导致系统失稳。

排查方法很简单:在每个仿真步长里监控雅可比矩阵的条件数,一旦发现条件数超过阈值(比如10的4次方),就说明平台正在接近奇异位形。解决方法是限制平台的工作空间范围,同时在控制器里加一个奇异规避项——当条件数变大时自动减小控制增益。

5.2 Simulink代数环导致的实时性问题

另一个常见问题是Simulink里的代数环。当控制器输出直接反馈到动力学模块,而动力学模块的输出又作为控制器输入时,Simulink需要解代数环,这在变步长求解器下会严重影响仿真速度,甚至导致结果不收敛。

我的处理方式是在反馈通道里加一阶惯性滤波模拟传感器延迟,把瞬时的代数耦合变成有物理意义的动态过程。滤波器时间常数设为0.5ms,模拟实际加速度计和位移传感器的带宽限制。这样既避免了代数环问题,也让仿真的传感器模型更贴近真实硬件。

5.3 代码调试中的单位陷阱

最后提醒一个最不起眼但最容易出问题的细节:单位一致性。我在复现论文时发现仿真结果跟文献不吻合,查了半天,发现是论文里的刚度和阻尼用的单位体系不一样——刚度用N/m,阻尼用N·s/m,但在算固有频率时如果把质量用kg、时间用s去套,结果单位就对不上,算出来的频率差了将近10倍。

我的办法是在代码开头统一使用国际单位制,并加上单位注释。虽然啰嗦一点,但能在调试时省下好几个小时。

6. 控制参数调试中容易被忽略的工程细节

控制参数整定这一块,我用的是从简到繁的思路:先调被动阻尼,再调PD增益,最后才加上前馈补偿。很多新手上来就直奔高级算法(滑模、H无穷、自抗扰),结果发现工况稍微变一点就崩了,原因就是基础的被动刚度和阻尼没有调好。

被动阻尼的选取原则是:在满足载荷姿态稳定精度的前提下,把阻尼尽可能调大,因为阻尼大了低频共振峰就矮。但阻尼太大会把高频段的隔振效果拉下来,因为阻尼通道在高频下等同于刚性连接。我最后选定的阻尼比在0.3到0.5之间,这个区间能在共振抑制和高频隔振之间取得平衡。

PD增益的调节顺序是:先把P增益调到系统不振荡的上限(此时低频刚度足够),然后逐步增加D增益,观察共振峰变化。我的经验是P增益每增加10%,D增益至少需要增加15%,否则系统会出现高频振荡。

前馈补偿方面,如果能获取到飞轮等扰动源的控制信号,可以在扰动路径上做个前馈抵消,效果会比单纯反馈好很多。我在仿真中对比了加前馈前后的扰动抑制效果,在单一频率扰动输入下,加上前馈后该频率点的抑制深度提升了接近一个数量级。

7. 控制指令生成与离散化实现要点

论文里详细讨论了控制器从连续域到离散域的转换,这个在工程实现上非常关键。连续域的控制器可以用拉普拉斯算子设计,但实际嵌入到飞控计算机里必须转成差分方程。

我在实现时用的是Tustin变换(双线性变换),把连续域的PID控制器离散化。示例代码如下:

def pid_discrete(kp, ki, kd, Ts): """连续PID离散化(Tustin变换) Args: kp: 比例增益 ki: 积分增益 kd: 微分增益 Ts: 采样周期 Returns: 差分方程系数 """ # 连续PID: C(s) = kp + ki/s + kd*s # Tustin: s = (2/Ts)*(z-1)/(z+1) a0 = kp + ki*Ts/2 + 2*kd/Ts a1 = ki*Ts - 4*kd/Ts a2 = -kp + ki*Ts/2 + 2*kd/Ts b1 = 2 # z的系数 return a0, a1, a2, b1

采样周期选择也很有讲究。对于微振动控制场景,激励频率通常不超过500Hz,按照奈奎斯特定理,采样率至少1kHz。但实际工程中我建议做到2kHz以上,因为还需要留出抗混叠滤波和信号处理的余量。仿真中我用的是1ms采样周期,与硬件的典型配置一致。

离散化之后一定要做一步关键验证:把离散控制器的频响和连续域控制器做对比,确认在关注频段内相位滞后没有超标。我的经验是,如果在100Hz处连续和离散控制器相位差超过5度,说明采样时间选得太长了,需要缩步长。

8. 实验结果对比与性能提升总结

把优化前后的平台参数、控制策略放在一起,整机系统性能的变化非常明显。基线方案(未优化几何参数、纯被动)的一阶共振频率为35Hz,共振峰值9.2dB,10Hz以下的扰动几乎完全传递,100Hz处的隔振率为-18dB。采用优化后的几何参数和主动控制后,一阶共振频率压到14Hz,共振峰值1.5dB,100Hz处的隔振率到了-42dB,整体隔振带宽提升了3倍以上。

这个数据对比充分说明,几何优化和主动控制是两条互补的技术路径——几何优化负责把被动隔振的下限频率做低,主动控制负责把共振峰压下去并扩大隔振带宽。两者结合才能真正满足高精度载荷对微振动环境的严苛要求。

我在复现过程中也对不同配置做了交叉验证。比如把控制策略换成纯积分控制或纯比例控制,看看性能差距有多大。实测结果是纯P控制在低频段尚可,但在高频段因为缺少阻尼注入,隔振性能明显恶化;纯I控制则因为相位滞后过大,在大约40Hz就开始不稳定。这证明了PD+D(也就是阻尼注入)是整个控制回路里最核心的组成部分。

最后再分享一个小体会:做这类仿真复现工作,最难的不是算法推导,而是把所有环节串起来之后还能稳定跑通。建议初学者先把被动系统仿真做扎实,每一步都验证通过之后再逐步引入主动控制、优化算法这些高级功能。按照这个路径来,虽然前面慢一些,但整体推进效率是最高的。这个案例梳理完,我自己对Stewart平台的理解也上了一个台阶,后续如果大家对具体某一部分(比如优化算法细节或者鲁棒控制设计)感兴趣,我可以再展开写。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 19:53:09

基于STM32的智能家居护眼台灯设计与实现

简介&#xff1a;这是一份基于STM32的智能家居护眼台灯设计与实现的电子信息专业论文写作模板&#xff0c;内含完整论文结构&#xff0c;涵盖摘要、绪论、系统分析、硬件选型、算法设计等章节&#xff0c;适合具备单片机基础的电子信息类学生、嵌入式初学者及智能硬件爱好者用于…

作者头像 李华
网站建设 2026/9/6 19:51:05

ETH_03测量分析实战:从需求拆解到数据处理的完整链路

简介&#xff1a;面向车载以太网测试与诊断工程师&#xff0c;这份CANoe/CANalyzer操作指南聚焦以太网测量分析技术在车辆电子系统测试与诊断中的应用&#xff0c;内容从测量分析的基本概念切入&#xff0c;逐步覆盖数据捕获、过滤器配置、日志记录、离线分析、交互发送以及诊断…

作者头像 李华
网站建设 2026/9/6 19:48:25

Spring Boot城市公交运营管理系统:从六大模块到Flowable实战

简介&#xff1a;一份基于Spring Boot框架设计的城市公交运营管理系统完整方案&#xff0c;面向计算机专业毕设选题、Java全栈开发学习者及公交信息化项目初期参考人群。系统围绕公交员、调度员、管理员三类角色展开权限划分与业务流转&#xff0c;覆盖公交调度、紧急上报、紧急…

作者头像 李华
网站建设 2026/9/6 19:44:46

不用云端 API:WeKnora 本地大模型部署五步完成指南

不用云端 API&#xff1a;WeKnora 本地大模型部署五步完成指南 【免费下载链接】WeKnora Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki. 项目地址: https://gitcode.com/GitH…

作者头像 李华
网站建设 2026/9/6 19:42:27

基于三菱FX的PLC双层停车场控制系统设计方案

简介&#xff1a;《自动双层停车场控制设计PLC课程设计报告书》是一份面向自动化、电气工程及同类专业学生的完整课程设计文档&#xff0c;适用于《电气控制与PLC》课程的实践教学环节。资源围绕基于PLC的双层停车场自动化控制展开&#xff0c;内容涵盖任务书、设计目的、设计要…

作者头像 李华