本文借鉴机器人分级范式的思想,把移动机器人控制器划分为驱动传感层、实时控
制层和交互层。在调研现有移动机器人控制器特点的基础上,提出了一种新型的控制器
方案。该方案针对移动机器人控制的特点,选用集成了多核 ARM CPU 和 FPGA 的 Xilinx 
ZYNQ 全可编程 SOC 作为硬件平台。在该平台上,应用软硬件协同设计的思想,完成
了如下工作:在 FPGA 上集成面向驱动传感的硬件 IP 核;在不同 CPU 上部署面向实时
控制的裸机软件和面向交互的 Linux 软件。

此控制器方案适合于移动机器人需要携带大量传感器,又对实时性有较高要求的应
用场景。将其应用于一款轮式移动机器人,实验证明,该移动机控制器能稳定工作,具
有良好的实时性。

移动机器人控制器在硬件平台上种类十分丰富,有的采用工控机,诸如先锋机器人
采用 PC104 作为上位机处理器,同时使用日立 H8S 微控制器作为下位机处理器;有的
是采用 DSP,如 BMP 采用 TI C2000 作为硬件平台,有的采用通用处理器,如 iRobot;
有的采用专用处理器,如日本 Asimo 使用 Hondd 定制的处理器、有的则采用上述硬件
平台的混合方案。软件方面,对控制、调度要求较高的控制器方案常常会搭载嵌入式操
作系统,如 Pioneer3-AT 的上位机控制器搭载 Window2000 的操作系统;Linux 在小型机
器人控制器中比较常见,如法国 Aldebaran  Robotics 公司的 Nao 机器人,Tecent 的教育
和娱乐机器人 Qrobot,Xilinx 的 Zrobot 智能小车;有的控制器也会采用混合方案。

Pioneer[13]是由 ActivMedia Robotics 公司设计实现的一系列轮式机器人,目前已经发
展到了第三代,主要型号有适合室内运行的 DX 型,具有较强越障性能的 AT 型,在人
机交互界享有声音的 PeopleBot,以及面向机器人协作的 AmigoBot。Pioneer3-AT 的控制
器硬件平台使用的是 32 位工控机 SH2 系列,软件方面,搭载 ARCOS 嵌入式 OS。移动
机器人的上位机和下位机控制器以一种客户机-服务器的方式运行工作。下位机控制器
是服务器,负责掌控机器人的各种底层的细节问题,诸如保持平台的驱动速度,越过不
平坦地形,读传感器信号——比如声纳,管理附件-如机械手臂。于此同时通过串行口
将 PC 上位机控制器与机器人下位机控制器连接,在 PC 上运行上层的智能控制软件,
比如障碍规避、路经规划、人脸识别、定位、导航等等。这种客户机—服务器运行方式
的优点是,不同的机器人服务器系统可以运行同一上层客户机软件。多用户也可以在一
台机器人服务器上共同分担各自的控制任务,这就可以完成分布式的通讯、控制试验、
计划等。

华南理工大学大学智能软件与机器人实验室设计并实现了一种非载人的,用户可以在上位机设置指令进行运动控制的两轮自平衡移动机器人[14]。其控制器硬件采用德州仪器的 C2000 系列微控制器;软件上搭载 TI 公司提供的 BSP,在上面开发自己的应用程序。该控制器的优点是能够发挥 DSP 擅长的 PWM 控制、卷积、滤波等功能,方便地执行电机驱动,传感数据融合,机器人姿态估计等任务[31]。

华中科技大学的何项新,胡航笛等人提出了一种通用的控制器设计方案:它是模块化的,可快速配置的[2]。其设计的移动机器人控制器可以划分为抽象的三层,自顶向下
分别是层传感、实时控制层(电源管理系统)、驱动层。这个控制器系统的实时控制层
负责掌管实时任务,由一片 ARM 处理器与一片 FPGA 组成异构处理单元;驱动与传感
层负责管理移动机器人的各类传感器和驱动执行机构;层则掌管一些高性能的任务,是
控制器系统的扩展部分。这种设计方案的优点在于可以提高硬件复用率,降低设计时间;
缺点是 ARM 处理器和 FPGA 均是单片而并非是 SoC 方案,二者没有专门设计的互联通
路,则数据交互很容易成为瓶颈,如果处理器与 FPGA 的性能优势都不能发挥出来,那
么希望通过 FPGA 实现硬件加速的想法也无从实现,还会附加地提高设计的成本,增加
设计体积和整体功耗[5]。

