Quadruped robot · lower leg四足机器人 · 小腿

Robot lower leg: deep-learning inverse design and topology optimisation机器人小腿:深度学习逆向设计与拓扑优化

My quadruped walks on four printed lower legs, each turned by an SG90 knee servo. Inverse design with deep learning: a conditional neural implicit field turns performance targets into a printable leg in 2–5 seconds. It learned from 3D topology optimisation: 80 legs, each scored by finite elements.我的四足机器人靠 4 条打印小腿行走,每条由膝关节的 SG90 舵机驱动。用深度学习做逆向设计:条件神经隐式场由性能目标在 2–5 秒内生成可打印的腿。训练数据来自 3D 拓扑优化:80 条小腿,每条都经有限元评分。

Role:角色:

Solo: modelling, simulation, optimisation, deep learning独立完成:建模、仿真、优化、深度学习

Tools:工具:

SIMP topology optimisation · voxel finite elements · PyTorch (neural implicit field) · Gaussian processes · three.jsSIMP 拓扑优化 · 体素有限元 · PyTorch(神经隐式场)· 高斯过程 · three.js

Robot:机器人:

My quadruped, modified from an open-source design: 8 × SG90, ESP32-S3, PLA我的四足机器人(基于开源设计改装):8 × SG90,ESP32-S3,PLA

Stage:阶段:

Design and validation done; printing and the robot A/B next设计与验证完成;下一步打印与实机 A/B

原版小腿(灰)与 v8(蓝),同一比例
Original R3 (grey) and v8 (blue), one scale原版 R3(灰)与 v8(蓝),同一比例

Result · v8最终结果 · v8

18 % lighter, as stiff as the original比原版轻 18%,刚度不低于原版

Generated by the deep-learning inverse model, trained on 80 topology-optimised legs, from four targets: stance and push stiffness no lower than the original’s, knee torque no higher, leg length 47.1 ± 1 mm, least mass. Checked as solid models by finite elements and the gait’s kinematics.由深度学习逆向模型按目标生成(以 80 条拓扑优化结果训练):站立与推地刚度不低于原版,膝关节扭矩不高于原版,腿长 47.1 ± 1 mm,质量最小。按实心模型,用有限元和步态运动学复核。

Solid mass实心质量
4.80gOriginal 5.84 g原版 5.84 g−18 %
Printed mass打印质量
≈ 2.8gOriginal ≈ 3.4 g原版约 3.4 g−17 %
Inertia about the knee绕膝转动惯量
2,746g·mm²Original 3,635原版 3,635−24 %
Stance stiffness站立刚度
1.05×Original 1.00×原版 1.00×+5 %
Push stiffness推地刚度
1.16×Original 1.00×原版 1.00×+16 %
Knee torque膝关节扭矩
13.97N·mmOriginal 14.15原版 14.15−1 %
Overview概览

The part: the robot’s lower leg优化对象:机器人的小腿

The quadruped has eight SG90 servos: four at the hips, four at the knees. Each knee servo turns one printed lower leg, R3, whose end meets the ground. This project redesigns that lower leg twice over: forward, by topology optimisation; inverse, by deep learning. The rest of the robot stays as it is.这台四足机器人有 8 个 SG90 舵机:4 个在髋关节,4 个在膝关节。每个膝关节舵机带动一条打印小腿 R3,小腿末端触地。本项目用两种方法重新设计这条小腿:正向用拓扑优化,逆向用深度学习;机器人其余部分不变。

四足机器人,4 条小腿为蓝色,标出各部件

Hip · SG90髋关节 · SG90Turns the upper leg带动大腿

Knee · SG90膝关节 · SG90Plastic gears; turns the lower leg塑料齿轮,带动小腿

Lower leg R3 · redesigned小腿 R3 · 优化对象Original: 5.84 g solid原版实心 5.84 g

Contact point触地点Grip depends on the sole抓地取决于脚底

Controller主控板ESP32-S3, servo driverESP32-S3 与舵机驱动

Four identical lower legs4 条小腿相同One part on every leg每条腿同一零件

  1. Hip · SG90髋关节 · SG90Turns the upper leg带动大腿

  2. Knee · SG90膝关节 · SG90Plastic gears; turns the lower leg塑料齿轮,带动小腿

  3. Lower leg R3 · redesigned小腿 R3 · 优化对象Original: 5.84 g solid原版实心 5.84 g

  4. Contact point触地点Grip depends on the sole抓地取决于脚底

  5. Controller主控板ESP32-S3, servo driverESP32-S3 与舵机驱动

  6. Four identical lower legs4 条小腿相同One part on every leg每条腿同一零件

The quadruped (CAD, as built: no top cover); the four lower legs in blue四足机器人(CAD,按实机去掉顶盖);蓝色为 4 条小腿

Why redesign it为什么重新设计

Servo load舵机负载

Less load on plastic gears减轻塑料齿轮的负载

