Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >仿人机器人步态规划简述(一)

仿人机器人步态规划简述(一)

原创
作者头像
ZC_Robot机器人技术
修改于 2021-05-15 13:27:28
修改于 2021-05-15 13:27:28
5.2K0
举报

在正式介绍仿人机器人步态规划之前,先给搭建观看以下日本本田Asimo的视频

1 仿人机器人步态概述

Asimo 爬楼梯
Asimo 爬楼梯
仿人机器人树形图
仿人机器人树形图

仿人双足机器人的行走控制并不像人一样轻松,而是需要工程师对机器人的动作进行各种分解,经过步态规划之后机器人才可以实现类似人一样的行走动作。对于仿人机器人的行走过程,涉及到以下的一些概念:

基本概念

具体定义

步态

仿人机器人的步态规划类似于机械臂的轨迹规划,但是机械臂轨迹规划一般仅仅涉及到机械臂关节空间或者笛卡尔空间的轨迹的规划问题,且二者之间是可以通过机器人的正向运动学和逆向运动学相互转化的。但是仿人机器人的步态规划则不同,机器人的没有固定的基座,因而不存在特定的关节空间和笛卡尔空间的转化关系,因为二者之间的转换需要涉及到机器人漂浮基座的状态。因而仿人机器人的步态可以认为是质心轨迹以及各个关节轨迹的综合。

静态步行

仿人机器人步行过程中,机器人相对于支撑脚始终处于静力学平衡状态,即机器人的质心在地面上的投影始终不超过支撑多边fangrenbn形的范围。

动态步行

仿人机器人步行过程中,机器人相对于支撑脚始终处于动力学平衡状态,即机器人的质心在地面上的投影可以在某些时刻超过支撑多边fangrenbn形的范围。

单腿支撑

机器人仅仅有一只脚与地面接触,此时机器人呈倒立摆状态

双腿支撑

机器人双腿支撑某种程度上是一种过度阶段,根据人类的行走状态,双腿支撑期只占一个步行周期的8%-25%。机器人在撑场行走过程中是处于单腿支撑和双腿支撑的结合和切换。但是当机器人处于奔跑状态时候,则是单腿支撑与腾空状态的结合。

单步

机器人从一侧腿着地到另一侧腿着地构成一个步长,它包含一个双腿支撑期和单腿支撑期。两个单步会构成一个复步。

复步

在步行运动中, 从机器人一侧脚着地开始到该脚再次着地构成一个复步。 期间两只腿各相继向前迈步一次。 它包括两个双脚支撑期和两个单脚支撑期。

跨高

摆动腿在摆动过程中脚底离地面的最大距离, 常用于衡量机器人跨越小障碍物和在不平地面行走的能力。

仿人机器人的步态规划主要包含基于倒立摆的步态规划法,基于ZMP的步态规划法,以及基于五连杆的步态规划法。

2 双足机器人的步态规划法

倒立摆的种类很多, 有悬挂式倒立摆、 平行式倒立摆和球平衡式倒立摆; 倒立摆的级数可以是一级、 二级、 三级乃至多级; 倒立摆的运动轨道可以是水平的, 也可以是倾斜的(这对实际机器人的步行稳定控制研究更有意义) ;

仿人机器人的行走模型与人体下肢的行走非常相似,且仿人机器人的下肢涉及基本上也是参考人体下肢的髋关节,膝关节,以及踝关节。 髋关节,膝关节,以及踝关节的大概作用如下所示

关节类型

主要作用

髋关节

用于摆动腿, 实现迈步并使上躯体前倾或者后仰, 使之在步行过程中起辅助平衡作用

膝关节

调整重心的高度, 并用来调整摆动腿的着地高度, 使之与地形相适应

踝关节

用来和髋关节相配合实现支撑腿和上躯体的移动, 而且还可以调整脚掌与地面的接触状态。

人体下肢解剖
人体下肢解剖

