Profile - CN162


CN162

基于FPGA的带机械臂的移动平台控制

桂林电子科技大学信息科技学院
电子工程系


Finals


[print]


Project

Name of Project:基于FPGA的带机械臂的移动平台控制

Contact Information

Name:刘杰德
E-Mail:elsonx@msn.com
Telephone:15907877207
Mobile Phone:15907877207
Mailing Address:桂林电子科技大学信息科技学院尧山校区

Contest Advisor

Name:江国强
E-Mail:hmjgq@guet.edu.cn
Telephone:13977393225

Members

No.NameE-MailEnglish Name
1刘杰德elsonx@msn.comliujiede
2罗宁cluoning@yahoo.cnluoning
3吴斌wubinniao@126.comwubin

Project Paper - view as Preliminary(2010/06/01), Final(2010/09/18), Draft, Latest

1. 设计概述 (Preliminary Paper)

1. 设计意图
   机械臂是机器人研究中最常见的课题之一。在工业制造、医疗卫生、航空航天、抢险救援等领域往往需要在一些不适合人工作业的恶劣环境中进行一些精密的、可重复的工作,机械臂可以帮助人们高效、安全、可靠地完成这些任务。
   通常机械臂具有固定的和可移动的两种安置方式。固定的机械臂通常应用于工业领域,它们的结构较为简单,通过执行存储在芯片中的程序完成一系列可重复的精密动作;可移动的机械臂结构较为复杂、具有较高的自由度,可以通过程序控制或人工遥控完成多种复杂的动作,适合在恶劣的环境中作业,具有更加广泛的应用领域。


2. 适用范围和针对用户
   工业制造、医疗卫生、航空航天、抢险救援、排雷防爆等

3. 选用本款Altera 器件的原因
   本设计采用Altera公司生产的FPGA芯片作为控制的核心,主要考虑的是FPGA并行高效和灵活定制的特性,通过FPGA输出的多路PWM信号对舵机,即多自由度的各关节进行控制,从而达到机械臂的整体状态控制实现。在FPGA中嵌入Nios II软核,可以实现复杂的算法和控制。

(Revision: 15 / 2010-08-30 08:57:37)

2. 功能描述 (Final Project Paper)

本设计实现的功能如下:

1、多自由度机械臂+移动平台

   本设计中的机械臂具有5个自由度,机械臂的各个关节分别由舵机和步进电机驱动,由于采用了多自由度的设计,所以此机械臂可实现灵活的运动,配合底部的四轮移动平台,机械臂的爪子可到达一定空间内的任意一个点进行物体的夹取。

2、手部动作跟随控制

   在手动控制端,我们设计了一个采用手部动作控制的信号采样控制结构,通过手部的简单动作,即可实现对机械臂多个自由度的同时控制。

3、无线数据传输

   通过无线的方式,我们把控制端和机械臂移动平台分离,实现了对作品的远程无线控制。

4、无线视频传输

   通过安装在机械臂上的无线摄像头,把机械臂端的实时视频传回控制端,实现远程观察操作。

5、PC机的上位机控制

   我们采用了visual C++编写了一个上位机,接收并显示机械臂端传回来的实时视频信号,并通过串口与FPGA进行数据交换,进而实现对机械臂和移动平台进行控制。

 

 

(Revision: 10 / 2010-08-29 19:56:01)

3. 性能参数 (Final Project Paper)

1、机械臂移动平台端的资源使用情况

    1.1 FPGA核心板资源

    

    1.2 舵机性能参数

     (1) 工作速度:无负载速度0.17秒/60度(4.8V)0.13秒/60度(6.0V)
     (2) 工作电压:3.0V-7.2V
     (3) 死区设定:4微秒
     (4) 使用温度:-30~~+60摄氏度
     (5) 扭矩:13KG
     (6) 重量:62g
     (7) 尺寸:40mmX20mmX36.5mm
 

2、手动控制端的资源使用情况

  2.1 DE0资源

    Altera Cyclone® III 3C16 FPGA device
    8-Mbyte SDRAM
    4-Mbyte Flash memory
    50-MHz oscillator for clock sources
    开关、按键

     

  2.2 ADC芯片

       ADC芯片采用TLC2543,性能参数如下: 

      12位分辨率
      11个模拟输入通道
       66ksps的采样速率
       最大转换时间为10μs
       SPI串行接口
       线性度误差最大为±1LSB

(Revision: 2 / 2010-08-29 20:43:01)

4. 设计结构 (Preliminary Paper)

 
 下图1为本设计的总体功能框图
 
 

 

下图2为机械结构图

 

(Revision: 12 / 2010-08-29 18:21:56)

5. 设计方法 (Final Project Paper)

 1.FPGA系统构成

      1.1 机械臂端的SOPC

 

    1.2 手动控制端的SOPC

 

