智能机器人实验二_第1页
智能机器人实验二_第2页
智能机器人实验二_第3页
智能机器人实验二_第4页
智能机器人实验二_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二智能机器人控制技术的研究一实验目的1熟悉机器人控制系统的组成与与相关控制技术。2熟悉轮式移动机器人运动控制系统的组成与控制方法。3. 熟悉PID控制、模糊控制与神经网络控制算法的基本原理及其在智能机器人控制中的应用。二实验基本理论机器人与计算机相区别的一个重要特征,就是机器人能够运动。而运动就必须有动力部件,以及由这些动力部件驱动的结构。因此,合理选择和设计运动系统是移动机器人设计中一项基本而重要的工作。通常,运动系统是由移动机构和驱动系统组成的,它们在控制系统的控制指挥下,完成各种移动动作。“未来之星”机器人控制系统结构如图 6 所示。其中,控制系统主板是控制系统的核心。运动控制卡和M

2、ultiFLEX 控制器又是主板上最重要的控制设备。图 6 “未来之星”控制系统结构框图运动控制卡主要有两方面的功能:(1)接收上位机的指令,并将其转化为驱动器的控制指令,控制两组驱动器和电机执行上位机要求的运动。(2)通过IIC 总线查询陀螺仪和倾角计传感器的数据信息,并做基本PID 运算;接收上位机的导航控制指令,结合姿态传感器的姿态信息做相应的运算并控制两组驱动器和电机闭环执行预定的轨迹运动。MultiFLEX 控制器是“未来之星”机器人的核心控制器,是一个模块化的机器人控制卡。同时,MultiFLEX 是一块公开电路图、公开源程序的控制卡。用户可以根据这些资源,自行为它开发针对某个特定

3、机器人的程序,使MultiFLEX 具有决策能力。MultiFLEX 控制卡上的有多种输入输出接口,在“未来之星”上主要用于简单传感器信息的采集和处理,舵机和电机的运动控制。在 “未来之星”的系统架构中,最底层的运动/控制执行层包括电机伺服控制器,舵机控制器等。MultiFLEX 控制卡搭载在机器人的总线上,当作一个控制执行节点来使用。控制执行层接受来自上层的控制指令,处理大量高速原始数据,并用简单的算法完成对执行器的自动控制,以及对传感器的有效读取,并把信息传递给上层。MultiFLEX 控制卡的外观和卡上的接口说明如下图所示:图 7 MultiFLEX 控制卡的外观图卡上的各种接口说明如下

4、:A: 电源接口,+5-6V 电源 (J6)(1.0a 之后版本的控制卡使用同轴电源插座,极性为内正外负)MultiFLEX 控制卡使用5-6V 的直流电源。至少要求5A 的电流输出能力。B: 控制板总线接口 (J8)MultiFLEX 控制卡支持博创科技的标准总线,可以作为功能模块安装在博创科技的所有机器人产品上使用。具体使用方法请参考“MultiFLEX 控制卡数据手册”。C: 4 路电机接口M1-M4 (J7)4路PWM 电机驱动输出。最大允许电流2A,最高输出电压为供电电压。可以支持各种小型直流有刷电机。D: RS-232 串口(J5)友迅达(FriendCOMM)标准的5 针RS-2

5、32 串行口。标准RS-232 电平。需要在这里插入232 通讯电缆。E: 7 路模拟输入接口 AD0-AD6 (J2)ADC 输入口允许输入05V 模拟信号,在MultiFLEX 控制卡中可以转换为数字信号。主要用于一些模拟电压输出的传感器信号采集。其中靠近电路板内侧是信号输入线(对应图上字母S。需要注意输入最低电压0V,最大电压为MultiFLEX 控制卡的电源电压,即56V),中间是电源(56V,对应图上“+”号),外侧是地线(GND,对应图上“-”号)F: 12 路PWM 舵机控制 PW0PW11(CH0CH11)(J4)12 路舵机的控制接口被分成了四组。这是为了避免各个接口的接插件

