精华内容
下载资源
问答
  • 双足行走机器人稳定性控制方法 大连理工大学 工程力学系 李增刚 1 引言 人作为双足行走生物,是在长期的生物进化过程中形成的。人能够不自觉地保持身体的直立性和平衡性,不论是在静止不动还是在行走过程中。一旦...
  • 在概述柔性可控双足行走机器人发展背景的基础上,介绍国内外基于主动控制和基于被动行走的2类柔性可控双足行走机器人的研究现状,针对目前柔性可控双足行走机器人面临的4大主要问题,提出其未来的发展趋势,主要包括...
  • 双足行走机器人的步态分析

    千次阅读 2020-01-16 19:52:02
    分析两轮小车的控制设计,做出如下双足机器人控制方案设计。 1两轮小车的运动控制设计 小车两轮之间的距离为2R,车轮半径为r,小车可围绕中心旋转。 小车的速度为V,方向为φ,目标点对小车产生一个力的作用(力的...
    分析两轮小车的控制设计,做出如下双足机器人控制方案设计。
    1两轮小车的运动控制设计
    小车两轮之间的距离为2R,车轮半径为r,小车可围绕中心旋转。
    小车的速度为V,方向为φ,目标点对小车产生一个力的作用(力的综合效应),经过时间dt,产生一个速度dV,小车的速度为V',方向为φ',则小车的角速度为ω=(φ‘-φ)/dt
    小车的左右轮目标速度为:
    VR=V'+Rω

    VL=V'-Rω

    小车的左右轮的目标位移为:
    SR=(V'+Rω)dt
    SL=(V'-Rω)dt
    两轮不打滑的情况下,其目标角位移为:
    θR=(V'+Rω)dt/r
    θL=(V'-Rω)dt/r
    2双足机器人的运动控制
    双足机器人的两足可以将其简化为两个轮子,不过与小车不同的是小车的两个轮子一直连续运动,而双足机器人是两足交替运动,一足运动,一足静止,一组支撑,一组向前运动。
    3多足机器人的运动控制:
    每一组足简化为一个轮子,如四足机器人也是交替的,一般是采用对角线换步法,对角线的方向脚同时离地,同时落地
    六足的蚂蚁一侧的前足、后足和另一侧的中足为一组,交替运动;
    八足的蜘蛛也有类似的规律,一组支持,一组向前运动,运动的一组左右两边看成是轮子向前运动

    分好组以后,按照关键帧法,设定腿部的运动,采用路径跟踪法(steering behavior)

    从上述分析来看,所有的关节运动机器人的行走控制都可以简化为两轮小车的运动控制
    上述内容属于2层分析决策的内容,2层小车(蚂蚁,蜘蛛等,以下简称智能体)简化为一个质点,分析了环境,经过分析后决定智能体采用seek的方式运动至目标点,设定了控制目标(左右轮的目标速度等);3层根据控制目标分析,将目标转化为动作。
    在2层智能体分析运动时,可能要考虑障碍等情况,在3层智能体也要考虑障碍等情况,不过是有所不同。一般要用到所谓的包围体。
    智能体一般用一个包围体来粗略描述,通常采用比较简单的几何形状,如球体或盒体。在简化智能体的时候一般选取其包围体中的某个点来简化智能体,如采用球体(圆)的圆心等。2层分析环境时通常用包围体代替智能体来分析,并通过地图"膨胀"的方式来避免智能体与障碍物碰撞。
    理想状态下,包围体应该紧密拟合其所包围的对象,但是在2层这是没有必要的,计算的工作量也比较大。
    在2层,当前智能体不会与其包围体外界的物体发生碰撞,预测的下一步动作,智能体也不会与其包围体外界物体发生碰撞,也就是说当前位置的包围体所在空间S1与目标包围体所在空间S2的并集构成了一个空间S,在这个空间中智能体可以任意动作,都是不会与为外界发生碰撞的。
    S空间为智能体的动作空间,为简化计算,一般可认为S1空间为智能体的动作空间(应该适当放大,否则有可能发生碰撞)。
    在3层,智能体用另一个相对紧密拟合的包围体,其动作限定在动作空间中,分析要完成当前的动作。比如2层决策向前方某点以某个速度移动,但是在当前的动作空间内,通过分析,智能体发现当前是斜坡,要考虑是否有关节发生碰撞等,这都需要一个相对紧密拟合的包围体。

    除了包围体的不同,从上述分析中也可以看出2层和3层所需要处理的场景也是不同的,2层是全局的,粗略的,3层是局部的,精细的。

    前文中分析双足机器人或多足机器人的行走都可以简化为两轮小车,通过控制小车的左右轮速度,可以控制小车的直线运动,或曲线运动,知道轨迹 或运动要求,小车的行走是相对容易控制的,那么下面一个问题就是如何把左右轮的运动控制转换为腿部的运动呢?另外我们发现当小车静止时,其左右轮的速度为0,如果让双足机器人也是静止的话,其假想的左右轮转速也应该为0,其腿部的是静止时,其不运动;但是双足机器人是可以在原地踏步的,在原地踏步时双足并非静止,所以是否可以假设双足机器人的腿部运动是有两部分构成的,一部分是由双足机器人的整体速度,角速度决定(假想的左右轮),而另一部分是相当于其在原地踏步?双足机器人的腿部运动是这两种效应的综合结果?

    ps:两轮小车就是平衡车的问题了,那么在运动中还有平衡的问题.一般的双驱小车可能有一个导向轮,这样一来的话就不需要考虑车体平衡的问题,是否要加一个“虚拟导向轮”以便简化控制?---三点为什么是自平衡的?四个点为什么会破坏平衡?踩高跷只是两点为什么可以(动态)平衡?自行车为什么可以保持平衡?不倒翁是怎么回事(一点自平衡)?有新的元素参与了平衡?

    假设这两种运动都可以用圆周运动等效(小车的左右轮就是圆周运动)
    1轮运动:根据智能体的目标速度就可以设定其速度,除此之外,这个假设的轮的半径会影响轮的转速,可以这样认为,轮子半径小,转速快,这就是“小步快跑”;轮子半径大就是“大步流星”
    小车的轮子在转动时,其轴心(或回转中心)速度就是设定的速度。是否能这样考虑:当这个轴心的速度为0时,对于双足机器人而言,双足机器人不运动,但是腿部可能运动;原地踏步运动在一个周期内对轴心的影响为0。
    双足机器人的两脚分别为支撑脚和游脚,假设将游脚放在这个假想的轮子上,轮子带动游脚运动,这是一个合理的假设,那么这时候游脚的运动轨迹是什么?

    如果没有滑动的话,游脚的轨迹是摆线:

    z=r*(1-cosθ)

    x=r*(θ-sinθ)

    其中r是假想的轮子的半径,θ是轮子滚动的角度

    但是考虑双足机器人的原地踏步时,在一个周期内,x要从0变为0,所以又做如下变换:令θ=πsinΦ

    之所以幅度为π是考虑到要让Φ能在一个周期内变化,采用正弦的原因是让Φ和θ同步变化,则有:

    z=r*(1-cosπsinΦ)

    x=r*(πsinΦ-sinπsinΦ)

    当Φ匀速变化时,z和x的变换规律如下:

    其中绿色代表x轴方向,蓝色代表z轴方向

    在奔跑时,该规律似乎可用,在原地踏步时,x的位置应该没有负数,所以该变换继续修改为:θ=-π/2*cosΦ+π/2

    则有:

    z=r*(1-sin(π/2*cosΦ))

    x=r*(π/2-π/2*cosΦ-cos(π/2*cosΦ))

    当Φ匀速变化时,z和x的变换规律如下:

    此时能够保证原地踏步时虚拟圆做匀速圆周运动,游脚轨迹为摆线

    但是采用这种曲线是没有办法统一跑和原地踏步的,角度的变化只在0~π之间

    那么是否可以说:双足机器人的运动就是上述两种运动的叠加?

    定义一个综合角:

    θ=k1*πsinΦ+k2(-π/2*cosΦ+π/2)

    其中k1,k2为0~1

    当k1=0,k2=1时机器人静止

    当k1=0,k2=0时机器人原地踏步

    当k1=0,k2=1时机器人奔跑

    当k1=k2=1时机器人发疯

    而这样一来,由设定的虚拟轮的转速,需要设定的参数有:r,Φ,k1,k2

    r体现了步幅,Φ体现了步频,k1,k2体现了步态

    仅仅从虚拟轮的转速是无法k1,k2的

    能够想到的是人在运动时,大腿小腿,及虚拟圆构成一个四连杆机构
     图中有3个圆:
    大圆代表运动的速度,当其转速为0时,表示机器人不前进或转动,其半径为大腿和小腿的长度之和
    蓝色小圆代表游脚移动时做摆线运动时的滚动圆,其半径与步幅有关,当原地踏步时,其退化为上下活动的滑块
    红色虚拟圆:控制腿部的运动,其与大腿构成一个曲柄摇杆机构
    从图中可以看出1)系统一共有两个曲柄摇杆机构;2)大圆的线速度与小圆的线速相同
    另外可以看出一旦设定好红色圆的半径及位置,设定好小圆的半径(或限定小圆为滑块),那么代表腿部的两个两杆的运动规律就确定了,也就是说其设计腿部运动主要就是设计红色控制圆的大小及位置。
    这里将红色圆设定为驱动圆,半径记为R;小圆为游动圆,半径记为r。
    1曲柄存在的条件:
    a最短杆与最长杆之和不大于其余两杆之和
    b曲杆是最短杆
    2对于铰链四连杆机构,当存在曲轴时,只有在曲柄为连架杆时,系统才为曲柄摇杆机构。
    可以看出,当代表大腿的杆运动范围确定时,驱动圆的解是有无数个的,而游动圆也有无数个,这和我们的直觉是一致的:同样的速度,要不就是步频快一些,要不就是步幅大一些(是不是在这里选择解的时候用到模糊算法?)但是这里也是有些限制的,主要是各个关节的弯曲程度是其约束。
    我们从前面的分析中看到,2层给出的是左右两轮的目标速度,那么最后这个速度最好设计成与驱动轮的位置和半径大小有非常简单的关系,如果驱动圆的半径是不变的,或只有位置变化,那就太好了。我们在控制时可以将其想象为一个电机,并且最好是驱动圆匀速运动时,游动圆也能匀速运动。
    进一步分析发现驱动轮最好是位于胯关节的正前方,因为大腿必然有一个位置,即直立于地面的,所以图形改变如下:
    进一步的分析有发现,这种结构大腿是无法抬高到与地面平行,甚至是腿向上倾斜的,要实现向上倾斜,驱动圆位置还要向上移动,其位置应该在大腿向上倾斜时的极限位置的那条线上,在目前的情况下,机器人大腿抬起的角度不大,就不考虑了,从这里也可以看出,驱动圆的位置决定了大腿抬起的极限位置。(并且也可以猜想出大腿向上倾斜时,可以假想为地面进行了旋转,下面的结论也是可用的,后记)
     另外这其中是两组四连杆机构,通过大腿这一个中间环节,且都是曲柄摇杆,末端都为曲杆,很自然的有一种想法:这两组两杆能设计为相似的吗?如果相似,则驱动圆与游动圆运动规律相似,那么设计计算的工作量要小很多,这要做进一步的分析。
    首先假设两者是一样的,如下图所示,并将各个杆用颜色标记。
    此图为一个正方形,在图中补充了两个四边形,相对的四边形是全等的,左下角的蓝色代表的是游动圆所代表的曲杆,右上角的蓝色代表驱动圆所代表的曲杆,很容易证明出这两条线是平行的,它们与垂直方向的夹角相同,也就是说驱动圆与游动圆同相。在进一步的,可以做一个相似四边形,将驱动圆标准化,其运动规律与游动圆是相同的,其角速度与游动圆相同。
    好像是有问题:分析以后又画了上图, 作图过程如下:首先最左边四连杆,然后复制旋转画最优边四连杆,接着连接上下两根紫色线条,发现上下两根紫色线段有可能是不等于左右两根紫色线段的,那么上述结论就有可能不成立。后来发现这种担心是不成立的,因为上述作图过程并没有考虑四连杆机构为曲柄摇杆机构的条件,下面做分析:
    上图中左边的四连杆机构中红色代表大腿,长度记为L,紫色代表小腿,长度记为l,蓝色代表游动圆半径,其长度为r,而黑色代表的是"机架",因为要能够直立在地面所以其长度为Len=L+l-r,在做示意图时显然没有做到。
    另外当l≥r时,最长杆就为机架,最短杆为游动圆,且有最短杆与最长杆之和等于其余两杆之和,即结构中存在曲柄;当l<r时,游动圆不再是曲柄了。
    上述是非常重要的结论,也是设计时的重要前提。
    按照大小腿的比例1.62:1,以游脚与垂直方向的角度为参考了,游脚长度从0-1变化(小腿规范化为1),应该得出一个曲面,下面考察一下,各个角度定义如下:
    下图是当r=0.6时,α、β分别随θ的变化规律:
     
     
     当r为其他值时,均有类似的变化规律。下图为r,α、β三者之间的规律视图:
    图中X轴代表r,Y轴代表β,Z轴代表α(r在0-1之间,范围太小,图中r放大了360倍)上述数据采用下列代码计算:
    #include<iostream>
    #include<cmath>
    #include<stdio.h>
    #include<stdlib.h>
    const double PI=3.1415926;
    using namespace std;
    int main(int argc,char *argv[])
    {
        double r=1;
        if(argc>1) r=atof(argv[1]);
        double r_2=r*r;
        double upperLeg=1.62,lowerLeg=1,upperLeg_2=upperLeg*upperLeg,lowerLeg_2=lowerLeg*lowerLeg;
        double lg=0,lg_2;
        double theta=0,beta=0,alpha=0;
        double Len=upperLeg+lowerLeg-r,Len_2=Len*Len;
        cout<<"r*360,theta,beta,alpha\n";
        double i=0;
        for (i=1.0;i>0.01;i-=0.01){
           r=i;r_2=i*i;Len=upperLeg+lowerLeg-r,Len_2=Len*Len;
           for(theta=0;theta<=360;theta+=5) {
           lg_2=Len_2+r_2-2*Len*r*cos(PI/180*theta);
           lg=sqrt(lg_2);
     
          beta=acos((upperLeg_2+lowerLeg_2-lg_2)/(2*upperLeg*lowerLeg));
          alpha=acos((upperLeg_2+lg_2-lowerLeg_2)/(2*upperLeg*lg))+acos((lg_2+Len_2-r_2)/(2*lg*Len));
          if(theta>180){
            beta=2*PI-beta;
            alpha=-alpha;
         }
         cout<<r*360<<"  ,  ";//<<theta<<" , ";
         cout<<beta*180/PI<<" , "<<alpha*180/PI<<endl;       
      }   
     }

    图形分别有wps和meshlab绘制。
    从图中也可以看出r越大,α的极限也越大,β的极限也越大,这也就是步子要拉大,两腿要尽量分开也是一致的。
    且当 θ=180度时,α=0度,β=180度,这也是符合直觉的。
    β可能计算有问题,不应该有大于180度的,是不是下面的关系:
    后面再研究吧。
    现在控制规律基本理清了:
    根据目标到智能体的距离等设定一个速度V(steering behavior方法),然后根据V由模糊算法确定一个r,这个r也是虚拟圆的半径,这个虚拟圆也代表游动圆和驱动圆,驱动圆当前的角位移就是β,根据驱动圆(虚拟圆)的半径r和目标速度V,可以算出其角速度,然后可以算出更新时间内,驱动圆的目标角位移,进而算出α、β的目标角位移,根据目标角位移然后采用steering behavior方法将其等效为一个力矩,外界的障碍、关节的传递等也等效为一个力矩,实现避障等功能,比较复杂!
     
    比如说根据原先设定的目标,足部将与一个斜坡碰撞,穿过斜坡了,按照steering beha vior控制的思想,这应该产生一个作用力,力的方向垂直于作用面,大小与预计穿越的大小成正比,这个力有一个力矩作用,将使足部旋转避免碰撞,真实杆的运动就是在目标力矩和阻力矩的共同作用下的结果。
    理清楚了下面就是要干了。
    ------------------------------------------------------------------后记---------------------------------------------------------------------------------
    我好像还是把双足机器人的腿部动作想简单了: β不可能大于180度。前半周期和后半周期也不是对称的。
    四连杆机构中一个是主动杆,它的运动带动其他四个杆运动,而在腿部运动的这个虚拟四连杆机构中,主动杆是有两个的(大腿和小腿),其中的曲杆还是虚拟的。
    现在的分析有些像是在模拟人骑独轮车。
    下面的程序代码是新的:
    #include<iostream>
    #include<cmath>
    #include<stdio.h>
    #include<stdlib.h>
    const double PI=3.1415926;
    using namespace std;
    int main(int argc,char *argv[])
    {
       double r=1;
        if(argc>1) r=atof(argv[1]);
        double r_2=r*r;
        double upperLeg=1.62,lowerLeg=1,upperLeg_2=upperLeg*upperLeg,lowerLeg_2=lowerLeg*lowerLeg;
        double lg=0,lg_2;
        double theta=0,beta=0,alpha=0;
       double Len=upperLeg+lowerLeg-r,Len_2=Len*Len;
        cout<<"theta,beta,alpha\n";
        for(theta=0;theta<=360;theta+=5){
           lg_2=Len_2+r_2-2*Len*r*cos(PI/180*theta);
           lg=sqrt(lg_2);
           beta=acos((upperLeg_2+lowerLeg_2-lg_2)/(2*upperLeg*lowerLeg)); 
           if(theta<180){
              alpha=acos((upperLeg_2+lg_2-lowerLeg_2)/(2*upperLeg*lg))+acos((lg_2+Len_2-r_2)/(2*lg*Len)); 
            }
           else{
              alpha=acos((upperLeg_2+lg_2-lowerLeg_2)/(2*upperLeg*lg))-acos((lg_2+Len_2-r_2)/(2*lg*Len)); 
    }
           cout<<theta<<"  ,  ";
           cout<<beta*180/PI<<" , "<<alpha*180/PI<<endl;       
        }
    }

    主要的改动是当θ>180度时虚拟四连杆机构变成反向四连杆机构,保证膝关节不大于180度。
    下面是新的是当r=0.6时,α、β分别随θ的变化规律:
     
    儿子说第三张图像鲨鱼的鱼鳍,很形象。
    但是还有一个问题就是 α 有负值的,我认为要重新考虑其意义,该参数表示与地面垂直方向的夹角,在现实生活中出现负值时,一般这时人的身体会前倾,我认为不如该参数的意义改为与上身之间的夹角,当身体前倾时相当于虚拟圆下移,在人体行走时人的重心是有起伏的,不如用此来模拟。
     
     
    2018.8.19
    理想很美好,现实很骨感,做动作仿真实验,结果动作做得一塌糊涂!
    NAO的大腿是100,小腿102.9,脚45.19,按上面所做,动作像是抽风!
    2018.8.25
    实验是首先实验一条腿,然后是两条腿,进一步是两条腿的协调运动。
    按照上一篇进行实验,效果奇差无比,实验的过程是首先确定脚的位置,然后根据本篇的方法,确定各个关节的角度。
    改进的是设想的是机器人在骑自行车,然后方法相同(脚不是摆线运动了,是圆周运动),效果改善。
    进一步的改进是左脚先完成动作,等待,然后右脚动作,等待;效果好多了,但还是骑自行车的动作,效果进一步改善。
    而且在加大r时会出现错误,同时膝关节理想的状况是r越大,角度越大,实验结果并非如此。
    试验了原地踏步,效果还行;很好玩!
    有一个猜想:出左腿,右腿支撑,则右臂向前,左臂向后,胯部向右;反之,出右腿,左腿支撑,则左臂向前,右臂向后,胯部向左;抬腿胯部后仰,压腿胯部前倾。
    2021.3.2
    看了波士顿动力的双足机器人控制,真是打开眼界!很多东西关键是观念和思维误区的突破!很多东西就在眼前,就看你是不是视而不见了!复杂的总归要回归简单!
    展开全文
  • 双足机器人的硬件设计与模块电路与器件的选择,包括组装及最终实物效果。
  • #资源达人分享计划#
  • 以一个简单的双自由度compass-like无动力双足行走机器人为研究对象,对其行走的动态过程进行了深入分析。建立了行走动态的数学模型,并进行了数值仿真,对其行走过程每个阶段的特征进行了论述。分析了机器人行走过程...
  • #资源达人分享计划#
  • 基于单片机控制的双足行走机器人的设计.doc
  • #资源达人分享计划#
  • 双足行走机器人的组装在中职课堂教学中的实践研究.pdf
  • 本文利用神经网络感知器和安装在机器人脚底的力传感器,测知机器人重心的位置,控制机器人重心在双脚的支撑面内,以使机器人稳定。本文提出的双足行走机器人稳定性控制方案是简单易行的。
  • 双足机器人源码

    2019-03-20 16:13:30
    自己参加比赛的源码,基于stm32的,省级比赛,有幸获得一等奖,现在将源码分享给大家。
  • 双足行走机器人多舵机控制及动态平衡研究.
  • 近日,日本东京大学的教授石川正俊等人开发出了一个可以快速奔跑的小型双足行走机器人。 据了解,该双足行走机器人腿长14厘米,重量不到1KG,其腰部、膝盖和脚踝均可活动,继而可以对人类的行走姿势进行模仿。 ...

    研究团队下一步计划是为其装上一对手臂。

    近日,日本东京大学的教授石川正俊等人开发出了一个可以快速奔跑的小型双足行走机器人

    据了解,该双足行走机器人腿长14厘米,重量不到1KG,其腰部、膝盖和脚踝均可活动,继而可以对人类的行走姿势进行模仿。

    日本研发双足行走机器人,奔跑速度堪比一流马拉松选手

    在马达方面,通过调整马达线圈的缠绕方式,研究人员研发出了一种能够瞬间产生强大力量的小型马达。利用这款马达,机器人可以实现用力蹬地加速,然后在空中快速调整为落地姿态。

    据悉,基于这款能够瞬间产生强大力量的马达,机器人的奔跑时速能够达到4.2公里。如果再换算成腿长70~80厘米的成年人,时速相当于20公里,这一速度堪比一流马拉松选手。

    此外,为了让该双足机器人能够更好地学习并模仿人类的行走姿势,研究人员通过外置摄像机对其动作进行拍摄并及时反馈给机器人。相继每秒可拍摄600帧的画面,如此一来,当行走姿态稍有不对,系统就会对机器人发出指示,让其向人来一样快速伸出另一只脚,以便能够以看似不稳定的前倾姿势快速奔跑。

    当前,该双足行走机器人还只是拥有一双用以行走的机械腿,在接下来,除了力争将相机装载到机器人身上以简化控制系统之外,研究人员还将为其装上手臂,朝着商业化方向更进一步。


    原文发布时间: 2017-12-26 16:40
    本文作者: 韩璐
    本文来自云栖社区合作伙伴镁客网,了解相关信息可以关注镁客网。
    展开全文
  • 入门教材,适合广泛应用,对于初学者可以进行体系建立,了解当前时代更新知识。紧跟时代变化知识体系。快来看一看。
  • 双足机器人是如何实现的?

    万次阅读 2017-02-16 13:52:28
    在未来的生产生活中,类人型双足行走机器人可以帮助人类解决很多问题比如驮物、抢险等一系列危险或繁重的工作。一、机器人的结构设计机器人的关节双足竞步机器人的结构类似于人类的双足,可以实现像人类一样行走。.....

    双足步行机器人­­­直立行走,其有着良好的自由度、动作灵活、自如、稳定。双足机器人是一种仿生类型的机器人,能够实现机器人的双足行走和相关动作。作为由机械控制的动态系统,双足机器人包含了丰富的动力学特性。在未来的生产生活中,类人型双足行走机器人可以帮助人类解决很多问题比如驮物、抢险等一系列危险或繁重的工作。

    一、机器人的结构设计

    机器人的关节

    双足竞步机器人的结构类似于人类的双足,可以实现像人类一样行走。本机器人采取了使用模拟舵机代替人类关节,实现机器人的步态设计控制。使用舵机控制芯片控制各个关节的动作,从而实现了对步伐的大小、快慢、幅度的控制。

    用铝合金或其他轻型高硬度材料来制作机器人的结构件,类似于人类的骨骼,从而来支撑机器人的整体。用轻型、有一定强度的材料(比如亚克力板)来制作机器人的顶板和脚板,模拟人类的胯部和脚掌从而来支持机器人的行走与稳定。因为行走是多关节配合的动作,机器人能独立完成行走或其他任务。作为类人形机器人,本机器人采用六个舵机分别代替两条腿的关节,其中一条腿的三个关节如图 1 所示。

    图 1 双足机器人的关节

    图 2 机器人关节的结构

    舵机:使用舵机来代替关节活动。舵机的好坏决定了机器人行走的质量。选择质量好,运行平稳,执行到位的常规舵机即可,结构件的尺寸与型号决定的关键是在于舵机的尺寸型号。

    机器人的硬件结构

    机器人的硬件结构如图 3 所示。

    图 3 机器人硬件结构

    1. 结构件:用 2 mm 铝合金板制作结构件来代替骨骼。材料选择需注意:材料需满足易切割,打孔。材料成型后不易形变。能支撑机器人重量。
    2. 脚板、顶板:使用 0. 5 mm 亚克力板制作机器人的脚板和顶板,来模拟人的脚掌和盆骨。

    二、机器人控制器的设计

    控制板相当于人的大脑对舵机发布指令控制机器人动作,本文采用 Atmegal 6 作为机器人的主控制板。ATmegal 6 基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器。由于其先进的指令集以及单时钟周期指令执行时间 ATmegal6 的数据吞吐率高达 1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。

    图 4 机器人核心控制电路图

    三、软件设计与调试

    机器人工作流程

    双足竞步机器人(窄足)的步态比较接近于人类正常行走时的步态,按照重心进行步态控制。为了方便程序的编写和动作的调试,关节舵机的编号为 (0-5)号。编程为理想化编程,实际程序会和理想编程有所偏差,因此编程完成之后要进行多次动作的微调,机器人工作流程图如图 5 示。

    图 5 机器人工作流程图

    机器人舵机是对称安装,在编写代码时要注意舵机的运动方向。机器人在反转动作时不宜太快,太快可能会导致代码不能完全读出导致动作不到位使机器人出现摔倒的情况。

    舵机控制原理

    本文所采用的舵机为模拟舵机,因此采用脉冲宽度调制(PWM)进行舵机的信号输出控制。PWM 是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,具有经济节约空间、抗噪声强等优点,广泛应用在从测量、通信到功率控制与变换的许多领域中。在电动机控制领域中强调能节能环保的变频技术,比如变频空调、变频洗衣机、和变频冰箱等,其实它们所利用的核心技术就是 PWM 技术。


    展开全文
  • 从人类历史的宏观视角去体察,我认为今年是人工智能的新纪元,也是谷歌的新纪元...从微观的国际形势去体察,这是谷歌的机器人、人工智能在全球范围内一骑绝尘,遥遥领先的标志。 率先掌握了下一代生产工具、战争工具。

    更早一段时间,谷歌旗下的机器人公司完成了双足机器人的直立行走。

    昨天的对战,人工智能战胜了人类。

    两年前,在技术背景的人们看来,以上两件事儿迟早会发生,只是不确定会是什么时间、什么地点。

     

    而今天这样的事情已经成为事实。

    从人类历史的宏观视角去体察,我认为今年是人工智能的新纪元,也是谷歌的新纪元,全球科技公司的新纪元。

    从微观的国际形势去体察,这是谷歌的机器人、人工智能在全球范围内一骑绝尘,遥遥领先的标志。

    率先掌握了下一代生产工具、战争工具。

     

    《士兵突击》里面有一句台词,战争最终是人与人的对抗,而今后对方就是站在人工智能身后的人。

    国内去年的创业如火如荼,基本是商业模式的创新,现有技术的重新整合。

    鲜有在这样的基础领域持续投入、产生突破的。

     

    《三体》里面有一段对话,我觉得很有道理。

    如果基础研究无法取得进展,如果物理学发展陷入停滞,所有的科学技术最终都会遇到无法突破的瓶颈。

     

    如今人工智能的突破,将直接影响国家之间 的竞争优势。

    我觉得BAT这样有资金、技术实力的公司,得仅仅的跟上。

    靠国家的研究院应该是没有希望了。

    展开全文
  • 摘要:介绍了一种由气动人工肌肉构建的双足机器人关节,该关节利用气动人工肌肉的柔性特性,可以有效控制双足机器人快速行走或跑步时的落地脚冲击问题。详细给出了气动人工肌肉的工作原理以及由其构成的关节系统的...
  • 双足机器人的被动行走 全世界各国都研制出很多双足步行机器人,其中最为先进就是本田的ASIMO。ASIMO经过30年研制和11次换代现在已经能实现不同速度的稳定步行,而且还能实现慢速跑动步态以及转弯、上下楼梯等动作。...
  • 放假前看了一本书:09年坂本范行的《双足步行机器人DIY》,由于该书重点强调实践DIY,在此记录下部分有点启发、有点东西的知识:比如切比雪夫联杆结构、静步行、动步行、ZMP点。也顺便记录下DIY过程中部分核心内容。...
  • 双足机器人行走的稳定性是双足行走最为重要的衡量指标之一。针对传统的基于零力矩点( ZMP)步态稳定性判 据方法,分析了 ZMP、C OP的相互关系,表明在双足机器人与水平地面无粘性力和无吸附力作用下,其 ZMP即为压力中 ...
  • 1. 简介 在仿人双足机器人的控制里面,可以将机器人模型简化为一个线性倒立摆模型(下图来自梶田秀司教授的《仿人机器人》[1],该书电子版可在公众号后台回复【HR】获得),...
  • 双足机器人是与人类最接近的一种机器人,其关键技术就是双足步行,最大的特征就是能像人类一样行走,可以完成人类基本的运动功能,尽管目前在仿人机器人领域已经取得了很大的成果,但相对于人类行走,怎样提高在行走...
  • 设计了一种结构简单、自由度少、行走灵活的小型双足机器人,并用电子罗盘HMC5883对机器人行走路径进行实时反馈与校正,深入研究了机器人的运动控制。设计的机器人主要靠腰部转动带动前行,以保持行走的稳定性;增加...
  • 目录matlab双足机器人强化学习算例介绍强化学习的一些基础理解菜鸟对一些名词的理解matlab强化学习库介绍双足机器人算例逻辑盘点如何改写算例做自己的强化学习。 %写在前面: 本人大四狗一名,不是计算机专业,所以...
  • 为了使双足被动行走机器人的行走步态符合仿生规律,且当路面坡度变化后,迅速进入新的稳定步态行走,提出了角度不变能量成型控制策略.研究了欠驱动双足机器人能量匹配条件和能量成型控制器的求解;由于动能相对于...
  • 本文研究无动力双足步行机器人的建模、分析与控制问题.基于能量的控制增加了机器人行走极限环的稳 定性、鲁棒性,扩大了极限环的收敛域;角度不变控制使机器人的稳定行走步态摆脱了地面倾斜角度的限制;把基于能量的...
  • MATLAB/Simulink模型开发乐高EV3 双足平衡机器人

    千次阅读 多人点赞 2018-07-27 10:37:08
    MATLAB/Simulink 2018a 模型开发乐高EV3 双足平衡机器人(含视频) 之前只是用Matlab做一些算法的仿真,数据的计算分析处理,知道MATLAB中包含有Simulink,只知道Simulink用于控制一类的仿真,最近深入接触了一下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 457
精华内容 182
关键字:

双足行走机器人