The knee SG90 has plastic gears. The lighter the leg and the closer its mass sits to the knee, the less torque the gears carry. Measures: mass and knee inertia ↓.膝关节 SG90 是塑料齿轮。小腿越轻、质量离膝越近,齿轮承受的力矩越小。指标:质量、绕膝转动惯量 ↓。

Structural margin结构余量

Stiffness for added payload为加装部件留出刚度

Upgrades will add parts, and the legs will carry more. The first round holds the original’s stiffness as a floor at the least mass; for more, the inverse model generates to the new targets: a leg with at least 1.95× stance and 1.80× push stiffness weighs 5.67 g, still lighter than the original.升级会加装更多部件,腿的载荷随之增加。第一轮以原版刚度为下限、质量最小;需要更高刚度时,逆向模型按新目标生成:站立 ≥ 1.95 倍、推地 ≥ 1.80 倍的腿为 5.67 g,仍比原版轻。

Grip抓地

More grip in the push direction提高推地方向的抓地

Grip is set by the sole’s shape and the floor, and finite elements cannot compute friction. The sole radius is a design condition; grip is measured in an A/B walk against the original on a wood floor, and the result becomes a target of the second round.抓地由脚底形状和地面决定,有限元无法计算摩擦。脚底半径是设计条件之一;抓地在木地板上与原版做 A/B 行走实测,实测结果作为第二轮的目标。

Constraints: knee torque no higher than the original’s, and a leg length of 47.1 ± 1 mm, so the firmware gait stays as it is.约束:膝关节扭矩不高于原版,腿长 47.1 ± 1 mm,固件步态无需重调。

Two directions两种设计方向

01 · Forward, topology optimisation01 · 正向 · 拓扑优化

Conditions → shape → performance条件 → 形状 → 性能

  • Four conditions: mass budget, leg length, push weight, sole radius4 个条件:质量预算、腿长、推地权重、脚底半径
  • 3D topology optimisation generates the shape; finite elements score it against the original3D 拓扑优化生成形状,有限元以原版为基准评分
  • 80 runs cover the condition space80 次优化覆盖整个条件空间
02 · Inverse, deep learning02 · 逆向 · 深度学习

Targets → conditions → shape目标 → 条件 → 形状

  • Input: stiffness, knee torque, leg length输入:刚度、膝关节扭矩、腿长
  • Gaussian processes pick the lightest conditions; a deep network, a neural implicit field trained on the topology-optimised legs, generates the shape高斯过程选出最轻的条件;深度网络(神经隐式场,以拓扑优化结果训练)生成形状
  • Finite elements check the result; 2–5 seconds in all有限元复核;全程 2–5 秒

Forward design正向设计

From four conditions to a scored shape由 4 个条件生成形状并评分

The interfaces and keep-outs are fixed; the optimiser distributes the material; every result is scored the same way as the original; the run is repeated across the condition space.接口和禁区固定,材料分布由优化器决定;每个结果与原版采用同一评分;在整个条件空间内重复。

  1. 01Problem问题
  2. 02Measures评价
  3. 03Method方法
  4. 04Optimiser优化器
  5. 05Dataset数据集
Problem问题

What is fixed, what is optimised固定什么,优化什么

摆动平面内的设计问题;虚线为原版轮廓。
The design problem in the swing plane; dashed: the original’s outline.摆动平面内的设计问题;虚线为原版轮廓。
  1. Design domain: where material may go, inside a 40° ground cone设计域:40° 着地锥内可布置材料的区域

  2. Keep-out: the SG90 body (12.5 × 23 mm) and its cable gap禁区:SG90 机身(12.5 × 23 mm)及走线缺口

  3. Keep-in: 1.6 mm grip walls, 4 mm tab seats, the sole; the servo presses in, no screws保留区:1.6 mm 夹持壁、4 mm 耳座、脚底;舵机压入固定,无螺丝

  4. The upper leg’s sweep over ±60° of knee travel, plus 1 mm大腿件在膝关节 ±60° 内的扫掠区,外扩 1 mm

  5. Knee axis (the servo shaft), 47.1 mm above the contact point膝关节轴(舵机输出轴),距着地点 47.1 mm

  6. Stance cases: 4 N up through the foot, leg at −20°, 0°, 20°, 40°站立工况:脚底向上 4 N,腿倾角 −20°、0°、20°、40°

  7. Push case: 6 N across the 9.5 mm thickness推地工况:6 N,沿 9.5 mm 厚度方向

01

The lower 68 % is the servo holder下部 68% 是舵机架

The load-bearing shank is the top third of the original part; the holder is the same in every design.承力的小腿杆只占原版零件的上三分之一;舵机架在所有设计中保持不变。

02

The push acts across the thickness推地力沿厚度方向

The hip swings within 8° of the knee axis, so the push loads the plate in its weakest direction.髋关节摆动方向与膝关节轴仅差 8°,推地力作用在平板最弱的方向。

