欢迎光临
我们一直在努力

载人双轮自平衡机器人完整设计方案

载人双轮自平衡机器人研发,有载重量和速度要求。

请从上面所给出的需求中,提供一个详细深入精确的设计方案。 解析与方案库:完整设计方案,包括系统框图、关键器件选型、软件流程图;


载人双轮自平衡机器人的研发方案,需要有一定的参考基准或模块化思路,不能完全脱离具体参数。参考行业里典型的技术方案、核心器件选型和平衡算法,为后续设计提供依据。

参考资料覆盖了电机选型、系统框图和PID/LQR算法对比,特别是关于动态响应优先于定位精度的电机选型理由,以及串级PID的实现细节,用来支撑设计方案。

整个设计方案就围绕这些核心点展开,先讲清楚平衡机理和倒立摆模型,再给出具体的硬件选型、双环控制结构和完整的开发流程。


载人双轮自平衡机器人完整设计方案

1. 需求核心解析与设计目标定位

1.1 问题本质:倒立摆系统的工程实现

核心机理:双轮自平衡机器人是一个典型的欠驱动、非线性、强耦合的倒立摆系统。其本质是一个“上下颠倒的摆锤”——当车体倾斜时,必须通过驱动车轮加速度来使质心重新回到车轮轴正上方,实现动态平衡。通俗地说,这就像用手指顶一根长杆:手指要不断移动才能使杆子保持直立,只不过我们的“杆子”是90kg的人机系统,而“手指”是两只电机驱动的车轮。

控制闭环的时效性要求:由于系统具有内在不稳定性,控制器必须在极短的时间窗口内完成“检测→计算→执行”的全链路响应。经实测,当使用170rpm电机时,在15°倾角下的启动响应延迟可达83ms,导致PID控制器积分项严重饱和;而高响应电机可将该延迟压缩至42ms,使系统相位裕度显著提升。

1.2 关键设计指标的目标值设定

基于行业标杆产品(Segway)的参考数据和工程实践经验,设定以下目标设计参数:

参数项
目标值
设计依据与考虑
最大载重 120kg 适配绝大多数成年男性+随身物品(参考人体模型尺寸设计)
最高速度 20km/h 兼顾安全性与实用性的平衡(典型电动平衡车上限)
最大续航 30km 满足城市通勤需求(参考Ninebot E型电池容量450Wh对应25km以上)
最大爬坡角 15° 满足常规城市路况(地下车库坡道约8-12°)
平衡角度范围 ±8° 基于工程经验:超出此范围控制系统难以稳定恢复
控制周期 200Hz(5ms) 50ms总响应时间分配:检测1ms→计算1ms→执行3ms
目标倾角控制精度 ±0.1° 确保骑行体验顺滑,参考尼得科伺服电机在Segway式平衡车中的实现

1.3 整车技术规格汇总

整车参数
设计值
说明
外形尺寸 约650×550×1150mm 满足GB 17761-2018标准
整车质量 ≈45kg 含电池,不含驾驶员
轮胎规格 10.5英寸(约267mm) 主流平衡车规格,参考Ninebot标准
离地间隙 ≥80mm 通过性保障
防水等级 IP54 防止溅水,参考尼得科电机防护等级
适用路况 水泥/柏油路面、轻微颠簸 爬坡≤15°,不适合越野

2. 系统总体架构

2.1 系统框图(Mermaid)

