您的位置:首页 >> 新闻中心 >> 机器人新闻

机器人新闻

  • NAO 机器人快速行走算法设计与实现

  •   1 总体方案论述

      根据设计要求,该 NAO 机器人需实现识别障碍与哨声,以及能够完成快速的行走过程。故本设计将整个项目细分成了几个模块,针对每个模块精准的进行设计,可以提高效率而且更有针对性。本设计主要分为障碍识别处理、哨声识别处理、快速行走设计。

      2 详细实施过程

      2.1 障碍识别处理

      2.1.1 测距原理

      声纳传感器的测距工作原理:声纳激发出一束很窄的超声波在空气中传播,当遇到障碍物时,超声被返回。根据超声波的传递时间就能准确的计算出障碍物的相对的距离。

      首先将声纳的 INIT 信号拉到高电平,此时声纳换能器将激发出超声波。INIT 信号高电平的时间可以由用户来设定。如下图所示的 INIT 信号的高电平的时间是 32ms。高电平的时间与需要测量的最长距离有关。当超声波遇到障碍物时,超声波将被返回,声纳传感器检测到回波信号后,将 ECHO 置为高电平。当 INIT 信号变为低电平时,ECHO 同时也变为低电平。因此可以计算障碍物的距离;障碍物的距离=(INIT 高电平时间一 ECHO 高电平的时间)* 声纳速度/2。

    图 3-1 测距原理

      2.1.2 避障步骤

      步骤 1、发射声波。

      声波发射模块首先发射声波。声波发射模块所发射的信号为一组声波信号,其发射周期为 T ,发射脉冲数为 N ,每一声波信号的形式为 p(t),当发射脉冲数 N 为 2 时,所述发射信号采用如下表示:

      s(t) = p(t)-p(t-Δ)

      其中 Δ 表示同一周期两个脉冲之间的间隔,p(t)可以为任意信号形式。

      步骤 2、接收回波信号。

      声波发射完成后延迟一定的时旬,开始接收声信号。所接收的声信号 e(t)采用如下表达式:

      e(t)=∫s(t-2RC)dV

      其中,dV 表示声呐波束照射范围内的体积积分,R 表示声呐基阵至空间点 (因为是体积积分所以积分项中 R 表示空间中声呐基阵至某一点的距离)的距离且 R =Rt+Rr.其中 Rt 为声呐发射基阵至空间点的距离,Rr 为声呐接收基阵至空间点的距离。所接收的声信号 e(t) 可进一步分解为:

      e(t) = e1(t)+e2(t)

      其中 e1(t)和 e2(t)分别表示 p(t)和-p(t-Δ)两组信号对应的回波。

      步骤 3、对步骤 2 中所接收的回波信号进行数据处理,抑制回波噪声。

      对回波信号的数据处理可进一步包括:

      步骤 3-1、构造回波信号的非线性特征。

      根据 e1(t)和 e2(t)构造声呐回波信号的非线性特征度量,即非线性特征为:

      β(t)=L[e1(t)-e2(t)]L[e1(t)+e2(t)]

      其中 L 为信号能量算子,可以取绝对值和、平方和等形式。

      为了保证计算的稳定性 β(t)计算完成后可以对非线性特征 β(t)采用加窗滤波处理,滤除野值。

      步骤 3-2、回波噪声抑制。

      为了有效抑制气泡回波噪声将之前所得到的回波信号的非线性特征作为度量算子对回波信号进行抑制,抑制后的回波信号为:

      q1(t) = e1(t) * β(t)

      q2(t) = e2(t) * β(t)

      步骤 4、根据回波信号实现障碍物检测。

      2.1.3 流程

    图 3-2 避障控制逻辑

      Avoid_obstacle 即避障行为,根据 NAO 遇到障碍便横向移动的要求,该行为的控制变量为:



      其中,正负号表示机器人横向行走的左右向,一般根据目标点在 NAO 的方向确定,即目标点在机器人左侧时取正,目标点在机器人右侧时取负。

      NAO 检测到与障碍物距离 d0 决定避障行为的控制参数。当 d0 大于安全距离 ds 时控制参数取值为零,该行为未被执行;当 d0 小于安全距离 ds 时控制参数取值为 1,机器人满速避障。该行为控制参数表示为:

      

      由于简单环境,也就是只有一个或稀疏分布的小型障碍物而言的环境,NAO 通过向目标行走和避障行为合理结合就可以完成避障向目标行走的任务。

      2.2 哨声识别处理

      2.2.1 原理分析

      时域信号在经过傅立叶变换的分解之后,变为了不同正弦波信号的叠加,我们再去分析这些正弦波的频率,可以将一个信号变换到频域

    图 3-3 时频域转换

      变换运算过程:

      

      采样得到信号,进行 FFT 变换。N 个采样点,经过 FFT 之后,得到 N 个点的 FFT 结果。N 取 2 的整数次方。FFT 运算量:Nlog2N(2 为对数的底)

      假设原始信号的峰值为 A,FFT 的结果的每个点(除了第一个点直流分量之外)的模值为 A 的 N/2 倍。第一个点为直流分量,它的模值是直流分量的 N倍。每个点的相位就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点 N 的再下一个点(实际上这个点是不存在的,这里是假设的第 N+1 个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率 Fs,这中间被 N-1 个点平均分成 N 等份,每个点的频率依次增加。例如某点 n 所表示的频率为:Fn=(n-1)*Fs/N 

      由上面的公式可以看出,Fn 所能分辨到频率 F0=Fs/N。 

      假设频率分辨率 F0=Fs/N 限定,采样频率 Fs 也给定,也已知信号最高频率 Fh,那么由采样定理:Fs>=2Fh

      得到:N=Fs/F0>=2Fh/F0,

      即采样点必须满足这样一个关系式。

      变换后如图:

    图 3-4 傅立叶变换后信号图

      2.2.2 流程

      图 3-5 Speech SDK 识别流程图

      语音识别时识别内核对外部有用的语音和噪音通过自身的模块进行处理,将得到语音信息先与其内核引擎中的哨声进行快速匹配,进行频率分析,最终进行精确匹配。把语音通过解码器转换成文本信息,方便接下来的操作。

      2.3 快速行走设计

      (1)卡尔曼滤波

      图 3-6 卡尔曼滤波更新过程

      卡尔曼滤波器可以用来估计离散时间过程的状态变量 x-Rn

      离散随机差分方程: 


      定义观测变量 z-Rm ,得到测量方程: 

      随机信号 和 分别表示过程噪声和测量噪声。假设它们为相互独立,

      服从正态分布的白色噪声:


      (2)、线性倒立摆模型

      图 3-7 线性倒立摆模型

      由于倒立摆系统的行为与火箭以及两足机器人行走有很大的相似性。因而该研究在机器人运动学以及机器人步态规划上有重大意义。本文采用线性倒立摆模型对机器人进行抽象,把机器人运动简化为线性倒立摆运动模式,通过预先规划好的零力矩点(ZMP)轨迹,极据质心(COG)和 ZMP 的关系,求出COG 轨迹:再将前向步态和侧向步态简化为二连杆结构,对机器人进行逆运动学求解,得出各个关节的角度,结合 ZMP 方程讨论了行走过程中的稳定性。

      3 总结

      本设计研究人的行走方式及运动原理,基于 NAO 机器人,能识别障碍与哨声,然后实现平稳的快速行走。因为走路需要的是平衡性,大脑在根据路状不断地分析判断该怎么走才不至于摔倒,而机器人走路则是要通过复杂的计算来进行。而对于障碍和哨声,同样也需要通过特定的算法来实现。因此,本次研究对于类人机器人的研究具有参考意义。


客户服务热线

13602858842

在线客服