Measures评价

How each measure is computed每项指标怎么计算

Mass and inertia质量与惯量

From the solid model按实心模型积分

Integrated over the part’s 0.4 mm voxels, PLA at 1.24 g/cm³; the inertia is taken about the knee axis.在零件的 0.4 mm 体素上积分,PLA 密度 1.24 g/cm³;转动惯量绕膝关节轴计算。

Stiffness and strength刚度与强度

Finite elements, five load cases有限元,五个工况

Four stance cases and the push, on the same grid as the original. Every leg has a safety factor of at least 12 where 3 is required, so strength never binds.四个站立工况和推地工况,与原版在同一网格上计算。所有腿安全系数 ≥ 12(要求 3),强度不构成限制。

Walking步行

Knee torque, foot lift, stride膝关节扭矩、抬脚高度、步长

The firmware’s six-frame gait on the robot’s kinematic chain; all three depend only on leg length and sole radius.由固件六帧步态在机器人运动链上计算;三者只取决于腿长和脚底半径。

Grip抓地

An A/B walk on the robot实机 A/B 行走

On a wood floor against the original legs: forward travel, sideways drift and turning per cycle.木地板上与原版腿对比:每个周期的前进、横移与转角。

Scoring评分方法

Every leg, the original included, is scored as a solid model, so print settings apply to all alike. The part is voxelised at 0.4 mm and solved with eight-node bricks carrying Wilson’s incompatible modes (PLA, E = 2750 MPa, ν = 0.35), fixed where the servo touches it.所有腿(含原版)按实心模型评分,打印参数对所有腿相同。零件以 0.4 mm 体素化,采用带 Wilson 非协调模式的八节点六面体单元求解(PLA,E = 2750 MPa,ν = 0.35),舵机接触面固定。

Stiffness is the load over the mean displacement along it. The stance score is the mean of the four stance ratios to the original; the push score is the push ratio. Strength is 35 MPa over the 99th-percentile von Mises stress across all cases.刚度 = 载荷 ÷ 载荷方向的平均位移。站立分数为四个站立工况相对原版比值的平均,推地分数为推地工况的比值。强度 = 35 MPa ÷ 全部工况第 99 百分位 von Mises 应力。

The original on the same grid原版在同一网格上

5.84 gSolid mass; printed about 3.4 g实心质量;打印约 3.4 g
0.79–4.52Stance stiffness, kN/mm站立刚度,kN/mm
139Push stiffness, N/mm推地刚度,N/mm
14.15Knee torque, N·mm膝关节扭矩,N·mm
Method方法

From 19 parameters to 48,000 voxels从 19 个参数到 4.8 万个体素

侧视,同一比例:01 参数化(bone 家族,5.05 g)· 02 2D 自由形状 · 03 3D(s045,4.81 g)
Side views, one scale: 01 parametric (bone family, 5.05 g) · 02 2D free-form · 03 3D (s045, 4.81 g)侧视,同一比例:01 参数化(bone 家族,5.05 g)· 02 2D 自由形状 · 03 3D(s045,4.81 g)
01

Parametric: two rails beat the original参数化:两根杆件已优于原版

A 19-parameter family of branching members, 1,440 designs searched with NSGA-II: 2.3× the original’s stiffness at its mass, or 30 % lighter at its stiffness.19 参数的分叉杆件族,NSGA-II 评估 1,440 个设计:同质量下刚度为原版的 2.3 倍,同刚度下轻 30%。

02

2D free-form: the same result2D 自由形状:结果相同

A density per 0.6 mm cell of the side profile, extruded through the thickness. The optimiser again draws two rails; its front lies on the parametric one.侧面轮廓按 0.6 mm 网格分配密度,沿厚度拉伸。优化器同样得到两根杆件,前沿与参数化结果重合。

03

3D: the shank closes into a tube3D:小腿杆闭合成管

With the thickness free, 23 of the 79 legs close part of the shank into a ring, which resists bending and torsion in every direction, the push included.厚度方向放开后,79 条腿中有 23 条的小腿杆局部闭合为环形截面,可同时抵抗各方向的弯曲和扭转,包括推地方向。

设计 s005 小腿杆横截面,自上而下:两根杆件(A)合成环形(B–E)
Design s005 cut across the shank, top to bottom: two rails (A) merge into a ring (B–E)设计 s005 小腿杆横截面,自上而下:两根杆件(A)合成环形(B–E)
Optimiser优化器

The 3D optimiser3D 拓扑优化器

Variables设计变量

A density per voxel每个体素一个密度

0.8 mm cells, 0.79 mm through the thickness: the 9.5 mm plate in 12 layers plus 4 each side; 48 × 79 × 20 in all.0.8 mm 网格,厚度方向 0.79 mm:9.5 mm 板厚 12 层,两侧各加 4 层;共 48 × 79 × 20。

Objective目标

