• 静态步行与动态步行

  机器人步态分为静态步行和动态步行。当机器人做静态步行运动时,身体的各个部分运动速度很小,机器人的整体稳定性较易控制。静态步行稳定性采用机器人的重心地面投影点(Center of Gravity,简称CoG)作为稳定性标准,这种判定方法适用于运动较为缓慢的情况。如果机器人采用的是一种高速运动的步行方式,则称之为动态步行。当机器人进行动态步行时,其重心的位置和加速度的大小时刻都在变化,产生向前和侧向的惯性不容易控制,从而稳定性不好掌控。在机器人的静态步行过程中,如果重心投影的轨迹始终落在支撑面内,称之为稳定。当机器人保持静止或静态平衡时,其ZMP与重心在地面上的投影重合。当机器人步行速度较高时,由于惯性力,重心在地面上的投影点不能保证始终与ZMP重合。

  • ZMP(零力矩点)和CoP(压力中心)是评价双足步行机构行走稳定性的重要参数。

  双足步行机器人研究的一个关键问题是实现其稳定的行走。目前世界上大多数双足步行机器人系统都采用ZMP作为稳定行走的判据。ZMP是由南斯拉夫学者Vukobratovic提出的, 他研究了ZMP与双足动态系统之间的关系,提出ZMP是判断动态平衡的一个重要依据。ZMP是地面上的一点,重力和惯性力对这一点的力矩,其水平分量为零。即整个系统对于这个点的前向、侧向的倾覆力矩为零。他指出,当双足机构处于动态平衡时,ZMP和脚底所受地面反力的压力中心CoP是重合的。因此,我们可以根据检测到的地面反力信息,计算CoP,通过控制策略调整ZMP和CoP的位置,使二者重合,实现机器人的动态稳定行走。日本本田公司的机器人ASIMO通过安装在脚部的六维力/力矩传感器检测出地面反力信息, 计算得到CoP,通过独特的姿态控制同时调整躯干姿态和脚部姿态, 进而保持ZMP和CoP 在行走过程中始终处于合适的位置, 实现稳的行走。

  对于处于动态平衡下的双足机器人, 在单脚支撑期间内, ZMP与CoP是重合的。对于单脚支撑期的动态不平衡状态, 整个机器人机构围绕脚的边缘发生旋转或翻转, ZMP和CoP是不重合的。根据定义可知CoP是永远不会离开支撑区域的, 而ZMP可以离开支撑区域。(If the robot is dynamically stable ,ZMP coincides with CoP and can be calculated with CoP by using force sensors on the foot. If the biped is not dynamically stable ,the CoP can still be determined but this location does not represent the ZMP)。ZMP点由于计算比较容易,常用于行走步态的生成,而CoP则由于容易直接测量,更适合用于对机器人行走进行控制。ZMP作为机器人稳定行走的一个充分条件,使用范围有一定的限制:当足底打滑、地面不平、或者机器人上身与外界环境接触时,ZMP就不能应用。

  当ZMP处于支撑区域之外时, 机器人就会倾倒。作用在机器人脚底的实际地面反力(包括垂直反力和摩擦力)作用点如能与期望ZMP重合,并落在支撑多边形内,则对于机器人无翻转力矩,处于稳定行走状态。期望ZMP可通过实际结构尺寸、重量、步态规划进行计算。实际ZMP需要由六维力/力矩传感器(或多个压力传感器)进行测量,传感器的最佳安装位置应在踝关节以下,越接近地面越好。

  • 支撑多边形

  支撑多边形是指机器人足底面和地面接触点构成的最小多边形;对于单腿支撑, 根据定义其支撑多边形就是支撑腿的足底接触面;对于双腿支撑可分两种情况, 一种为两腿都完全与地面接触(图2), 另一种是其中一条腿即将离地时(图3)。由图2 可知, 两腿足底完全接触地面时的支撑面为多边形ABCDEF , 当其中一腿即将离地时, 它的接触面变成一条线, 支撑面也会变成多边形ABDEF。根据支撑多边形和零力矩点ZMP的定义, 可得到零力矩点始终落在支撑多边形内而不能落到边缘之外, 这为机器人是否稳定行走提供了判断的依据, 即利用传感器检测ZMP的位置与支撑多边形边界进行比较判断行走是否趋于稳定;在一般情况下, 为了预先防止ZMP 坐落在支撑多边形边界上这一情况的发生, 通常距支撑多边形边界留出一段距离作为稳定裕度。

  • ZMP测量

  通过安装在足底的压力传感器测量各个离散点的压力,离散点的数量越多,ZMP的估计越准确。

  以上为单脚支撑期的实际ZMP的计算公式。在双足步行机器人的行走过程中,还有双脚支撑期。当机器人处于双脚支撑期时,每只脚的实际ZMP仍然用以上公式计算,整个机器人系统的实际ZMP可按下式计算,推导过程可参照图3所示。式子中X1、X2、Y1、Y2分别为左右脚ZMP点在参考坐标系中的坐标。Fz1、Fz2分别为左右脚4个压力传感器计算出的竖直方向的合力。

  • ZMP计算

  对于研究机器人步行运动,通常都是计算ZMP运动轨迹来反映步行的稳定性。通过重力与惯性力的合力来定义ZMP的坐标计算公式,并用达朗贝尔原理进行推导。(推导时注意坐标轴以及力/力矩的方向)

  设机器人各个连杆质量为mi,连杆质心坐标为(xi,yi,zi),重力和惯性力的合力为:

  该合力对各个坐标轴的矩为:

  将合力从参考坐标系原点移动到ZMP点,ZMP点处合力矩对X,Y轴分量为零,则有:

  可求得:

  不考虑惯性力的影响,则上式变为:

  忽略惯性力的影响后,ZMP与CoG(重心在地面上的投影)重合。由此可见,静态步行为动态步行的特例。

