作者:Jody Muelaner博士
BriefBike是一款电动自行车,可以像雨伞一样在瞬间折叠。这是一个很好的研究机制设计的案例,因为许多约束都必须考虑,以确保自行车在骑行、折叠和折叠状态时表现正确。我以前写过关于如何使用SolidWorks中基于约束的草图工具来解决一些相对简单的机构综合问题。在本文中,我将展示如何使用脚本和数据过滤扩展这些技术,以解决高度复杂的机制设计挑战。
BriefBike被设计成可以像雨伞一样快速轻松地折叠,但最初的设计有点太宽,而且座椅高度的调整方式也存在问题。这项工作优化了机构,以提供更紧凑的折叠与增强骑几何。
在前一篇文章中,我介绍了基于几何约束的素描如何综合机构。本文进一步阐述了这些思想,提供了一个具有许多不同约束的机制优化的实际示例。最值得注意的是,它表明不可能制定一个可以包含所有这些约束的单一草图来直接求解最优解。
因此,该方法仅使用几何约束草图来求解给定参数集的机构。这可以对不同的输入参数组合重复多次,记录每个配置的输出参数。然后,所有结果都可以列在电子表格中,过滤掉不符合基本标准的配置,并进行排序以找到最佳设计。在此阶段使用电子表格还可以计算指标以组合参数,甚至可以创建单个目标函数,用于使用单个指标对设计进行排名。
使用宏来解决大量配置
在实践中,更新草图中的参数并在电子表格中记录驱动参数变得耗时且容易出错,只要有多个参数需要更新。例如,如果有7个参数(或因素)和3个参数值(或因素级别),则有2187个配置。即使您可以在一分钟内更新草图中的参数并在Excel中记录一个配置的值,仍然需要一周的繁琐工作。在SolidWorks中使用excel驱动的配置似乎是显而易见的解决方案,但在实践中,这并不适用于非常多的配置。解决方案是使用SolidWorks API打开文件,读入参数集,重建模型,并存储结果。为此,我们创建了一个应用程序,它使用三个简单的文本文件作为输入和输出:
- 该文件由用户创建,用于定义要解决的问题。它有三行:
- 要打开并与之交互的SolidWorks部件的文件名
- 由脚本更新的驱动参数的逗号分隔列表
- 由脚本记录的驱动参数的逗号分隔列表
- txt:该文件也是由用户创建的。每行用逗号分隔的值列表表示不同的配置,每个值对应于input .txt中第二行列出的驱动参数之一。
- txt:该文件由脚本创建。它具有与parameters.txt类似的结构,每行也表示不同的配置,作为每个参数的逗号分隔值列表。在本例中,列出的是在input .txt的第三行中列出的驱动参数。
机制设计过程包括首先在SolidWorks中定义问题,在Power Query中生成配置,使用SolidWorks API脚本(我们使用内部代码DimWorker.exe)解决所有配置,然后通过在Excel中分析结果确定最佳解决方案。实验和迭代可能发生在这个过程中的多个点上。
理解约束条件
一个演示器已经被制造出来,它证明自行车可以在不到半秒的时间内展开。然而,折叠时仍然有点太宽,优化机制以进一步减小折叠宽度而不影响重要的驾驶特性是具有挑战性的。需要同时满足的大量约束意味着不可能直接解决找到最佳机制的问题。因此,创建了使用脚本生成多个解决方案的方法。
BriefBike的关键标准可以概括如下:
- 折叠和展开在一个单一的毫不费力的运动成一个滚筒箱格式
- 宽度小于500毫米,能够在人身后滚动通过门和人群,并适合第二级行李折叠
- 高度约1100毫米,为滚动提供正确的抓地高度
- 厚度小于150mm,可以方便地靠墙平放,在密闭空间内紧贴身体
- 传动角度必须大于30°,这样连杆就不会绑定
- 第二阶段折叠,将高度降低到700毫米以下,以符合国际火车标准行李尺寸(700 x 500 x 300毫米)。
- 稳定的两轮拖链设计时,在滚轮箱格式,解释如下
- 骑行几何必须与传统自行车相媲美。最重要的参数是车头角、尾迹、轴距、底部支架在车轮之间的位置和有效杆长。这些参数将在本文后面定义参数草图的地方进行说明。
- 框架结构必须是高效的。在草图上测量的尺寸可以作为Excel阶段桁架关节力自由体图计算的输入。
- 零件在折叠过程中不得相互碰撞,各种间隙尺寸与定义草图反映了这一要求。
通过考虑两种不同类型的常用滚轮箱,我所说的稳定的两轮拖链滚轮箱格式可以很容易地理解。首先,你可以推着前面的四轮摩托车。四个轮子形成一个相当稳定的基础和滚动沿细光滑的表面。然而,如果表面粗糙或你想要进入一个运行,小的基础和高重心意味着他们很容易翻倒。然后是拖在你身后的两轮滚轮箱。在这种情况下,底座在轮子和你的手之间形成一个稳定的三脚架。即使你突然加速或直接把箱子撞到路边,轮子也会离开地面,并在一个稳定的位置着陆,而且几乎没有翻倒的趋势。虽然许多折叠自行车都有轮子,可以像四个轮子的箱子一样移动,但BriefBike被设计成像两个轮子的箱子一样拖着走。
BriefBike被设计成有一个宽的两轮底座,可以很容易地拖在你身后。这与目前的折叠自行车完全不同,后者更像是不太稳定的四轮轮式自行车。即使它们被两个轮子推着,它们的表现也一样不稳定,因为它们很窄,而且被推在你前面。只有在你身后拖着一个平坦、宽的轴距,当你的手所提供的推进力远远高于车轮时,才能提供在粗糙表面上快速移动所需的稳定性。
驱动参数使用两个草图定义机构。首先,草图定义了乘坐几何使用十个参数,包括轴距,轨迹,头角,到达,曲柄长度。头部角度由线性维度驱动,因为使用API输入角度更加困难。
RideGeom草图定义了影响自行车操控的重要参数。然后,这被用作LinkSynth草图的参考,LinkSynth草图解决了使自行车能够折叠的连接。
第二个草图实际上解决了机构综合问题。它通过在折叠和展开位置绘制机构来实现这一目标,定义某些关键参数,但允许基于约束的求解器确定连杆长度和关节位置,以实现所需的运动。需要进行大量的试错实验,以找到一种健壮的方法来约束这个草图的尺寸,允许测试许多不同的配置,而不会使草图无法解决问题。
LinkSynth草图是所有机制综合实际发生的地方。主要折叠机构为四杆机构;地面链接没有显示出来。其余三个连杆在骑行位置用粗虚线表示,在折叠位置用粗实线表示。其他结构,转向,和包络几何显示与细线。车轮只显示在折叠的位置,和框架的前轴和后轴配合的RideGeom草图,这是隐藏在这个视图。固定的接地链路由连接到它的链路的接头来表示。在两个位置上,链接被设置为相等的长度,并且通过三角测量和对角线上设置相等的长度约束,角度也被强制相等。
模型中的大量参数意味着即使在使用自动化时,也必须谨慎地选择参数级别。如果这16个驱动参数各赋5个值,那么就会有1500亿种配置。每个配置大约需要0.1秒来重建和存储参数,这将需要480年!
在实践中,对于较大的参数集,存储所有输出的内存问题意味着每个配置的时间可能会急剧增加。因此,即使是更小的参数集也可能变得不可行。因此,尽管自动化优化允许比手动实现的实验要大得多,但您仍然不能让计算机尝试所有可能的配置。因此,最好从手动探索参数开始,确定哪些是最敏感的,然后使用优化代码来探索可能感兴趣的参数值的组合。该设计通过六次优化迭代进行了探索,每次迭代中有1,000到40,000种配置。
设置Excel以生成配置和过滤结果
选择了一组参数后,必须生成一个包含所有组合的表。这在实验设计中被称为全因子集。在Excel中最简单的方法是使用Power Query,这是另一个与Excel捆绑在一起的微软工具。该过程包括将Excel工作簿中的表连接到Power Query中的查询。这有点太复杂了,不能在这里完全解释,但它并不难,而且在这里解释得很好YouTube视频。一旦Excel生成配置表,就可以将其复制并粘贴到Parameters.txt中。
将18个输出驱动参数复制到包含15个输入驱动参数的Excel表中。另外增加了25列,从参数值中计算其他数量;这些包括组件之间的间隙和在关节处计算的力。然后对所有配置进行过滤,以确保足够的间隙,并确定最理想的特性,如更长的轴距、更陡的头角、更直接的传动角、更低的联合力,以及更紧凑的折叠包装。这些选择标准是根据在Excel中计算的驱动和被驱动参数和值得出的。
结果
这种机构优化工作使自行车具有更长的轴距,更陡的头角和更长的轨迹,从而使骑行更加稳定。同时,框架的结构效率更高,可以折叠成更紧凑的包装。你可以找到更多关于BriefBike的信息http://www.betterbicycles.org。
了下:3D CAD世界