Weighted compliance加权柔度

Each case’s compliance over the original’s; push weight w, each stance case (1 − w) / 4.各工况柔度除以原版柔度;推地权重 w,四个站立工况各 (1 − w) / 4。

Constraint约束

Mass budget质量预算

The budget sets the material fraction; keep-in cells are fixed solid, keep-out cells empty.由质量预算换算体积分数;保留区固定为实,禁区固定为空。

Filter and projection滤波与投影

Members of at least 2.4 mm杆件最小 2.4 mm

Density filter of 2.4 mm radius, empty outside the domain; tanh projection, β doubled every 10 iterations from the 20th, 1 → 16.密度滤波半径 2.4 mm,设计域外视为空;tanh 投影,β 自第 20 步起每 10 步加倍,1 → 16。

Update更新

SIMP with optimality criteriaSIMP + 最优性准则

Penalty 3, minimum stiffness 10⁻³, move limit 0.08, 80 iterations; one factorisation solves all five cases.惩罚指数 3,最小刚度 10⁻³,步长 0.08,80 步;一次分解求解五个工况。

Cost用时

10–50 minutes a design每个设计 10–50 分钟

About 10 minutes on four cores with PARDISO; 30–50 on a MacBook Air M2 with algebraic multigrid.4 核 PARDISO 约 10 分钟;MacBook Air M2 代数多重网格 30–50 分钟。

From voxels to a printable part从体素到可打印零件

设计 s005:优化器体素(左,密度 > 0.5)与成品(右,5.06 g)
Design s005: the optimiser’s voxels (left, density above 0.5) and the finished part (right, 5.06 g)设计 s005:优化器体素(左,密度 > 0.5)与成品(右,5.06 g)
01

Smooth field平滑场

Resampled to 0.4 mm, blurred by 0.6 mm, thresholded at constant volume重采样至 0.4 mm,0.6 mm 高斯模糊,按体积守恒取阈值

02

Signed distance符号距离

Smoothed by 0.5 mm; a 3 mm smooth union joins the sole0.5 mm 平滑;3 mm 平滑并集连接脚底

03

Mesh网格

Marching cubes at 0.4 mm, 5 rounds of Taubin smoothing0.4 mm 移动立方体,Taubin 平滑 5 轮

04

Exact cuts精确切割

Servo holder joined, pocket and flanges cut, flat at the ground (manifold3d)并入舵机架,切出窗口与法兰位,着地面切平(manifold3d)

The finished part is one watertight body, re-voxelised and scored at 0.4 mm; the dataset records the finished part’s scores.成品为单一水密实体,重新体素化后以 0.4 mm 网格评分;数据集记录的是成品的分数。

Interactive可交互

2D topology optimisation, live2D 拓扑优化,实时运行

The same optimiser in 2D: plane-stress elements, the four stance cases, the same filter, projection and update. Set the mass budget, leg length and sole radius.同一优化器的 2D 版本:平面应力单元、四个站立工况,滤波、投影和更新规则相同。可调整质量预算、腿长和脚底半径。

Loading the optimiser…加载优化器…

Dataset数据集

80 designs and their front80 个设计与性能前沿

Four conditions span the space: mass budget 3.5–6.5 g, leg length 40–54 mm, push weight 0.2–0.8, sole radius 6–60 mm (log scale). 64 designs follow a Sobol sequence; 16 more sample the region of the inverse question (3.5–4.8 g, 46.1–48.1 mm).4 个条件构成设计空间:质量预算 3.5–6.5 g,腿长 40–54 mm,推地权重 0.2–0.8,脚底半径 6–60 mm(对数尺度)。64 个设计按 Sobol 序列采样,另 16 个加密在逆向问题所在区域(3.5–4.8 g,46.1–48.1 mm)。

79 are valid; in one, the sole cannot connect to the servo holder. At the original’s mass, the stiffest design (s043) is 4.5× as stiff in stance and 6.9× in push.79 个有效;1 个脚底无法与舵机架连通。与原版同质量时,最刚的设计(s043)站立刚度为 4.5 倍,推地为 6.9 倍。

79 / 80Valid designs有效设计
28Lighter and stiffer than the original比原版轻且刚
  • Lighter and stiffer than the original比原版轻且刚
  • Other designs其他设计
  • Original (R3)原版(R3)
  • Generated (v8)逆向生成(v8)

Stance stiffness ÷ original站立刚度 ÷ 原版

