腿足机器人之一- 机械与电子组件概览

腿足机器人之一机械与电子组件概览

    • 引言
    • 机械组件
      • 骨架材料
      • 关节设计
      • 关节机械组件
        • 轴承(ings)
        • 连杆(Linkages)
        • 齿轮(Gears)
    • 电气组件
      • 电机
      • 控制器
      • 传感器
    • 四足机器人设计
    • 双足机器人设计
    • 波士顿Atlas机器人

引言

腿足机器人技术是机器人领域中一项极具挑战性的研究方向,它融合了先进的机械设计和复杂的电子控制系统。本文将详细介绍腿足机器人的主要机械和电子组件,提供一窥这些高科技机器人是如何构建和控制的。

腿足机器人主要结构是由刚体(links)和关节(joints)组成的,在这种设计结构中,每个刚体部件被称为“连杆”,它们是支撑结构,不仅仅承载着装置自身的重量,还可能面对工作时的各种负载。而关节则是连接这些连杆的部件,它们允许并支配连杆间的相对运动。关节的类型和特性对于定义机器人的运动能力和灵活性至关重要。
在这里插入图片描述
在腿足机器人设计中,刚体和关节不仅是构成其物理形态的基本元素,也直接影响到机器人的性能指标,包括负载能力、速度、精度和可靠性等。优化机器人的刚体设计和关节配置对于制造具有高性能和高效率的机器人系统是至关重要的。对这些组件的精确控制和协调运作是任何高级机器人设计和应用的基础。

机械组件

骨架材料

刚体和关节的材料常用机器人关节的机械组成是关键因素之一,直接影响机器人自重、强度、能效、敏捷性和力量输出。因此腿足机器人刚体的骨架材料选择非常关键,常用的骨架材料包括:

  • 铝合金:由于其轻质、高强度和易加工的特点,铝合金是构建机器人结构的常见选择。例如,7075铝合金因其优异的疲劳强度和抗腐蚀性而受到青睐。
  • 碳纤维:碳纤维因其高刚度、低重量和优良的疲劳抗性,是高性能机器人的理想选择。虽然成本较高,但碳纤维的使用可大幅减少机器人自重,提高动力效率。
  • 钛合金:钛合金具有非常好的强度重量比和抗腐蚀性,适用于需要超高强度和轻质需求的应用场景中。

关节设计

关节是连接机器人骨架各个部分的关键元素,其设计必须能承受重复运动和载重压力,同时具备高度灵活性和可靠性。

腿足机器人关节主要分为两大类:

  1. 旋转关节(Revolute Joint):
    • 旋转关节允许部件围绕一固定轴心进行旋转,常见于机器人腿部和臂部。例如,腿部的旋转关节可以模拟人类的膝盖,实现行走、跑步等多种动作。
    • 在设计时,通常使用滚珠轴承或滑动轴承来减少摩擦并提高关节运动的平滑度。
    • 它具有一个自由度,即只能在一个方向上进行转动。
  2. 棱柱关节(Prismatic Joint):
    • 棱柱关节允许连杆沿直线方向移动,通常用于机器人抓取器的伸缩或任何需要直线位移的场合。
    • 设计滑动关节时应考虑合适的滑动材料和润滑系统,以保证关节的长期稳定性和减少维护需求。
    • 它也具有一个自由度,但是是沿着一个轴的平移而不是旋转。

此外还有:

  1. 球形关节(Spherical Joints)
    • 球形关节,亦称为球窝关节,能够围绕一个中心点进行多方向运动,提供高度的运动灵活性。
    • 常见于机器人的腕部和髋部,这些部位需要全方位运动来完成如物体操控、抓握和在复杂环境中的导航等任务。
    • 球形关节所提供的灵活性使机器人能够更有效地与周围环境相互作用,适用于需要敏捷和适应性的应用场景。
  2. 万向关节(Universal Joints)
    • 又称卡当关节,能够围绕两个不相交的轴进行旋转,提供了改变连接部件方向的灵活性。
    • 常用于机器人操控器和驱动轴中,用于在不对齐的组件之间传递动作,允许在各种工业应用中平稳、高效的运作。
    • 万向关节可适应不对称的特性增强了机器人系统的机动性和效率,尤其在需要复杂运动轨迹的任务中表现出色。

