[机器人-2]:开源MIT Min cheetah机械狗设计(二):机械结构设计
目录
1、四肢朝向的选择
2、电机布局形式的选择
3、电机的选型及测试(非常重要)
4、结构优化
5、尺寸效应
6、其他
1、四肢朝向的选择
机械狗的结构设计,第一个摆在我们面前的就说四肢的朝向问题,如下图,我们是选择猎豹的向前弯曲,还是角马的向后弯曲呢?其实为了方便爬楼梯选择了向后弯曲,也即角马的骨骼形式。

不同动物的骨骼形式
2、电机布局形式的选择
一般我们在设计四肢运动的时候,最先想到的就是在各个关节上直接加一个电机,如下图的左边所示,两个关节处各加装一个电机,但是,这样当小腿在摆动的时候,惯性会非常大,可以想象如果在你的膝盖住绑一个沙袋,在行走时就会非常的费劲,非常消耗能量,因此我们自然而然会想到将膝盖处的电机移动到上端,通过一个同步带和膝盖相连,如右图所示。

左图:电机安装在关节处,右图:电机集中安装在髋关节
除此之外还要考虑一个问题,如果机械狗摔倒后还要能够翻身起来,我们自然而然会想到再增加一个自由度,也即还要增加一个倾斜电机,原因如下面视频所示:

00:22
3、电机的选型及测试(非常重要)
一个机械狗动力强不强劲,电机起到至关重要的作用,机械狗的电机比较特殊,类似于公版电机T-Motor U8的型号,这款电机是广泛应用于四旋翼的,需要很高的能量密度(不然就无法完成后空翻这样的经典动作),因此机械狗的动力选择的是无人机的无刷电机+行星齿轮组的形式,每个执行器都由一个定制的高耦合到单级6:1的行星齿轮减速机(背隙0.005rad/0.28°)。有效改善机器人的承载能力和低速效率,(至于这里减速比为什么选择6,网上有不少讨论,比如这篇文章MIT Mini Cheetah的关节驱动器为何选用减速比为6的单级内嵌式行星减速器? - 知乎,我个人比较倾向于,MIT在设计驱动器的时候,使用了成熟的商用驱动器,也算是一种妥协,机械狗的整个重量,结构布局可能都会受驱动器的影响,后期的Cheetah 3系列就采用了自研的驱动电机。)
使用电机驱动一体化的一大优点是,不需要额外的机械结构和昂贵的传感器就能做到力控。这是因为小减速箱的非线性误差可以忽略不计,因此直接使用电机的电流环和相应的减速比,就能得到驱动器端的输出扭矩。
以上的设计思路,就带来了一个极其紧凑、轻量化的驱动器整体集成效果,当然缺点也很明显,采用镂空减重设计,防水防尘比较麻烦。

机械狗电机结构图
使用到的相关齿轮箱和轴承的型号如下:
行星轮:Misumi GEFHB0.5-40-5-8-W3
太阳轮:Misumi GEABN0.5-20-8-K-4
环形齿轮: KHG SI0.5-100
滚动轴承: HK0408
下腿由通过的同步带驱动和上腿相连,提供额外的1.15减速比。可以旋转360度,
让机器人任意改变膝盖向前或向后的方向。而且同步带可以有效的缓冲猛烈的冲击,
具有很好的缓冲效果。髋关节可以连续旋转,仅受连接膝关节执行器的电线长度影响。
允许机器人倒着操作,爬上障碍物,或者用脚在身体上方操纵。四条腿的总重量为2.7千克,
只有机器人质量的30%。每条腿的末端有一个由10毫米厚的60A聚氨酯橡胶制成的盖子。
提供缓冲和抓地力。
驱动器的参数:

电机设计完成后,如果加工组装完成还需要对电机进行一系列的测试,包括:
1)、扭矩测试、功率测试、效率图绘制,这里需要使用到扭矩测量仪。

2)、电流扭矩测试

左图:扭矩/电流特性 右图:扭矩常数/电流特性
3)、电角度校准(用于FOC算法调试)
另外电机采用的FOC控制,还要对电角度进行校准,FOC算法中一个重要的指标就是要知道电角度,电角度由磁编码器获得,由于电机摩擦和惯量的存在,实际运行时,它总是稍微滞后于参考角度,如下图左上角;位置传感器的偏心会引起低频纹波,如下图左下角;齿槽转矩又会引起高频纹波,如下图右上角;消除这些误差以后会建立一个表记录下来,只要磁编码器没有重新拆装,下次上电,表记录的数值依然有效,这样在程序运行的时候,可以通过查表来消除传感器误差。