2.  手动控制 

       手动操作部分由显示器、移动平台控制摇杆、手部姿态采集部分构成,如图2所示。

 

        显示器由一块2.4英寸TFT彩色屏幕构成,用于显示当前的控制状态。

   移动平台控制摇杆是一个四向摇杆,用于控制行动机械臂端移动平台的前进、后退、原地旋转。

   手部姿态采集部分由连接在控制者手部的五个电位器组成,每个电位器上的电压反映了控制者手部对应关节处的姿态,会随着手部姿态的变化而变化。通过这些电压构造控制信号,发送给行动机械臂部分,控制机械臂上对应的舵机,实现对控制者动作的模拟。电位器上的电压是模拟量,需要将其转化为数字量以便于处理和传输。设计时利用FPGA控制A/D芯片TLC2543将模拟电压转换为数字量。对于移动平台控制摇杆和每一个控制关节的输出,构造一个二进制的控制数据,并将其通过无线传输模块发送给行动机械臂端。控制数据由24位二进制数构成,具有如图3所示的格式。 
0XFF 0X01 0X80
           图3 遥控端形成的24位控制数据 

其中前八位是数据包头;中间八位是通道数,即产生对应控制信号的电位器标号;最后八位是控制数据,反映了对应电位器上的信号量。

3. 上位机控制

 在设计手动控制端的同时,我们还设计了一个上位机控制端,可以在PC机上的控制界面中调整参数控制行动机械臂端的动作。PC端控制界面如图4所示。

  

        图4中的显示窗口用于同步显示安装在行动机械臂端上的无线摄像头获取的影像。CH1~CH5用于控制机械臂五个关节上舵机的姿态,CH6用于控制步进电机以确定机械臂在水平方向上的位置,右下角的“前”、“后”、“左”、“右”、“停”用于控制机械臂底部的移动平台的移动。在控制界面中调整各参数后,PC上位机通过串口将控制数据发送给FPGA,然后由FPGA控制无线模块MD7105-A06-03A,将控制信息发送到机械臂移动平台实现对机械臂动作的控制。

 

(Revision: 9 / 2010-08-29 23:54:33)

6. 设计特点 (Preliminary Paper)

本设计的特点:

   1、自己动手设计并制作了机械臂的结构,结构如下图所示,采用了六个舵机和一个步进电机构成。步进电机,可360度旋转,负责整个机臂顺时针或逆时针0-360度旋转。①、②、③、号舵机负责机械臂整体姿态调整,例如机械臂的升降、伸缩。④号舵机负责机械爪平面的旋转调整。⑤⑥是两个小舵机负责机械爪的闭合和张开。作品中使用舵机作为动作的主要实施单元,舵机的控制需要周期为20ms的脉宽调制(PWM)信号,脉冲宽度从0.5ms-2.5ms相对应舵机旋转0-180度。只要PWM信号的分辨率足够高,就能够精确的控制舵机在0-180度内任意转动。采用Altera公司生产的CycloneII系列EP2C5T144C8型FPGA作为机械臂的主控制器,能够同时产生多路高分辨率的硬件PWM信号控制多个舵机精确运动。本设计中,我们在不外扩RAM和ROM的情况下,采用片上RAM和配置芯片EPCS4,在EP2C5T144C8中嵌入了一个Nios II软核,实现对无线模块A7105的控制,通过无线方式获取控制端发送的控制指令和数据,完成无线控制的功能。

 

 2、手部姿态采集部分由五个电位器组成,每个电位器上的电压反映了控制者手部对应关节处的姿态,会随着手部姿态的变化而变化。通过FPGA控制AD转换芯片采集这些电压构造控制信号,发送给移动机械臂部分,控制机械臂上对应的舵机,实现对控制者动作的模拟。

 

 

(Revision: 8 / 2010-08-29 22:47:44)

7. 总结 (Final Project Paper)

        通过Altera公司为我们提供的这次竞赛机会,使我们对FPGA有了更加深入的学习,特别是在SOPC方面,之前我们接触FPGA基本都是采用Verilog HDL语言进行设计,但是在此次竞赛中,我们利用Altera公司的SOPC设计理念,在设计中嵌入了Nios II软核很好的完成了设计功能。

        通过SOPC Builder硬件搭建系统,我们可以快速灵活地搭建起我们设计所需的具有丰富外设的Nios II软核。SOPC Builder采用可视化设计界面,我们只要对所需模块进行简单的设置,最后SOPC Builder即可为我们生成我们定制的Nios II软核,极大地方便了初学者进行硬件系统的构建和学习。
 
        最后,感谢Altera公司为我们提供的这次竞赛的机会,让我们能够把理论和实践更好地结合。
(Draft / 2010-08-29 21:26:44)