此外,还有圆柱形关节(Cylindrical Joints)和平面关节(Planar Joints)等,这些关节及其之间的组合,使得机器人在空间中具有更复杂的运动能力,更进一步的有些机器人会增加一些仿生材料。

关节机械组件

轴承(ings)

轴承在机器人节中起着至关重要的用,主要用于减少摩擦和支持部件的旋转或直线运动。常见的轴承类型包括:

* 球轴承(Ball Bearings):支持高速旋转,适用于轴承较小负载的场景。
* 滚子轴承(Roller Bearings):适用于承受较高负载的应用。
* 滑动轴承(Plain Bearings):简单且成本低廉,适用于不太复杂的关节。

这些轴承通常由耐用的材料如钢或陶瓷制成,以承受高负载和高速度,同时最小化摩擦损耗。

连杆(Linkages)

连杆是由杆、棒和关节组成的机械装置,用于在机器人不同部分之间传递运动和力。连杆可以是简单的,如单个铰链,也可以是复杂的,如多杆连杆机构。通过精心设计连杆的几何形状和排列,工程师可以实现特定的运动轨迹和机械优势,满足机器人任务的需求。

齿轮(Gears)

齿轮是带齿的机械组件。它们在关节内传递运动和力量,并可以根据其配置改变速度、扭矩或旋转方向。齿轮在机器人关节中经常使用的类型包括:

* 直齿轮(Spur Gears):一种常见的齿轮类型,适用于传递平行轴之间的动力。
* 斜齿轮(Helical Gears):与直齿轮相比,能够提供更平滑且安静的操作。
* 锥齿轮(Bevel Gears):用于传递不同轴线上的动力。
* 行星齿轮(Planetary Gears):一种具有高扭矩密度和紧凑设计的齿轮系统。
* 齿轮为旋转运动的执行器提供转换所需的机械优势,允许精确定位和操纵关节的动作。

电气组件

骨架和刚体是由机械组件组成的,而机器人灵活可动的关节需要使用电气组件驱动,电气组件主要包括电机、传感器和控制系统。

执行器的选择非常关键,它直接影响机器人的响应速度、精确控制以及力量输出。

电机

电机是驱动机器人关节的核心,将电能转换为机械运动。

  • 直流电机(DC Motors):提供连续旋转,通常用于需要精确速度控制的场合。
  • 步进电机(Stepper Motors):提供精确的位置控制,常见于机器人的腿部关节,此外在教育型或轻型工业机器人可能会使用步进电机进行简单的操作。
  • 伺服电机(Servo Motors):结合了直流电机和步进电机的特点,能够高精度控制(精确位置、速度、加速度),提供更高的力矩和速度控制,因此更适合动态和负载较重的情况。常用于机器人的支撑结构和主要运动部位,对于负载更重的场景则会使用液压伺服驱动,如波士顿动力的Atlas有用过液压驱动。
  • 舵机是一种特殊类型的伺服电机,通常设计为只能旋转一定范围(如180度),并不提供连续360度旋转。舵机内部集成了控制电路和反馈机制,可以直接接收角度命令,常用于比较轻的负荷应用,在模型飞机、汽车、小型机器人上常用。

机器人关节的电机选择取决于所需的扭矩、速度和运动精度。

控制器

电机控制器用于调节连接电机的电源,向电机提供适量的电流和电压,使得电机能够以预定的方式运作。它可以控制电机的速度、方向、力矩和位置。在腿足机器人中,电机控制器尤其重要,因为它们确保机器人关节的精准动作和响应。

其常采用比例-积分-微分(PID)控制算法,用于精确调节关节的位置、速度和力量,维持电机运动的稳定性和减少误差。

从腿足机器人的角度看,通常是将分解之后的运动姿态,比如某一个关节角度信息直接传给控制器,控制器内部将目标位置信息通过PID/PD算法转为电机(motor)控制信号,然后为电机提供合适的电流电压(控制器的正负3.3v带不动力矩较大的关节运动),然后通过将电能转成电机机械能,带动机器人的运动。

传感器

传感器为机器人的控制系统提供反馈,使其能准确监测和调节关节的位置、速度和力量。

  • 编码器:用于测量关节的转动位置,提供精确的运动控制反馈。
  • 电位计:测量旋转角度。
  • 测力计:监测关节施加的力量。
  • 接近传感器:检测关节附近物体的存在,增强安全性和防止碰撞。