#mermaid-svg-YUr6ChGH5mxLeGb3{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-YUr6ChGH5mxLeGb3 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-YUr6ChGH5mxLeGb3 .error-icon{fill:#552222;}#mermaid-svg-YUr6ChGH5mxLeGb3 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-YUr6ChGH5mxLeGb3 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-YUr6ChGH5mxLeGb3 .marker.cross{stroke:#333333;}#mermaid-svg-YUr6ChGH5mxLeGb3 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-YUr6ChGH5mxLeGb3 p{margin:0;}#mermaid-svg-YUr6ChGH5mxLeGb3 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-YUr6ChGH5mxLeGb3 .cluster-label text{fill:#333;}#mermaid-svg-YUr6ChGH5mxLeGb3 .cluster-label span{color:#333;}#mermaid-svg-YUr6ChGH5mxLeGb3 .cluster-label span p{background-color:transparent;}#mermaid-svg-YUr6ChGH5mxLeGb3 .label text,#mermaid-svg-YUr6ChGH5mxLeGb3 span{fill:#333;color:#333;}#mermaid-svg-YUr6ChGH5mxLeGb3 .node rect,#mermaid-svg-YUr6ChGH5mxLeGb3 .node circle,#mermaid-svg-YUr6ChGH5mxLeGb3 .node ellipse,#mermaid-svg-YUr6ChGH5mxLeGb3 .node polygon,#mermaid-svg-YUr6ChGH5mxLeGb3 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-YUr6ChGH5mxLeGb3 .rough-node .label text,#mermaid-svg-YUr6ChGH5mxLeGb3 .node .label text,#mermaid-svg-YUr6ChGH5mxLeGb3 .image-shape .label,#mermaid-svg-YUr6ChGH5mxLeGb3 .icon-shape .label{text-anchor:middle;}#mermaid-svg-YUr6ChGH5mxLeGb3 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-YUr6ChGH5mxLeGb3 .rough-node .label,#mermaid-svg-YUr6ChGH5mxLeGb3 .node .label,#mermaid-svg-YUr6ChGH5mxLeGb3 .image-shape .label,#mermaid-svg-YUr6ChGH5mxLeGb3 .icon-shape .label{text-align:center;}#mermaid-svg-YUr6ChGH5mxLeGb3 .node.clickable{cursor:pointer;}#mermaid-svg-YUr6ChGH5mxLeGb3 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-YUr6ChGH5mxLeGb3 .arrowheadPath{fill:#333333;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-YUr6ChGH5mxLeGb3 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-YUr6ChGH5mxLeGb3 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-YUr6ChGH5mxLeGb3 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-YUr6ChGH5mxLeGb3 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-YUr6ChGH5mxLeGb3 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-YUr6ChGH5mxLeGb3 .cluster text{fill:#333;}#mermaid-svg-YUr6ChGH5mxLeGb3 .cluster span{color:#333;}#mermaid-svg-YUr6ChGH5mxLeGb3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-YUr6ChGH5mxLeGb3 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-YUr6ChGH5mxLeGb3 rect.text{fill:none;stroke-width:0;}#mermaid-svg-YUr6ChGH5mxLeGb3 .icon-shape,#mermaid-svg-YUr6ChGH5mxLeGb3 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-YUr6ChGH5mxLeGb3 .icon-shape p,#mermaid-svg-YUr6ChGH5mxLeGb3 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-YUr6ChGH5mxLeGb3 .icon-shape .label rect,#mermaid-svg-YUr6ChGH5mxLeGb3 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-YUr6ChGH5mxLeGb3 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-YUr6ChGH5mxLeGb3 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-YUr6ChGH5mxLeGb3 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

电源管理层

安全与保护

人机交互层

控制层

传感器层

动力执行层

I2C

ABZ正交编码

ABZ正交编码

SMBus/CAN

PWM+DIR

PWM+DIR

UART/蓝牙

GPIO中断

左轮毂电机无刷直流电机

右轮毂电机无刷直流电机

左电机驱动器FOC控制器

右电机驱动器FOC控制器

六轴IMU姿态传感器MPU6050/BMX160

左电机编码器霍尔/磁性编码器

右电机编码器霍尔/磁性编码器

电池管理系统BMS电压/电流/温度

霍尔接近开关零速/驻车检测

主控制器STM32F407/H743

硬件看门狗

参数存储器

无线遥控器2.4GHz/蓝牙5.0

OLED显示屏128×64

状态指示灯

蜂鸣器提示

急停按钮

电磁刹车

ESD静电防护

锂电池组36V/48V