磁编码器误差消除
4)、热分析
除此之外由于机械狗频繁的运动,还要对电机进行高温测试,防止电机高温消磁,高温报警等。

高温试验
4、结构优化
现在机械狗的基本构型就有了,现在我们最关心的还是腿部,希望腿部的惯性尽量的小,这里我们需要对腿部的结构进行拓扑优化,满足性能的同时,质量最小。需要用到有限元模拟软件ANSYS进行拓扑优化,特别是对质量要求比较苛刻,构件材料比较昂贵,这种就体现出了有限元仿真的价值,可以减少不少试错成本。


结构优化
5、尺寸效应
转自知乎网友的一段话
在关节式机器人爆发运动能力这方面,尺寸越大的机器人对驱动器的功率输出密度要求越高,技术实现也越困难。具体定量一点说:机器人尺寸假设扩大 � 倍,那么相应质量是 �3 量级的增长,而所需要驱动扭矩则是 �4 量级的增大。对于驱动器输出性能而言(现有的永磁体+线圈式电机,扭矩是�2的增长,就是4次方的增长与2次方增长的区别),增大机器人尺寸简直是噩梦,反之缩小机器人尺寸,能占很大的便宜。
6、其他
除上述分析以外,还有冲击性能分析,轴承载荷校准等,这些这里不做具体分析,详细可以见相关论文。
到此为止,一个完整的机械狗机械部分就有了雏形了。

