位置:51电子网 » 技术资料 » 控制技术

基于Nios II的机器人视觉伺服控制器的研究与设计

发布时间:2008/6/3 0:00:00 访问次数:504

引言

  altera公司的nios ii处理器是可编程逻辑器件的软核处理器。niosii软核处理器和存储器、i/o接口等外设可嵌入到fpga中,组成一个可编程单芯片系统(sopc),大大降低了系统的成本、体积和功耗。适合网络、电信、数据通信、嵌入式和消费市场等各种嵌入式应用场合。

  本文提出一个基于nios ii处理器结构的系统用于实现机器人实时运动检测跟踪,使用线性卡尔曼滤波器算法来快速完成运动估计及进一步分析和校正,算法中的乘除利用matlab/dsp builder生成的模块作为nios ii处理器的自定义指令的设计方法。

机器人视觉伺服控制器的研究与设计

  机器人视觉伺服控制就是用各种成像系统代替视觉器官作为输入的敏感手段,并由高速处理器替代大脑完成相应的处理和解释,其最终研究目标就是使机器人视觉伺服控制器能像人那样通过视觉观察和理解世界,具有自主适应环境的能力,可依据视觉敏感和反馈,以某种程度的智能完成一定的任务。

系统硬件实现

  基于sopc的机器人视觉伺服控制器,主要由fpga、存储器和外设三个部分。

  摄像头位置固定,它所能采集图像的范围称为视觉区域,调整摄像机使视觉区域覆盖机器人的工作空间,即机器人要跟踪的曲线在该视觉区域内。利用摄像机采集图像,而后系统对采集的图像进行处理,分析、提取出离散的采样点序列,最后再根据采样点序列规划机器人的运动路径。其中,fpga部分核心是nios ii处理器core。在一般的嵌入式系统开发中,当需要新的外设模块时往往需要在pcb上加入相应的外设芯片或者换用更高档的cpu,而sopc设计可以同一个fpga芯片内加入相应的外设模块核,并通过在片上的avalon总线与niosⅱ处理器core相连,因而不需要在pcb这个层面上作更多的修改。成像采集装置从目标对象场景中采集图像序列,保存在sopc的片外存储器中,然后利用niosⅱ处理器和定制的乘法、除法等dsp运算指令来实现线形卡尔曼滤波器的算法,从而实现运动目标的识别与跟踪。

系统软件的实现

离散线性卡尔曼滤波算法

  线性卡尔曼滤波是美国工程师kalman在线性最小方差估计的基础上,提出的数学结构上比较简单的最优线性递推滤波方法,具有计算量、存储量低,实时性高的优点。特别是经历了初始滤波的过渡状态后,滤波效果非常好。

线性卡尔曼滤波基本算法如下:设一随机动态系统,其数学模型为:

  公式1中x(k)为系统状态矢量,w(k)为系统噪音矢量,φ(k),г(k)为系统矩阵,公式2中z(k)为系统观测矢量,h(k)为系统观测矩阵,v(k)为系统观测噪音矩阵。

  关于系统的随机性,本文假定,系统噪音和观测噪音是不相关的零均值高斯白噪声。随机系统的状态估计问题,就是根据选定的估计准则和获取的测量信息对系统状态进行估计,卡尔曼滤波的估计准则是:

其中,,即估计是x(k)无偏和最小方差,根据这两个准则可推导出对系统的完整的滤波算法,即:

预测误差方程为:

增益矩阵方程为:

滤波误差方差阵为:

  上述公式中i是单位矩阵,q为w(k)自协方差方差阵,r为v(k)自协方差方差阵。卡尔曼滤波采用递推算法,计算最优滤波值时,k(k+1)由p(k+1|k)来确定,p(k+1|k)由p(k)来确定,p(k+1)由p(k+1|k)

引言

  altera公司的nios ii处理器是可编程逻辑器件的软核处理器。niosii软核处理器和存储器、i/o接口等外设可嵌入到fpga中,组成一个可编程单芯片系统(sopc),大大降低了系统的成本、体积和功耗。适合网络、电信、数据通信、嵌入式和消费市场等各种嵌入式应用场合。

  本文提出一个基于nios ii处理器结构的系统用于实现机器人实时运动检测跟踪,使用线性卡尔曼滤波器算法来快速完成运动估计及进一步分析和校正,算法中的乘除利用matlab/dsp builder生成的模块作为nios ii处理器的自定义指令的设计方法。

机器人视觉伺服控制器的研究与设计

  机器人视觉伺服控制就是用各种成像系统代替视觉器官作为输入的敏感手段,并由高速处理器替代大脑完成相应的处理和解释,其最终研究目标就是使机器人视觉伺服控制器能像人那样通过视觉观察和理解世界,具有自主适应环境的能力,可依据视觉敏感和反馈,以某种程度的智能完成一定的任务。

系统硬件实现

  基于sopc的机器人视觉伺服控制器,主要由fpga、存储器和外设三个部分。

  摄像头位置固定,它所能采集图像的范围称为视觉区域,调整摄像机使视觉区域覆盖机器人的工作空间,即机器人要跟踪的曲线在该视觉区域内。利用摄像机采集图像,而后系统对采集的图像进行处理,分析、提取出离散的采样点序列,最后再根据采样点序列规划机器人的运动路径。其中,fpga部分核心是nios ii处理器core。在一般的嵌入式系统开发中,当需要新的外设模块时往往需要在pcb上加入相应的外设芯片或者换用更高档的cpu,而sopc设计可以同一个fpga芯片内加入相应的外设模块核,并通过在片上的avalon总线与niosⅱ处理器core相连,因而不需要在pcb这个层面上作更多的修改。成像采集装置从目标对象场景中采集图像序列,保存在sopc的片外存储器中,然后利用niosⅱ处理器和定制的乘法、除法等dsp运算指令来实现线形卡尔曼滤波器的算法,从而实现运动目标的识别与跟踪。

系统软件的实现

离散线性卡尔曼滤波算法

  线性卡尔曼滤波是美国工程师kalman在线性最小方差估计的基础上,提出的数学结构上比较简单的最优线性递推滤波方法,具有计算量、存储量低,实时性高的优点。特别是经历了初始滤波的过渡状态后,滤波效果非常好。

线性卡尔曼滤波基本算法如下:设一随机动态系统,其数学模型为:

  公式1中x(k)为系统状态矢量,w(k)为系统噪音矢量,φ(k),г(k)为系统矩阵,公式2中z(k)为系统观测矢量,h(k)为系统观测矩阵,v(k)为系统观测噪音矩阵。

  关于系统的随机性,本文假定,系统噪音和观测噪音是不相关的零均值高斯白噪声。随机系统的状态估计问题,就是根据选定的估计准则和获取的测量信息对系统状态进行估计,卡尔曼滤波的估计准则是:

其中,,即估计是x(k)无偏和最小方差,根据这两个准则可推导出对系统的完整的滤波算法,即:

预测误差方程为:

增益矩阵方程为:

滤波误差方差阵为:

  上述公式中i是单位矩阵,q为w(k)自协方差方差阵,r为v(k)自协方差方差阵。卡尔曼滤波采用递推算法,计算最优滤波值时,k(k+1)由p(k+1|k)来确定,p(k+1|k)由p(k)来确定,p(k+1)由p(k+1|k)

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!