BMS保护板过充/过放/短路/均衡

DC-DC转换器48V→5V/3.3V

2.2 控制层级架构

#mermaid-svg-BeKHDlWfC8zlAktF{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-BeKHDlWfC8zlAktF .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-BeKHDlWfC8zlAktF .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-BeKHDlWfC8zlAktF .error-icon{fill:#552222;}#mermaid-svg-BeKHDlWfC8zlAktF .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-BeKHDlWfC8zlAktF .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-BeKHDlWfC8zlAktF .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-BeKHDlWfC8zlAktF .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-BeKHDlWfC8zlAktF .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-BeKHDlWfC8zlAktF .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-BeKHDlWfC8zlAktF .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-BeKHDlWfC8zlAktF .marker{fill:#333333;stroke:#333333;}#mermaid-svg-BeKHDlWfC8zlAktF .marker.cross{stroke:#333333;}#mermaid-svg-BeKHDlWfC8zlAktF svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-BeKHDlWfC8zlAktF p{margin:0;}#mermaid-svg-BeKHDlWfC8zlAktF .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-BeKHDlWfC8zlAktF .cluster-label text{fill:#333;}#mermaid-svg-BeKHDlWfC8zlAktF .cluster-label span{color:#333;}#mermaid-svg-BeKHDlWfC8zlAktF .cluster-label span p{background-color:transparent;}#mermaid-svg-BeKHDlWfC8zlAktF .label text,#mermaid-svg-BeKHDlWfC8zlAktF span{fill:#333;color:#333;}#mermaid-svg-BeKHDlWfC8zlAktF .node rect,#mermaid-svg-BeKHDlWfC8zlAktF .node circle,#mermaid-svg-BeKHDlWfC8zlAktF .node ellipse,#mermaid-svg-BeKHDlWfC8zlAktF .node polygon,#mermaid-svg-BeKHDlWfC8zlAktF .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-BeKHDlWfC8zlAktF .rough-node .label text,#mermaid-svg-BeKHDlWfC8zlAktF .node .label text,#mermaid-svg-BeKHDlWfC8zlAktF .image-shape .label,#mermaid-svg-BeKHDlWfC8zlAktF .icon-shape .label{text-anchor:middle;}#mermaid-svg-BeKHDlWfC8zlAktF .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-BeKHDlWfC8zlAktF .rough-node .label,#mermaid-svg-BeKHDlWfC8zlAktF .node .label,#mermaid-svg-BeKHDlWfC8zlAktF .image-shape .label,#mermaid-svg-BeKHDlWfC8zlAktF .icon-shape .label{text-align:center;}#mermaid-svg-BeKHDlWfC8zlAktF .node.clickable{cursor:pointer;}#mermaid-svg-BeKHDlWfC8zlAktF .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-BeKHDlWfC8zlAktF .arrowheadPath{fill:#333333;}#mermaid-svg-BeKHDlWfC8zlAktF .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-BeKHDlWfC8zlAktF .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-BeKHDlWfC8zlAktF .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-BeKHDlWfC8zlAktF .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-BeKHDlWfC8zlAktF .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-BeKHDlWfC8zlAktF .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-BeKHDlWfC8zlAktF .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-BeKHDlWfC8zlAktF .cluster text{fill:#333;}#mermaid-svg-BeKHDlWfC8zlAktF .cluster span{color:#333;}#mermaid-svg-BeKHDlWfC8zlAktF div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-BeKHDlWfC8zlAktF .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-BeKHDlWfC8zlAktF rect.text{fill:none;stroke-width:0;}#mermaid-svg-BeKHDlWfC8zlAktF .icon-shape,#mermaid-svg-BeKHDlWfC8zlAktF .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-BeKHDlWfC8zlAktF .icon-shape p,#mermaid-svg-BeKHDlWfC8zlAktF .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-BeKHDlWfC8zlAktF .icon-shape .label rect,#mermaid-svg-BeKHDlWfC8zlAktF .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-BeKHDlWfC8zlAktF .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-BeKHDlWfC8zlAktF .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-BeKHDlWfC8zlAktF :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

