论文部分内容阅读
机器人的不断发展,要求机器人能像人类一样,在接触中能够产生和人一样的反应。本论文以实现具有类人反应的服务机器人为目标,研究了服务机器人的神经网络力控制器的实现问题。 文中研究了机器人力控制的必要性,比较了力控制的多种实现方式。其中神经网络方式,更适用于服务机器人控制任务的需要。 具有类人反应的服务机器人系统,具有高度的非线性和参数的时变性,及任务的复杂性,且环境未知。用神经网络实施力控制有很多优势,可以不用对系统建模,在系统未知的情况下对系统实施控制且具有好的容错性。对服务机器人实施力控制,要求实时性较高,采用神经网络的硬件实现方式实施控制,才能使系统达到更好的性能。 文中采用了一种STAM(Symmetric Table and Addition Method)方法在FPGA器件上,实现了BP网络最为常用的一种非线性传递函数——sigmoid函数的近似计算。可编程技术迅速发展,正在成为EDA设计的首选方式。在此选用了XILINX公司的FPGA器件来实现算法。对于非线性函数,目前有多种实现方式,但这些算法一般占用空间都较大,或是反应时间长,不适合用硬件实现。而STAM方法极大的减小了查表法占用的硬件资源,而且不必循环执行,可以在一个指令周期内完成一次计算任务,运算速度快。计算误差小于一个ulp。和其他的算法比较,STAM方法更适于用硬件方式实现。 另外,硬件实现神经网络还存在误差问题,学习方式,并行结构等方面的问题,还有神经网络内部的连接问题,隐层及乘法器的实现等等。如误差问题,硬件实现神经网络使用的是有限精度,不可避免的会产生有限精度误差,选取合适的精度,才能既适合空间的要求,又避免对网络的实现产生一定的影响。这些都是在实现一个网络前需要仔细考虑的问题。上述这些问题在文中都予以了研究,并根据目标系统,提出了设计中欲采用的结构。 文章的最后,基于已经设计实现的一个机器人运动控制系统,提出了应用神经网络力控制器,实现一个具有类人反应的服务机器人的构想。