0.25×0.5×1×2×4×8×16×45678s000 · 7.43 g · 1.91×s002 · 4.28 g · 0.50×s003 · 6.32 g · 4.62×s004 · 6.22 g · 1.64×s006 · 5.20 g · 0.46×s007 · 7.07 g · 4.37×s008 · 7.29 g · 2.52×s010 · 4.78 g · 0.31×s011 · 6.22 g · 2.59×s012 · 6.66 g · 1.72×s013 · 4.61 g · 0.95×s015 · 6.75 g · 5.30×s016 · 7.05 g · 2.51×s018 · 4.58 g · 0.35×s019 · 6.47 g · 4.10×s020 · 5.90 g · 0.77×s023 · 7.18 g · 7.10×s024 · 7.05 g · 1.95×s026 · 5.15 g · 0.74×s027 · 6.11 g · 4.16×s028 · 6.64 g · 2.70×s031 · 6.84 g · 2.83×s032 · 6.93 g · 2.75×s035 · 6.55 g · 3.17×s036 · 6.12 g · 1.64×s039 · 6.99 g · 4.57×s040 · 8.00 g · 2.16×s042 · 4.96 g · 0.79×s044 · 6.51 g · 1.45×s046 · 5.71 g · 0.93×s047 · 6.67 g · 3.88×s048 · 6.58 g · 1.42×s050 · 4.55 g · 0.33×s051 · 6.49 g · 4.90×s052 · 6.05 g · 2.09×s054 · 5.28 g · 0.65×s055 · 7.26 g · 4.09×s056 · 7.46 g · 2.94×s058 · 5.01 g · 0.85×s059 · 6.10 g · 2.55×s060 · 6.41 g · 1.17×s061 · 4.46 g · 0.56×s063 · 6.94 g · 6.83×s064 · 4.65 g · 0.64×s066 · 5.14 g · 0.89×s067 · 4.70 g · 0.83×s071 · 4.51 g · 0.38×s072 · 4.49 g · 0.44×s075 · 4.93 g · 0.82×s076 · 4.85 g · 0.70×s079 · 4.61 g · 0.79×s001 · 5.64 g · 1.62×s005 · 5.06 g · 2.03×s009 · 5.45 g · 3.38×s014 · 5.57 g · 1.25×s017 · 5.51 g · 2.71×s021 · 4.94 g · 1.19×s022 · 5.46 g · 1.19×s025 · 5.36 g · 2.21×s029 · 4.53 g · 1.28×s030 · 5.76 g · 1.27×s033 · 5.80 g · 3.90×s037 · 5.01 g · 1.16×s038 · 5.18 g · 1.07×s041 · 5.39 g · 1.49×s043 · 5.82 g · 4.54×s045 · 4.80 g · 1.50×s049 · 5.56 g · 2.46×s053 · 4.75 g · 2.17×s057 · 5.22 g · 2.00×s062 · 5.75 g · 1.48×s065 · 5.58 g · 1.88×s068 · 5.00 g · 1.05×s069 · 5.35 g · 1.30×s070 · 5.42 g · 1.34×s073 · 5.33 g · 1.12×s074 · 5.30 g · 1.56×s077 · 5.17 g · 1.52×s078 · 5.73 g · 1.49×R3 · 5.84 g · 1.00×R3v8 · 4.80 g · 1.05×v8

Push stiffness ÷ original推地刚度 ÷ 原版

0.25×0.5×1×2×4×8×16×45678s000 · 7.43 g · 2.16×s002 · 4.28 g · 0.55×s003 · 6.32 g · 7.32×s004 · 6.22 g · 2.11×s006 · 5.20 g · 1.15×s007 · 7.07 g · 4.69×s008 · 7.29 g · 4.02×s010 · 4.78 g · 0.52×s011 · 6.22 g · 3.41×s012 · 6.66 g · 1.79×s013 · 4.61 g · 1.83×s015 · 6.75 g · 7.30×s016 · 7.05 g · 2.09×s018 · 4.58 g · 0.61×s019 · 6.47 g · 5.70×s020 · 5.90 g · 1.47×s023 · 7.18 g · 10.95×s024 · 7.05 g · 2.72×s026 · 5.15 g · 1.46×s027 · 6.11 g · 5.01×s028 · 6.64 g · 3.11×s031 · 6.84 g · 4.48×s032 · 6.93 g · 3.62×s035 · 6.55 g · 3.05×s036 · 6.12 g · 1.61×s039 · 6.99 g · 6.54×s040 · 8.00 g · 1.91×s042 · 4.96 g · 1.03×s044 · 6.51 g · 2.56×s046 · 5.71 g · 1.39×s047 · 6.67 g · 5.03×s048 · 6.58 g · 2.31×s050 · 4.55 g · 0.69×s051 · 6.49 g · 6.88×s052 · 6.05 g · 2.09×s054 · 5.28 g · 0.88×s055 · 7.26 g · 5.38×s056 · 7.46 g · 3.51×s058 · 5.01 g · 0.68×s059 · 6.10 g · 4.48×s060 · 6.41 g · 1.81×s061 · 4.46 g · 0.77×s063 · 6.94 g · 9.49×s064 · 4.65 g · 1.05×s066 · 5.14 g · 1.68×s067 · 4.70 g · 1.04×s071 · 4.51 g · 1.24×s072 · 4.49 g · 0.71×s075 · 4.93 g · 1.53×s076 · 4.85 g · 1.37×s079 · 4.61 g · 0.93×s001 · 5.64 g · 2.44×s005 · 5.06 g · 2.76×s009 · 5.45 g · 4.11×s014 · 5.57 g · 1.41×s017 · 5.51 g · 4.92×s021 · 4.94 g · 1.39×s022 · 5.46 g · 1.96×s025 · 5.36 g · 2.47×s029 · 4.53 g · 2.29×s030 · 5.76 g · 1.14×s033 · 5.80 g · 5.43×s037 · 5.01 g · 2.14×s038 · 5.18 g · 1.19×s041 · 5.39 g · 2.71×s043 · 5.82 g · 6.91×s045 · 4.80 g · 1.93×s049 · 5.56 g · 2.95×s053 · 4.75 g · 4.04×s057 · 5.22 g · 3.05×s062 · 5.75 g · 2.54×s065 · 5.58 g · 1.95×s068 · 5.00 g · 1.16×s069 · 5.35 g · 2.13×s070 · 5.42 g · 1.88×s073 · 5.33 g · 2.37×s074 · 5.30 g · 1.72×s077 · 5.17 g · 1.84×s078 · 5.73 g · 2.10×R3 · 5.84 g · 1.00×R3v8 · 4.80 g · 1.16×v8