双足机器人的步行可以分为静态步行和动态步行两种。 静态步行是重心移动少、 速度慢的步行方式, 动态步行则是自身破坏平衡, 向前倾倒地行走, 人的行走以动态步行为主。 倒立摆的移动就属于这种典型的动态步行。双足机器人一个完整的行走周期分为双腿支撑阶段和单腿支撑阶段。 双腿支撑阶段起始于前脚的脚跟接触地面, 结束于后脚的脚趾离开地面; 单腿支撑阶段是一条腿支撑身体, 另外一条腿完成步行前移。 在行走过程中需要确定的是踝关节的轨迹和髋关节的轨迹, 膝关节的轨迹由二者联合决定

双足机器人浮动基座
双足机器人浮动基座

如果忽略腿部的质量, 双足机器人的模型就可以简化成一级倒立摆的模型。

双足机器人机器人实际与外部环境的接触具体如下所示:

双足机器人接触情况
双足机器人接触情况

图片来源:here

3 仿人机器人行走应用

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​谷歌助力,快速实现 Java 应用容器化
Google 在 2018 年下旬开源了一款新的 Java 工具 Jib,可以轻松地将 Java 应用程序容器化。通过 Jib,我们不需要编写 Dockerfile 或安装 Docker,通过集成到 Maven 或 Gradle 插件,就可以立即将 Java 应用程序容器化。
用户2781897
2019/04/16
5330
如何分析SpringBoot源码模块及结构?--SpringBoot源码(二)
如何搭建自己的SpringBoot源码调试环境?--SpringBoot源码(一)。
源码笔记
2020/03/07
2.1K0
如何分析SpringBoot源码模块及结构?--SpringBoot源码(二)
如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」
这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境。如果有经验的小伙伴们可以略过此篇文章。
全栈程序员站长
2022/08/24
2.2K0
如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」
SpringBoot内置的各种Starter是怎样构建的?--SpringBoot源码(六)
本篇接 外部配置属性值是如何被绑定到XxxProperties类属性上的?--SpringBoot源码(五)
源码笔记
2020/03/15
1K0
搭建SpringBoot源码环境的正确姿势(避坑必备)
最近打算拉取SpringBoot源码,各种编译报错,各种问题。参考很多网上的教程,仍然是各种错误。
明明如月学长
2021/08/27
1.8K0
搭建SpringBoot项目三种方式(超详细版)
接下来我们搭建一个SpringBoot项目,并引入SpringMVC的功能,首先我们可以通过官网搭建项目:
会洗碗的CV工程师
2023/11/05
10.8K0
搭建SpringBoot项目三种方式(超详细版)
超赞!推荐一个专注于Java后端源码分析的Github项目!
大家好,最近有小伙伴们建议我把源码分析文章及源码分析项目(带注释版)放到github上,这样小伙伴们就可以把带中文注释的源码项目下载到自己本地电脑,结合源码分析文章自己本地调试,总之对于学习开源项目源码会更方便。
源码笔记
2020/04/06
1.1K0
超赞!推荐一个专注于Java后端源码分析的Github项目!
一起来学 SpringBoot | 第一篇:构建第一个 SpringBoot 工程
摘要: 原创出处 http://blog.battcn.com/2018/04/20/springboot/v2-introducing/ 「唐亚峰」欢迎转载,保留摘要,谢谢!
芋道源码
2019/10/29
4440
一起来学 SpringBoot | 第一篇:构建第一个 SpringBoot 工程
分析开源项目源码,我们该如何入手分析?(授人以渔)
本文接上篇文章跟大家聊聊我们为什么要学习源码?学习源码对我们有用吗?,那么本篇文章再继续跟小伙伴们聊聊源码这个话题。
源码笔记
2020/03/07
1.5K0
分析开源项目源码,我们该如何入手分析?(授人以渔)
springboot源码调试
地址:https://github.com/spring-projects/spring-boot/
全栈程序员站长
2022/08/18
3660
springboot源码调试
【SpringBoot系列01】初识SpringBoot一、介绍二、目标三、实现四、总结
想必大家都一定用过spring框架,每次整合spring框架的时候总是会有无穷无尽的xml配置文件,第一次写配置文件的时候,大家还会抱着学习的心态认真读每一个配置,但是当我们每次在构建项目都要写同样的配置文件大家应该会觉得厌烦,尽管只是复制粘贴。那么现在你就不用担心了,使用springboot让你更简单的构建spring应用。
yukong
2018/08/21
3940
【SpringBoot系列01】初识SpringBoot一、介绍二、目标三、实现四、总结
【SpringBoot】从环境准备到创建SpringBoot项目的全面解析.
本文对Idea版本有一定要求,如果是社区版则需在2021.1-2022.1.4,专业版则无要求. 如果已经下载的Idea不在这个范围,需要卸载干净再重装.
用户11369350
2025/05/11
980
【SpringBoot】从环境准备到创建SpringBoot项目的全面解析.
搭建SpringBoot源码环境的正确姿势(避坑必备)
最近打算拉取SpringBoot源码,各种编译报错,各种问题。参考很多网上的教程,仍然是各种错误。
全栈程序员站长
2022/07/01
1.1K0
搭建SpringBoot源码环境的正确姿势(避坑必备)
看必会!SpringBoot系列之从0搭建项目
使用SpringBoot已经也有两年多了,从一开始对SpringBoot的零认知到现在日常开发必接触的框架,说实话受益良多,其实SpringBoot就是Spring的扩展,以前我们做框架整合以及开发过程中会有大量的配置文件需要配置,而SpringBoot的出现就是把我们从大量配置文件xml中解救出来,不再需要做过多bean配置、DI配置,使用SpringBoot之后只需要集中在application配置文件中做简单属性配置即可,由于SpringBoot内嵌了Tomcat这样还免去了我们安装Tomcat的麻烦,我们只需要运行项目根目录下启动类的main方法即可启动项目,是不是对比以往的项目有没有感觉牛逼plus,今天先说到这,接下来我们学习如何从零搭建SpringBoot项目。
main方法
2020/12/07
1.1K0
看必会!SpringBoot系列之从0搭建项目
【SpringBoot DB 系列】Jooq 初体验
java 环境中,说到数据库的操作,我们通常会想到的是 mybatis 或者 hibernate,今天给大家介绍一个国内可能用得不太多的操作方式 JOOQ,一款基于 Java 访问关系型数据库的工具包,轻量,简单,并且足够灵活的 ORM 框架
一灰灰blog
2020/09/16
1.3K0
【SpringBoot DB 系列】Jooq 初体验
SpringBoot【入门案例】
  Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简单来说,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
