为什么常见的人形机器人都站不直?
作者:邢伯阳
在科技日新月异的今天,人形机器人已经成为了我们生活中的一部分。从家庭服务机器人到工业机器人,再到娱乐领域的表演机器人,它们的身影无处不在。然而,你有没有想过一个问题:为什么这些看似高度先进的人形机器人总是站不直呢?
首先,我们需要了解人形机器人的结构和运动方式。人形机器人通常由头部、躯干、四肢和关节组成,它们通过电机和减速器来实现运动。在行走过程中,人形机器人需要通过关节的旋转来调整身体姿态,以保持平衡。然而,这个过程并不是那么简单。
那么,为什么人形机器人站不直呢?这主要有以下几个原因:
1. 机械结构限制
机械结构是影响人形机器人无法站立直的关键因素之一。人形机器人的结构相对复杂,关节较多,这使得它们在运动过程中更容易产生摩擦和阻力。尤其是在关节处,由于摩擦的存在,机器人在行走时很难保持直立的姿态。此外,人形机器人的重量分布也是一个重要因素。如果重量集中在某一侧,会导致机器人在行走过程中出现倾斜现象。
2. 运动控制的问题
从机器人控制的角度来讲,膝盖弯曲可以保证机器人姿态非奇异,从而增加机器人的可控性。奇异姿态就是诸如膝关节伸直、两关节同轴等情况,这些情况下要么是关节的可达空间变小(膝盖伸直导致脚踝只能以腿长为半径的圆弧移动,而不能运动到圆弧以内的区域),要么是损失了一个自由度导致受力情况比较极端(例如膝伸直后垂直腿方向受载性能极差,但沿腿方向受载能力倍增),总之都会让系统控制上增加难以处理的刁钻情况。类似于数学上除以O这种事情会经常发生,导致在数值计算中会增加很多额外的手段去预防计算过程中出现“除以O”情况。
弯膝盖走路的好处是,机器人姿态控制更加可控。因为腿还有能伸直的余量,因此上身在适应地形起伏等带来的扰动时,腿部有足够的调整空间来施展控制。例如,在某一步摆动腿落地前,若机器人上身因为不可预料的晃动导致实际重心位置高于预期,则这一步落腿可以减小膝关节弯曲角度,使腿伸得更长来弥补这个重心浮动误差。
通俗来讲,弯着腿走路,如果身体晃了,我们可以把腿伸直一点从而把姿态调整回来。如果我们一直保持直腿走路,我们就没有把腿伸得更直的这个选项了,也就少了一些可调整的空间。
人形机器人在行走过程中需要消耗大量的能量。人体步态节能的精妙之处在于,它是一种不完全稳定的节能运动。人走路像是不停地用棍子撑住身体往前摆,然后不断地撤掉靠后的棍子。在走路的过程中大部分重量都用棍子的沿轴方向的支撑力给导入地面了,而关节的发力只用来驱动向前摆动以维持前进,和进行步态切换时的短暂制动防止倾倒。
人体步态的不完全稳定在于,人走路确实可能导致摔倒。因为直腿走路,步态中一定有一个瞬间是一条腿伸直,通过大小腿骨骼近似同轴达到连杆死点来支撑着身体,此时伸直的支撑腿膝关节几乎没有驱动力矩。此时假如身体受各种原因发生晃动时(例如突然变向或急停),若髋关节和踝关节的力量无法完全提供防倾倒力矩,身体姿态将趋于倾倒。而支撑腿没有多大的运动空间(膝关节伸直导致髋关节只能绕脚踝在一个锥面上运动,没法沿腿移动),进而身体姿态会逐渐失稳引发摔倒(若其他肢体不采取措施的话)
直腿脚掌落地就像从身体伸出来一根棍子落地一样,直腿传递给身体的力主要为沿腿轴方向的推力和髋踝关节的扭矩。传力方向受限,因此每次落地的位置都得非常小心地计算,因为否则一次落腿就把会身体给撑得失去平衡。而弯着腿走路就可以通过弯曲膝关节来调节落地腿传给身体的力的大小和方向。
这也是为什么人在刚开始试探着走易滑的冰面时,会下意识屈膝以保证身体平衡,而不是直愣愣地伸直腿踩上去,后者多半会直接滑倒或劈叉。
目前人形机器人在控制上可以取得比较大的姿态调整空间,进而对稳定上半身姿态、稳定步态有积极作用。但是,非仿人步态会使得机器人行走耗能大,使得在系统设计上对功率的预估偏大,进而导致更大的驱动关节,使机器人笨重起来。
3. 传感器性能不足
为了实现精确的运动控制,人形机器人需要依赖各种传感器来获取环境信息。目前,市场上的人形机器人大多采用激光雷达、摄像头、陀螺仪和加速度计等传感器。然而,这些传感器的性能有限,很难完全捕捉到环境中的变化。特别是在光线变化较大或者地面有杂物的情况下,传感器可能会出现误判,导致机器人无法准确判断自己的位置和姿态,从而无法保持稳定的站立状态。
4. 人工智能算法优化
随着人工智能技术的发展,越来越多的研究者开始尝试将深度学习、强化学习等方法应用于人形机器人领域。这些算法可以帮助机器人更好地理解和适应环境变化,从而实现更稳定、更自然的行走。
然而,将这些高级算法应用于实际问题仍然面临很多挑战,例如数据量不足、算法复杂度高等。因此,如何将这些算法与现有的运动控制方法相结合,提高人形机器人的稳定性和行走性能,仍然是一个亟待解决的问题。
总之,现阶段人形机器人站不直的现象是由多种因素共同作用的结果。在未来的发展过程中,我们需要不断优化机械结构、运动控制算法、传感器性能等方面的问题,同时利用人工智能技术来提高机器人的稳定性和行走性能