Solid mass, g实心质量,g

Shaded: lighter and stiffer than the original. Log scale; hover a point for its values.阴影区域:比原版轻且刚。对数刻度;悬停查看数值。

Eight Gaussian processes (squared-exponential kernel, one length scale per condition) predict every measure from the four conditions. Leave-one-out error as a share of each measure’s range: torque 2.5 %, stride 2.5 %, lift 0.5 %, stance 7.3 %, push 8.7 %, inertia 9.2 %, mass 13.5 %.8 个高斯过程(平方指数核,每个条件独立长度尺度)由 4 个条件预测各项性能。留一法误差占各项分布范围:扭矩 2.5%,步长 2.5%,抬脚 0.5%,站立 7.3%,推地 8.7%,惯量 9.2%,质量 13.5%。

Interactive可交互

The 79 optimised legs, in 3D79 个优化结果,3D 查看

Set the four conditions to bring up the nearest optimised leg and its finite-element scores, or pick a point on the chart.调整 4 个条件,显示最接近的优化结果及其有限元分数;也可在图中直接选择。

Loading the 79 legs…加载 79 个优化结果…

Inverse design · deep learning逆向设计 · 深度学习

A neural network turns performance targets into a printable leg神经网络由性能目标生成可打印的腿

One optimisation answers one set of conditions in 10–50 minutes. The inverse model answers the reverse question, the lightest leg that meets given targets, in 2–5 seconds.一次优化对应一组条件,耗时 10–50 分钟。逆向模型求解相反的问题:给定目标,生成满足目标且质量最小的腿,耗时 2–5 秒。

  1. 01Targets目标
  2. 02Inverse model逆向模型
  3. 03Validation验证
  4. 04The leg to print打印件
Targets目标

The original’s stiffness, at the least mass保持原版刚度,质量最小

The first round puts the servo first: the original’s stiffness as a floor, the least mass. Strength does not bind (the weakest leg has a safety factor of 12), and the stiffness margin for later payload is a new target for the same model.第一轮以舵机负载为先:刚度以原版为下限,质量最小。强度不构成限制(最弱的腿安全系数为 12);为后续加装预留的刚度余量,作为新目标交给同一个模型。

≥ 1.0×Stance and push stiffness站立与推地刚度
≤ 14.15Knee torque, N·mm膝关节扭矩,N·mm
47.1 ± 1Leg length, mm; the firmware gait stays腿长,mm;沿用固件步态
minSolid mass实心质量

The torque limit also sets the sole: at 47.1 mm, the knee torque stays at or below the original’s only for sole radii of about 22 mm or more (6 mm: 22.8 N·mm).扭矩约束同时限定了脚底:腿长 47.1 mm 时,脚底半径约 22 mm 以上,膝关节扭矩才不超过原版(6 mm 时为 22.8 N·mm)。

Inverse model逆向模型

The inverse model in four steps逆向模型的四个步骤

01

Pick the conditions选条件

The eight Gaussian processes predict every measure, with its standard deviation σ, for 20,000 random candidates (sole radius sampled on a log scale).8 个高斯过程预测条件空间内 2 万个随机候选(脚底半径对数采样)的各项性能及其标准差 σ。

A candidate qualifies when μ − σ meets each minimum and μ + σ stays under each maximum; the lightest predicted mass wins.下限目标满足 μ − σ ≥ 目标、上限目标满足 μ + σ ≤ 目标即为合格;取预测质量最小者。

02

Generate the shape生成形状

A conditional neural implicit field gives the signed distance to the surface at any point, for the chosen conditions (below).条件神经隐式场:给定条件下,输出任意点到表面的符号距离(见下)。

