机器人课设语音动作机器人Word下载.docx
《机器人课设语音动作机器人Word下载.docx》由会员分享,可在线阅读,更多相关《机器人课设语音动作机器人Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
4.2.2.1工程设计步骤9
4.2.2.2下面分别介绍各个模块的功能:
12
4.2.2.3每个小单元的各个功能:
五.实验调试过程16
六.心得体会与总结17
七、参考文献17
附录:
18
博创语音动作机器人
一、课程设计目的
1了解一个机器人的基本组成部分,学会使用NorthStar软件编程。
2了解并掌握舵机的调整方法。
3通过编程是机器人具有基本的智能。
二、课程设计内容
2.1、设计方案
在机器人整个运动过程中,机器人将会唱着歌执行各种指令,其中指令是由输入的数字信号决定的,例如:
当输入方波时,机器人将执行前进的动作,当输入三角波时,机器人执行后退左转的动作,当输入正弦波时,机器人执行后退右转的动作。
当这些动作都执行完成后,不再有指令发出时,机器人将推出循环,至此,机器人完成了所有的程序。
2.2、理论分析框架图
图1程序连接图
整个理论程序框架首先是完成的是歌曲播放,在歌曲播放后,紧接着是一个While循环,一直循环后面的程序,在循环后面是输入信号,然后便是IF语句的判断,根据不同的输入信号完成不同的指令,如果满足前进动作条件,那便执行前进动作,否则执行其他动作,IF语句下又接了一个IF语句,这个IF语句是判断是否满足后退右转,不满足便执行后退左转动作。
然后是IF结束,在上一级的IF结束,整个程序结束
2.3、总的流程图
首先组装机器人,根据每个人不同的喜好组装机器人,可以参考经典的机器人模型,组装完成后本设计一个独一无二的程序,这样机器人便可以根据预想变成一个有趣好玩的机器人,将设计好的程序下载到机器人中,这样机器人执行程序便可以真正地动起来了,结束运行程序
图2总程序流程图
2.4、程序流程图
开始程序后,会给机器人不同的指令,根据所输入的数字信号不同,机器人完成不同的动作,如果给的指令时前进,那么机器人将执行前进动作,如果给机器人的不是前进,那么机器人将执行后退动作,在根据本设计所给出的后退左转和后退右转输入的信号不同,机器人在完成不一样的动作,结束动作。
图3程序流程图
三、课程设计条件
准备好所需要的一切:
如下
PC机
博创软件安装盘两张
MultiFLEX2控制器
提前准备好的录音
四、系统设计
4.1.系统简介
博创科技推出的最新UP-InnoSTAR创意之星机器人套件产品,以替换上一代“创意之星”产品。
该套件是一套用于开展机器人创新实验的模块化机器人套件。
分为入门版、标准版和高级版,并有多种配件可选购。
创意之星机器人套件的总体特点类似LEGOMindstormsNXT套件,都是具备多种基本“积木”构件的模块化零件套装,包括多种数百个结构零件,一个控制器,多个电机、舵机执行器,多种传感器,以及电池、电缆等附件。
用这些“积木”可以搭建出各种发挥想象力的机器人模型来。
创意之星机器人套件主要为创作机器人而设计。
具备32位520MHz的处理器,可处理视频、语音、大容量存储;
支持最多254个CDS5500总线式舵机(也可作减速电机使用,指令兼容Robotis的DynamixelAX12+),并同时具备多个I/O和A/D转换器,以及USB、WiFi等端口。
另外,机器人的结构件和创新的连接方式专为创作机器人而设计,连接刚度和结构强度不逊色于铝合金构件,并且连接非常方便。
MultiFLEX2控制器是一款专为智能机器人和小型智能设备设计的多功能控制器,适合作为为智能机器人的主控制器。
它具备以下功能:
1.具备520MHz、32位的高性能嵌入式处理器和Linux操作系统,运算处理能力强大,而功耗只有2瓦,尺寸只有11厘米X7厘米,重不到250克;
2.控制直流电机(须配合BDMC系列伺服驱动器)控制舵机,(包括所有的传统航模舵机、博创的机器人舵机、韩国AX12+等机器人舵机);
调速、位置控制、力矩控制;
可控制多达64路电机/舵机;
3.连接各种传感器。
通过20个数字/模拟量的输入/输出端口,可以连接数百种传感器,采集传感器数据并处理、决策;
4.可连接摄像头,实现人联识别、颜色识别、形状识别等智能特性;
可实现中文语音识别和语音合成,非常适合家庭服务机器人、教育娱乐机器人和特种服务机器人使用;
5.具备RS422总线、USB总线、CAN总线和无线以太网(WiFi),市场上的各种功能模块,例如U盘、网络、视频监控系统、电子罗盘、GPS等设备,均可以直接连接到这款控制器上;
目前来说,阻碍机器人技术普及和大规模发展的主要因素有两个,一个是硬件没有统一标准,另一个是各种机器人都有自己独立的软件,无法通用。
假设A厂商和B厂商都生产硬件类似的扫地机器人。
目前,如果要将A机器人的功能移植到B机器人,除了编写程序之外别无他法。
而对比目前巨大的PC市场,会发现如果A、B两个厂商生产的是PC机,那么只需要简单地把相应的程序拷贝过去就可以实现同样的功能。
这是PC机市场能够发展到今天的规模的重要原因,即软件通用化。
在当前机器人硬件标准不统一的阶段,博创科技为提高机器人软件的通用性,降低开发难度,推出了NorthSTAR图形化机器人开发环境。
包括以下三个部分的功能:
1.用图形化、可视化的方式给机器人编程,同步生成C语言代码,在后台编译、并下载到机器人控制器上执行;
2.集成3D仿真。
可进行动作仿真、步态及路径规划等。
仿真数据能输入图形化编程环境;
集成实时、可视化数据采集与显示。
类似虚拟示波器的功能,能在机器人运行的时候实时监控机器人各部分的数据,并用波形的方式显示在PC机上。
尺寸小,功耗低,价格低。
典型工控PC机尺寸是MultiFLEX2的4倍,功耗是8-10倍;
整机价格相当于工控机的20%-50%;
专为机器人设计。
电机控制、舵机控制、I/O、模拟量输入输出、CAN总线、RS-422总线、电源管理等特性已经全部集成;
而如果采用工控机搭建机器人,还需要连接I/O卡、模拟量卡、CAN总线卡、运动控制卡等大量外设、实际成本将是MultiFLEX2方案的10-20倍以上。
支持NorthSATR图形化开发环境,开发非常方便。
运算处理性能相当于1.6GHz工控机的35%,但已经足够用于教育娱乐机器人和服务机器人。
520MHz的处理器能够流畅处理视频、网络、语音识别与合成等高运算量任务。
4.2.整个系统介绍
本实验用到的硬件包括:
图4创意之星机器人套件
“创意之星”机器人套件。
“创意之星”机器人套件是一套用于高等工程创新实践教育的模块化机器人套件,他是一个套数百个基本“积木”单元的组合套件包.这些“积木”包括传感器单元、执行器单元、控制器单元、可通用的机构零件等。
这些“积木”单元都很容易互相拼接、组装。
用这些“积木”可以很方便地搭建出各种发挥想象力的机器人,并可为自己搭建出的机器人编程。
图5组装完成的机器人
4.2.2软件部分,
NorthStar软件:
NorthStar是一个图形化交互式机器人控制程序开发工具。
在NorthStar中,通过鼠标拖动模块和对模块做简单的属性设置,就可以快捷的编写机器人控制程序。
程序编程完成后,可以翻译并下载到机器人控制器中运行。
NorthStar编程环境具有操作间编辑功能强大等特点,能在图标拖动中穿件复杂的逻辑,让机器人按照自己的意愿动作。
可视化、图形化、开发速度几块。
用户无需懂得计算机语言,只需要拖放图标、连线即可。
NorthSTAR自动生成代码,并编译执行。
跨处理器平台,实现一定程度的软硬件分离。
目前支持PX270(32位/520MHz处理器)和AVR单片机(8位/16MHz)。
只要具备C语言编译器,并编写相应的驱动程序,即可用于跨平台特性,程序移植容易,为A厂商的扫地机器人编写的程序,经过简单修改甚至不需修改即可用于B厂商的同类型扫地机器人。
代码的运行效率高的多。
程序是编译成机器码执行,而不是像MSRS那样需要中间语言,需要虚拟机支持,因此效率高的多。
MSRS编写的机器人程序至少需要400MHz以上的32位处理器才能运行,而NorthSTAR编写的程序可以在8位单片机上运行。
其应用领域要宽广的多,特别适合低成本的教育娱乐机器人。
代码实时性高。
由于编译执行的机制,在同等硬件条件下,实时性比MSRS高的多。
支持图形化编程和C语言混合开发。
普通用户用图形化编程即可;
有特殊要求的高级用户或者机器人厂商,可以用图形化+C语言混合编程的方式开发,灵活性很强。
目前最大的不足还是不能支持多线程、多任务、此部分功能正在开发中。
另一个不足是目前没有更多支持的厂商,还没有得到大量应用。
RobotServoTerminal软件:
舵机的调整。
舵机参数
图6舵机参数图
4.2.2.1工程设计步骤
打开NorStar机器人设计软件,将会看到如下图所示的界面,这个界面中,可以设计本设计要用到的控制器和构型。
在这款语音机器人中用的是新版的控制器
,所以选择它。
本设计这是语音机器人,不是界面中提到五种机器人的任何一种,所以勾选“自定义”。
图7控制器选项和构型选项
勾选完成,点击下一步,进入下一个界面。
这个界面是舵机和模式的设置,因为本设计用到4个舵机,所以,在当前构型的舵机个数一栏中填写“4”,可以暂时将舵机的模式暂定为舵机模式,当有需要改时,在将其改为电机模式。
图8舵机设置
舵机设置完成,点击下一步,进入下一个界面,进行AD的设置。
本设计的语音机器人用到2个AD通道,因此,在当前构型使用的AD通道个数处填写“2”即可。
图9AD设置
设置完成,点击下一步,进入下一个界面,进行IO的设置。
本设计的语音机器人没有用到IO通道,因此,在当前构型使用的IO通道个数处填写“0”即可。
图10IO口设置图
While循环:
保证机器人在一定条件下能够正常运行,并且,再不给出中断指令的条件先,可以连续不断进行。
循环结束,当没有满足输入的条件时,循环即结束。
数字信号输入,随机产生一个数字信号输入,或自定义一个数字信号,为后续的if语句实现的功能提供输入。
数字信号输出,与输入信号匹配。
if语句:
当条件满足时执行所需功能,条件不满足时,实现其他功能。
ENDif:
if语句结束。
舵机:
根据多级参数决定机器人执行什么样子的动作。
Delay模块:
延时根据录制MP3的长短进行设置。
MP3:
添加本设计所需要的语音。
1、主要完成第一部分动作:
这一部分主要是完成歌曲循环播放的功能呢,如果下面能满足任一要求,那么歌曲将一直循环播放
图11while循环,MP3歌曲播放
此部分中while循环的作用是在while循环中的程序能够一直循环播放直至停止位置,这里的MP3音频是一首歌曲,在机器人所做动作的时候歌曲一直循环播放。
在MP3模块属性中选择本设计所需要的歌曲“最炫民族风”。
MP3属性模块
这里所循环播放的歌曲是现在非常火爆的最炫民族风,
图12MP3属性模块
2、主要完成第二部分动作
如果机器人满足本设计要求输入的要求,机器人将会完成前进的功能。
其中前进部分由舵机控制来调整。
数字输入信号可以使随机产生的一个,例如这里可以给定一个语音输入,告诉他前进,从而使机器人可以前进满足前进要求。
图13完成舵机前进功能
此部分是根据输入的信号不同,完成不同的输出,如果满足前进动作的要求,即执行此部分的前进动作,前进动作是有调整舵机参数来控制的,前进的时间由延时来控制时间的长短。
3、主要完成第三部分动作
如果机器人满足本设计要求的输入的要求,机器人将会完成后退然后接着右转的功能,其中后退和右转有舵机控制。
图14先执行后退在右转
数字输入信号可以随机产生一个,例如这里可以给定一个语音输入,告诉他前进到右后方,这样他便能识别后退之后是右转而且并非左转。
这样可以满足本设计所需要的后退然后右转的要求
4、主要完成第四部分动作
如果机器人满足本设计要求的输入的要求,机器人将会完成后退然后接着右转的功能,其中后退和左转有舵机控制。
图15先执行行退在左转
数字输入信号可以随机产生一个,例如这里可以给定一个语音输入,告诉他前进到左后方,这样他便能识别后退之后是左转而且并非右转。
这样可以满足所需要的后退然后左转的要求。
5)、3,4中总结
如果给定信号满足后退右转功能,机器人将执行左半部分,反之机器人将执行后退左转功能,也就是下图的右半部分,总的大前提是要有一个后退的功能才能满足。
图16根据输入的不同执行不同的结果,执行后退右转或者执行后退左转
IF语句是根据满足的条件不同执行不同的指令,如果机器人满足后退右转的要求,则机器人执行后退右转的动作,否则执行后退左转。
6)、2、3、4中总结
如果输入的数字信号满足前进功能,那么便执行前进动作,如果输入信号满足后退功能,那么将执行下一个if语句。
再根据后退之后的左转还是右转分别执行各自动作。
图17执行前进动作,否则执行执行后退左转或者执行右转
第一个IF语句是选择是否满足前进要求,如果满足便执行前进动作,否则执行其他动过,第二个IF语句是根据满足的条件不同执行不同的指令,如果机器人满足后退右转的要求,则机器人执行后退右转的动作,否则执行后退左转。
IF语句执行结束。
7)、机器人舵机调试系统如下图所示:
控制精度高。
位置伺服控制分辨率可达0.3度。
响应速度快。
响应时间可达2ms,而串通航模舵机为20ms.通过串行总线控制,可最多连接数百个单元;
每个单元均具有位置、速度、力矩等反馈,用CDS系列舵机搭建的机器人可以用人工示教来设定动作;
即用户用手调整机器人的各个关节姿态,机器人舵机能够自动记录位置、速度等参数,并由用户播放。
不再需要一个关节一个关节地设置参数,不再需要设置参数后再观察关节是否到位、参数是否合适。
能整周旋转,适合用在机器人关节上,也可作为轮式机器人的动力驱动。
具有强大的保护功能。
可以限制电流、温度等参数,如果温度过高等可以报警活自动停机,防止损坏。
机器人舵机的主要特色:
·
运行速度快。
韩国AX12+的最高转速为50rpm,博创CDS5500为72rpm。
兼容传统舵机尺寸和接口。
CDS5500可以直接替换传统舵机,将使用传统舵机的机器人升级为采用机器人舵机;
而AX12+结构和通讯方式不兼容传统舵机,用户需要对结构和控制器进行大量修改。
价格较低。
CDS5500的零售不含税单价240RMB(含税价290RMB)
图18机器人舵机调试系统
五.实验调试过程
1.转盘运转不够平稳,这是实验台的机械结构造成的,但经过仔细的
PID参数整定可以使调速系统尽量满足要求;
2.设计中使用的光电传感器为反射式光电传感器,工作原理是利用测速转盘上的反光点反射的光线使传感器探头上的三极管导通或者截止,从而形成脉冲信号,通过测量这个脉冲信号的频率就可以得到此时转盘的转速。
但是,由于转盘上的反光点反射的光一般很弱,且不同的反光点反射性能也不同,光电传感器很容易误动作。
经过滤波,再加上反光片,尽量减少了控制系统的误动作;
3.由于位置式PID算法控制过程中的输出为绝对输出,每一次输出均需要重新计算,而不像增量式PID算法,输出的知识增量。
这样当系统出现误动作时,就会对输出产生较大的影响,以致产生较大的误差。
鉴于此,将位置式PID算法改进为增量式,减小了系统误差;
4.上面所说的PID整定方法理论性很强,但真正动起手来还真是费了一番工夫的,具体讲:
当转盘高速运转时,根据经典的PID理论整定出一个比例积分微分参数,但突然将速度减小至100r/min,参数必须经过重新调整才能使系统跟踪性能好,超调小,运行稳定且很好的抗干扰能力。
六.心得体会与总结
这次的课设,我成功的完成了一个自己的所设计的机器人,他可以根据输入的不同执行不同的动作,通过舵机的调整可以使得他完成前进、后退右转、后退左转的动作。
这次的课设,我了解一个机器人的基本组成部分,学会使用NorthStar软件编程。
并且掌握了舵机的调整方法,通过编程使得机器人具有基本的智能。
让他可以动起来也可以与我们互动。
在这次课设的过程中,也遇到了一些问题,开始的机器人不能动,给定的输入信号后机器人并没有反映,后来经过仔细检查一个是舵机的调整的问题,一个是延时调整的问题,经过后来的改正,机器人达到了我所设定的目标可以根据输入信号的不同完成不同的动作
在这次课设中,我也要感谢我的指导许老师和同学对我的帮助,让我尽快的完成了这次课设,收获颇丰。
七、参考文献
1、创意之星:
模块化机器人创新设计与竞赛[M].北京:
北京航空航天大学出版社,2010[2]谭浩强.
2、C程序设计[M].北京:
清华大学出版社,2005[3](美)JosephL.Jones著.
3、机器人编程技术:
基于行为的机器人实战指南[M].北京:
机械工业出版社,2006[4]王立权,陈东良,陈凯云编著.
4、机器人创新设计与制作[M].北京:
清华大学出版社,2007
C语言编写程序如下:
#include"
Apps/SystemTask.h"
uint8SERVO_MAPPING[4]={1,2,3,4};
intmain()
{
intio0=0;
intio1=0;
intio2=0;
intio3=0;
MFInit();
MFInitServoMapping(&
SERVO_MAPPING[0],4);
MFSetPortDirect(0x00000FFC);
MFSetServoMode(1,1);
MFSetServoMode(2,1);
MFSetServoMode(3,1);
MFSetServoMode(4,1);
while
(1)
{
io0=MFGetDigiInput(0);
io1=MFGetDigiInput
(1);
if((io0==1)&
&
(io1==1))
MFDigiOutput(2,0);
MFDigiOutput(3,0);
//前行
MFSetServoRotaSpd(1,512);
MFSetServoRotaSpd(2,-512);
MFSetServoRotaSpd(3,512);
MFSetServoRotaSpd(4,-512);
MFServoAction();
DelayMS(1000);
}
else
if(io0==0)
MFDigiOutput(2,1);
MFDigiOutput(3,1);
//后退
MFSetServoRotaSpd(1,-512);
MFSetServoRotaSpd(2,512);
MFSetServoRotaSpd(3,-512);
MFSetServoRotaSpd(4,512);
//右转
DelayMS(2300);
//左转
}