6、之间干涉。舵机的引线有三根,其中黄色是信号线(对应图上字母S,靠近电路板内侧),橙色是电源(56V,对应图上“+”号),棕色是地线(GND,对应图上“-”号)G: 16 路数字I/O IO0-IO15 (J1,J3)16 路数字I/O 可以在UP-MRcommander 软件中被配置为输入或者输出。如果配置为输入,每个I/O 口能采集加在其上的电压是高电平(1)还是低电平(0),主要用于检测开关、按钮、红外传感器等的状态。如果配置为输出,每个I/O 口可以输出高低电平(高电平为电源电压,低电平为0V),可以用于驱动LED、微型电机等器件。其中靠近电路板内侧是信号输入线(对应图上字母S。需要注意

7、输入最低电压0V,最大电压为MultiFLEX 控制卡的电源电压,即56V),中间是电源(56V,对应图上“+”号),外侧是地线(GND,对应图上“-”号)。H: AVR 单片机在线编程接口(J6)MultiFLEX 控制卡使用AVR ATMega128 微控制器作为处理器,这款处理器具备在线编程(ISP)功能。使用ICCAVR、WINAVR 等PC 机上的C 语言编译环境交叉编译好的二进制文件可以通过该接口下载到处理器内置的FLASH 存储器中运行。I: 控制卡功能选择拨码开关(S1)H的上方即是控制卡功能选择拨码开关。拨码开关共有8 路,每一路拨到ON 位置为接通。l 第 1、2 路接通且

8、3、4 路断开时使用RS232 串口与PC 机的UP-MRcommander 软件通讯;当第1,2 路断开且3、4 路接通时,控制卡通过标准总线与上位机连接。我们在这里要使用的是第二种方式,即1、2 处于OFF 的位置,3、4 处于ON 的位置。l 第 5、6 路拨码开关用来选择通讯的波特率。5 路为低位,6 路为高位;拨码开关接通代表0。波特率有以下几种:编号: 6 5 : 对应波特率0/1 状态 0 0 : 115200BPS0 1 : 38400 BPS1 0 : 19200 BPS1 1 : 9600 BPSl 第 7 路拨码开关用于选择开机状态。当为ON时开机自动执行控制卡中上次保存

9、的指令,当为OFF 时待机,等待控制命令。l 第 8 路暂时保留未用,为以后扩展功能使用。在出厂时,拨码开关的默认值是:使用标准总线与上位机连接,波特率19200BPS。MultiFLEX 控制卡的主要数据如下表所示:项目 数据 说明型号 MultiFLEX 1.0长/宽/高 105/50/19mm 不含20pin 总线接口供电 4.86.5VDC 推荐4.86V。电压超过6.5V 可能损坏!保护 过流保护反接保护长时间电源反接仍可能损坏。过流保护生效后,需重新上电才能工作静态功耗 0.3W保护电流 68A 超过此电流后,自动切断。约10 秒后才能再次工作。I/O 电平 低电平 VCC 1.5

10、V数字通讯接口 RS-232 接口 TX,RX,GND 三线制数字量输入/输出 16 个,复用 GND/VCC/SIG 三线制(SIG 可以为输入或输出,在UP-MRcommander 软件中配置)模拟量输入 8个(其中一个已经内部使用) GND/VCC/SIG 三线制(SIG 为信号输入)功率输出 4个 M+,M- 两线制,最大每通道2A舵机输出 12个 GND/VCC/SIG 三线制(SIG 为信号输出)扩展接口 20线总线接口 博创科技标准的总线接口。可以通过该总线接口扩展其他外设。JTAG 功能 不支持ISP 功能 支持 GND/RST/MOSI/MISO/SCK 五线,配套提供ISP

11、 编程电缆无线通讯 支持 可选配无线通讯模块,433MHz,19.2KBps三实验平台1. 系统结构实验系统仍然采用博创公司的“未来之星”移动机器人平台。依据各主要功能模块的分层布置,“未来之星”机器人的内部组装结构从下往上依次如图 8(a)-(d)所示。图 8 “未来之星”机器人各主要功能模块的分层布置运动层主要是能源和驱动部分。基础控制层安装基本控制电路,主要有主板、MultiFLEX控制卡、运动控制卡、通讯板和接口。高级控制层上有LCD 及键盘模块、嵌入式PC 系统、液晶屏模组、光敏温敏传感器等电路板。各层之间通过立柱互相固定。头部安装有摄像头和激光笔。激光笔主要用来和摄像头配合使用,进