03

Make the part成型

Decoded on 556,800 grid points and meshed; the surface is offset by bisection within ±0.4 mm until the mass matches the surrogate’s prediction within 0.5 %. Without this, light legs come out 5 % thin and 20 % soft.在 556,800 个网格点上解码并提取表面;表面在 ±0.4 mm 内二分偏移,直到质量与代理模型预测相差 < 0.5%。不做这一步时,轻腿偏薄 5%、刚度偏低 20%。

Finishing as in forward design: Taubin smoothing, exact servo interfaces.后处理与正向设计相同:Taubin 平滑,精确切出舵机接口。

04

Check复核

Scored with the dataset’s 0.4 mm finite elements.以与数据集相同的 0.4 mm 有限元评分。

If a target is missed, the conditions are picked again at 1.75σ, then 2.5σ; up to three tries.未达标时以 1.75σ、再以 2.5σ 重选条件;最多 3 次。

The neural implicit field神经隐式场

The shape is a signed distance field f(p, c): p is a point in space, c the four conditions, and the output is p’s distance to the surface, negative inside. The surface is the level set f = 0. One network holds every design: shapes between the optimised conditions are its interpolation, and the decoding grid sets the resolution.形状用符号距离场 f(p, c) 表示:p 为空间中的点,c 为 4 个条件,输出 p 到表面的距离,内部为负;表面是 f = 0 的等值面。一个网络表示全部设计:优化样本之间的形状由网络插值得到,分辨率由解码网格决定。

Input: the point, its sines and cosines at six frequencies (2ᵏπ, k = 0…5) so the network can draw thin members, and the four scaled conditions: 43 numbers. Six layers of 256 with SiLU; the 43 inputs join again at the fourth layer. Output: the distance, clipped at ±4 mm. 351,489 trained weights.输入:点坐标、6 个频率(2ᵏπ,k = 0…5)的正余弦编码(使网络能表达细杆件)和 4 个归一化条件,共 43 维。6 层 × 256,SiLU 激活;43 维输入在第 4 层再次接入。输出:截断于 ±4 mm 的距离。共 351,489 个训练参数。

Interactive可交互

The network, live网络结构,实时运行

Pick a point on the section to see its activation in every layer and the distance it outputs; move the four conditions and the contour follows.在截面上选一个点,查看它在每一层的激活和输出的距离;调整 4 个条件,等值线随之变化。

Loading the network…加载神经网络…

Training loss (L1, weight 5 near the surface)训练损失(L1,表面附近权重 5)

0.00.20.40.60.801,0002,0003,0004,0000 · 0.723250 · 0.198500 · 0.162750 · 0.1451000 · 0.1421250 · 0.1321500 · 0.1181750 · 0.1262000 · 0.1132250 · 0.1112500 · 0.1002750 · 0.1113000 · 0.1023250 · 0.1063500 · 0.0993750 · 0.1003999 · 0.1050.105

Step步数

73Legs trained on; 6 held out训练用的腿;另留出 6 条
556,800Signed distances per leg, 0.5 mm grid每条腿的符号距离样本,0.5 mm 网格
8 × 4,096Legs × points per step, half near the surface每步的腿 × 点数,半数在表面附近
11.6Minutes on a laptop CPU, 4,000 steps笔记本 CPU 分钟数,4,000 步

Interactive可交互

The inverse model, in the browser逆向模型,在浏览器中运行

The same Gaussian processes and 20,000 candidates pick the conditions; the same network generates the shape on your GPU. The defaults are the first-round targets and return v8’s conditions.同一组高斯过程与 2 万个候选选出条件,同一网络在本机 GPU 上生成形状。默认值为第一轮目标,输出 v8 的条件。

Loading the model and the network…加载代理模型与神经网络…

Validation验证

Held-out designs and 20 target sets留出设计与 20 组目标

Held-out designs: optimised against generated留出设计:优化结果与逆向生成

s039 · IoU 0.94s039 · IoU 0.94

s024 · IoU 0.90s024 · IoU 0.90

R3R3

Optimised优化结果

Generated逆向生成

Optimised优化结果

Generated逆向生成

Original原版

设计 s039、s024:各自的优化结果与逆向生成结果,以及原版,线框图
Solid mass实心质量
6.99 g
Stance站立刚度
4.57×
Push推地刚度
6.54×
Solid mass实心质量
6.86 g
Stance站立刚度
4.36×
Push推地刚度
6.48×
Solid mass实心质量
7.05 g
Stance站立刚度
1.95×
Push推地刚度
2.72×
Solid mass实心质量
7.30 g
Stance站立刚度
2.10×
Push推地刚度
2.87×
Solid mass实心质量
5.84 g
Stance站立刚度
1.00×
Push推地刚度
1.00×
Conditions (mass budget, leg length, push weight, sole radius): s039 6.13 g, 43.2 mm, 0.66, 44.9 mm; s024 6.19 g, 50.8 mm, 0.61, 23.7 mm. IoU: shape overlap between the two legs.条件(质量预算、腿长、推地权重、脚底半径):s039 为 6.13 g、43.2 mm、0.66、44.9 mm;s024 为 6.19 g、50.8 mm、0.61、23.7 mm。IoU:两条腿的形状重合度。