通过整合各类传感器,机器人关节能精确操作并对境变化做出动态响应,确保高且安全的运行。

四足机器人常用旋转、球鞋以及万向关节,其作用如下:

  • 旋转关节 (Revolute Joints):这是四足机器人最常用的关节类型之一,用于模拟动物腿部关节的运动。如膝关节和髋关节,使腿部能够弯曲和伸直。
  • 球形关节 (Spherical Joints):某些高级四足机器人可能在髋部使用球形关节,以提供更大的运动范围和更复杂的动作模拟。
  • 万向关节 (Universal Joints):可以用在连接躯体和腿的部位,以增加机器人的灵活性和平衡能力。

两足人形机器人常用关节

  • 旋转关节 (Revolute Joints):人形机器人广泛使用旋转关节,尤其是在模拟人类关节如手腕、肘部、膝盖和踝关节等部位。
  • 球形关节 (Spherical Joints):在人形机器人的髋部和肩部使用,允许肢体在多个方向上移动,增强机器人的自然运动能力。
  • 棱柱关节 (Prismatic Joints):在某些特定的人形机器人设计中,棱柱关节可能用于脊柱或其他需要直线运动的机构。

这些关节类型的应用确保了四足和两足人形机器人能够进行逼真的、复杂的动作,如跑步、跳跃、爬升、抓取和搬运物品等。正确地选用关节类型对于机器人在执行任务时的效率、稳定性和能力至关重要。通过这些高度灵活的关节设计,机器人能够更紧密地模仿生物机体的运动方式,从而在各种环境中有效地操作。

四足机器人设计

典型结构四足机器人通常采用仿生设计,每条腿包含3个旋转关节(髋关节、膝关节、踝关节),共12个自由度(4条腿×3自由度/腿)。部分高端型号可能增加躯干自由度或足端旋转关节,但核心设计以12自由度为主。

  • 腿部关节配置 138
    • 髋关节:提供腿部的横向摆动(外展/内收)和前后摆动(俯仰),通常为2自由度。
    • 膝关节:控制小腿的屈伸,1自由度。
    • 踝关节:调整足端姿态以适应地形,1自由度(部分设计省略此关节以简化结构)。
      示例:MIT MiniCheetah、ANYmal、宇树A1均采用3自由度/腿的串联结构。
  • 电机数量与类型
    • 每条腿需3个电机(如髋关节2个、膝关节1个),四足共12个电机。
    • 电机类型以高扭矩无刷直流电机为主,部分采用集成编码器的关节模块(如宇树科技的驱动单元)512。
  • 特殊设计案例
    • 波士顿动力Spot:每条腿3自由度,共12电机,髋关节和膝关节采用串联驱动,足端无主动关节。
    • ANYmal轮足混合型:在传统3自由度腿部基础上增加轮式足端,提升移动效率,但需额外电机控制轮子。

双足机器人设计

双足机器人自由度更高,通常需模拟人类下肢、躯干和手臂的协同运动。常见设计为20-30自由度,部分复杂型号可达60自由度(含手指等精细关节)。

  • 下肢关节配置
    • 髋关节:3自由度(俯仰、横滚、偏航,也即x,y,z三个方向的运动)。
    • 膝关节:1自由度(屈伸)。
    • 踝关节:2自由度(俯仰、横滚)。

单腿共6自由度,双下肢共12自由度。

  • 躯干与上肢

    • 腰部:2-3自由度(俯仰、横滚)。
    • 手臂:每臂7自由度(肩3、肘1、腕3)。
  • 头部:2自由度(俯仰、偏航)。

总自由度可达12(腿)+ 3(躯干)+ 14(双臂)+ 2(头)= 31自由度。

电机数量与类型

每个自由度需1个电机,60自由度需60个电机(含冗余设计)。

核心关节(如髋、膝)采用高精度无框力矩电机,小型关节(如手指)使用微型伺服或空心杯电机。

  • 典型案例
    • 波士顿动力Atlas:28自由度,下肢6自由度/腿,躯干与手臂协同完成复杂动作2。
    • 宇树G1人形机器人:全身22自由度,下肢采用仿生关节设计,支持奔跑与跳跃10。

在深入了解了机器人机械和电气方面之后,接下来介绍机器人运动是如何实现的。

波士顿Atlas机器人