用户4919348
2019/05/15
6800
SpringBoot【入门案例】
一起来学SpringBoot | 第一篇:构建第一个SpringBoot工程
未接触 SpringBoot 之前,搭建一个普通的 WEB 工程往往需要花费30分钟左右,如果遇到点奇葩的问题耽搁的时间会更长一点,但自从用了 SpringBoot 后,真正体会到什么叫分分钟搭建一个 WEB,让我拥有更多的时间跟我的小伙伴们唠嗑了。使用 SpringBoot 后发现一切是如此的简单(还记得读书那会被JAR包,xml支配的恐惧吗,如今都可以说 good bye)
battcn
2018/08/03
8420
一起来学SpringBoot | 第一篇:构建第一个SpringBoot工程
SpringBoot 多模块项目实践(附打包方法)
比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。
Java团长
2019/11/10
5.1K0
自我救赎 → 利用 IDEA 和 Spring Boot 搭建 SSM
利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)
青石路
2019/07/15
5490
自我救赎 → 利用 IDEA 和 Spring Boot 搭建 SSM
Spring学习笔记(十二)——SpringBoot基础和快速入门
Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。
不愿意做鱼的小鲸鱼
2022/09/24
4760
Spring学习笔记(十二)——SpringBoot基础和快速入门
推荐阅读
相关推荐
​谷歌助力,快速实现 Java 应用容器化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档