All six held-out legs全部 6 条留出腿

0.85–0.94Shape overlap (IoU)形状重合度(IoU)
11 / 12Stiffness values within 10 %刚度误差 ≤ 10%
≤ 0.28 gMass error质量误差

Twenty target sets20 组目标

Twenty target sets, spread evenly: stance 1–2×, push 1–2.5×, knee torque at most 8–16 N·mm, leg 46.1–48.1 mm. All twenty were met, seventeen at the first try. Every generated leg is lighter than the lightest dataset leg meeting the same targets (median −7 %, −1 % to −23 %): the model finds designs between the optimisation samples.20 组目标均匀分布:站立 1–2 倍,推地 1–2.5 倍,膝关节扭矩上限 8–16 N·mm,腿长 46.1–48.1 mm。20 组全部达标,17 组一次达标。每条生成的腿都比数据集中满足相同目标的最轻设计更轻(中位数 −7%,−1% 至 −23%):模型生成的是优化样本之间的设计。

  • Lightest dataset leg meeting the targets数据集中达标的最轻设计
  • Generated, met at the first try逆向生成,一次达标
  • Generated, met after a retry逆向生成,重试后达标
Stance ×站立 ×Push ×推地 ×Torque扭矩Solid mass实心质量
≥1.07≥1.23≤12.3
≥1.15≥1.08≤9.9
≥1.05≥1.61≤15.1
≥1.28≥1.56≤13.3
≥1.43≥1.32≤11.7
≥1.51≥1.13≤13.9
≥1.12≥1.97≤10.3
≥1.33≥1.92≤8.0
≥1.61≥1.50≤14.6
≥1.67≥1.73≤11.0
≥1.21≥2.20≤12.7
≥1.29≥2.29≤11.4
≥1.80≥1.26≤15.7
≥1.50≥2.44≤15.0
≥1.72≥2.12≤14.3
≥1.58≥2.26≤8.7
≥1.88≥1.40≤9.3
≥1.77≥2.02≤9.7
≥1.95≥1.80≤12.1
≥1.85≥2.40≤10.9
5 g5.5 g6 g6.5 g7 g
One row per target set, sorted by the generated leg’s mass.每行一组目标,按生成腿的质量排序。
The leg to print打印件

The first leg to print: v8第一条打印件:v8

Loading the model…加载模型…

原版(灰)与 v8(蓝),同一比例
The original (grey) and v8 (blue), one scale原版(灰)与 v8(蓝),同一比例
4.80 gSolid mass (−18 %); printed about 2.8 g实心质量(−18%);打印约 2.8 g
−24 %Inertia about the knee绕膝转动惯量
1.05×Stance stiffness; push 1.16×站立刚度;推地 1.16×
13.97Knee torque, N·mm; original 14.15膝关节扭矩,N·mm;原版 14.15

Conditions: mass budget 3.92 g, leg 46.3 mm, push weight 0.24, sole radius 21.2 mm. The stride matches the original’s (11.33 against 11.36 mm), so in the A/B walk the gaits differ only in foot lift, 1.4 mm lower on the rocker sole.条件:质量预算 3.92 g,腿长 46.3 mm,推地权重 0.24,脚底半径 21.2 mm。步长与原版一致(11.33 / 11.36 mm),A/B 中两组步态仅抬脚高度不同:圆弧脚底低 1.4 mm。

A knee-torque limit of 10 N·mm costs 0.07 g more and shortens the stride by 6.5 %; that leg is held for the second round, so the first A/B compares grip alone.将扭矩上限降至 10 N·mm 仅增加 0.07 g,但步长缩短 6.5%;该设计留待第二轮,使第一轮 A/B 只比较抓地。

Next下一步

Print and test打印与实测

First round第一轮

  • v8 and an original, printed with the same settings; weighed, and loaded at the foot to measure deflectionv8 与原版使用相同打印参数;称重,并在脚部加载测量变形
  • A/B walk on a wood floor: forward, sideways and turning per cycle, which measures grip木地板 A/B 行走:记录每周期的前进、横移与转角,以此评价抓地
  • If the new legs slip more: grip coupons for 24–36 mm rocker soles are designed若新腿更易打滑:24–36 mm 圆弧脚底的抓地试块已设计完成

Second round第二轮

  • Measured grip as an inverse-model target; lower knee torque; leg length free once the gait is retuned实测抓地加入逆向模型目标;降低膝关节扭矩;步态重调后放开腿长
  • Thigh and shank designed together大腿与小腿联合设计