关节数量:Atlas机器人共有28个自由度(DOF),具体分布如下:

  • 腿部(每条腿6 DOF):髋关节(3 DOF:俯仰、横滚、偏航)、膝关节(1 DOF:俯仰)、踝关节(2 DOF:俯仰、横滚)。
  • 躯干(2 DOF):腰部横滚与俯仰。
  • 手臂(每条手臂7 DOF):肩部(3 DOF)、肘部(1 DOF)、腕部(3 DOF)。
  • 头部(1 DOF):颈部俯仰。

驱动器与电机:

  • 每个自由度对应一个液压驱动器(Atlas采用液压驱动)或电机+谐波减速器(如电机驱动的版本)。
  • 部分关节可能使用串联弹性驱动器(SEA),通过弹簧间接传递力矩,增强柔顺性和抗冲击能力。
  • 总电机数量与自由度一致(28个),但复杂关节可能需多个电机协同(如髋关节的3 DOF需要3个独立电机)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/69913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重读《Java面试题,10万字208道Java经典面试题总结(附答案)》

最近重读了这篇文章,对很多概念模糊的地方加了拓展和补充。 目录 1、JDK 和 JRE 有什么区别? 2、 和 equals 的区别是什么? 3、final 在 java 中有什么作用? 4、java 中的 Math.round(-1.5) 等于多少? 5、String…

浏览器打开Axure RP模型

1,直接使用chrome打开,提示下载插件 2,需要做一些操作 打开原型文件,找到resources\chrome\axure-chrome-extension.crx文件,这就是我们需要的Chrome插件。 将axure-chrome-extension.crx文件后缀名改为axure-chrome…

优雅的git log输出内容更加醒目

执行命令 git config --global alias.lg "log --graph --prettyformat:%C(red)%h%C(reset) - %C(yellow)%d%C(reset) %C(magenta)<%an>%C(reset) %C(cyan)(%ad)%C(reset) %C(green)%s%C(reset) (%cr) --abbrev-commit --dateformat:%Y-%m-%d %H:%M:%S"

平面与平面相交算法杂谈

1.前言 空间平面方程&#xff1a; 空间两平面如果不平行&#xff0c;那么一定相交于一条空间直线&#xff0c; 空间平面求交有多种方法&#xff0c;本文进行相关讨论。 2.讨论 可以联立方程组求解&#xff0c;共有3个变量&#xff0c;2个方程&#xff0c;而所求直线有1个变量…

链表 —— 常用技巧与操作总结详解

引言 链表作为一种动态数据结构&#xff0c;以其灵活的内存管理和高效的插入删除操作&#xff0c;在算法与工程实践中占据重要地位。然而&#xff0c;链表的指针操作复杂&#xff0c;容易引发内存泄漏和野指针问题。本文博主将从基础操作到高阶技巧&#xff0c;系统化解析链表的…

【LLM】13:大模型算法面试题库

一、Transformer篇 1. Transformer的结构是什么 Transformer 由 编码器&#xff08;Encoder&#xff09; 和 解码器&#xff08;Decoder&#xff09; 两部分组成&#xff0c;两部分都包含目标嵌入层、位置编码、多头注意力层、前馈网络&#xff0c;且有残差连接和层归一化&am…

尚硅谷爬虫note003

一、函数 1. 函数的定义 def 函数名&#xff08;&#xff09;&#xff1a; 代码 2.函数的调用 函数名&#xff08;&#xff09; 3. 定义参数&#xff08;不调用函数不执行&#xff09; def sum&#xff08;a&#xff0c;b&#xff09; #形参 c a b print&#xff08;c&…

语言大模型基础概念 一(先了解听说过的名词都是什么)

SFT&#xff08;监督微调&#xff09;和RLHF&#xff08;基于人类反馈的强化学习&#xff09;的区别 STF&#xff08;Supervised Fine-Tuning&#xff09;和RLHF&#xff08;Reinforcement Learning from Human Feedback&#xff09;是两种不同的模型训练方法&#xff0c;分别…

Linux-文件基本操作

1.基本概念 文件: 一组相关数据的集合 文件名: 01.sh //文件名 2.linux下的文件类型 b block 块设备文件 eg: 硬盘 c character 字符设备文件 eg: 鼠标&#xff0c;键盘 d directory 目录文件 eg: 文件夹 - regular 常规文件…

【前端】 react项目使用bootstrap、useRef和useState之间的区别和应用

