精华内容
下载资源
问答
  • 四足机器人

    2018-12-16 19:59:07
    四足机器人代码原件
  • adams四足机器人仿真

    2021-05-24 15:11:02
    adams四足机器人仿真
  • 四足机器人步态模型四足机器人的步态仿真研究
  • 四足运动——四足机器人控制技术 Quadrupedal Locomotion An Introduction to the Control of Four-legged Robots 【西】Pablo Gonzalez de Santos;Elena Garcia;Joaquin Estremera 王宇 徐震宇 译 发现没这个...
  • 浙江大学绝影四足机器人产品介绍 浙江大学绝影四足机器人产品介绍 浙江大学绝影四足机器人产品介绍
  • 四足机器人研究综述

    2020-01-19 20:58:15
    四足机器人研究综述,王一治,常德功,对四足机器人研究应用的历史与现状做了介绍,列举出国内外主要研究机构及其主要研究成果,对四足机器人研究的热点和难点问题进行
  • 四足机器人模型sw.rar

    2021-06-23 11:00:57
    四足机器人模型sw.rar-solidworks模型
  • 四足机器人设计报告

    2016-04-29 20:06:58
    四足机器人设计资料
  • 开源四足机器人 附设计图及代码

    万次阅读 多人点赞 2019-11-18 11:03:07
    斯坦福学生机器人俱乐部(Stanford Student Robotics club)Extreme Mobility 团队最近迎来了一名新成员——一个名为 Stanford Doggo 的四足机器人。这个机器人能跳 1 米多高,还能表演后空翻。与其他四足机器人动辄...

    斯坦福学生机器人俱乐部(Stanford Student Robotics club)Extreme Mobility 团队最近迎来了一名新成员——一个名为 Stanford Doggo 的四足机器人。这个机器人能跳 1 米多高,还能表演后空翻。与其他四足机器人动辄上万美元的成本不同,这个机器人的成本降到了 3000 美元以下,而且设计团队开源了该机器人的设计图、代码以及材料清单。任何感兴趣的人都能够通过这些材料打造属于自己的 Doggo 机器人。
    再贡献一个四足机器人的论文,有兴趣的小伙伴可以参考下大连理工大学的硕士论文,讲解的比较全面
    下载链接:
    https://download.csdn.net/download/ViatorSun/11982872
    https://download.csdn.net/download/ViatorSun/12012352

    在这里插入图片描述

    1. 低成本,人人都能动手 DIY

    Doggo 的设计和其他小型四足机器人类似,但其独特之处在于,该机器人成本较低,而且容易获得。其他类似的机器人通常要花费上万美元,但该机器人的设计者——斯坦福 Extreme Mobility 实验室估计,Doggo 的总成本不会高于 3000 美元。而且,Doggo 的整个设计都是开源的,几乎所有的零部件都可以在网上买到。

    「我们见过很多研究中所使用的四足机器人,但你通常没有办法把它们带到自己的实验室并用在自己的项目中,」Extreme Mobility 负责人、机械工程专业学生 Nathan Kau 表示。「我们希望 Stanford Doggo 成为一款你可以自己构建的低成本开源机器人。」

    Stanford Doggo 现在已经能完成走路、慢跑、跳舞、跳跃等动作,偶尔还能表演一下后空翻。目前,研究团队正在打造一个稍大一点的 Doggo(和比格犬差不多大),并将在 5 月 21 日的加拿大蒙特利尔国际机器人与自动化会议(ICRA)上进行展示。

    2. 能跳 1 米多高,后空翻也不在话下

    为了让 Doggo 可以复现,研究团队从头开始构建该机器人。他们花了大量时间研究容易获取的原材料,在完成每个部件之后都会对其进行测试,而不是依赖于模拟。

    「从一开始想到要构建一个四足机器人到现在已经过去了两年的时间。在这个原型开始迭代之前,我们还构建了若干个原型,」该团队一名 19 岁的成员表示。

    Doggo 的第一步无疑是蹒跚学步,但现在它的步态和行进路线已经非常稳定,还能克服较为复杂的地形。它通过马达感应自己受到的外力,并确定每条腿应施加多大的力和扭矩来实现这一目标。这些马达以每秒 8000 次的速度重新计算,这对 Doggo 标志性的舞蹈动作至关重要:它可以跳颇为灵活的布吉舞,看不出来里面其实没有弹簧。

    这些马达就像一个由虚拟弹簧组成的系统,当它们感觉到机器人偏离合适的位置时,会平稳而敏捷地将机器人弹回适当的位置。

    Doggo 的跳跃能力非常令人惊讶。通过不断改进软件设计,Doggo 已经能跳到 3.5 英尺(约 1 米)高。

    Kau 回忆说,「从那时起我们就意识到,这个机器人在某些方面的表现已经超越了其他四足机器人,尽管它的成本要低很多。」从那时起,他们开始尝试让 Doggo 进行后空翻。

    在这里插入图片描述

    Stanford Doggo 能完成小跑、后空翻和跳跃等多种动作。

    虽然 Doggo 的构建成本非常低,但因为腿部机制的新型设计和更高效的马达,它的实际效果要比其它昂贵的机器人更好一些。它的扭矩比 Ghost Robotics 相同大小和形状的 Minitaur 机器人(成本达 11500 美元)更大一些。此外,Doggo 的垂直跳跃能力同样也比 MIT 的 Cheetah 3 机器人强。

    3. 开源机器人

    作为一个开源机器人,Stanford Doggo 的所有代码和设计图都能免费获得。斯坦福希望 Doggo 能为多足机器人提供一个可访问的平台。目前,该开源机器人保持着垂直跳跃敏捷度的最高纪录,它的跳跃高度是目前四足机器人的两倍。此外,因为 Stanford Doggo 总重量低于 5 公斤,根据开源项目做开发更容易也更安全。

    • 项目地址:https://github.com/Nate711/StanfordDoggoProject
    • CAD 设计图:https://a360.co/2OBxTbH

    总体上,项目从软件代码、驱动、硬件设计到材料清单提供了完整的资料。下面通过几张结构或演示图,我们可以欣赏欣赏 Doggo 的构造细节。

    1. 同轴机制
      同轴机制(coaxial mechanism)会驱动每一条腿的运动能力,不论小跑还是跳跃都少不了它。同轴机制也是机器人中最复杂的机制和模块,当然它也是最麻烦的。

    在这里插入图片描述

    根据上面设计图造出来的实际效果大概是:

    在这里插入图片描述

    2.Doggo 的小关节
    对于每一个腿部关节,它的构造是这个样子:

    在这里插入图片描述

    3.Doggo 的小脚
    Doggo 的小脚是硅胶材质的,斯坦福的研究者用 3D 打印机完成。

    在这里插入图片描述

    5.Doggo 布局
    后面还有身体(机箱~)和电路设计图等模块,这里就不一一展示了。最后,我们可以看看 Doggo 的整体内部结构与马达控制器的布局:

    在这里插入图片描述

    Doggo 论文

    当然,如果你想搭建一个这样的机器人,除了上面这些具体的结构,最好还是要了解整体设计思路和原理。斯坦福的研究者还为 Doggo 写了一篇论文,这篇论文发表在了 ICRA 2019 上。

    论文:Stanford Doggo: An Open-Source, Quasi-Direct-Drive Quadruped
    论文地址:https://download.csdn.net/download/ViatorSun/11982872

    这篇论文展示了 Stanford Doggo,它是一种准直接驱动(quasi-direct-drive)的四足机器人,具有很强的动态运动能力。该机器人能媲美或超过当前最优多足机器人的一般性能指标。且在垂直跳跃灵敏度上,即以平均垂直速度为指标,Stanford Doggo 能与表现最好的动物相媲美,并超过此前表现最好的机器人 22%。整体设计架构重点关注准直接驱动的设计方法。复现该机器人的硬件和软件都已经开源,只需要手工工具制造和组装就能完成,总成本低于 3000 美元。

    结语

    很多研究员认为类似 Doggo 这样的机器人是即将来临的机器人大发展的一部分。四足或双足机器人的能力将变得越来越强,波士顿动力、Agility Robotics 和 Anybotics 等公司都开始将其定位为高效的工具。它们可以用于各种实际任务或场景,例如现场调查、监视、安防或快递包裹等。

    而像 Doggo 这样的低成本机器人,可以用于研究者的各种实验,并快速迭代提升控制系统。目前,Doggo 和同类产品一般都为大学实验室而设计,但很快,它们就会投入真实世界。

    斯坦福表示,它们希望 Doggo 能提供任何人都可以构建的基准系统。如果我们希望将它用于不同的任务,那么给 Doggo 加上不同的传感器与对应的代码,就能利用运动能力执行它们。

    参考链接:

    • https://www.theverge.com/2019/5/20/18632562/doggo-stanford-open-source-robot-four-legged-cute

    • https://news.stanford.edu/2019/05/20/dog-like-robot-jumps-flips-trots/

    展开全文
  • 这是一个新的教程,指导您一步一步制作这种超级神奇的电子项目,这就是“爬行机器人”,也被称为“蜘蛛机器人”或“四足机器人”。 硬件组件: Arduino Nano R3× 1 蓝牙低功耗(BLE)模块(通用)× 1 Onion ...
  • 四足机器人并联腿足端摆线轨迹仿真完整matlab代码,一共100多行命令,可以直接运行,互相学习,一块进步。
  • 随着相关技术的普及和模块成本降低,四足机器人开始走向普通实验室,本设计旨在制作一台十二自由度的小型电动直驱四足机器人,并探究以对角步态为主的相关步态控制算法,具体工作包括主控板设计制作、电路系统搭建、电机...
  • mini四足机器人-SG90.zip

    2021-04-30 10:25:47
    四足机器人3D打印文件,采用SG90舵机驱动,文件类型为stl格式,可直接用于打印
  • 四足机器人稳定性能分析,步态轨迹规划,四足机器人在动力学分析·
  • MATLAB simulink对四足机器人物理建模 一、 本设计中用的是网上下载的别人已经画好的四足机器狗的3D模型。 那么我们就需要将这些3D模型导入到MATLAB的建模中,打开MATLAB后可以在命令页面输入smnew,弹出...

    四足机器人(一)----MATLAB simulink对四足机器人物理建模

    一、 本设计中用的是网上下载的别人已经画好的四足机器狗的3D模型。

    在这里插入图片描述
    那么我们就需要将这些3D模型导入到MATLAB的建模中,打开MATLAB后可以在命令页面输入smnew,弹出simulink页面,也可以在主页点击simulink图标建立物理模型,双击方块,在这里插入图片描述
    首先建立一个平面,我们随后建立的机器狗就可以在该平面上走动了,参数设置为[1000 500 1]。
    在这里插入图片描述

    建立完毕后可以点击simulink的运行按钮就可以在MATLAB中看到建立的平面。此时就可以将我们的物理模型导入了,鼠标右键solid拖动solid模块就可以复制出一个一模一样的元件出来,此时开始对该模块进行编辑,双击新的solid模块进行导入模型。首先将body的模型导入,并且与之前的模块相连,并设置坐标,因为我们的物理模型是要在平面上方的,不设置坐标的话会放在和平面重合的位置,所以我们要对坐标进行设置,因为3D模型的尺寸原因我们将body的模型高度设置为250mm。

    在这里插入图片描述
    在这里插入图片描述

    设置完成并连接后点击运行按钮,我们可以看到模型已经成功导入。

    在这里插入图片描述

    那么接下来就是各个腿的导入了,原理和导入body一样。下面给出髋关节的坐标参数。

    在这里插入图片描述

    随后我们将其他关节部分导入,以下是参数。在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    坐标建立好后将模型也导入后点击运行按钮我们可以看到在MATLAB仿真界面出现了我们的模型。
    在这里插入图片描述

    那么我们发现四足机器人的腿是直立的,而且不会动,那么我们就要加入轴转动的动作。
    在这里插入图片描述加入到我们的模型中,变成了这样。
    在这里插入图片描述

    但是细心的人肯定会观察到为什么你的joint元件有三只引脚,我的只有两个,那是因为需要改里面的参数,如果以两个引脚的方式放进去后运行会发现腿来回摆动,也不听使唤。这是因为元件的重力让模型在摆动,那么此时我们就要将转轴设置为有输入量时转动,以下为改动的地方,所有的joint模块改完之后就和上图一样,这样一来腿就不会乱动了。
    在这里插入图片描述

    此时我们转动模型会发现模型的脚没有接触到平面,此时就要调用一个库,点击MATLAB主页中的附加功能,进入获取附加功能,找到simulink。
    在这里插入图片描述

    在这里插入图片描述

    如果你是正版的MATLAB,可以点击从GitHub中添加然后下载就可以,如果是破解版的就需要自己手动下载,然后放到和从GitHub添加的路径一样下就可以了,但是我懒得找这个路径了,比较麻烦,所以直接在simulink仿真的时候打开这个库就可以了。

    在这里插入图片描述

    打开后点击3D,进入找到Sphere to Plane Force图标,将它拉到工程中。 双击进行设置,这个是设置圆和球面的接触,参数如下:
    在这里插入图片描述

    将他接到每一条腿上,这样我们的模型就站在了平面上。
    在这里插入图片描述
    但是发现布局很乱,所以我们就要将各个模块合并一下,选中一个关节,Ctrl+g就可以进行合并,最终整合成这个样子。
    在这里插入图片描述
    那其实现在我们的模型其实还是没有站在上面,所以我们要给一个六自由度的模块6-DOF Joint,放在平面模组的后面。再次运行,模型就掉到了平面上。
    在这里插入图片描述
    在这里插入图片描述
    到这里整个模型导入已经完成,下次的话就是要对运动学逆解进行讲解。

    展开全文
  • 本教程将会基于pybullet搭建一个四足机器人mini-cheetah的仿真环境

    一、准备工作

    1、pybullet

    我们的仿真环境基于pybullet,因此需要先安装好pybullet,有关pybullet的介绍以及安装在这篇文章中有介绍过。
    在这里插入图片描述

    2、mini cheetah 的模型

    在这里插入图片描述
    这里的模型指的是urdf模型,pybullet里面已经预先为我们建立好了urdf模型,在pybullet_data这个文件夹内可以找到
    在这里插入图片描述
    pybullet_envs/example里面也有该模型的测试例子。运行效果如下:
    在这里插入图片描述
    例子的代码如下,看起来非常简短。

    import pybullet as p
    import pybullet_data as pd
    import time
    
    p.connect(p.GUI) # 连接到仿真服务器
    p.setGravity(0, 0, -9.8) # 设置重力值
    p.setAdditionalSearchPath(pd.getDataPath()) # 设置pybullet_data的文件路径
    
    # 加载地面
    floor = p.loadURDF("plane.urdf") 
    
    # mini cheetah的初始位置
    startPos = [0, 0, 0.5] 
    
    # 加载urdf文件
    robot = p.loadURDF("mini_cheetah/mini_cheetah.urdf", startPos)
    
    # 获取关节数量
    numJoints = p.getNumJoints(robot)
    # 设置机器人的视觉效果,这里参数-1指的是机器人的base link。
    # 我们可以通过rgba值改变机器人相关link的颜色
    p.changeVisualShape(robot, -1, rgbaColor=[1, 1, 1, 1])
    
    # 设置每个link的颜色,并且设置初始关节角度
    for j in range(numJoints):
    	p.changeVisualShape(robot, j, rgbaColor=[1, 1, 1, 1])
    	force = 200
    	pos = 0
    	p.setJointMotorControl2(robot, j, p.POSITION_CONTROL, pos, force=force)
    dt = 1./240.
    p.setTimeStep(dt)
    
    # 进行仿真
    while 1:
    	p.stepSimulation()
    	time.sleep(dt)
    
    

    在我们正式开始之前,请确保你能够成功运行上面这个例子。

    3、urdf文件解析

    为了了解我们所使用的的模型,通过urdf文件查看其相关信息是十分有必要的,我们可以在命令行输入以下命令,获取各关节继承的关系:

    check_urdf mini_cheetah.urdf
    

    结果:

    robot name is: mini_cheetah
    ---------- Successfully Parsed XML ---------------
    root Link: body has 4 child(ren)
        child(1):  abduct_hl
            child(1):  thigh_hl
                child(1):  shank_hl
                    child(1):  toe_hl
        child(2):  abduct_hr
            child(1):  thigh_hr
                child(1):  shank_hr
                    child(1):  toe_hr
        child(3):  abduct_fl
            child(1):  thigh_fl
                child(1):  shank_fl
                    child(1):  toe_fl
        child(4):  abduct_fr
            child(1):  thigh_fr
                child(1):  shank_fr
                    child(1):  toe_fr
    
    

    还可以通过以下命令查看模型的总体结构(关节名称编者修改过):

    urdf_to_graphiz my_robot.urdf
    

    在这里插入图片描述


    如果觉得ok,点个赞,点个关注,也欢迎给个打赏支持一下编者的工作
    展开全文
  • 四足机器人的关键技术分析
  • 四足机器人发展现状与展望
  • 四足机器人-项目开发

    2021-03-30 22:08:58
    使用Arduino,3D打印和与Lego兼容的零件制作自己的四足机器人
  • 四足机器人跳跃步态控制方法
  • 仿波斯顿动力 Spot四足机器人硬件图纸
  • 四足机器人 毕业设计 腿部机构
  • 四足机器人运动控制第一章 序第二章 运动状态姿态控制运动控制第三章 步态第四章 CPG震荡单元模型介绍Cpg模型分类基于HOPF振荡器的Cpg单元模型参考文献 第一章 序 足式机器人较传统的四轮式和履带式有着无与伦比的...

    大家可以先看看效果

    [四足机器人]开环运动控制测试

    第一章 序

    足式机器人较传统的四轮式和履带式有着无与伦比的优势,其在复杂环境中具有更高的机动性,在军事任务和抢险任务中能够发挥出比传统轮式更大的作用。要想让机器人更智能,首先要做到的是让机器人能够像人或动物一样自由行动。在马克・雷波特看来,要想实现这一目标,必须让机器人具备以下三项能力:

    ①平衡性和动态运动能力:能够让机器人在任意地方、任何地形保持平衡,并实现自由活动,这意味着机器人的工作范围得到了有效扩展。

    ②对运动的控制能力:指机器人可以灵活地操控物体(如使用键盘和遥控器等),同时进行自由活动,这意味着机器人能够在移动的过程中轻松完成各项操作任务。

    ③移动感知能力:指机器人能够感知空间中物体的稳定存在,即便视线移向别处也能够避开障碍物,这意味着机器人能够绘制出周边环境中障碍物的位置图,从而在移动的过程中能够有效避开障碍物。

    该项目就是致力于开发出一套完整有效四足机器人控制系统。在笔者看来,第一点是最基本的,因此我们的研究也是从第一点开始一步一步前进。对于四足机器人的平衡控制,其牵涉到的内容比较繁杂,需要一点先验知识,因此我们将其摆在运动控制之后论述。下面我们先从最简单运动控制开始,即实现机器人的移动,对此部分的控制,我们提出了基于平面三轴的运动控制方法

    在介绍这套控制方法之前,我们先简单介绍一下关于四足机器人的一些基本知识,由于我们的控制方法是基于北理大出版的《仿生四足机器人技术》里提出的CPG控制网络,因此以下内容大部分为书上原话稍加整理给出,笔者就不对具体的技术细节过多解释了,有兴趣的小伙伴可以自行翻阅此书。

    第二章 运动状态

    本章先讨论一个基础的问题:如何描述机器人的位姿。位姿包括位置和姿态。我们可以用P=[x,y]TP=[x,y]^T来表示平面上一个点的位置。相应的,也可以用来P=[x,y,z]TP=[x,y,z]^T表示空间里一个点的位置。

    姿态的数学描述比位置稍为抽象一点。平面上一个点的姿态可以只用一个旋转角表达,而空间中姿态的表达方式则有多种,常见的如欧拉角、四元数、旋转矩阵等,这里不展开论述[5]。总之,有了位置和姿态,我们就可以解决机器人的定位问题,以及坐标转换的问题。

    该项目提出这样一个设想:在不考虑各腿的协同运动时,可以简单地把机器人当成一个刚体,因此其运动可看作是空间中刚体的运动,这里我们选用欧拉角表示机器人的姿态,因此其运动包括:Roll,Pitch,Liner_Z,Liner_X,Liner_Y,Yaw,前三者用于控制机器人的姿态,后三者控制机器人的位置。注意这里笔者把Liner_Z归入姿态控制而Yaw归入运动控制,因为在机器人的实际运动当中,Liner_Z控制机器人质心离地面的高度,对于平整路面而言,其高度应为定值,可看作是机器人的一个姿态,因此笔者把Z轴方向的运动归入姿态控制;对于Yaw,其控制的是机器人在平面内的旋转运动,属方向控制,因此归入运动控制。

    姿态控制

    上文已经提到过Roll,Pitch,Liner_Z这三轴的运动是用来控制机器人的姿态的,而姿态控制更多的应用在环境响应那部分,因此在这里暂时不细说,先来看运动控制部分。

    运动控制

    1、运动分解

    由于四足机器人在平整地面上运动时,质心离地高度(Liner_Z),pitch,roll角均基本保持不变,因此可以将其看成是平面内的运动。其位姿表示成P=[x,y,θ]TP=[x,y,\theta]^T。该项目现阶段的主要目标是:通过该控制模型,机器人能够按照给定轨迹P(t)=[x(t),y(t),θ(t)]TP(t) = [x(t), y(t), \theta(t)]^T运动。其基本运动组成如下:

    ①沿X轴的平移(Liner_X)
    ②沿Y轴的平移(Liner_Y)
    ③绕Z轴的旋转(Yaw)

    2、运动叠加

    平面上几乎所有的运动均可拆解成上述三种基本运动的组合,这里我们举例最常见的两种运动:

    ①+②:平面内任意方向的斜向直线运动
    ①+③:指定半径的转向运动

    需要注意的是对于组成复合运动的基本运动,其发生的顺序是不一定的,既可以同时发生,亦可以按时间先后发生,具体取决于实际环境中对运动轨迹的约束。

    第三章 步态

    参考清华大学张秀丽等前辈的《足式机器人生物控制方法和应用》,足式动物的运动模式可以用“步态”来表示。步态指的是各腿在行走时具有固定相位关系的行走模式。

    行进速度较慢的情况下,四足动物的每一步行走都处于较为稳定的三足支撑状态,如乌龟等。该运动模式称为行进步态,是一种四拍步态。行进速度较快一点的是小跑步态(Tort)和溜蹄步态(Pace),这两者都是两拍步态。为了用数学语言描述步态,我们需要知道以下参数定义:

    ①步态周期T:一个完整运动循环所用的时间;
    ②步长S:一个步态周期内,支撑腿驱动躯体质心相对于地面移动的距离;
    ③抬腿高度h:一步内足端离地最大距离;
    ④相位差φi\varphi_i:第i条腿着地时刻相对于参考腿的延时与周期的比;
    ⑤支撑(stance):腿与地面接触支撑躯体并推动躯体前行的状态;
    ⑥摆动(swing):腿抬起在空中摆动的状态;
    ⑦负载因子β\beta:处在支撑相的腿撑在地面的时间占整个运动周期的比例。

    以上参数为动物步态参数,由于四足机器人的步态是参照动物步态指定的,因此其参数定义与动物类似,具体可查阅其他资料,在此不展开细说。下面给出4种常见步态的相位图。

    经研究发现,有以下规律:以机器人左前腿为基准,将其相位定义为φLF=0\varphi_{LF} = 0相对相位可以表达为负载因子β和右后腿相位φRH\varphi_{RH}的函数,这在步态转换部分将起到重要作用:

    第四章 CPG控制网络

    介绍

    众所周知,动物最常见的运动方式是节律运动,即按照一定的节奏、有力度地重复、协调、持续进行的动作,是低级神经中枢的自激行为。生物学上,动物的节律运动控制区被认为是分层并且模块化的,其控制以中枢模式发生器为中心,既可以接受来自高层的高级神经中枢的主观控制,也可以响应来自躯体各种感受器官的反射,这就是CPG控制机理。

    前人已经按照CPG控制机理建立了不同形式的数学模型,它们能够产生的周期振荡的信号,使其能够满足节律运动的特点。

    CPG模型分类

    目前比较经典的CPG模型可划分为以下两大类:

    ①基于神经元的模型:Matsuoka神经元震荡模型、Kimura模型等,该类模型生物学意义明确,但参数较多,动态特性分析比较复杂。

    ②基于非线性振荡器的模型:Kuramoto相位振荡器、Hopf谐波振荡器等,该类模型参数较少,模型比较成熟。

    在保证能够输出稳定的周期性震荡信号的前提下,那些形式简单、参数较少、计算量小、便于分析、易于实现的CPG模型是更好的选择。根据这一个原则,我们选取了HOPF振荡器作为CPG的单元模型。

    基于HOPF振荡器的CPG单元模型

    1、HOPF振荡器

    HOPF振荡器在状态空间中存在一个稳定的极限环,即对于任意非零初始值,均能使得振荡器产生相同形状的周期性振荡信号,其数学模型如下:

    假设α=100,μ=1,ω=2π\alpha =100, \mu=1,\omega = 2\pi,振荡器产生的极限环和输出结果如下:

    从图像可以看出,对于该微分方程组,取任意初始值x(0), y(0),在稳定输出后,均能收敛到同一个圆上。将其输出信号放大进行观察:

    经过对比发现输出信号上升沿与下降沿所用时间是一致的,我们设定上升沿为摆动相,下降沿为支撑相,因此,采用HOPF振荡器时,机器人腿部摆动持续时间与支撑持续时间是一致的。为了能够对这两者进行单独控制,使其能够适应不同负载因子下的运动模式,对ω\omega进行以下改进:

    其中ωst,ωsw\omega_{st}, \omega_{sw}分别表示支撑相频率和摆动相频率,参数a决定ω\omega在这两者之间的变化速度,β\beta为负载因子,按照上文总结出的规律,其用于决定机器人的运动模式,即控制不同步态。最终数学模型的形式如下:

    其中,

    α用于控制振荡器收敛到极限环的速度;
    a决定了ω在ωst\omega _{st}ωsw\omega_{sw}之间的变化速度;
    μ决定振荡器的幅值,关系式为A=μA=\sqrt{\mu}
    β为负载因子(范围0-1);
    ωsw\omega_{sw}表示摆动相频率;
    ωst\omega_{st}表示支撑相频率,且ωst=1ββωsw\omega _{st}= \frac{1-\beta}{\beta}\omega_{sw}

    2、动态特性

    设置参数α=100,a=50,β=0.5,μ=1,ωsw\alpha=100,a=50,\beta=0.5, \mu=1,\omega_{sw}取不同值时的输出曲线:

    设置参数α=100,a=50,ωsw=2π,μ=1,β\alpha=100,a=50,\omega_{sw}=2\pi, \mu=1,\beta取不同值时的输出曲线:

    设置参数α=100,a=50,β=0.5,ωsw=2π,μ\alpha=100,a=50,\beta=0.5, \omega_{sw}=2\pi,\mu取不同值时的输出曲线:

    通过上述对比可知,振荡器输出信号的幅值、周期、上升/下降沿所占时间比,都能通过相应的参数进行控制,且各参数之间不存在耦合。下面总结一下:

    μ\mu:控制输出信号的幅值A=μA=\sqrt{\mu};
    ωsw\omega_{sw}:控制调节输出信号的周期;
    β\beta:控制输出信号上升/下降沿所占时间比例。

    CPG网络控制模型

    以上内容已经简要介绍了单个振荡器的特性,但是,我们的四足机器人至少有12个主动关节,仅靠一个振荡器显然是不够的,因此我们需要一个CPG控制网络来实现各腿的协同运动。CPG按照不同的连接方式可分为链式连接和网络连接,连接起来的CPG能够实现多个肢体的协同运动,并且在时域上保持相关性。

    这里我们先不考虑机器人的侧向髋关节的运动,仍旧参考北京理工大学《仿生四足机器人技术》里面提出的CPG控制网络模型。基本思路是这样的:采用4个HOPF振荡器分别对应四足机器人的4条腿,将每个振荡器的x输出直接作为髋关节的角度控制信号,对y输出进行变换,再将变换之后的信号用作膝关节的角度控制信号。

    需要注意的是,我们的4个振荡器必须是相互关联的,按照前辈们的方法,就是设立一个耦合项,利用其来表征振荡器之间的关系(至于为什么能这样,笔者目前学识有限,惭愧地讲一句抱歉不能给大家解释这里),最终数学模型如下:

    其中,

    Ah,AkA_h,A_k分别为髋关节,膝关节幅值,ϕ\phi为关节标志,该项与硬件结构配置有关,我们的机器人采用前肘后膝式。即LF_k, RF_k为1, LH_k, RH_k为-1

    R(θji)R(\theta^i _j)控制各腿控制信号的耦合关系,且θji=2π(φiφj)\theta^i_j = 2\pi (\varphi_i-\varphi_j)φi\varphi_i为第i个振荡器的相位(相位图请看第三章:步态),其数学表达式如下:

    ③为了更加直观,我们把耦合项展开成以下矩阵形式(一个8*4矩阵,按行求和):

    ④同样我们可以把数学模型写成更加直观的微分方程:

    dxidt=α(μri2)xi2ωiyi+j=14(cosθjixjsinθjiyj)\frac{dx_i}{dt} = \alpha(\mu-r_i^2)x_i^2 - \omega_iy_i+ \sum_{j=1}^{4}(\cos\theta^i_jx_j-\sin\theta_j^iy_j)

    dyidt=α(μri2)yi2+ωixi+j=14(sinθjixj+cosθjiyj)\frac{dy_i}{dt} = \alpha(\mu-r_i^2)y_i^2 + \omega_ix_i+ \sum_{j=1}^{4}(\sin \theta^i_jx_j+\cos \theta_j^iy_j)

    θhi,θki\theta_{hi},\theta_{ki}分别为第i条腿的髋关节,膝关节的控制信号,是一条关于时间的函数。

    至此我们已经建立起了最基础的控制网络模型,但是,仅仅是这样还不够,正如单个HOPF振荡器需要好几个参数一样,该控制模型亦是如此。那么这些参数跟我们的机器人有什么关系呢?又是如何确定的呢?这里先给大家留个悬念(-ω-),大家可以先思考一下,或者查阅相关资料,问题的答案在参考文献里面能找到,我也会在下一篇文章中“手把手”讲解。

    Tips

    这里我给出一个仿真实例,视频我会上传到B站,搜“四足机器人”,认准我的头像就ok了。

    按照Tort步态的相位分布,给定以下参数α=1000,a=100,β=0.5,Ak=3.3,Ah=9.8,ωsw=5π\alpha=1000,a=100,\beta=0.5,A_k = 3.3,A_h=9.8,\omega_{sw}=5\pi,(需要注意各数值单位间的换算,这里给定的Ah,AkA_h,A_k为角度制),输出结果如下:

    其中,蓝色信号为髋关节信号,红色信号为膝关节信号。从图像可以看出此时的输出信号满足Tort步态运动规律,左前腿与右后腿保持同相关系,另外两者同样如此,在髋关节信号上升沿为正,其余为0,符合摆动相的要求。

    下面终于到了展示成果的环节了,仿真结果如下(✧٩(ˊωˋ*)و✧):

    参考文献

    [1].罗庆生, 罗霄著. 仿生四足机器人技术[M]. 北京:北京理工大学, 2016. 15-30

    [2]韩宝玲, 王秋丽, 罗庆生. 六足仿生步行机器人足端工作空间和灵活度研究[J]. 机械设计与研究, 2006,22(4): 11-12

    [3]常青, 韩宝玲, 罗庆生. 四足机器人转向与斜向运动规划理论及方法[J]. 北京理工大学学报, 2015, 35(5): 1-2

    [4]施宏阳. 基于WCPG的步态生成与运动控制方法[D]. *:华中科技大学, 2015. 15-18

    [5]高翔. 视觉SLAM十四讲[M]. *:电子工业出版社, 2017


    如果觉得ok,点个赞,点个关注,也欢迎给个打赏支持一下编者的工作
    展开全文
  • 遥控四足机器人制作

    2014-03-24 13:38:55
    遥控四足机器人制作
  • 四足机器人初步认识

    2020-05-14 19:26:52
    四足机器人 初步认识 仿制机器人介绍 -Stanford Doggo 四足机器人的机械结构 腿型 动力搭配 硬件清单 Odrive和无刷电机控制方式 一、Stanford Doggo Stanford Doggo由斯坦福学生机器人俱乐部的极限流动...
  • 四足机器人原理图(基于stm32f407)
  • 具有弹性关节的新型四足机器人
  • 麻省理工的Cheetah四足机器人开发源码,GitHub下载极慢,特在此分享,可用于学习和二次开发。Cheetah-Software-master

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,458
精华内容 1,783
关键字:

四足机器人