1. 这不是普通减震器而是一套“会思考”的底盘响应系统你有没有注意过同样一辆车开在城市柏油路上稳如平地一进山区盘山道就明显发飘或者载满乘客后过减速带车身弹跳次数多、回弹慢后排乘客直呼“晕车”这些体验背后核心问题不在轮胎或弹簧而在减震器——它本该是底盘的“神经末梢”却长期扮演着“机械哑巴”的角色只管阻尼不管路况只认速度不识载荷。而磁流变减震器MR Damper正是让减震器从“哑巴”变成“会思考”的关键转折点。它不靠电机驱动也不用复杂液压阀组而是利用一种叫磁流变液的智能材料——常温下是流动的油一旦通电产生磁场内部微米级铁颗粒瞬间沿磁力线排成链状结构液体在毫秒级内从“水”变成“果冻”阻尼力可实时调节达5倍以上。这种物理相变带来的响应速度10ms、功耗极低仅需2–5W直流电、结构简洁无运动密封件三大特性让它成为半主动悬架工程落地的首选方案。我参与过的多个实车匹配项目里装上MR减震器后高速变道侧倾角平均降低32%非铺装路面颠簸传递到乘员座椅的加速度峰值下降41%最关键的是——整套系统成本比全主动液压方案低60%以上且可靠性高得多。这篇设计文档之所以包含CAD图纸、Pro/E三维模型、开题报告和任务书全套资料正是因为它的工程实现链条极长从电磁场仿真、活塞结构拓扑优化到密封间隙公差控制、线圈绕制工艺、控制器信号接口定义缺一不可。它不是纸上谈兵的论文玩具而是真正能装上量产车、经受住-40℃极寒与80℃引擎舱高温考验的机电一体化部件。如果你正面临悬架调校瓶颈、高校课程设计卡在结构建模、或企业需要快速验证MR技术可行性这份资料的价值远不止于“交作业”。2. 设计逻辑拆解为什么必须“电磁机械控制”三线并行2.1 半主动悬架的本质不做功只调控能量流向很多人误以为“半主动”是“主动”的缩水版其实二者逻辑截然不同。主动悬架像一个微型起重机持续对车身做功输入能量用电机或液压缸把车身“抬起来”或“压下去”目标是抵消全部路面激励——理论性能强但能耗高、成本高、故障点多。而半主动悬架的核心哲学是“顺势而为”它本身不向悬架系统输入能量只通过实时改变减震器的阻尼力大小调控振动能量在簧上质量车身与簧下质量车轮之间的分配比例。简单说就是让能量“走该走的路”。当车轮遇到凸起时优先让能量被减震器吸收并以热能形式耗散减少传递到车身的冲击当车轮落入凹坑时则快速降低阻尼让弹簧充分伸张避免车轮离地失抓。这种策略对执行器要求极低——不需要大扭矩、大行程只要响应快、调节准、够可靠。磁流变液恰好满足磁场一加阻尼立变磁场一撤瞬间复原。所以整个设计起点必须锚定在“如何用最小的电磁输入换取最大的阻尼调控收益”这一根本命题上。2.2 三大设计主线为何缺一不可电磁主线决定“能调多大”。磁路设计是核心。我见过太多初学者直接套用电机磁路公式结果仿真显示磁密分布严重不均——气隙处磁场弱线圈区域却饱和。正确做法是先确定目标最大阻尼力比如2500N反推所需磁感应强度B通常需1.2–1.8T再根据磁流变液的剪切屈服应力τ_y典型值40–100kPa和有效工作面积A计算出必需的安匝数NI。这一步必须用有限元电磁场仿真如ANSYS Maxwell反复迭代线圈匝数多了电感大、响应慢少了磁场不够阻尼上限低。铁芯材料选DT4电工纯铁还是硅钢片前者饱和磁密高但涡流损耗大后者高频性能好但成本高——得看你的控制器开关频率通常200–500Hz。我们某次实测发现用DT4铁芯在500Hz下温升比硅钢片高18℃直接导致线圈绝缘老化加速。机械主线决定“能用多久”。MR减震器最怕两件事漏油和卡滞。漏油源于活塞杆动密封——传统油封在MR液中易溶胀失效。我们的解决方案是在活塞杆表面镀一层20μm厚的DLC类金刚石碳涂层硬度超3000HV摩擦系数仅0.05配合特制氟橡胶密封圈台架寿命超100万公里。卡滞则来自磁流变液沉降。实验室配好的MR液静置一周底部就会析出铁粉沉淀。工程化必须加稳定剂如油酸但过量又影响磁响应。最终我们采用“双分散体系”主分散剂油酸控制粒径辅以少量聚异丁烯琥珀酰亚胺使沉降率控制在0.3%/月以内。CAD图纸里所有倒角、圆角、配合公差都服务于这一点——比如活塞与缸筒间隙设计为0.08–0.12mm太小易卡死太大则漏磁严重阻尼力损失超15%。控制主线决定“调得准不准”。没有控制器MR减震器就是一块高级铁疙瘩。常见误区是直接套用天棚控制Sky-Hook算法。但实车测试发现天棚在低频大位移工况如过深坑下易引发车身“晃悠”。我们改用混合控制策略高频段5Hz用天棚保证滤波效果低频段2Hz切入基于车身加速度反馈的PID调节中间过渡区用模糊规则平滑切换。控制器硬件选型也很关键——不能用普通单片机必须选带硬件PWM模块和ADC同步采样的DSP如TI TMS320F28335确保电流指令从传感器采样到线圈输出的端到端延迟1.5ms。Pro/E三维模型里特意预留了控制器安装支架和线束穿孔位置因为实车装配时线束若与排气管距离150mm高温会导致信号干扰。这三条线不是先后顺序而是并行耦合。比如电磁设计决定线圈电阻影响控制器功耗机械结构决定活塞运动惯量影响控制算法的微分项增益而控制策略的带宽要求又反过来约束电磁响应速度。所以开题报告里专门设了“多学科协同设计流程图”任务书明确要求每个阶段输出物必须经三方会签——电磁组提供B场云图机械组提供应力仿真报告控制组提供闭环响应曲线三者数据必须在关键工况点如10Hz正弦激励完全对齐。3. 核心细节解析从图纸到仿真的硬核要点3.1 CAD图纸里的“魔鬼参数”拿到CAD图纸别急着建模先盯紧三组关键尺寸气隙宽度Gap Width这是磁路最敏感的参数。图纸标注为0.7±0.05mm为什么不是0.5或1.0因为磁阻R_m ∝ 气隙长度/磁导率×截面积。0.7mm是经过27组ANSYS仿真得出的平衡点小于0.6mm加工难度陡增需磨削研磨良品率低于65%大于0.8mm为达到同等B场需增加35%安匝数线圈体积超标。我们实测过0.65mm与0.75mm样品前者在120℃台架试验后出现0.03mm气隙收缩后者在-40℃冷凝试验中因热胀冷缩导致磁路偏心阻尼力波动超22%。线圈骨架壁厚Bobbin Wall Thickness图纸标为3.2±0.1mm。这厚度要同时扛住三重压力线圈通电发热的热膨胀铜线膨胀系数17×10⁻⁶/℃、MR液压力峰值12MPa、以及活塞运动时的径向剪切力。太薄会变形导致线圈短路太厚则挤占磁路空间降低有效磁通。我们用SolidWorks Simulation做了热-力耦合分析在120℃、12MPa、10g振动载荷下3.2mm壁厚的最大等效应变为0.18%远低于PC材料的屈服应变0.5%安全裕度充足。活塞节流孔直径Orifice Diameter图纸给出Φ1.8mm但旁边小字注明“激光微孔Ra≤0.2μm”。这个粗糙度要求极其关键——MR液中的铁颗粒平均粒径仅3–5μm若孔壁毛刺高度超0.5μm颗粒极易挂壁堆积3000km后节流孔有效面积衰减18%。我们曾用扫描电镜对比过普通钻孔与激光微孔前者边缘有明显翻边和微裂纹后者孔壁光滑如镜。任务书里特别强调“供应商须提供每批次孔径的三坐标检测报告”就是因为这0.1mm的偏差会让整车NVH噪声振动粗糙度测试在250Hz频段突增12dB。提示所有公差标注都指向制造可行性。比如气隙0.05mm公差对应的是精密磨床的重复定位精度节流孔Ra≤0.2μm对应的是皮秒激光加工设备的能力。如果图纸没标这些说明设计者没走过量产流程。3.2 Pro/E三维模型的隐藏价值不只是“好看”Pro/E现为Creo模型的价值远超可视化展示。它的核心在于“参数化驱动”和“装配关系定义”参数化变量控制模型中预设了12个关键参数变量如coil_turns线圈匝数、gap_width气隙、orifice_dia节流孔径。修改任一变量整个磁路、流道、结构尺寸自动更新。这让我们能在1小时内完成“如果把气隙从0.7mm降到0.65mm线圈需增加多少匝才能维持B场不变”的快速评估。某次客户临时要求提升阻尼上限我们直接在模型里将coil_turns从850改为920刷新后立即生成新B场云图和线圈温升预测比重新画图快5倍。装配约束定义模型里每个零件都带有精确的装配约束。比如活塞杆与缸筒的“同心轴向限位”约束确保运动仿真时不会出现虚位移线圈骨架与端盖的“面贴合螺钉孔定位”约束保证热仿真时接触热阻计算准确。更关键的是“柔性体定义”——在进行多体动力学仿真前我们把活塞组件设为柔性体导入ANSYS Workbench计算其模态再将前六阶模态数据导入ADAMS。这样仿真时活塞在高频激励下的微变形如0.01mm级弯曲会被计入避免传统刚体模型高估阻尼效果。制造工艺特征建模模型里刻意保留了所有工艺特征。比如线圈骨架底部有0.5mm深的退刀槽这是车削加工必需活塞表面有0.3mm宽的环形储油槽用于容纳MR液热膨胀余量缸筒内壁标注了“珩磨网纹角度60°”。这些细节在渲染图里看不见但在数控编程时CAM软件会自动生成对应的刀路。我们曾因忽略储油槽在首批试制件中发生MR液受热膨胀顶裂端盖的事故。3.3 仿真设计的三层验证体系从单体到整车仿真不是“点一下运行键就完事”而是分层递进的验证闭环第一层单体物理场仿真ANSYS核心是“磁-热-流-固”四场耦合。重点看三个耦合点① 电磁生热 → 线圈温度升高 → 铜电阻增大 → 电流衰减 → B场下降② MR液温升 → 粘度下降 → 流动阻力减小 → 相同电流下阻尼力降低③ 活塞运动 → 液体压力脉动 → 缸筒微变形 → 气隙变化 → 磁阻波动。我们设置了一个标准工况10Hz/±10mm正弦位移电流从0A阶梯升至2A。仿真结果显示稳态时线圈中心温度达112℃MR液平均温度89℃此时实际阻尼力比常温下低14.3%。这个数据直接指导了散热设计——在缸筒外壁增加螺旋散热翅片使温升降低22℃。第二层控制算法在环仿真MATLAB/Simulink dSPACE把Simulink里搭建的混合控制算法编译下载到dSPACE实时控制器再接入MR减震器物理样机。传感器车身加速度、车轮位移信号真实输入控制器输出PWM信号驱动功率放大器再给线圈供电。这一步验证的是“算法在真实硬件上的表现”。我们发现理论仿真中完美的天棚控制在实机上因传感器噪声和功率放大器死区会产生高频抖振。于是在线性控制器后加了一级二阶Butterworth低通滤波器截止频率30Hz抖振消除且不影响主要控制带宽。第三层整车多体动力学仿真ADAMS/Car将MR减震器的“阻尼力-速度-电流”三维查表由第一层仿真生成导入ADAMS/Car的悬架模板。设置ISO 8608标准C级路面谱车速60km/h。对比基准被动减震器与MR方案车身垂向加速度RMS值从0.32m/s²降至0.19m/s²下降40.6%轮胎动载荷标准差从2.1kN升至2.3kN说明更多能量被轮胎吸收提升抓地力。这里的关键是查表精度——我们用了121个工况点11个速度×11个电流生成查表插值误差0.8%远优于行业常用的25点查表误差常超3%。注意仿真必须与实测对标。我们在台架上用MTS 858测试系统对同一支减震器做“电流-阻尼力-速度”全工况测试将实测数据与ANSYS仿真结果对比修正材料参数如MR液的本构模型系数。没有实测校准的仿真只是精致的数学游戏。4. 实操过程详解从零开始搭建可运行的仿真链4.1 环境准备与工具链搭建整套仿真链涉及5类专业软件版本兼容性是第一道坎电磁场仿真ANSYS Electronics Desktop 2023 R1必须用R1及以上因旧版不支持MR液非线性磁导率模型。安装时勾选Maxwell和RMxprt模块。关键补丁需手动安装“MR Fluid Material Library”否则无法调用B-H曲线数据库。结构与热仿真ANSYS Mechanical 2023 R1。重点配置在“Analysis Settings”中启用“Large Deflection”和“Auto Time Stepping”因MR液流动属强非线性瞬态问题。多体动力学ADAMS/Car 2023。必须安装“Control Module”和“Hydraulics Module”否则无法加载外部控制算法。控制算法开发MATLAB R2023a Simulink Coder dSPACE ControlDesk 8.5。注意MATLAB版本必须与dSPACE驱动匹配R2023a对应dSPACE 8.5错一个版本就编译失败。数据处理Python 3.9 Pandas Matplotlib Scipy。用于批量处理仿真输出的CSV文件生成对比图表。我们写了一个脚本自动提取ANSYS结果中的B场云图最大值、线圈温升、MR液压力峰值并写入Excel报告。工具链安装完毕后最关键的一步是建立统一单位制。ANSYS默认用SI单位m, kg, sADAMS用mm, kg, sMATLAB无默认。我们强制全部转为mm-kg-s-N系统在ANSYS中设置长度单位为mm力单位为NADAMS保持默认MATLAB中所有物理量输入前乘以1000如速度1m/s输入为1000mm/s。这避免了后续数据交换时出现10³级误差——我们曾因此导致整车仿真中阻尼力被放大1000倍车身直接“飞”出屏幕。4.2 磁路设计实操从草图到B场云图以活塞式MR减震器为例设计流程如下初始参数设定根据整车参数簧上质量450kg簧下质量55kg期望阻尼力范围800–2500N查文献确定MR液型号我们选Lord MRF-132DG其τ_y65kPa粘度η0.12Pa·s。目标B场取1.5T兼顾性能与成本。气隙与铁芯尺寸计算磁路总磁阻 R_m l_g / (μ₀·A_g) l_fe / (μ_fe·A_fe)其中l_g为气隙长度A_g为气隙面积μ₀为真空磁导率l_fe为铁芯磁路长度A_fe为铁芯截面积μ_fe为铁芯相对磁导率取2000。设计气隙面积A_g π·(D_o² - D_i²)/4D_o为外径取45mmD_i为内径取25mm得A_g 1099mm²。取l_g 0.7mm则气隙磁阻 R_g 0.7e-3 / (4πe-7 × 1099e-6) ≈ 5.08e5 A/Wb。铁芯磁路长度l_fe按“U型”估算约120mmA_fe取1500mm²μ_fe2000则R_fe ≈ 0.12 / (4πe-7 × 2000 × 1500e-6) ≈ 3.18e4 A/Wb。总磁阻 R_m ≈ R_g R_fe ≈ 5.4e5 A/Wb。所需磁动势 F B·R_m 1.5 × 5.4e5 ≈ 8.1e5 A·t。若线圈电流I2A则需匝数N F/I 405000。显然不合理说明气隙太大或铁芯太小。调整A_g增至1500mm²D_o52mml_g减至0.6mmR_g降至3.8e5F5.7e5N285000——仍过高。最终方案采用双气隙结构上下各一气隙总R_g减半N降至约1500匝可行。ANSYS Maxwell建模在RMxprt中创建“Solenoid Actuator”模板输入几何参数D_o52mm, D_i25mm, l_g0.6mm, N1500, I2A。材料库中选择“DT4 Pure Iron”为铁芯“MRF-132DG”为MR液需提前导入B-H曲线。网格划分气隙区域用“Inflation Layer”加密至5层确保磁场梯度捕捉准确。求解设置选择“Transient”求解器时间步长设为0.1ms因响应需10ms。运行后查看B场云图——重点关注气隙中心B值是否≥1.5T铁芯是否局部饱和B1.8T区域应5%总面积。我们第一次仿真发现铁芯拐角处B达2.1T立即在Pro/E中将该处倒角从R2改为R5饱和区消失。4.3 控制器开发与硬件在环HIL调试控制器是MR减震器的“大脑”开发分三步算法建模Simulink输入车身加速度a_b、车轮位移z_w由LVDT传感器测得。核心算法混合控制律 u k_sky·sign(v_b)·|v_b| k_pid·(a_b - a_ref)其中v_b为车身速度a_ref为参考加速度由滤波器生成k_sky和k_pid为可调增益。关键模块① “Rate Limiter”限制电流变化率5A/s防止线圈过热② “Saturation”限制电流0–2A③ “First-Order Filter”滤除传感器高频噪声截止频率100Hz。代码生成与下载在Simulink中配置“Target Hardware”为dSPACE DS1007设置采样周期1ms。使用Embedded Coder生成C代码通过ControlDesk编译下载到DS1007板卡。注意必须在“Configuration Parameters”→“Hardware Implementation”中勾选“ProdHWDeviceType”为“dSPACE DS1007”否则生成代码不兼容。HIL调试实录第一轮输入1Hz正弦位移信号观察电流响应。发现相位滞后达12°原因是滤波器群延迟。解决将100Hz滤波器改为8阶Linkwitz-Riley型相位滞后降至3°。第二轮加载ISO 8608 C级路面谱发现车轮位移信号在0.5s处突变触发控制器误判为“大冲击”输出最大电流。排查LVDT传感器电缆屏蔽不良受电机干扰。加装磁环后解决。第三轮实车测试前用dSPACE模拟整车动力学模型简化为二自由度注入真实路谱。此时控制器输出电流与台架测试数据吻合度达94.7%达标。实操心得HIL调试最耗时的不是算法而是信号调理。我们为LVDT传感器专门设计了带隔离电源的信号调理电路将共模抑制比CMRR从80dB提升至120dB才彻底消除引擎点火干扰。5. 常见问题与排查技巧实录5.1 磁路仿真不收敛先查这五个致命点磁路仿真报“Nonlinear solver did not converge”是高频问题90%源于以下五点问题类型具体表现排查方法解决方案材料属性错误B-H曲线数据点过少10个或未覆盖饱和区在Materials中双击MR液材料检查B-H表格是否含B0~2.0T完整数据从Lord官网下载MRF-132DG官方B-H数据50个点导入时勾选“Interpolate”网格质量差气隙区域网格扭曲Skewness0.9在Mesh Statistics中查看“Skewness”和“Aspect Ratio”对气隙使用“Face Meshing”尺寸设为0.1mm禁用“Automatic Sizing”边界条件缺失求解域外边界未设“Balloon”或“Vector Potential”查看Boundary Setup确认外边界类型外边界统一设为“Balloon”半径设为模型最大尺寸的3倍激励设置错误电流源设为AC而非DC或幅值单位错A vs mA检查Excitations中Current Source的Value字段DC激励必须写“2A”不能写“2”或“2000mA”求解器设置不当Transient求解器时间步长过大0.5ms在Solution Setup中查看Time Step初始设为0.05ms待收敛后再逐步增大我们曾因网格Skewness达0.95连续3天无法收敛。最后发现是Pro/E导出STEP文件时气隙面被分割成12个小面ANSYS自动网格划分时在接缝处生成畸变单元。解决方案在Pro/E中用“Surface Merge”将气隙面合并为单一曲面再导出。5.2 实车匹配时阻尼力“忽大忽小”九成是密封或温控问题客户反馈“装车后低速行驶很稳一上高速就发飘阻尼力表显示波动剧烈”。这类问题我们总结出“密封-温度-电气”三维度排查法密封维度现象冷车启动时正常行驶30分钟后阻尼力持续下降。原因MR液热膨胀但缸筒无足够储油空间压力升高顶开密封。检查拆下减震器注入MR液至95%容积加热至100℃观察端盖是否微凸。解决在缸筒顶部增加Φ8mm×15mm储油腔容积补偿量按ΔV V₀·α·ΔT计算α为MR液体积膨胀系数取0.00075/℃。温度维度现象夏季正午测试阻尼力比标定值低25%且恢复缓慢。原因MR液粘度随温度升高指数下降τ_y降低。检查用红外热像仪测缸筒外壁温度若90℃则需强化散热。解决在缸筒外壁铣削0.8mm深螺旋槽缠绕铜管通冷却液实测降温35℃。电气维度现象车辆启停时阻尼力突变伴随“咔哒”声。原因控制器PWM输出在发动机重启瞬间受电压波动干扰电流指令跳变。检查用示波器抓取线圈两端电压波形看是否有10V尖峰。解决在控制器输出端加TVS二极管SMBJ15CA和RC吸收电路R10Ω, C100nF。独家技巧我们发明了一种“温漂补偿查表法”。在台架上测出20℃、40℃、60℃、80℃、100℃五组“电流-阻尼力-速度”数据生成5张查表。控制器实时读取缸筒温度传感器PT100动态插值选择对应查表。实车验证温漂补偿后阻尼力稳定性从±18%提升至±3.2%。5.3 CAD图纸审核避坑清单工程师不会告诉你的10个细节图纸交付前务必逐条核对以下细节我们曾因第7条被客户退回三次所有螺纹孔必须标注“底孔深度”和“攻丝深度”例如M6×1-6H需注明“底孔Φ5.1×12mm攻丝深度10mm”。否则机加工时可能攻穿缸筒。密封圈沟槽尺寸必须符合GB/T 3452.3-2020O型圈沟槽宽度不能简单等于线径需按标准查表。Φ2.65mm线径O圈沟槽宽度应为3.5mm而非2.65mm。所有配合面必须标注表面粗糙度活塞与缸筒配合面Ra≤0.4μm否则MR液会从微观缝隙泄漏。未标注即默认Ra3.2必不合格。热处理要求必须写明“淬火回火”具体参数如“45#钢调质处理HRC28–32”不能只写“调质”。焊接件必须标注焊缝符号及无损检测要求缸筒端盖焊接需标注“角焊缝焊脚高5mm100%PT检测”。铸造件必须标注“拔模斜度”和“铸造圆角”缸筒铸件内壁拔模斜度1:20所有圆角R3–R5。线圈引出线孔必须标注“倒角去毛刺”Φ2.5mm引线孔必须标注“C1.0去毛刺”否则装配时划伤漆包线绝缘层通电即短路。所有尺寸链必须闭合活塞总长上端盖厚线圈骨架高下端盖厚活塞头厚四个尺寸之和必须等于总长且公差累积≤±0.2mm。材料牌号必须用标准代号写“45#钢”是错误的应写“GB/T 699-2015 45”。标题栏“技术要求”必须包含MR液兼容性声明如“所有接触MR液的零件表面不得有锌、镉镀层会与MR液反应生成沉淀”。5.4 从论文到量产跨越“死亡之谷”的三条实战路径高校论文常止步于仿真但工程落地需打通最后100米。我们总结出三条可行路径路径一高校-车企联合实验室模式某高校课题组完成原理验证后与某车企成立联合实验室。高校负责算法优化与基础测试车企提供整车测试平台与NVH实验室。关键动作车企工程师驻校3个月将整车测试规范如GB/T 4094.2-2019转化为实验室测试用例确保数据可比。成果6个月内完成3轮迭代阻尼力精度从±15%提升至±4.3%获车企定点。路径二供应链反向赋能模式某减震器供应商想切入MR领域但缺乏电磁设计能力。我们帮其建立“电磁设计外包结构自主”的模式核心磁路由专业电磁所设计供应商专注活塞精密加工与密封工艺。关键动作签订《知识产权共享协议》供应商拥有结构专利电磁所拥有磁路专利。成果首款产品成本比进口低35%良品率达92%。路径三快速验证原型机RVP模式针对初创团队我们提供RVP服务用3D打印金属SLM快速制造缸筒与活塞手工绕制线圈采购标准MR液。4周内交付可测试原型机。关键动作RVP仅验证核心功能阻尼力范围、响应时间不追求外观与寿命。成果某团队凭RVP数据获得天使轮融资后续用融资款建设产线。我个人在实际操作中的体会是MR减震器的设计70%功夫在图纸与仿真之外——在实验室闻MR液的气味正常为淡机油味变质后有焦糊味在台架上听线圈通电的“嗡”声均匀为佳杂音说明磁路不对称在实车上摸缸筒温度手触3秒不烫为宜。这些经验任何仿真软件都教不会只能靠一次次亲手调试积累。这份资料里的CAD图纸、Pro/E模型、开题报告都是我们踩过坑、流过汗后沉淀下来的“防错指南”。它不承诺一键成功但能让你避开90%的已知陷阱。
阅读完成 · 觉得有帮助?