一、场景描述 我想写一个轮播图的程序&#xff0c;只是把bootstrap里面的轮播图拉过来就用上感觉不是很合适&#xff0c;然后我就想自己写自动轮播&#xff0c;因此&#xff0c;这篇文章里面只是自动轮播的部分&#xff0c;没有按键跟自动轮播的衔接部分。 Ps: 本文用的是函数…

react脚手架搭建react项目使用scss

1.create-react-app 创建的项目&#xff0c;webpack配置默认是隐藏的 &#xff0c;如果要查看 或修改用npm run eject命令,因为create-react-app脚手架默认已经配置了scss、sass所以不用改webpack配置。如果用less 就需要自己添加配置 2.如果直接使用scss的文件会直接报错&…

LabVIEW与USB设备开发

开发一台USB设备并使用LabVIEW进行上位机开发&#xff0c;涉及底层驱动的编写、USB通信协议的实现以及LabVIEW与设备的接口设计。本文将详细介绍如何开发USB设备驱动、实现LabVIEW与USB设备的通信以及优化数据传输&#xff0c;帮助用户顺利完成项目开发。下面是一个详细的说明&…

高通android WIFI debug

参考高通文档&#xff1a;80-76240-16_REV_AA_Wi-Fi_Debug_Techniques 大纲 一、 WLAN Debug Logs –logcat ■ Logcat log logcat is a command-line tool that dumps the log of system messages, ■ Including stack traces when the device throws an error. ■ Need t…

Golang轻松实现消息模板变量替换:text/template

text/template 是 Go 语言标准库中的一个包&#xff0c;用于生成文本输出。它通过解析模板并根据给定的数据执行模板来生成最终的文本。text/template 提供了强大的模板引擎&#xff0c;支持条件判断、循环、变量替换等功能。 基本概念 模板&#xff1a;模板是一个文本文件或…

蓝桥杯之并查集

算法思想 并查集是一种树形的数据结构&#xff0c;主要用于解决一些元素分组问题。用于处理一些不相交集合的合并以及查询问题。并查集的思想是用一个数组表示了整片森林&#xff0c;树的根节点唯一标识了一个集合&#xff0c;我们只要找到了某个元素的树根&#xff0c;就能确…

list_for_each_entry_safe 简介

list_for_each_entry_safe 是 Linux 内核中用于遍历链表的一个宏&#xff0c;特别适用于在遍历过程中可能需要删除链表节点的场景。它的设计保证了在删除当前节点时&#xff0c;不会影响后续节点的访问&#xff0c;从而实现安全的遍历。 定义 #define list_for_each_entry_sa…

如何在Java EE中使用标签库?

在Java EE&#xff08;现在称为Jakarta EE&#xff09;中使用标签库&#xff08;Tag Library&#xff09;&#xff0c;主要是通过JSP标准标签库&#xff08;JSTL&#xff09;或自定义标签库来实现的。标签库允许在JSP页面中使用自定义的标签&#xff0c;从而简化页面逻辑、增强…

el-table封装一个自定义列配置表格组件(vue3开箱即用)

组件核心功能 拖拽排序&#xff08;使用 vuedraggable&#xff09; 显示/隐藏控制 列宽调整 列固定状态记忆 搜索过滤列 本地存储&#xff08;localStorage&#xff09;可改成接口保存 默认配置恢复 通过 searchText 动态过滤列。 安装拖拽依赖 npm install vuedragg…

基于Docker-compose的禅道部署实践:自建MySQL与Redis集成及故障排查指南

基于Docker-compose的禅道部署实践&#xff1a;自建MySQL与Redis集成及故障排查指南 禅道镜像版本&#xff1a;easysoft/zentao:21.4 Redis版本&#xff1a;redis:6.2.0 Mysql版本&#xff1a;mysql:8.0.35 文章目录 **基于Docker-compose的禅道部署实践&#xff1a;自建MySQL与…

九.Spring Boot使用 ShardingSphere + MyBatis + Druid 进行分库分表

文章目录 前言一、引入依赖二、创建一个light-db_1备用数据库三、配置文件 application-dev.yml四、创建shardingsphere-config.yml完整项目结构 五、测试总结 前言 在现代化微服务架构中&#xff0c;随着数据量的不断增长&#xff0c;单一数据库已难以满足高可用性、扩展性和…