执行层

核心算法 200Hz

决策层

用户意图层

遥控器指令前进/后退/转向

驾驶意图解析目标速度/目标转向角

姿态解算互补滤波/卡尔曼滤波

直立平衡控制器PD/LQR

速度控制器PI

转向控制器P

目标转速合成左轮+右轮

FOC矢量控制电流环/速度环

轮毂电机

IMU传感器

轮速编码器

2.3 数据流向图

#mermaid-svg-zMf0aEXczIlBSUZb{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-zMf0aEXczIlBSUZb .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-zMf0aEXczIlBSUZb .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-zMf0aEXczIlBSUZb .error-icon{fill:#552222;}#mermaid-svg-zMf0aEXczIlBSUZb .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-zMf0aEXczIlBSUZb .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-zMf0aEXczIlBSUZb .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-zMf0aEXczIlBSUZb .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-zMf0aEXczIlBSUZb .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-zMf0aEXczIlBSUZb .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-zMf0aEXczIlBSUZb .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-zMf0aEXczIlBSUZb .marker{fill:#333333;stroke:#333333;}#mermaid-svg-zMf0aEXczIlBSUZb .marker.cross{stroke:#333333;}#mermaid-svg-zMf0aEXczIlBSUZb svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-zMf0aEXczIlBSUZb p{margin:0;}#mermaid-svg-zMf0aEXczIlBSUZb .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-zMf0aEXczIlBSUZb .cluster-label text{fill:#333;}#mermaid-svg-zMf0aEXczIlBSUZb .cluster-label span{color:#333;}#mermaid-svg-zMf0aEXczIlBSUZb .cluster-label span p{background-color:transparent;}#mermaid-svg-zMf0aEXczIlBSUZb .label text,#mermaid-svg-zMf0aEXczIlBSUZb span{fill:#333;color:#333;}#mermaid-svg-zMf0aEXczIlBSUZb .node rect,#mermaid-svg-zMf0aEXczIlBSUZb .node circle,#mermaid-svg-zMf0aEXczIlBSUZb .node ellipse,#mermaid-svg-zMf0aEXczIlBSUZb .node polygon,#mermaid-svg-zMf0aEXczIlBSUZb .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-zMf0aEXczIlBSUZb .rough-node .label text,#mermaid-svg-zMf0aEXczIlBSUZb .node .label text,#mermaid-svg-zMf0aEXczIlBSUZb .image-shape .label,#mermaid-svg-zMf0aEXczIlBSUZb .icon-shape .label{text-anchor:middle;}#mermaid-svg-zMf0aEXczIlBSUZb .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-zMf0aEXczIlBSUZb .rough-node .label,#mermaid-svg-zMf0aEXczIlBSUZb .node .label,#mermaid-svg-zMf0aEXczIlBSUZb .image-shape .label,#mermaid-svg-zMf0aEXczIlBSUZb .icon-shape .label{text-align:center;}#mermaid-svg-zMf0aEXczIlBSUZb .node.clickable{cursor:pointer;}#mermaid-svg-zMf0aEXczIlBSUZb .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-zMf0aEXczIlBSUZb .arrowheadPath{fill:#333333;}#mermaid-svg-zMf0aEXczIlBSUZb .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-zMf0aEXczIlBSUZb .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-zMf0aEXczIlBSUZb .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zMf0aEXczIlBSUZb .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-zMf0aEXczIlBSUZb .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zMf0aEXczIlBSUZb .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-zMf0aEXczIlBSUZb .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-zMf0aEXczIlBSUZb .cluster text{fill:#333;}#mermaid-svg-zMf0aEXczIlBSUZb .cluster span{color:#333;}#mermaid-svg-zMf0aEXczIlBSUZb div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer

赞(0)
未经允许不得转载:171主机测评 » 载人双轮自平衡机器人完整设计方案
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址