相关文章:
[机器人-2]:开源MIT Min cheetah机械狗设计(二):机械结构设计
目录 1、四肢朝向的选择 2、电机布局形式的选择 3、电机的选型及测试(非常重要) 4、结构优化 5、尺寸效应 6、其他 1、四肢朝向的选择 机械狗的结构设计,第一个摆在我们面前的就说四肢的朝向问题,如下图,我们是…...
用友U8+CRM help2 任意文件读取漏洞复现
0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件,旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 help2接口处存在任意文件读取漏洞,攻击者通过漏洞可以获取到服…...
freeRTOS实时操作系统学习笔记
温馨提示:点击图片查看大图更清晰 —————————————————————————————↑↑↑上方资源下载后可获取xmind原文件。 1、freeRTOS移植和配置脑图 2、内核源码学习...
解决虚拟机卡顿、卡死、待机后不动的情况(真实有效
本人环境: VM workstation 17.5 ubuntu 22.04 虚拟机配置:4核 4g issue: 出现开机卡死不动运行一段时间,可能半小时不到,就页面卡死不动经常需要关机重启才解决,可能没有解决 1.配置虚拟化引擎 这一步我称…...
【MybatisPlus快速入门】(3)SpringBoot整合MybatisPlus 之 Lombok插件安装及MybatisPlus分页代码示例
目录 1.Lombok1.1 步骤1:添加lombok依赖 2.2 步骤2:安装Lombok的插件1.3 步骤3:模型类上添加注解2 分页功能2.1 步骤1:调用方法传入参数获取返回值2.2步骤2:设置分页拦截器2.3 步骤3:运行测试程序 之前我们已学习MyBatisPlus在代码示例与MyBatisPlus的简介,在这一节…...
SpaceDesk如何连接平板/PC(生产力副屏)
1、下载安装 分为安卓端和PC端,两个设备都需要安装对应的软件。 SpaceDesk官网 https://link.zhihu.com/?targethttp%3A//spacedesk.net/ 需要魔法上网。安装过程比较简单,无脑下一步即可。 我已经把安装包准备好了,如果不想自己找&#…...
61.SVN版本控制系统
SVN(Subversion)是一种集中式版本控制系统,它有一个中央仓库用于存储代码库的完整历史记录。相对于分布式版本控制系统(例如 Git),SVN 不支持本地仓库。 一、SVN 安装。 (1)在windo…...
操作系统 内存管理篇
一.程序的装入和链接 装入方式: 链接方式: 二.进程的内存映像 三.内存的分配 1.连续分配 分配方式: 2.不连续分配 分页:页面大小一致 引入快表(和 cache 处理思路一致) 升级到二级页表 分段:…...
深度学习中用来训练的train.py 探究学习2.0( 数据预处理)
数据预处理 下列代码为train.py中常见的一些数据处理方法 train_transform transforms.Compose([transforms.Resize((224, 224)),transforms.RandomVerticalFlip(),# 随机旋转,-45度到45度之间随机选transforms.RandomRotation(45),# 从中心开始裁剪transforms.C…...
vscode debug c++代码
需要提前写好CMakeLists.txt 在tasks.json中写好编译的步骤,即tasks,如cmake … 和make -j 在lauch.json中配置可执行文件的路径和需要执行tasks中的哪一个任务 具体步骤: 1.写好c代码和CMakeLists.txt 2.配置tasks.json 终端–>配置任务…...
HarmonyOS的功能及场景应用
一、基本介绍 鸿蒙HarmonyOS主要应用的设备包括智慧屏、平板、手表、智能音箱、IoT设备等。具体来说,鸿蒙系统是一款面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备…...
汽车级EEPROM 存储器 M24C64-DRMN3TP/K是电可擦除可编程只读存储器?它的功能特性有哪些?
M24C64-DRMN3TP/K是一款64 Kbit串行EEPROM汽车级设备,工作温度高达125C。符合汽车标准AEC-Q100 1级规定的极高可靠性。 该设备可通过一个高达1MHz的简单串行I2C兼容接口访问。 存储器阵列基于先进的真EEPROM技术(电可擦除可编程存储器)。M2…...
VS Code无法远程ubuntu
①windows下cmd中执行命令: ssh-keygen -t rsa -C "xxxxxx.com" ②ubuntu 下bash 命令 ssh-keygen -t rsa -C "xxxxxx.com" ③cat id_rsa.pub >> ~/.ssh/authorized_keys ④ C:\Users\Administrator\AppData\Roaming\Code\User\set…...
大数据开发职业规划
大数据开发职业规划 我的学历是双非本,在学校学习的是大数据专业,目前是在企业做大数据全栈的工作,爬虫,数仓,风控项目,etl开发都做 .................................................................…...
XxIJob入门-示例
一、部署 xxlJob (一) 下载地址, git clone 到本地。 http://gitee.com/xuxueli0323/xxl-job https://github.com/xuxueli/xxl-job (二) 插入 xxl_job 的sql脚本: 在项目的 /xxl-job/doc/db/tables_xxl_job.sql ,找到sql脚本,…...
单挑力扣(LeetCode)SQL题:1549. 每件商品的最新订单(难度:中等)
相信很多学习SQL的小伙伴都面临这样的困境,学习完书本上的SQL基础知识后,一方面想测试下自己的水平;另一方面想进一步提升,却不知道方法。 其实,对于技能型知识,我的观点一贯都是:多练习、多实…...
Javacv-利用Netty实现推流直播复用(flv)
前言 上一篇文章《JavaCV之rtmp推流(FLV和M3U8)》介绍了javacv的基本使用,今天来讲讲如何实现推流复用。 以监控摄像头的直播为例,通常分为三步: 从设备获取音视频流利用javacv进行解码(例如flv或m3u8&am…...
cfa一级考生复习经验分享系列(十一)
理工科已经毕业,正在工作,毫无金融背景。一共准备了四个月,每天下班和周末抽时间看看。前三个月节奏比较松散,毕竟时不时有人叫我出去high,最后一个月认真看了看。 用到的资料 JC网课,官方Mock,…...
Nginx基本配置内容
http 模块适用于处理 Web 请求,而 stream 模块适用于处理非 HTTP 流量,如数据库连接、邮件传输等。 在 stream 模块中,你可以配置一些 TCP 或 UDP 的代理服务,以便 Nginx 能够转发这些流量。 与网站相关的 关于网站相关的要写在ht…...
Jenkins安装与设置(插件安装失败,版本问题解决)
早期的使用docker安装jenkins的方法会出现插件无法安装的问题,是由于docker拉取的jenkins版本太低了 jdk安装 Linux系统安装JDK1.8 详细流程 maven安装: centos7下安装Maven 使用docker进行安装jenkins: 先把镜像和容器卸干净 docker ps -a…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