12、行简单的图像激光测距。2. “未来之星”机器人控制系统硬件部分控制系统是机器人的核心,是机器人顺利完成各项任务的基本保证。“未来之星”机器人的控制主要涉及到头部控制、手臂控制和运动控制。头部的控制主要通过一个旋转舵机来实现头部转动。手臂控制包括肩关节、肘关节、腕关节和指关节,左右手臂各具有5 个自由度。在运动控制部分,“未来之星”采用两轮驱动,两个直流伺服驱动器对两个直流伺服电机进行闭环控制,能够比较精确的控制机器的运动轨迹。结合带陀螺仪和倾角计导航的运动控制卡,机器人可以实现精确的运动控制,有效地锁定航向、自动补偿和纠正因外力造成的运动偏差。在演示软件FStar 2.2.1 的基本控制页面(

13、如),我们可以看到上述三个部位的运动控制功能演示。有关电机方面的具体控制,在此不在赘述,请查阅相关资料。图9 FStar 2.2.1 软件系统的基本控制页面软件部分通过实验一已经了解到“未来之星”机器人的FStar 软件平台。从软件系统的层次架构中,我们主要通过发送命令、解析命令到行为执行来实现对机器人的控制。因此,我们必须熟悉各硬件设备与主机的通讯协议以及在软件平台上的行为控制接口函数。其中几个重要的接口控制函数,列举如下:SetBothMotorsSpeed 功能:同时发送左右两侧电机速度参数:Inleftspeed: int 类型,左侧电机速度Inrightspeed: int 类型,右

14、侧电机速度SetLMotorSpeed 功能:发送左侧电机速度参数:Inleftspeed:int 类型,左侧电机速度SetRMotorSpeed 功能:发送右侧电机速度参数:Inrightspeed:int 类型,右侧电机速度Brake 功能:刹车参数:无SetPIDpara 功能:设置锁定航向PID 参数参数:pid1: UCHAR 类型,比例系数pid2:UCHAR 类型,积分系数pid3:UCHAR 类型,微分系数TurnLByGyro 功能:左转(基于陀螺)参数:inangle: int 类型,要转动的角度(真实角度的10 倍)inSpeed:UCHAR 类型,转动的速度(真实速度的

15、1/100)LockDirection 功能:锁定航向参数:cmd:UCHAR 类型,命令标志speed:UCHAR 类型,速度(实际速度的1/100)SetServeMotor 功能:设置伺服电机参数:inSpeed:int 类型,伺服电机速度ResetServe 功能:所有舵机复位参数:无SendArmData 功能:控制机械臂运动参数:angle:UCHAR 数组类型,机械臂舵机角度值speed:UCHAR 数组类型,机械臂舵机转动时速度值WaveHead 功能:头部转动控制参数:angle:int 类型,要转过的角度speed:UCHAR 类型,转动的速度四、实验内容在程序的对话框中添

16、加按钮控件基本控制“前进,后退,左转,右转,圆形”分别命名,接着为其添加类向导函数void CFstarTestDlg:OnForward() / TODO: Add your control notification handler code herem_Cmd.SetBothMotorsSpeed(200,200);/前进void CFstarTestDlg:OnTurnleft() / TODO: Add your control notification handler code herem_Cmd.SetBothMotorsSpeed(-100,100);/左转void CFstar

17、TestDlg:OnTurnright() / TODO: Add your control notification handler code herem_Cmd.SetBothMotorsSpeed(100,-100);/右转void CFstarTestDlg:OnBackward() / TODO: Add your control notification handler code herem_Cmd.SetBothMotorsSpeed(-200,-200);/后退void CFstarTestDlg:OnBrake() / TODO: Add your control notif

18、ication handler code herem_Cmd.Brake(1);/停止,2,圆形实现程序:void CFstarTestDlg:OnYx() / TODO: Add your control notification handler code here/clock_t start,finish; /clock_t start,finish;/ TODO: Add your control notification handler code here/m_Cmd.SetBothMotorsSpeed(200,350);/start=clock(); / while(1) m_Cmd.SetBothMotorsSp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论