《基于NISingleBoardRIO的机器人开发.ppt》由会员分享,可在线阅读,更多相关《基于NISingleBoardRIO的机器人开发.ppt(60页珍藏版)》请在三一办公上搜索。
1、基于NI Single Board RIO的机器人开发,系统工程师 张春雷,内容提要,NI Single Board RIO简介传感器及执行机构介绍基于sbRIO搭建机器人传感器系统sbRIO编程架构NI Vision介绍,NI Single Board RIO简介,什么是NI Single-Board RIO?1.高容量嵌入式控制以及数据采集 2.高性能、高可靠性 3.使用NI Labview FPGA和Labview实时技术,板载实时控制器,工业级266 MHz或400 MHz的Freescale MPC5200处理器,VxWorks确定性地执行LabVIEW 实时应用程序600多个Lab
2、VIEW 内建函数,建立用于实时控制、分析、数据记录与通信的多线程嵌入式系统,与C代码整合,可重新配置的FPGA,嵌入式FPGA无需学习VHDL开放的环境,可集成VHDL代码或IP核,模拟与数字I/O以 及扩展I/O,110 路3.3 V/TTL数字 I/O线路多达32路10 V、16位、250 kS/s模 拟输入多达4路10 V、16位、100 kS/s模 拟输出多达32路24 V 工业数字输入线路多达32路24 V 工业数字输出线路最多扩展3块C系列IO模块,NI Single-Board RIO产品,NI sbRIO-9642/9642XT,400 MHz处理器,128MB DRAM,2
3、56MB非易失存储器,可重配置FPGA,自定义IO定时与处理,网络外围设备10/100 Mbits/s以太网端口,RS232串口,外扩3个连接器,使用板卡级NI C系列I/O模块的扩展I/O,110条3.3V数字I/O线,32路单端/16路差分的模拟输入通道,4路模拟输出通道以及32条工业级24 V数字I/O线。,19-30 V DC,温度范围:-20-55C,实时控制器,400 MHz处理器,128MB DRAM,256非易失存储器,实时(Real-time)是什么?,实时 并不总意味着速度快实时 意味着最高的可靠性实时 系统必需有时间的约束,以防止事故的发生确定性是指在给定的时间完成任务的
4、能力,实时操作系统的确定性与可靠性,实时控制器,实时操作系统(VxWorks 和 Phar Lap)“准”确:程序循环的时间抖动(Loop Jitter)在s量级,Windows操作系统的时 间抖动为ms级。“稳”定:进程调度完全按照优先级进行,不会“死机”,Windows操作系统会抢占CPU而挂起进程执行,容易形成进程互锁造成“死机”。,,高确定性带来更快的控制速率,Labview FPGA,FPGA现场可编程门阵列,通过Labview编程实现硬件语言,充分利用FPGA的并行处理能力,直观的进行FPGA开发,直观的图形开发方式,降低开发难度,需要用户自定义硬件的应用,智能DAQ数字通信协议硬
5、件决策(Decision Making in Hardware)超过40kHz的控制速度传感器级(Sensor level)的信号处理,智能 DAQ,自定义模拟 I/O,多扫描速率,自定义模拟触发,计数器,自定义计数器,PWM,Clocks,自定义定时和同步,内置IP处理模块,数字通信协议,器件/IC 通信SPI,I2C,JTAG,PS/2,系统通信航空航天:MIL-STD-1553,ARINC-429,汽车:CAN,MOST,KWP,1939,消费电子数字音响:S/PDIF,I2S自定义,软件决策,硬件,操作系统,驱动 API,运用 软件,运算,传统系统,25 ms响应,输出,UUT,Cra
6、sh Possible,硬件决策,硬件,运算,25 ns*响应,Outputs,UUT,LabVIEW FPGA 系统,*80 和120 MHz 时钟提供了更快的响应,高可靠性,超过40 kHz的模拟控制,LabVIEW Real-Time单PID 40 kHz,LabVIEW FPGA超过100 kHz 的PID,LabVIEW Real-Time下的LabVIEW FPGA体系结构,可重复配置FPGA,LabVIEW FPGA VI,LabVIEW Real-Time System,Windows PC,User,Interface,严格定时的 VI,普通优先级VI,Windows主机VI
7、,网络通信,线程间通信,FPGA接口,LabVIEWfor Windows,LabVIEW FPGA,LabVIEW Real-Time,用 sbRIO搭建机器人传感器系统,传感器简介,光电轴角编码器 增量式编码由等间隔的刻线组成,对应每一个分辨率区间,可输出一个增量脉冲,计数器相对于基准位置(零位)对输出脉冲进行累加计数,正转则加,反转则减Black:ground Red:+5V White:control signal Resolution:90 pulses per revolution,光电轴角编码器,增量式编码由等间隔的刻线组成,对应每一个分辨率区间,可输出一个增量脉冲,计数器相对于
8、基准位置(零位)对输出脉冲进行累加计数,正转则加,反转则减,光电轴角编码器,光电轴角编码器可以检测到每秒1700个脉冲,相当于每秒18.9转,或者1133rpm,如果高于这个数值,测量会出现误差,对于两线输入的光电轴角编码器来说,还可以测试运动方向,传感器简介,超声波测距仪 单位:um,cm,inch,最小测量范围:Warm Day:17-18cm Cool Day:15-16cm,最大测量范围:,超声波测距仪,模式选择:Mode接地:串口模式 Mode悬空:I2C模式,指令发送:首先发送显示方式指令(in uS,cm or inch),然后发送接收指令。即:显示方式,接收,显示方式,接收注意
9、:每次接收都要发送,不然会显示和上次一样的距离值。,传感器简介,Motor 电机Voltage:4.4-9.1 VoltsPWM Input:1ms-2ms will give full reverse to full forward,1.5ms is neutralDead Band:1.47ms-1.55m Black Wire:Ground Orange Wire:Power White Wire:PWM signal,传感器简介,舵机,Rotation:100 degrees Voltage:4.4-9.1 VoltsPWM Input:1ms-2ms will give full r
10、everse to full forward,1.5ms is neutral Black Wire:Ground Orange Wire:Power White Wire:PWM signal,传感器简介,限位(行程)开关,传感器简介,GP2D12红外测距传感器,简介:,2.连接:1.Vo 2.GND 3.Vcc,红外测距仪指标参数,应用实例_伺服电机,1.硬件连接,sbRIO,应用实例_伺服电机,2.软件实现(1)在 FPGA建立驱动程序(2)选择相应的端口(3)编写驱动程序(4)编译,应用实例_光电轴角编码器,1.硬件连接2.软件实现,应用实例_超声波测距仪,硬件连接(1)电平匹配(2)
11、模式选择_串口模式软件实现 命令格式(地址+命令),超声波测距仪效果图,程序设计结构,配置sbRIO,建立Project,FPGA I/O,FPGA硬件可以同时包含模拟与数字I/O节点I/O节点的数量和类型取决于FPGA设备或者SbRIO模块,FPGA I/O面板,I/O节点的配置,或者,I/O节点,数字I/O输入输出模拟I/O输入输出,定点数据类型 Fixed point,在XP和控制器上的运算使用浮点数据在FPGA上进行整数运算小数点位置固定的数据类型,比如总共20个bit4位表示整数 0161位表示符号15位表示小数点后面的数据,分辨率是1/215=3.05e-5AI的IO Node可以
12、输出整型或者定点型数据,FPGA上的定时与循环,定时函数使用不同的定时函数执行循环,定时控制函数,配置定时函数,定时器单位Tickssecmsec内部计数器的大小32 Bit16 Bit8 Bit,循环定时器(Loop Timer),使用顺序结构,使得循环定时器能在第一个while循环中初始化如果代码执行时间超过了循环速率,则循环定时会调整后续的循环,循环中的定时器实现连续采集,等待在每次while循环的重复过程定时器均会被执行采集部分执行得很快,循环的速度由Timer控制,利用FIFO实现数据的传递,FPGA程序和RT的程序运行速度不同,需要一种机制实现数据的传递FIFO 先进先出的缓存,第
13、一个读进来的数据首先被读出。FPGA FIFO 类似一个固定长度的队列DMA 从RT上通过直接内存访问方式读写数据工作原理FPGA上的数据高速依次写入FIFO控制器上开辟缓存存放DMA送来的数据程序每次读取大批量数据,在工程里创建和配置FIFO,FIFO的写入函数,FIFO Write只可接收U32型数据如果IONode给出定点型数据,需要现转换成布尔型数组,再变成整型U32型如果IONode是整型,也需要转换成U32型,开发流程,CompactRIO Real-Time,FPGA Target,1.在上位主机开发,2.下载到执行目标,3.发布 成自主运行或通过Ethernet 和上位主机通信
14、,应用程序部署,NI Vision,概述,使用NI机器视觉方案,您可以选择配置软件或编程库构建您的图像应用。由于所有NI机器视觉软件包都可以在所有的NI机器视觉硬件平台上工作,从智能相机到嵌入式机器视觉系统直至基于PC的系统,您可以更方便地管理并维护多个硬件系统,为新的应用选择合适的硬件,甚至只需很少的投入就可以在软件选择之间转换。,NI Vision_软件,用于自动检测的NI视觉生成器 用于自动检测(AI)的NI视觉生成器是简单易用的独立配置环境,用于从开始到结束建立并部署整个机器视觉应用,包括采集、处理、高级决策、使用数字I/O输出结果、工业通信和用户接口。NI视觉开发模块 NI视觉开发模
15、块是包含数百个科学成像与机器视觉函数的综合库,您可以用于使用NI LabVIEW软件和多种基于文本的语言进行编程。使用其他LabVIEW模块和包含这个选项的工具包,建立更容易定制的应用程序。,NI Vision_硬件,1.智能相机 NI智能相机是工业高质量图像传感器结合了为机器视觉应用设计的小型、物美价廉、坚固的多合一解决方案的强大处理器。,2.NI视觉系统 NI视觉系统将工业相机连接和开放式通信结合在了两个无风扇的坚固设计中,它们是制造环境的理想选择。在实时或基于Windows操作系统之间选择,它们提供了从多个GigE Vision、IEEE 1394、基本相机链路或兼容DirectShow的USB相机中采集的功能。,3.帧抓取器和基于PC的视觉系统 NI帧抓取器是构建使用最新PC处理器技术的高性能视觉系统的理想选择。NI图像采集板卡能够提供与模块化数据采集和运动控制产品的无与伦比的同步性能。,