参考:

  1. 刘莉,汪劲松,陈恳,杨东超,赵建东. 基于六维力/力矩传感器的拟人机器人实际ZMP检测[J]. 机器人. 第23卷第5期,2001年9月

  2. 常江. 基于ZMP 的双足机器人稳定性分析[J]. 佳木斯大学学报( 自然科学版). 第27卷第1期,2009年01月

  3. 林玎玎, 刘莉, 赵建东, 陈恳. 双足步行机器人的ZMP-CoP检测及研究[J]. 机器人. 第26卷第4期,2004年7月 

双足步行机器人的ZMP与CoP检测的更多相关文章

  1. 2018 AI产业界大盘点

    2018  AI产业界大盘点 大事件盘点 “ 1.24——Facebook人工智能部门负责人Yann LeCun宣布卸任 Facebook人工智能研究部门(FAIR)的负责人Yann LeCun宣布卸 ...

  2. 两轮自平衡小车双闭环PID控制设计

                                                                                            两轮自平衡小车的研究意义 ...

  3. 12只超酷机器人,在家用3D打印搞定!

    3D打印最吸引人的地方在于它完全无极限!现在的3D打印已经广范应用在我们的生活.以及工业上的各个领域.最棒的是,DIY玩家可以真正从中受益.我们现在已经可以应用3D打印,在家制作自己的机器人了.如果你 ...

  4. ROS机器人程序设计(原书第2版)补充资料 教学大纲

    ROS机器人程序设计(原书第2版) 补充资料 教学大纲 针对该书稍后会补充教学大纲.教案.多媒体课件以及练习题等. <ROS机器人程序设计>课程简介 课程编号:XXXXXX 课程名称:RO ...

  5. 第八章 交互技术,8.4 Weex 双11会场大规模应用的秒开实战和稳定性保障(作者:鬼道)

    8.4 Weex 双11会场大规模应用的秒开实战和稳定性保障 前言 Native 开发的诸多亮点中,流畅体验和系统调用是最多被提及的.流畅体验体现在页面滚动/动画的流畅性,背后是更好的内存管理和更接近 ...

  6. python 下的数据结构与算法---4:线形数据结构,栈,队列,双端队列,列表

    目录: 前言 1:栈 1.1:栈的实现 1.2:栈的应用: 1.2.1:检验数学表达式的括号匹配 1.2.2:将十进制数转化为任意进制 1.2.3:后置表达式的生成及其计算 2:队列 2.1:队列的实 ...

  7. PWM波控制舵机总结

    文章转自:http://www.geek-workshop.com/thread-70-1-1.html 一.关于舵机: 舵机(英文叫Servo):它由直流电机.减速齿轮组.传感器和控制电路组成的一套 ...

  8. CG资源网 - Maya教程

    Maya中mentalray灯光渲染终极训练视频教程 http://www.cgtsj.com/cg/f/vx3627/index.html Maya无人机建模制作训练视频教程第一季 http://w ...

  9. 合金装备V 幻痛 制作技术特辑

    合金装备V:幻痛 制作特辑 资料原文出自日版CGWORLD2015年10月号   在[合金装备4(Metal Gear Solid IV)]7年后,序章作品[合金装备5 :原爆点 (Metal Gea ...

随机推荐

  1. 服务器配置多版本CUDA、CUdnn(不同Linux账户使用不同CUDA、CUdnn版本)

    一.由于实验室大家使用的CUDA.CUdnn不同,所以需要在同一台服务器安装多个版本,而且要不引起冲突,方法如下: 1.一般来说CUDA安装在 /usr/local 目录下(当然你可以通过“echo ...

  2. Docker 常用命令与操作

    介绍 此命令集合版本为 1.11.1 及以上 基础类 查看docker信息 # 查看docker版本 docker version # 显示docker系统的信息 docker info # 日志信息 ...

  3. sugar crm

    百度百科:http://baike.baidu.com/link?url=7SnriwrF-4LcRfXctBbZjLc-UEUqWl3b0YR004pGFk4SJ1qMU9TMj37yFmHRsUS ...

  4. 一种多线程写日志文件的解决方案 c#源代码演示

    using System;using System.Collections.Generic;using System.Collections;using System.Text;using Syste ...

  5. 5.1 javassist基本使用

    假设要使用javassist创建一个类: package com.alibaba.dubbo.demo.test; public class Emp { //属性 private int accoun ...

  6. leetcode关于数组的问题

    关于数组的几道面试题 [Leetcode] 628. 三个数的最大乘积 解题思路: 这个一开始我是没想到思路的(除了遍历),因为有正负号的问题,后来看了一下别人的思路然后自己写的,思路是这样的: 三个 ...

  7. iOS开发-邮件发送

    Web开发的时候邮箱注册登录是必不可少的,手机号可以更换,不过相对而言,邮箱只是用于比较重要的时候用到,比如找工作的时候必填的邮箱,注册网站会员的邮箱验证.现在的手机和Web的其实操作是一样的,大多数 ...

  8. Rotate Image leetcode java

    题目: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...

  9. Java归去来第3集:Eclipse中给动态模块升级

    一.前言 如果还不了解剧情,请返回第2集的剧情          Java归去来第2集:利用Eclipse创建Maven Web项目 二.开始升级动态模块 2.1:查看原来的版本 我们先来看看Ecli ...

  10. 闲聊DNN CTR预估模型

    原文:http://www.52cs.org/?p=1046 闲聊DNN CTR预估模型 Written by b manongb 作者:Kintocai, 北京大学硕士, 现就职于腾讯. 伦敦大学张 ...