基于ZYNQ移动机器人控制器设计(1)背景相关推荐

  1. 基于ZYNQ移动机器人控制器设计(3)控制器硬件方案选型

    本章介绍控制器硬件的方案选型,首先回答为什么选择 ZYNQ 平台来进行移动机器 人控制器方案设计,分析 ZYNQ 的架构与我们提出的控制器设计方案有哪些与生俱来的 契合.接着花了较多的篇幅来阐释锁定 ...

  2. 单片机课程设计-基于单片机直流电机控制器设计

    本科单片机课程设计,附Proteus仿真效果图 要求: 思路很简单,使用定时器0控制单片机IO口输出不同占空比的触发脉冲即可控制转速 代码参考: #include <reg52.h>#de ...

  3. 基于神经网络的控制器设计与仿真

    这个部分,主要是通过给定模型的输入和输出,然后通过网络进行训练,得到神经网络的辨识参数. 对于网络辨识部分,其基本构架如下所示: 上述的辨识结构,通过控制对象的输入和输出的延迟分别进入F网络和G网络, ...

  4. simulink降维观测器设计_基于MATLAB的状态观测器设计.doc

    word文档 可自由复制编辑 PAGE 基于MATLAB的状态观测器设计 预备知识: 极点配置 基于状态反馈的极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使系统特性满足要求. ...

  5. 基于ZYNQ 7000的1553B总线控制器测试系统的设计与实现

    为了方便对1553B设备进行测试,本文介绍了一种基于ZYNQ 7000 平台的1553B总线控制器测试系统的设计与实现方法.该系统首先在 PC机上通过人机交互界面配置数据,支持灵活对数据故障注入,然后 ...

  6. 强化学习4——基于Actor-Critic的自适应PID控制器设计

    注释:本博文内容来源于文献:Wang X, Cheng Y, Sun W, et al. A Proposal of Adaptive PID Controller Based on Reinforc ...

  7. 汽车主动悬挂系matlab,基于Matlab的汽车主动悬架控制器设计与仿真.doc

    基于Matlab的汽车主动悬架控制器设计与仿真 <现代控制理论及其应用>课程小论文 基于Matlab的汽车主动悬架控制器设计与仿真 学院:机 械 工 程 学 院 班级() 姓名: 2015 ...

  8. 基于ZYNQ 的多轴运动控制平台关键技术研发-总体架构设计(一)

    基于多轴运动控制平台的实时通信和同步控制需求,采用 Xilinx Zynq 7020 SoC 作为核心处理器,设计了双核 SoC 多轴运动控制平台的总体架构.结合多轴运动控 制系统与接口特征,完成了 ...

  9. 基于FPGA的SPI FLASH控制器设计

    1.SPI FLASH的基本特征 本文实现用FPGA来设计SPI FLASH,FLASH型号为W25Q128BV.支持3种通信方式,SPI.Dual SPI和Quad SPI.FLASH的存储单元无法 ...

最新文章

  1. mysql init file_mysql中参数--init-file的作用是什么呢?
  2. code Gym 100500D T-shirts(暴力)
  3. Numpy中np.dot()与np.matmul()的区别(矩阵乘积、矩阵乘法、矩阵相乘)
  4. ASP.NET4.5Web API及非同步程序开发系列(3)
  5. c++ 数组的数据保存二进制_Redis五种不同的数据类型
  6. 设计模式之(四)抽象工厂模式(Abstract Factory)
  7. Linux_JDK安装
  8. 列顺序对SQL Server复合索引的影响
  9. 一篇文章搞定:扫码登录实现原理
  10. 牛客网——复杂字符串排序
  11. 蓝桥杯_算法训练_未名湖畔的烦恼
  12. 直播app开发怎么做,PHP直播源码是什么
  13. 小米音箱蓝牙连不上_小米互联网音箱蓝牙怎么连接?方法如下
  14. 用CDR(coreldraw)怎么把图片转为矢量图
  15. 蓝桥杯 种花小游戏 java 状压
  16. 向量旋转(或矢量旋转或坐标轴旋转)后xy坐标重定位(vivado+cordic ip核+matlab) - 适用于数学爱好者
  17. 英文实体识别stanrdfold
  18. CAS . . . .
  19. 1527编码协议_一种用射频收发器芯片发射1527编码的方法与流程
  20. Servlet 发送电子邮件

热门文章

  1. 移动、联通和电信三网基站定位查询接口
  2. 华为鸿蒙编程js初试
  3. 论文的文献类别有哪些?
  4. 用虹科Pico汽车示波器计算CAN总线负载率
  5. Linux服务器同步网络时间
  6. 哪里可以找到超清实时的谷歌卫星地图?
  7. 标准盒模型和怪异盒模型的区别?
  8. 微型计算机原理测试题,微机原理练习题
  9. 最大扭矩,最大功率是什么---普通正常人买车如何看发动机参数
  10. Steam注册到交易